diff --git a/themes/dark/assets/css/bootstrap-formhelpers.min.css b/themes/dark/assets/css/bootstrap-formhelpers.min.css index bc83644886..3634eddbfe 100644 --- a/themes/dark/assets/css/bootstrap-formhelpers.min.css +++ b/themes/dark/assets/css/bootstrap-formhelpers.min.css @@ -1,6 +1 @@ -/** -* bootstrap-formhelpers.js v2.3.0 by @vincentlamanna -* Copyright 2013 Vincent Lamanna -* http://www.apache.org/licenses/LICENSE-2.0 -*/ -.bfh-flag-AD,.bfh-flag-AE,.bfh-flag-AF,.bfh-flag-AG,.bfh-flag-AI,.bfh-flag-AL,.bfh-flag-AM,.bfh-flag-AN,.bfh-flag-AO,.bfh-flag-AQ,.bfh-flag-AR,.bfh-flag-AS,.bfh-flag-AT,.bfh-flag-AU,.bfh-flag-AW,.bfh-flag-AX,.bfh-flag-AZ,.bfh-flag-BA,.bfh-flag-BB,.bfh-flag-BD,.bfh-flag-BE,.bfh-flag-BG,.bfh-flag-BH,.bfh-flag-BI,.bfh-flag-BJ,.bfh-flag-BL,.bfh-flag-BM,.bfh-flag-BN,.bfh-flag-BO,.bfh-flag-BR,.bfh-flag-BS,.bfh-flag-BT,.bfh-flag-BW,.bfh-flag-BY,.bfh-flag-BZ,.bfh-flag-CA,.bfh-flag-CD,.bfh-flag-CF,.bfh-flag-CG,.bfh-flag-CH,.bfh-flag-CI,.bfh-flag-CL,.bfh-flag-CM,.bfh-flag-CN,.bfh-flag-CO,.bfh-flag-CR,.bfh-flag-CV,.bfh-flag-CY,.bfh-flag-CZ,.bfh-flag-DJ,.bfh-flag-DK,.bfh-flag-DM,.bfh-flag-DO,.bfh-flag-DZ,.bfh-flag-EC,.bfh-flag-EE,.bfh-flag-EG,.bfh-flag-EH,.bfh-flag-ER,.bfh-flag-ES,.bfh-flag-ET,.bfh-flag-EU,.bfh-flag-FI,.bfh-flag-FJ,.bfh-flag-FK,.bfh-flag-FM,.bfh-flag-FO,.bfh-flag-FR,.bfh-flag-FX,.bfh-flag-GF,.bfh-flag-GP,.bfh-flag-MQ,.bfh-flag-NC,.bfh-flag-PF,.bfh-flag-PM,.bfh-flag-RE,.bfh-flag-TF,.bfh-flag-WF,.bfh-flag-GA,.bfh-flag-GB,.bfh-flag-GD,.bfh-flag-GE,.bfh-flag-GG,.bfh-flag-GH,.bfh-flag-GL,.bfh-flag-GM,.bfh-flag-GN,.bfh-flag-GQ,.bfh-flag-GR,.bfh-flag-GS,.bfh-flag-GT,.bfh-flag-GU,.bfh-flag-GW,.bfh-flag-GY,.bfh-flag-HK,.bfh-flag-HN,.bfh-flag-HR,.bfh-flag-HT,.bfh-flag-HU,.bfh-flag-ID,.bfh-flag-IE,.bfh-flag-IL,.bfh-flag-IM,.bfh-flag-IN,.bfh-flag-IQ,.bfh-flag-IS,.bfh-flag-IT,.bfh-flag-JE,.bfh-flag-JM,.bfh-flag-JO,.bfh-flag-JP,.bfh-flag-KE,.bfh-flag-KG,.bfh-flag-KH,.bfh-flag-KI,.bfh-flag-KM,.bfh-flag-KN,.bfh-flag-KP,.bfh-flag-KR,.bfh-flag-KV,.bfh-flag-KW,.bfh-flag-KY,.bfh-flag-LA,.bfh-flag-LC,.bfh-flag-LK,.bfh-flag-LR,.bfh-flag-LS,.bfh-flag-LT,.bfh-flag-LU,.bfh-flag-LV,.bfh-flag-LY,.bfh-flag-MA,.bfh-flag-ME,.bfh-flag-MG,.bfh-flag-MH,.bfh-flag-ML,.bfh-flag-MM,.bfh-flag-MP,.bfh-flag-MR,.bfh-flag-MS,.bfh-flag-MT,.bfh-flag-MU,.bfh-flag-MV,.bfh-flag-MW,.bfh-flag-MZ,.bfh-flag-NA,.bfh-flag-NE,.bfh-flag-NF,.bfh-flag-NG,.bfh-flag-NI,.bfh-flag-NL,.bfh-flag-NO,.bfh-flag-NP,.bfh-flag-NR,.bfh-flag-NZ,.bfh-flag-OM,.bfh-flag-PA,.bfh-flag-PE,.bfh-flag-PG,.bfh-flag-PH,.bfh-flag-PK,.bfh-flag-PL,.bfh-flag-PN,.bfh-flag-PS,.bfh-flag-PT,.bfh-flag-PW,.bfh-flag-PY,.bfh-flag-QA,.bfh-flag-RS,.bfh-flag-RU,.bfh-flag-RW,.bfh-flag-SA,.bfh-flag-SB,.bfh-flag-SC,.bfh-flag-SD,.bfh-flag-SE,.bfh-flag-SG,.bfh-flag-SH,.bfh-flag-SI,.bfh-flag-SK,.bfh-flag-SM,.bfh-flag-SN,.bfh-flag-SO,.bfh-flag-SR,.bfh-flag-SS,.bfh-flag-ST,.bfh-flag-SV,.bfh-flag-SY,.bfh-flag-SZ,.bfh-flag-TC,.bfh-flag-TD,.bfh-flag-TG,.bfh-flag-TH,.bfh-flag-TJ,.bfh-flag-TM,.bfh-flag-TN,.bfh-flag-TP,.bfh-flag-TR,.bfh-flag-TT,.bfh-flag-TV,.bfh-flag-TW,.bfh-flag-TZ,.bfh-flag-UA,.bfh-flag-UG,.bfh-flag-US,.bfh-flag-UY,.bfh-flag-UZ,.bfh-flag-VC,.bfh-flag-VE,.bfh-flag-VG,.bfh-flag-VI,.bfh-flag-VN,.bfh-flag-VU,.bfh-flag-WS,.bfh-flag-YE,.bfh-flag-ZA,.bfh-flag-ZM,.bfh-flag-BF,.bfh-flag-CU,.bfh-flag-DE,.bfh-flag-IR,.bfh-flag-KZ,.bfh-flag-LB,.bfh-flag-LI,.bfh-flag-MC,.bfh-flag-MD,.bfh-flag-MK,.bfh-flag-MN,.bfh-flag-MO,.bfh-flag-MX,.bfh-flag-MY,.bfh-flag-PR,.bfh-flag-RO,.bfh-flag-SL,.bfh-flag-TO,.bfh-flag-VA,.bfh-flag-ZW{width:16px;height:14px;background:url(../img/bootstrap-formhelpers-countries.flags.png) no-repeat}.bfh-flag-AD:empty,.bfh-flag-AE:empty,.bfh-flag-AF:empty,.bfh-flag-AG:empty,.bfh-flag-AI:empty,.bfh-flag-AL:empty,.bfh-flag-AM:empty,.bfh-flag-AN:empty,.bfh-flag-AO:empty,.bfh-flag-AQ:empty,.bfh-flag-AR:empty,.bfh-flag-AS:empty,.bfh-flag-AT:empty,.bfh-flag-AU:empty,.bfh-flag-AW:empty,.bfh-flag-AX:empty,.bfh-flag-AZ:empty,.bfh-flag-BA:empty,.bfh-flag-BB:empty,.bfh-flag-BD:empty,.bfh-flag-BE:empty,.bfh-flag-BG:empty,.bfh-flag-BH:empty,.bfh-flag-BI:empty,.bfh-flag-BJ:empty,.bfh-flag-BL:empty,.bfh-flag-BM:empty,.bfh-flag-BN:empty,.bfh-flag-BO:empty,.bfh-flag-BR:empty,.bfh-flag-BS:empty,.bfh-flag-BT:empty,.bfh-flag-BW:empty,.bfh-flag-BY:empty,.bfh-flag-BZ:empty,.bfh-flag-CA:empty,.bfh-flag-CD:empty,.bfh-flag-CF:empty,.bfh-flag-CG:empty,.bfh-flag-CH:empty,.bfh-flag-CI:empty,.bfh-flag-CL:empty,.bfh-flag-CM:empty,.bfh-flag-CN:empty,.bfh-flag-CO:empty,.bfh-flag-CR:empty,.bfh-flag-CV:empty,.bfh-flag-CY:empty,.bfh-flag-CZ:empty,.bfh-flag-DJ:empty,.bfh-flag-DK:empty,.bfh-flag-DM:empty,.bfh-flag-DO:empty,.bfh-flag-DZ:empty,.bfh-flag-EC:empty,.bfh-flag-EE:empty,.bfh-flag-EG:empty,.bfh-flag-EH:empty,.bfh-flag-ER:empty,.bfh-flag-ES:empty,.bfh-flag-ET:empty,.bfh-flag-EU:empty,.bfh-flag-FI:empty,.bfh-flag-FJ:empty,.bfh-flag-FK:empty,.bfh-flag-FM:empty,.bfh-flag-FO:empty,.bfh-flag-FR:empty,.bfh-flag-FX:empty,.bfh-flag-GF:empty,.bfh-flag-GP:empty,.bfh-flag-MQ:empty,.bfh-flag-NC:empty,.bfh-flag-PF:empty,.bfh-flag-PM:empty,.bfh-flag-RE:empty,.bfh-flag-TF:empty,.bfh-flag-WF:empty,.bfh-flag-GA:empty,.bfh-flag-GB:empty,.bfh-flag-GD:empty,.bfh-flag-GE:empty,.bfh-flag-GG:empty,.bfh-flag-GH:empty,.bfh-flag-GL:empty,.bfh-flag-GM:empty,.bfh-flag-GN:empty,.bfh-flag-GQ:empty,.bfh-flag-GR:empty,.bfh-flag-GS:empty,.bfh-flag-GT:empty,.bfh-flag-GU:empty,.bfh-flag-GW:empty,.bfh-flag-GY:empty,.bfh-flag-HK:empty,.bfh-flag-HN:empty,.bfh-flag-HR:empty,.bfh-flag-HT:empty,.bfh-flag-HU:empty,.bfh-flag-ID:empty,.bfh-flag-IE:empty,.bfh-flag-IL:empty,.bfh-flag-IM:empty,.bfh-flag-IN:empty,.bfh-flag-IQ:empty,.bfh-flag-IS:empty,.bfh-flag-IT:empty,.bfh-flag-JE:empty,.bfh-flag-JM:empty,.bfh-flag-JO:empty,.bfh-flag-JP:empty,.bfh-flag-KE:empty,.bfh-flag-KG:empty,.bfh-flag-KH:empty,.bfh-flag-KI:empty,.bfh-flag-KM:empty,.bfh-flag-KN:empty,.bfh-flag-KP:empty,.bfh-flag-KR:empty,.bfh-flag-KV:empty,.bfh-flag-KW:empty,.bfh-flag-KY:empty,.bfh-flag-LA:empty,.bfh-flag-LC:empty,.bfh-flag-LK:empty,.bfh-flag-LR:empty,.bfh-flag-LS:empty,.bfh-flag-LT:empty,.bfh-flag-LU:empty,.bfh-flag-LV:empty,.bfh-flag-LY:empty,.bfh-flag-MA:empty,.bfh-flag-ME:empty,.bfh-flag-MG:empty,.bfh-flag-MH:empty,.bfh-flag-ML:empty,.bfh-flag-MM:empty,.bfh-flag-MP:empty,.bfh-flag-MR:empty,.bfh-flag-MS:empty,.bfh-flag-MT:empty,.bfh-flag-MU:empty,.bfh-flag-MV:empty,.bfh-flag-MW:empty,.bfh-flag-MZ:empty,.bfh-flag-NA:empty,.bfh-flag-NE:empty,.bfh-flag-NF:empty,.bfh-flag-NG:empty,.bfh-flag-NI:empty,.bfh-flag-NL:empty,.bfh-flag-NO:empty,.bfh-flag-NP:empty,.bfh-flag-NR:empty,.bfh-flag-NZ:empty,.bfh-flag-OM:empty,.bfh-flag-PA:empty,.bfh-flag-PE:empty,.bfh-flag-PG:empty,.bfh-flag-PH:empty,.bfh-flag-PK:empty,.bfh-flag-PL:empty,.bfh-flag-PN:empty,.bfh-flag-PS:empty,.bfh-flag-PT:empty,.bfh-flag-PW:empty,.bfh-flag-PY:empty,.bfh-flag-QA:empty,.bfh-flag-RS:empty,.bfh-flag-RU:empty,.bfh-flag-RW:empty,.bfh-flag-SA:empty,.bfh-flag-SB:empty,.bfh-flag-SC:empty,.bfh-flag-SD:empty,.bfh-flag-SE:empty,.bfh-flag-SG:empty,.bfh-flag-SH:empty,.bfh-flag-SI:empty,.bfh-flag-SK:empty,.bfh-flag-SM:empty,.bfh-flag-SN:empty,.bfh-flag-SO:empty,.bfh-flag-SR:empty,.bfh-flag-SS:empty,.bfh-flag-ST:empty,.bfh-flag-SV:empty,.bfh-flag-SY:empty,.bfh-flag-SZ:empty,.bfh-flag-TC:empty,.bfh-flag-TD:empty,.bfh-flag-TG:empty,.bfh-flag-TH:empty,.bfh-flag-TJ:empty,.bfh-flag-TM:empty,.bfh-flag-TN:empty,.bfh-flag-TP:empty,.bfh-flag-TR:empty,.bfh-flag-TT:empty,.bfh-flag-TV:empty,.bfh-flag-TW:empty,.bfh-flag-TZ:empty,.bfh-flag-UA:empty,.bfh-flag-UG:empty,.bfh-flag-US:empty,.bfh-flag-UY:empty,.bfh-flag-UZ:empty,.bfh-flag-VC:empty,.bfh-flag-VE:empty,.bfh-flag-VG:empty,.bfh-flag-VI:empty,.bfh-flag-VN:empty,.bfh-flag-VU:empty,.bfh-flag-WS:empty,.bfh-flag-YE:empty,.bfh-flag-ZA:empty,.bfh-flag-ZM:empty,.bfh-flag-BF:empty,.bfh-flag-CU:empty,.bfh-flag-DE:empty,.bfh-flag-IR:empty,.bfh-flag-KZ:empty,.bfh-flag-LB:empty,.bfh-flag-LI:empty,.bfh-flag-MC:empty,.bfh-flag-MD:empty,.bfh-flag-MK:empty,.bfh-flag-MN:empty,.bfh-flag-MO:empty,.bfh-flag-MX:empty,.bfh-flag-MY:empty,.bfh-flag-PR:empty,.bfh-flag-RO:empty,.bfh-flag-SL:empty,.bfh-flag-TO:empty,.bfh-flag-VA:empty,.bfh-flag-ZW:empty{width:16px}.bfh-flag-AD,.bfh-flag-AE,.bfh-flag-AF,.bfh-flag-AG,.bfh-flag-AI,.bfh-flag-AL,.bfh-flag-AM,.bfh-flag-AN,.bfh-flag-AO,.bfh-flag-AQ,.bfh-flag-AR,.bfh-flag-AS,.bfh-flag-AT,.bfh-flag-AU,.bfh-flag-AW,.bfh-flag-AX,.bfh-flag-AZ,.bfh-flag-BA,.bfh-flag-BB,.bfh-flag-BD,.bfh-flag-BE,.bfh-flag-BG,.bfh-flag-BH,.bfh-flag-BI,.bfh-flag-BJ,.bfh-flag-BL,.bfh-flag-BM,.bfh-flag-BN,.bfh-flag-BO,.bfh-flag-BR,.bfh-flag-BS,.bfh-flag-BT,.bfh-flag-BW,.bfh-flag-BY,.bfh-flag-BZ,.bfh-flag-CA,.bfh-flag-CD,.bfh-flag-CF,.bfh-flag-CG,.bfh-flag-CH,.bfh-flag-CI,.bfh-flag-CL,.bfh-flag-CM,.bfh-flag-CN,.bfh-flag-CO,.bfh-flag-CR,.bfh-flag-CV,.bfh-flag-CY,.bfh-flag-CZ,.bfh-flag-DJ,.bfh-flag-DK,.bfh-flag-DM,.bfh-flag-DO,.bfh-flag-DZ,.bfh-flag-EC,.bfh-flag-EE,.bfh-flag-EG,.bfh-flag-EH,.bfh-flag-ER,.bfh-flag-ES,.bfh-flag-ET,.bfh-flag-EU,.bfh-flag-FI,.bfh-flag-FJ,.bfh-flag-FK,.bfh-flag-FM,.bfh-flag-FO,.bfh-flag-FR,.bfh-flag-FX,.bfh-flag-GF,.bfh-flag-GP,.bfh-flag-MQ,.bfh-flag-NC,.bfh-flag-PF,.bfh-flag-PM,.bfh-flag-RE,.bfh-flag-TF,.bfh-flag-WF,.bfh-flag-GA,.bfh-flag-GB,.bfh-flag-GD,.bfh-flag-GE,.bfh-flag-GG,.bfh-flag-GH,.bfh-flag-GL,.bfh-flag-GM,.bfh-flag-GN,.bfh-flag-GQ,.bfh-flag-GR,.bfh-flag-GS,.bfh-flag-GT,.bfh-flag-GU,.bfh-flag-GW,.bfh-flag-GY,.bfh-flag-HK,.bfh-flag-HN,.bfh-flag-HR,.bfh-flag-HT,.bfh-flag-HU,.bfh-flag-ID,.bfh-flag-IE,.bfh-flag-IL,.bfh-flag-IM,.bfh-flag-IN,.bfh-flag-IQ,.bfh-flag-IS,.bfh-flag-IT,.bfh-flag-JE,.bfh-flag-JM,.bfh-flag-JO,.bfh-flag-JP,.bfh-flag-KE,.bfh-flag-KG,.bfh-flag-KH,.bfh-flag-KI,.bfh-flag-KM,.bfh-flag-KN,.bfh-flag-KP,.bfh-flag-KR,.bfh-flag-KV,.bfh-flag-KW,.bfh-flag-KY,.bfh-flag-LA,.bfh-flag-LC,.bfh-flag-LK,.bfh-flag-LR,.bfh-flag-LS,.bfh-flag-LT,.bfh-flag-LU,.bfh-flag-LV,.bfh-flag-LY,.bfh-flag-MA,.bfh-flag-ME,.bfh-flag-MG,.bfh-flag-MH,.bfh-flag-ML,.bfh-flag-MM,.bfh-flag-MP,.bfh-flag-MR,.bfh-flag-MS,.bfh-flag-MT,.bfh-flag-MU,.bfh-flag-MV,.bfh-flag-MW,.bfh-flag-MZ,.bfh-flag-NA,.bfh-flag-NE,.bfh-flag-NF,.bfh-flag-NG,.bfh-flag-NI,.bfh-flag-NL,.bfh-flag-NO,.bfh-flag-NP,.bfh-flag-NR,.bfh-flag-NZ,.bfh-flag-OM,.bfh-flag-PA,.bfh-flag-PE,.bfh-flag-PG,.bfh-flag-PH,.bfh-flag-PK,.bfh-flag-PL,.bfh-flag-PN,.bfh-flag-PS,.bfh-flag-PT,.bfh-flag-PW,.bfh-flag-PY,.bfh-flag-QA,.bfh-flag-RS,.bfh-flag-RU,.bfh-flag-RW,.bfh-flag-SA,.bfh-flag-SB,.bfh-flag-SC,.bfh-flag-SD,.bfh-flag-SE,.bfh-flag-SG,.bfh-flag-SH,.bfh-flag-SI,.bfh-flag-SK,.bfh-flag-SM,.bfh-flag-SN,.bfh-flag-SO,.bfh-flag-SR,.bfh-flag-SS,.bfh-flag-ST,.bfh-flag-SV,.bfh-flag-SY,.bfh-flag-SZ,.bfh-flag-TC,.bfh-flag-TD,.bfh-flag-TG,.bfh-flag-TH,.bfh-flag-TJ,.bfh-flag-TM,.bfh-flag-TN,.bfh-flag-TP,.bfh-flag-TR,.bfh-flag-TT,.bfh-flag-TV,.bfh-flag-TW,.bfh-flag-TZ,.bfh-flag-UA,.bfh-flag-UG,.bfh-flag-US,.bfh-flag-UY,.bfh-flag-UZ,.bfh-flag-VC,.bfh-flag-VE,.bfh-flag-VG,.bfh-flag-VI,.bfh-flag-VN,.bfh-flag-VU,.bfh-flag-WS,.bfh-flag-YE,.bfh-flag-ZA,.bfh-flag-ZM,.bfh-flag-BF,.bfh-flag-CU,.bfh-flag-DE,.bfh-flag-IR,.bfh-flag-KZ,.bfh-flag-LB,.bfh-flag-LI,.bfh-flag-MC,.bfh-flag-MD,.bfh-flag-MK,.bfh-flag-MN,.bfh-flag-MO,.bfh-flag-MX,.bfh-flag-MY,.bfh-flag-PR,.bfh-flag-RO,.bfh-flag-SL,.bfh-flag-TO,.bfh-flag-VA,.bfh-flag-ZW,.bfh-flag-EUR,.bfh-flag-XCD{margin-right:5px}.bfh-flag-AD{background-position:-1921px 0}.bfh-flag-AE{background-position:-1904px 0}.bfh-flag-AF{background-position:-3689px 0}.bfh-flag-AG{background-position:-34px 0}.bfh-flag-AI{background-position:-51px 0}.bfh-flag-AL{background-position:-68px 0}.bfh-flag-AM{background-position:-85px 0}.bfh-flag-AN{background-position:-102px 0}.bfh-flag-AO{background-position:-119px 0}.bfh-flag-AQ{background-position:-136px 0}.bfh-flag-AR{background-position:-153px 0}.bfh-flag-AS{background-position:-170px 0}.bfh-flag-AT{background-position:-187px 0}.bfh-flag-AU{background-position:-204px 0}.bfh-flag-AW{background-position:-221px 0}.bfh-flag-AX{background-position:-238px 0}.bfh-flag-AZ{background-position:-255px 0}.bfh-flag-BA{background-position:-272px 0}.bfh-flag-BB{background-position:-289px 0}.bfh-flag-BD{background-position:-306px 0}.bfh-flag-BE{background-position:-323px 0}.bfh-flag-BG{background-position:-340px 0}.bfh-flag-BH{background-position:-357px 0}.bfh-flag-BI{background-position:-374px 0}.bfh-flag-BJ{background-position:-391px 0}.bfh-flag-BL{background-position:-408px 0}.bfh-flag-BM{background-position:-425px 0}.bfh-flag-BN{background-position:-442px 0}.bfh-flag-BO{background-position:-459px 0}.bfh-flag-BR{background-position:-476px 0}.bfh-flag-BS{background-position:-493px 0}.bfh-flag-BT{background-position:-510px 0}.bfh-flag-BW{background-position:-527px 0}.bfh-flag-BY{background-position:-544px 0}.bfh-flag-BZ{background-position:-561px 0}.bfh-flag-CA{background-position:-578px 0}.bfh-flag-CD{background-position:-595px 0}.bfh-flag-CF{background-position:-612px 0}.bfh-flag-CG{background-position:-629px 0}.bfh-flag-CH{background-position:-646px 0}.bfh-flag-CI{background-position:-663px 0}.bfh-flag-CL{background-position:-680px 0}.bfh-flag-CM{background-position:-697px 0}.bfh-flag-CN{background-position:-714px 0}.bfh-flag-CO{background-position:-731px 0}.bfh-flag-CR{background-position:-748px 0}.bfh-flag-CV{background-position:-765px 0}.bfh-flag-CY{background-position:-782px 0}.bfh-flag-CZ{background-position:-799px 0}.bfh-flag-DJ{background-position:-816px 0}.bfh-flag-DK{background-position:-833px 0}.bfh-flag-DM{background-position:-850px 0}.bfh-flag-DO{background-position:-867px 0}.bfh-flag-DZ{background-position:-884px 0}.bfh-flag-EC{background-position:-901px 0}.bfh-flag-EE{background-position:-918px 0}.bfh-flag-EG{background-position:-935px 0}.bfh-flag-EH{background-position:-952px 0}.bfh-flag-ER{background-position:-969px 0}.bfh-flag-ES{background-position:-986px 0}.bfh-flag-ET{background-position:-1003px 0}.bfh-flag-EU{background-position:-1020px 0}.bfh-flag-FI{background-position:-1037px 0}.bfh-flag-FJ{background-position:-1054px 0}.bfh-flag-FK{background-position:-1071px 0}.bfh-flag-FM{background-position:-1088px 0}.bfh-flag-FO{background-position:-1105px 0}.bfh-flag-FR,.bfh-flag-FX,.bfh-flag-GF,.bfh-flag-GP,.bfh-flag-MQ,.bfh-flag-NC,.bfh-flag-PF,.bfh-flag-PM,.bfh-flag-RE,.bfh-flag-TF,.bfh-flag-WF{background-position:-1122px 0}.bfh-flag-GA{background-position:-1139px 0}.bfh-flag-GB{background-position:-1156px 0}.bfh-flag-GD{background-position:-1173px 0}.bfh-flag-GE{background-position:-1190px 0}.bfh-flag-GG{background-position:-1207px 0}.bfh-flag-GH{background-position:-1224px 0}.bfh-flag-GL{background-position:-1241px 0}.bfh-flag-GM{background-position:-1258px 0}.bfh-flag-GN{background-position:-1275px 0}.bfh-flag-GQ{background-position:-1292px 0}.bfh-flag-GR{background-position:-1309px 0}.bfh-flag-GS{background-position:-1326px 0}.bfh-flag-GT{background-position:-1343px 0}.bfh-flag-GU{background-position:-1360px 0}.bfh-flag-GW{background-position:-1377px 0}.bfh-flag-GY{background-position:-1394px 0}.bfh-flag-HK{background-position:-1411px 0}.bfh-flag-HN{background-position:-1428px 0}.bfh-flag-HR{background-position:-1445px 0}.bfh-flag-HT{background-position:-1462px 0}.bfh-flag-HU{background-position:-1479px 0}.bfh-flag-ID{background-position:-1496px 0}.bfh-flag-IE{background-position:-1513px 0}.bfh-flag-IL{background-position:-1530px 0}.bfh-flag-IM{background-position:-1547px 0}.bfh-flag-IN{background-position:-1564px 0}.bfh-flag-IQ{background-position:-1581px 0}.bfh-flag-IS{background-position:-1598px 0}.bfh-flag-IT{background-position:-1615px 0}.bfh-flag-JE{background-position:-1632px 0}.bfh-flag-JM{background-position:-1649px 0}.bfh-flag-JO{background-position:-1666px 0}.bfh-flag-JP{background-position:-1683px 0}.bfh-flag-KE{background-position:-1700px 0}.bfh-flag-KG{background-position:-1717px 0}.bfh-flag-KH{background-position:-1734px 0}.bfh-flag-KI{background-position:-1751px 0}.bfh-flag-KM{background-position:-1768px 0}.bfh-flag-KN{background-position:-1785px 0}.bfh-flag-KP{background-position:-1802px 0}.bfh-flag-KR{background-position:-1819px 0}.bfh-flag-KV{background-position:-1836px 0}.bfh-flag-KW{background-position:-1853px 0}.bfh-flag-KY{background-position:-1870px 0}.bfh-flag-LA{background-position:-1887px 0}.bfh-flag-LC{background-position:0 0}.bfh-flag-LK{background-position:-17px 0}.bfh-flag-LR{background-position:-1938px 0}.bfh-flag-LS{background-position:-1955px 0}.bfh-flag-LT{background-position:-1972px 0}.bfh-flag-LU{background-position:-1989px 0}.bfh-flag-LV{background-position:-2006px 0}.bfh-flag-LY{background-position:-2023px 0}.bfh-flag-MA{background-position:-2040px 0}.bfh-flag-ME{background-position:-2057px 0}.bfh-flag-MG{background-position:-2074px 0}.bfh-flag-MH{background-position:-2091px 0}.bfh-flag-ML{background-position:-2108px 0}.bfh-flag-MM{background-position:-2125px 0}.bfh-flag-MP{background-position:-2142px 0}.bfh-flag-MR{background-position:-2159px 0}.bfh-flag-MS{background-position:-2176px 0}.bfh-flag-MT{background-position:-2193px 0}.bfh-flag-MU{background-position:-2210px 0}.bfh-flag-MV{background-position:-2227px 0}.bfh-flag-MW{background-position:-2244px 0}.bfh-flag-MZ{background-position:-2261px 0}.bfh-flag-NA{background-position:-2278px 0}.bfh-flag-NE{background-position:-2295px 0}.bfh-flag-NF{background-position:-2312px 0}.bfh-flag-NG{background-position:-2329px 0}.bfh-flag-NI{background-position:-2346px 0}.bfh-flag-NL{background-position:-2363px 0}.bfh-flag-NO{background-position:-2380px 0}.bfh-flag-NP{background-position:-2397px 0}.bfh-flag-NR{background-position:-2414px 0}.bfh-flag-NZ{background-position:-2431px 0}.bfh-flag-OM{background-position:-2448px 0}.bfh-flag-PA{background-position:-2465px 0}.bfh-flag-PE{background-position:-2482px 0}.bfh-flag-PG{background-position:-2499px 0}.bfh-flag-PH{background-position:-2516px 0}.bfh-flag-PK{background-position:-2533px 0}.bfh-flag-PL{background-position:-2550px 0}.bfh-flag-PN{background-position:-2567px 0}.bfh-flag-PS{background-position:-2584px 0}.bfh-flag-PT{background-position:-2601px 0}.bfh-flag-PW{background-position:-2618px 0}.bfh-flag-PY{background-position:-2635px 0}.bfh-flag-QA{background-position:-2652px 0}.bfh-flag-RS{background-position:-2669px 0}.bfh-flag-RU{background-position:-2686px 0}.bfh-flag-RW{background-position:-2703px 0}.bfh-flag-SA{background-position:-2720px 0}.bfh-flag-SB{background-position:-2737px 0}.bfh-flag-SC{background-position:-2754px 0}.bfh-flag-SD{background-position:-2771px 0}.bfh-flag-SE{background-position:-2788px 0}.bfh-flag-SG{background-position:-2805px 0}.bfh-flag-SH{background-position:-2822px 0}.bfh-flag-SI{background-position:-2839px 0}.bfh-flag-SK{background-position:-2856px 0}.bfh-flag-SM{background-position:-2873px 0}.bfh-flag-SN{background-position:-2890px 0}.bfh-flag-SO{background-position:-2907px 0}.bfh-flag-SR{background-position:-2924px 0}.bfh-flag-SS{background-position:-2941px 0}.bfh-flag-ST{background-position:-2958px 0}.bfh-flag-SV{background-position:-2975px 0}.bfh-flag-SY{background-position:-2992px 0}.bfh-flag-SZ{background-position:-3009px 0}.bfh-flag-TC{background-position:-3026px 0}.bfh-flag-TD{background-position:-3043px 0}.bfh-flag-TG{background-position:-3060px 0}.bfh-flag-TH{background-position:-3077px 0}.bfh-flag-TJ{background-position:-3094px 0}.bfh-flag-TM{background-position:-3111px 0}.bfh-flag-TN{background-position:-3128px 0}.bfh-flag-TP{background-position:-3145px 0}.bfh-flag-TR{background-position:-3162px 0}.bfh-flag-TT{background-position:-3179px 0}.bfh-flag-TV{background-position:-3196px 0}.bfh-flag-TW{background-position:-3213px 0}.bfh-flag-TZ{background-position:-3230px 0}.bfh-flag-UA{background-position:-3247px 0}.bfh-flag-UG{background-position:-3264px 0}.bfh-flag-US{background-position:-3281px 0}.bfh-flag-UY{background-position:-3298px 0}.bfh-flag-UZ{background-position:-3315px 0}.bfh-flag-VC{background-position:-3332px 0}.bfh-flag-VE{background-position:-3349px 0}.bfh-flag-VG{background-position:-3366px 0}.bfh-flag-VI{background-position:-3383px 0}.bfh-flag-VN{background-position:-3400px 0}.bfh-flag-VU{background-position:-3417px 0}.bfh-flag-WS{background-position:-3434px 0}.bfh-flag-YE{background-position:-3451px 0}.bfh-flag-ZA{background-position:-3468px 0}.bfh-flag-ZM{background-position:-3485px 0}.bfh-flag-BF{background-position:-3502px 0}.bfh-flag-CU{background-position:-3519px 0}.bfh-flag-DE{background-position:-3536px 0}.bfh-flag-IR{background-position:-3553px 0}.bfh-flag-KZ{background-position:-3570px 0}.bfh-flag-LB{background-position:-3587px 0}.bfh-flag-LI{background-position:-3604px 0}.bfh-flag-MC{background-position:-3621px 0}.bfh-flag-MD{background-position:-3638px 0}.bfh-flag-MK{background-position:-3655px 0}.bfh-flag-MN{background-position:-3672px 0}.bfh-flag-MO{background-position:-3706px 0}.bfh-flag-MX{background-position:-3723px 0}.bfh-flag-MY{background-position:-3740px 0}.bfh-flag-PR{background-position:-3757px 0}.bfh-flag-RO{background-position:-3774px 0}.bfh-flag-SL{background-position:-3791px 0}.bfh-flag-TO{background-position:-3808px 0}.bfh-flag-VA{background-position:-3825px 0}.bfh-flag-ZW{background-position:-3842px 0}.bfh-flag-EUR{background:url(../img/eu.png) no-repeat}.bfh-flag-XCD{background:url(../img/xcd.png) no-repeat}.bfh-flag-AUD,.bfh-flag-CHF,.bfh-flag-DKK,.bfh-flag-EUR,.bfh-flag-XAF,.bfh-flag-XCD,.bfh-flag-XOF,.bfh-flag-XPF,.bfh-flag-ZAR{width:16px;height:14px;background:url(../img/bootstrap-formhelpers-currencies.flags.png) no-repeat}.bfh-flag-AUD:empty,.bfh-flag-CHF:empty,.bfh-flag-DKK:empty,.bfh-flag-EUR:empty,.bfh-flag-XAF:empty,.bfh-flag-XCD:empty,.bfh-flag-XOF:empty,.bfh-flag-XPF:empty,.bfh-flag-ZAR:empty{width:16px}.bfh-flag-AUD,.bfh-flag-CHF,.bfh-flag-DKK,.bfh-flag-EUR,.bfh-flag-XAF,.bfh-flag-XCD,.bfh-flag-XOF,.bfh-flag-XPF,.bfh-flag-ZAR{margin-right:5px}.bfh-flag-AUD{background-position:-32px 0}.bfh-flag-CHF{background-position:-224px 0}.bfh-flag-DKK{background-position:-64px -16px}.bfh-flag-EUR{background-position:-96px -16px}.bfh-flag-XAF{background-position:-160px -80px}.bfh-flag-XCD{background-position:-176px -80px}.bfh-flag-XOF{background-position:-192px -80px}.bfh-flag-XPF{background-position:-208px -80px}.bfh-flag-ZAR{background-position:-224px -80px}.bfh-selectbox{position:relative}.bfh-selectbox .bfh-selectbox-toggle{display:inline-block;padding:6px 24px 6px 12px;text-decoration:none}.bfh-selectbox .bfh-selectbox-toggle:focus{outline:0}.bfh-selectbox .bfh-selectbox-toggle .bfh-selectbox-option{display:inline-block;float:left;width:100%;height:20px;overflow:hidden;text-overflow:ellipsis}.bfh-selectbox .bfh-selectbox-toggle .selectbox-caret{float:right;margin-top:8px;margin-right:-16px;margin-left:-10px}.bfh-selectbox .bfh-selectbox-options{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:90px;padding:5px 0;margin:-1px 0 0;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.bfh-selectbox .bfh-selectbox-options.pull-right{right:0;left:auto}.bfh-selectbox .bfh-selectbox-options .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.bfh-selectbox .bfh-selectbox-options .bfh-selectbox-filter-container{width:100%;padding:5px}.bfh-selectbox .bfh-selectbox-options ul{max-width:500px;max-height:200px;padding:0;margin:5px 0 0 0;overflow-x:hidden;overflow-y:auto;list-style:none}.bfh-selectbox .bfh-selectbox-options ul li>a{display:block;width:100%;min-height:26px;padding:3px 20px;overflow-x:hidden;clear:both;font-weight:normal;line-height:1.428571429;color:#333;text-overflow:ellipsis;white-space:nowrap}.bfh-selectbox .bfh-selectbox-options ul li>a:hover,.bfh-selectbox .bfh-selectbox-options ul li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.bfh-selectbox .bfh-selectbox-options ul .bfh-selectbox-options-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.bfh-selectbox .bfh-selectbox-options ul .disabled>a{color:#999}.bfh-selectbox .bfh-selectbox-options ul .disabled>a:hover,.bfh-selectbox .bfh-selectbox-options ul .disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.bfh-selectbox.open>.bfh-selectbox-options{display:block}.bfh-selectbox.open a{outline:0}.pull-right>.bfh-selectbox-options{right:0;left:auto}.bfh-selectbox-up .caret,.navbar-fixed-bottom .bfh-selectbox .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.bfh-selectbox-up .bfh-selectbox-options,.navbar-fixed-bottom .bfh-selectbox .bfh-selectbox-options{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .bfh-selectbox-options{right:0;left:auto}}.bfh-googlefonts .bfh-selectbox-options a{width:230px;height:30px;text-indent:-9999px;background-image:url(../img/bootstrap-formhelpers-googlefonts.png)}.bfh-googlefonts .bfh-selectbox-options a:focus{background-color:transparent;background-repeat:no-repeat;outline:0;filter:none}.bfh-googlefonts .bfh-selectbox-options .active>a,.bfh-googlefonts .bfh-selectbox-options .active>a:hover{background-color:transparent;background-image:url(../img/bootstrap-formhelpers-googlefonts.png);background-repeat:no-repeat;outline:0;filter:none}.bfh-datepicker-calendar{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:296px}.bfh-datepicker-calendar>table.calendar{width:376px;background:#fff}.bfh-datepicker-calendar>table.calendar .months-header>th{font-size:12px;text-align:center}.bfh-datepicker-calendar>table.calendar .months-header>th.month>span{display:inline-block;width:100px}.bfh-datepicker-calendar>table.calendar .months-header>th.year>span{display:inline-block;width:50px}.bfh-datepicker-calendar>table.calendar .days-header>th{width:30px;font-size:11px;line-height:12px;text-align:center}.bfh-datepicker-calendar>table.calendar>tbody>tr>td{width:30px;font-size:11px;line-height:12px;text-align:center}.bfh-datepicker-calendar>table.calendar>tbody>tr>td.today{color:#fff;background-color:#428bca}.bfh-datepicker-calendar>table.calendar>tbody>tr>td.off{color:#999}.bfh-datepicker-calendar>table.calendar>tbody>tr>td:not(.off):hover{color:#262626;cursor:pointer;background-color:#f5f5f5}.bfh-datepicker{position:relative}.bfh-datepicker-toggle{*margin-bottom:-3px}.bfh-datepicker-toggle>input[readonly]{cursor:inherit;background-color:inherit}.open>.bfh-datepicker-calendar{display:block}.bfh-timepicker-popover{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:100px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.bfh-timepicker-popover>table{width:180px;margin:0}.bfh-timepicker-popover>table>tbody>tr>td{text-align:center;border:0}.bfh-timepicker-popover>table>tbody>tr>td.separator{font-size:20px;font-weight:bold;line-height:28px}.bfh-timepicker-popover>table>tbody>tr>td>div>input{width:42px!important;text-align:center}.bfh-timepicker{position:relative}.bfh-timepicker-toggle{*margin-bottom:-3px}.bfh-timepicker-toggle>input[readonly]{cursor:inherit;background-color:inherit}.open>.bfh-timepicker-popover{display:block}.bfh-slider{height:20px;margin-top:8px;margin-bottom:23px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none}.bfh-slider>.bfh-slider-handle{position:absolute;width:20px;height:34px;margin-top:-7px;cursor:col-resize;background:#efefef;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px}.bfh-slider>.bfh-slider-handle>.bfh-slider-value{position:absolute;width:48px;height:20px;margin-top:5px;margin-left:-15px;line-height:20px;text-align:center;cursor:col-resize;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px}.bfh-slider>.bfh-slider-handle>.bfh-slider-value .disabled{color:#999}.bfh-slider.disabled .bfh-slider-value{color:#999}.bfh-colorpicker-popover{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:100px;padding:20px;cursor:default;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.bfh-colorpicker-popover>canvas{width:384px;height:256px}.bfh-colorpicker{position:relative}.bfh-colorpicker-toggle{*margin-bottom:-3px}.bfh-colorpicker-toggle>input[readonly]{cursor:inherit;background-color:inherit}.bfh-colorpicker-toggle .bfh-colorpicker-icon{display:block;width:16px;height:16px}.open>.bfh-colorpicker-popover{display:block}.input-group>.bfh-number{border-right:0}.input-group>.bfh-number-btn:hover{background-color:#ccc} \ No newline at end of file +.bfh-flag-AD,.bfh-flag-AE,.bfh-flag-AF,.bfh-flag-AG,.bfh-flag-AI,.bfh-flag-AL,.bfh-flag-AM,.bfh-flag-AN,.bfh-flag-AO,.bfh-flag-AQ,.bfh-flag-AR,.bfh-flag-AS,.bfh-flag-AT,.bfh-flag-AU,.bfh-flag-AW,.bfh-flag-AX,.bfh-flag-AZ,.bfh-flag-BA,.bfh-flag-BB,.bfh-flag-BD,.bfh-flag-BE,.bfh-flag-BF,.bfh-flag-BG,.bfh-flag-BH,.bfh-flag-BI,.bfh-flag-BJ,.bfh-flag-BL,.bfh-flag-BM,.bfh-flag-BN,.bfh-flag-BO,.bfh-flag-BR,.bfh-flag-BS,.bfh-flag-BT,.bfh-flag-BW,.bfh-flag-BY,.bfh-flag-BZ,.bfh-flag-CA,.bfh-flag-CD,.bfh-flag-CF,.bfh-flag-CG,.bfh-flag-CH,.bfh-flag-CI,.bfh-flag-CL,.bfh-flag-CM,.bfh-flag-CN,.bfh-flag-CO,.bfh-flag-CR,.bfh-flag-CU,.bfh-flag-CV,.bfh-flag-CY,.bfh-flag-CZ,.bfh-flag-DE,.bfh-flag-DJ,.bfh-flag-DK,.bfh-flag-DM,.bfh-flag-DO,.bfh-flag-DZ,.bfh-flag-EC,.bfh-flag-EE,.bfh-flag-EG,.bfh-flag-EH,.bfh-flag-ER,.bfh-flag-ES,.bfh-flag-ET,.bfh-flag-EU,.bfh-flag-FI,.bfh-flag-FJ,.bfh-flag-FK,.bfh-flag-FM,.bfh-flag-FO,.bfh-flag-FR,.bfh-flag-FX,.bfh-flag-GA,.bfh-flag-GB,.bfh-flag-GD,.bfh-flag-GE,.bfh-flag-GF,.bfh-flag-GG,.bfh-flag-GH,.bfh-flag-GL,.bfh-flag-GM,.bfh-flag-GN,.bfh-flag-GP,.bfh-flag-GQ,.bfh-flag-GR,.bfh-flag-GS,.bfh-flag-GT,.bfh-flag-GU,.bfh-flag-GW,.bfh-flag-GY,.bfh-flag-HK,.bfh-flag-HN,.bfh-flag-HR,.bfh-flag-HT,.bfh-flag-HU,.bfh-flag-ID,.bfh-flag-IE,.bfh-flag-IL,.bfh-flag-IM,.bfh-flag-IN,.bfh-flag-IQ,.bfh-flag-IR,.bfh-flag-IS,.bfh-flag-IT,.bfh-flag-JE,.bfh-flag-JM,.bfh-flag-JO,.bfh-flag-JP,.bfh-flag-KE,.bfh-flag-KG,.bfh-flag-KH,.bfh-flag-KI,.bfh-flag-KM,.bfh-flag-KN,.bfh-flag-KP,.bfh-flag-KR,.bfh-flag-KV,.bfh-flag-KW,.bfh-flag-KY,.bfh-flag-KZ,.bfh-flag-LA,.bfh-flag-LB,.bfh-flag-LC,.bfh-flag-LI,.bfh-flag-LK,.bfh-flag-LR,.bfh-flag-LS,.bfh-flag-LT,.bfh-flag-LU,.bfh-flag-LV,.bfh-flag-LY,.bfh-flag-MA,.bfh-flag-MC,.bfh-flag-MD,.bfh-flag-ME,.bfh-flag-MG,.bfh-flag-MH,.bfh-flag-MK,.bfh-flag-ML,.bfh-flag-MM,.bfh-flag-MN,.bfh-flag-MO,.bfh-flag-MP,.bfh-flag-MQ,.bfh-flag-MR,.bfh-flag-MS,.bfh-flag-MT,.bfh-flag-MU,.bfh-flag-MV,.bfh-flag-MW,.bfh-flag-MX,.bfh-flag-MY,.bfh-flag-MZ,.bfh-flag-NA,.bfh-flag-NC,.bfh-flag-NE,.bfh-flag-NF,.bfh-flag-NG,.bfh-flag-NI,.bfh-flag-NL,.bfh-flag-NO,.bfh-flag-NP,.bfh-flag-NR,.bfh-flag-NZ,.bfh-flag-OM,.bfh-flag-PA,.bfh-flag-PE,.bfh-flag-PF,.bfh-flag-PG,.bfh-flag-PH,.bfh-flag-PK,.bfh-flag-PL,.bfh-flag-PM,.bfh-flag-PN,.bfh-flag-PR,.bfh-flag-PS,.bfh-flag-PT,.bfh-flag-PW,.bfh-flag-PY,.bfh-flag-QA,.bfh-flag-RE,.bfh-flag-RO,.bfh-flag-RS,.bfh-flag-RU,.bfh-flag-RW,.bfh-flag-SA,.bfh-flag-SB,.bfh-flag-SC,.bfh-flag-SD,.bfh-flag-SE,.bfh-flag-SG,.bfh-flag-SH,.bfh-flag-SI,.bfh-flag-SK,.bfh-flag-SL,.bfh-flag-SM,.bfh-flag-SN,.bfh-flag-SO,.bfh-flag-SR,.bfh-flag-SS,.bfh-flag-ST,.bfh-flag-SV,.bfh-flag-SY,.bfh-flag-SZ,.bfh-flag-TC,.bfh-flag-TD,.bfh-flag-TF,.bfh-flag-TG,.bfh-flag-TH,.bfh-flag-TJ,.bfh-flag-TM,.bfh-flag-TN,.bfh-flag-TO,.bfh-flag-TP,.bfh-flag-TR,.bfh-flag-TT,.bfh-flag-TV,.bfh-flag-TW,.bfh-flag-TZ,.bfh-flag-UA,.bfh-flag-UG,.bfh-flag-US,.bfh-flag-UY,.bfh-flag-UZ,.bfh-flag-VA,.bfh-flag-VC,.bfh-flag-VE,.bfh-flag-VG,.bfh-flag-VI,.bfh-flag-VN,.bfh-flag-VU,.bfh-flag-WF,.bfh-flag-WS,.bfh-flag-YE,.bfh-flag-ZA,.bfh-flag-ZM,.bfh-flag-ZW{width:16px;height:14px;background:url(../img/bootstrap-formhelpers-countries.flags.png) no-repeat}.bfh-flag-AD:empty,.bfh-flag-AE:empty,.bfh-flag-AF:empty,.bfh-flag-AG:empty,.bfh-flag-AI:empty,.bfh-flag-AL:empty,.bfh-flag-AM:empty,.bfh-flag-AN:empty,.bfh-flag-AO:empty,.bfh-flag-AQ:empty,.bfh-flag-AR:empty,.bfh-flag-AS:empty,.bfh-flag-AT:empty,.bfh-flag-AU:empty,.bfh-flag-AW:empty,.bfh-flag-AX:empty,.bfh-flag-AZ:empty,.bfh-flag-BA:empty,.bfh-flag-BB:empty,.bfh-flag-BD:empty,.bfh-flag-BE:empty,.bfh-flag-BF:empty,.bfh-flag-BG:empty,.bfh-flag-BH:empty,.bfh-flag-BI:empty,.bfh-flag-BJ:empty,.bfh-flag-BL:empty,.bfh-flag-BM:empty,.bfh-flag-BN:empty,.bfh-flag-BO:empty,.bfh-flag-BR:empty,.bfh-flag-BS:empty,.bfh-flag-BT:empty,.bfh-flag-BW:empty,.bfh-flag-BY:empty,.bfh-flag-BZ:empty,.bfh-flag-CA:empty,.bfh-flag-CD:empty,.bfh-flag-CF:empty,.bfh-flag-CG:empty,.bfh-flag-CH:empty,.bfh-flag-CI:empty,.bfh-flag-CL:empty,.bfh-flag-CM:empty,.bfh-flag-CN:empty,.bfh-flag-CO:empty,.bfh-flag-CR:empty,.bfh-flag-CU:empty,.bfh-flag-CV:empty,.bfh-flag-CY:empty,.bfh-flag-CZ:empty,.bfh-flag-DE:empty,.bfh-flag-DJ:empty,.bfh-flag-DK:empty,.bfh-flag-DM:empty,.bfh-flag-DO:empty,.bfh-flag-DZ:empty,.bfh-flag-EC:empty,.bfh-flag-EE:empty,.bfh-flag-EG:empty,.bfh-flag-EH:empty,.bfh-flag-ER:empty,.bfh-flag-ES:empty,.bfh-flag-ET:empty,.bfh-flag-EU:empty,.bfh-flag-FI:empty,.bfh-flag-FJ:empty,.bfh-flag-FK:empty,.bfh-flag-FM:empty,.bfh-flag-FO:empty,.bfh-flag-FR:empty,.bfh-flag-FX:empty,.bfh-flag-GA:empty,.bfh-flag-GB:empty,.bfh-flag-GD:empty,.bfh-flag-GE:empty,.bfh-flag-GF:empty,.bfh-flag-GG:empty,.bfh-flag-GH:empty,.bfh-flag-GL:empty,.bfh-flag-GM:empty,.bfh-flag-GN:empty,.bfh-flag-GP:empty,.bfh-flag-GQ:empty,.bfh-flag-GR:empty,.bfh-flag-GS:empty,.bfh-flag-GT:empty,.bfh-flag-GU:empty,.bfh-flag-GW:empty,.bfh-flag-GY:empty,.bfh-flag-HK:empty,.bfh-flag-HN:empty,.bfh-flag-HR:empty,.bfh-flag-HT:empty,.bfh-flag-HU:empty,.bfh-flag-ID:empty,.bfh-flag-IE:empty,.bfh-flag-IL:empty,.bfh-flag-IM:empty,.bfh-flag-IN:empty,.bfh-flag-IQ:empty,.bfh-flag-IR:empty,.bfh-flag-IS:empty,.bfh-flag-IT:empty,.bfh-flag-JE:empty,.bfh-flag-JM:empty,.bfh-flag-JO:empty,.bfh-flag-JP:empty,.bfh-flag-KE:empty,.bfh-flag-KG:empty,.bfh-flag-KH:empty,.bfh-flag-KI:empty,.bfh-flag-KM:empty,.bfh-flag-KN:empty,.bfh-flag-KP:empty,.bfh-flag-KR:empty,.bfh-flag-KV:empty,.bfh-flag-KW:empty,.bfh-flag-KY:empty,.bfh-flag-KZ:empty,.bfh-flag-LA:empty,.bfh-flag-LB:empty,.bfh-flag-LC:empty,.bfh-flag-LI:empty,.bfh-flag-LK:empty,.bfh-flag-LR:empty,.bfh-flag-LS:empty,.bfh-flag-LT:empty,.bfh-flag-LU:empty,.bfh-flag-LV:empty,.bfh-flag-LY:empty,.bfh-flag-MA:empty,.bfh-flag-MC:empty,.bfh-flag-MD:empty,.bfh-flag-ME:empty,.bfh-flag-MG:empty,.bfh-flag-MH:empty,.bfh-flag-MK:empty,.bfh-flag-ML:empty,.bfh-flag-MM:empty,.bfh-flag-MN:empty,.bfh-flag-MO:empty,.bfh-flag-MP:empty,.bfh-flag-MQ:empty,.bfh-flag-MR:empty,.bfh-flag-MS:empty,.bfh-flag-MT:empty,.bfh-flag-MU:empty,.bfh-flag-MV:empty,.bfh-flag-MW:empty,.bfh-flag-MX:empty,.bfh-flag-MY:empty,.bfh-flag-MZ:empty,.bfh-flag-NA:empty,.bfh-flag-NC:empty,.bfh-flag-NE:empty,.bfh-flag-NF:empty,.bfh-flag-NG:empty,.bfh-flag-NI:empty,.bfh-flag-NL:empty,.bfh-flag-NO:empty,.bfh-flag-NP:empty,.bfh-flag-NR:empty,.bfh-flag-NZ:empty,.bfh-flag-OM:empty,.bfh-flag-PA:empty,.bfh-flag-PE:empty,.bfh-flag-PF:empty,.bfh-flag-PG:empty,.bfh-flag-PH:empty,.bfh-flag-PK:empty,.bfh-flag-PL:empty,.bfh-flag-PM:empty,.bfh-flag-PN:empty,.bfh-flag-PR:empty,.bfh-flag-PS:empty,.bfh-flag-PT:empty,.bfh-flag-PW:empty,.bfh-flag-PY:empty,.bfh-flag-QA:empty,.bfh-flag-RE:empty,.bfh-flag-RO:empty,.bfh-flag-RS:empty,.bfh-flag-RU:empty,.bfh-flag-RW:empty,.bfh-flag-SA:empty,.bfh-flag-SB:empty,.bfh-flag-SC:empty,.bfh-flag-SD:empty,.bfh-flag-SE:empty,.bfh-flag-SG:empty,.bfh-flag-SH:empty,.bfh-flag-SI:empty,.bfh-flag-SK:empty,.bfh-flag-SL:empty,.bfh-flag-SM:empty,.bfh-flag-SN:empty,.bfh-flag-SO:empty,.bfh-flag-SR:empty,.bfh-flag-SS:empty,.bfh-flag-ST:empty,.bfh-flag-SV:empty,.bfh-flag-SY:empty,.bfh-flag-SZ:empty,.bfh-flag-TC:empty,.bfh-flag-TD:empty,.bfh-flag-TF:empty,.bfh-flag-TG:empty,.bfh-flag-TH:empty,.bfh-flag-TJ:empty,.bfh-flag-TM:empty,.bfh-flag-TN:empty,.bfh-flag-TO:empty,.bfh-flag-TP:empty,.bfh-flag-TR:empty,.bfh-flag-TT:empty,.bfh-flag-TV:empty,.bfh-flag-TW:empty,.bfh-flag-TZ:empty,.bfh-flag-UA:empty,.bfh-flag-UG:empty,.bfh-flag-US:empty,.bfh-flag-UY:empty,.bfh-flag-UZ:empty,.bfh-flag-VA:empty,.bfh-flag-VC:empty,.bfh-flag-VE:empty,.bfh-flag-VG:empty,.bfh-flag-VI:empty,.bfh-flag-VN:empty,.bfh-flag-VU:empty,.bfh-flag-WF:empty,.bfh-flag-WS:empty,.bfh-flag-YE:empty,.bfh-flag-ZA:empty,.bfh-flag-ZM:empty,.bfh-flag-ZW:empty{width:16px}.bfh-flag-AD,.bfh-flag-AE,.bfh-flag-AF,.bfh-flag-AG,.bfh-flag-AI,.bfh-flag-AL,.bfh-flag-AM,.bfh-flag-AN,.bfh-flag-AO,.bfh-flag-AQ,.bfh-flag-AR,.bfh-flag-AS,.bfh-flag-AT,.bfh-flag-AU,.bfh-flag-AW,.bfh-flag-AX,.bfh-flag-AZ,.bfh-flag-BA,.bfh-flag-BB,.bfh-flag-BD,.bfh-flag-BE,.bfh-flag-BF,.bfh-flag-BG,.bfh-flag-BH,.bfh-flag-BI,.bfh-flag-BJ,.bfh-flag-BL,.bfh-flag-BM,.bfh-flag-BN,.bfh-flag-BO,.bfh-flag-BR,.bfh-flag-BS,.bfh-flag-BT,.bfh-flag-BW,.bfh-flag-BY,.bfh-flag-BZ,.bfh-flag-CA,.bfh-flag-CD,.bfh-flag-CF,.bfh-flag-CG,.bfh-flag-CH,.bfh-flag-CI,.bfh-flag-CL,.bfh-flag-CM,.bfh-flag-CN,.bfh-flag-CO,.bfh-flag-CR,.bfh-flag-CU,.bfh-flag-CV,.bfh-flag-CY,.bfh-flag-CZ,.bfh-flag-DE,.bfh-flag-DJ,.bfh-flag-DK,.bfh-flag-DM,.bfh-flag-DO,.bfh-flag-DZ,.bfh-flag-EC,.bfh-flag-EE,.bfh-flag-EG,.bfh-flag-EH,.bfh-flag-ER,.bfh-flag-ES,.bfh-flag-ET,.bfh-flag-EU,.bfh-flag-EUR,.bfh-flag-FI,.bfh-flag-FJ,.bfh-flag-FK,.bfh-flag-FM,.bfh-flag-FO,.bfh-flag-FR,.bfh-flag-FX,.bfh-flag-GA,.bfh-flag-GB,.bfh-flag-GD,.bfh-flag-GE,.bfh-flag-GF,.bfh-flag-GG,.bfh-flag-GH,.bfh-flag-GL,.bfh-flag-GM,.bfh-flag-GN,.bfh-flag-GP,.bfh-flag-GQ,.bfh-flag-GR,.bfh-flag-GS,.bfh-flag-GT,.bfh-flag-GU,.bfh-flag-GW,.bfh-flag-GY,.bfh-flag-HK,.bfh-flag-HN,.bfh-flag-HR,.bfh-flag-HT,.bfh-flag-HU,.bfh-flag-ID,.bfh-flag-IE,.bfh-flag-IL,.bfh-flag-IM,.bfh-flag-IN,.bfh-flag-IQ,.bfh-flag-IR,.bfh-flag-IS,.bfh-flag-IT,.bfh-flag-JE,.bfh-flag-JM,.bfh-flag-JO,.bfh-flag-JP,.bfh-flag-KE,.bfh-flag-KG,.bfh-flag-KH,.bfh-flag-KI,.bfh-flag-KM,.bfh-flag-KN,.bfh-flag-KP,.bfh-flag-KR,.bfh-flag-KV,.bfh-flag-KW,.bfh-flag-KY,.bfh-flag-KZ,.bfh-flag-LA,.bfh-flag-LB,.bfh-flag-LC,.bfh-flag-LI,.bfh-flag-LK,.bfh-flag-LR,.bfh-flag-LS,.bfh-flag-LT,.bfh-flag-LU,.bfh-flag-LV,.bfh-flag-LY,.bfh-flag-MA,.bfh-flag-MC,.bfh-flag-MD,.bfh-flag-ME,.bfh-flag-MG,.bfh-flag-MH,.bfh-flag-MK,.bfh-flag-ML,.bfh-flag-MM,.bfh-flag-MN,.bfh-flag-MO,.bfh-flag-MP,.bfh-flag-MQ,.bfh-flag-MR,.bfh-flag-MS,.bfh-flag-MT,.bfh-flag-MU,.bfh-flag-MV,.bfh-flag-MW,.bfh-flag-MX,.bfh-flag-MY,.bfh-flag-MZ,.bfh-flag-NA,.bfh-flag-NC,.bfh-flag-NE,.bfh-flag-NF,.bfh-flag-NG,.bfh-flag-NI,.bfh-flag-NL,.bfh-flag-NO,.bfh-flag-NP,.bfh-flag-NR,.bfh-flag-NZ,.bfh-flag-OM,.bfh-flag-PA,.bfh-flag-PE,.bfh-flag-PF,.bfh-flag-PG,.bfh-flag-PH,.bfh-flag-PK,.bfh-flag-PL,.bfh-flag-PM,.bfh-flag-PN,.bfh-flag-PR,.bfh-flag-PS,.bfh-flag-PT,.bfh-flag-PW,.bfh-flag-PY,.bfh-flag-QA,.bfh-flag-RE,.bfh-flag-RO,.bfh-flag-RS,.bfh-flag-RU,.bfh-flag-RW,.bfh-flag-SA,.bfh-flag-SB,.bfh-flag-SC,.bfh-flag-SD,.bfh-flag-SE,.bfh-flag-SG,.bfh-flag-SH,.bfh-flag-SI,.bfh-flag-SK,.bfh-flag-SL,.bfh-flag-SM,.bfh-flag-SN,.bfh-flag-SO,.bfh-flag-SR,.bfh-flag-SS,.bfh-flag-ST,.bfh-flag-SV,.bfh-flag-SY,.bfh-flag-SZ,.bfh-flag-TC,.bfh-flag-TD,.bfh-flag-TF,.bfh-flag-TG,.bfh-flag-TH,.bfh-flag-TJ,.bfh-flag-TM,.bfh-flag-TN,.bfh-flag-TO,.bfh-flag-TP,.bfh-flag-TR,.bfh-flag-TT,.bfh-flag-TV,.bfh-flag-TW,.bfh-flag-TZ,.bfh-flag-UA,.bfh-flag-UG,.bfh-flag-US,.bfh-flag-UY,.bfh-flag-UZ,.bfh-flag-VA,.bfh-flag-VC,.bfh-flag-VE,.bfh-flag-VG,.bfh-flag-VI,.bfh-flag-VN,.bfh-flag-VU,.bfh-flag-WF,.bfh-flag-WS,.bfh-flag-XCD,.bfh-flag-YE,.bfh-flag-ZA,.bfh-flag-ZM,.bfh-flag-ZW{margin-right:5px}.bfh-flag-AD{background-position:-1921px 0}.bfh-flag-AE{background-position:-1904px 0}.bfh-flag-AF{background-position:-3689px 0}.bfh-flag-AG{background-position:-34px 0}.bfh-flag-AI{background-position:-51px 0}.bfh-flag-AL{background-position:-68px 0}.bfh-flag-AM{background-position:-85px 0}.bfh-flag-AN{background-position:-102px 0}.bfh-flag-AO{background-position:-119px 0}.bfh-flag-AQ{background-position:-136px 0}.bfh-flag-AR{background-position:-153px 0}.bfh-flag-AS{background-position:-170px 0}.bfh-flag-AT{background-position:-187px 0}.bfh-flag-AU{background-position:-204px 0}.bfh-flag-AW{background-position:-221px 0}.bfh-flag-AX{background-position:-238px 0}.bfh-flag-AZ{background-position:-255px 0}.bfh-flag-BA{background-position:-272px 0}.bfh-flag-BB{background-position:-289px 0}.bfh-flag-BD{background-position:-306px 0}.bfh-flag-BE{background-position:-323px 0}.bfh-flag-BG{background-position:-340px 0}.bfh-flag-BH{background-position:-357px 0}.bfh-flag-BI{background-position:-374px 0}.bfh-flag-BJ{background-position:-391px 0}.bfh-flag-BL{background-position:-408px 0}.bfh-flag-BM{background-position:-425px 0}.bfh-flag-BN{background-position:-442px 0}.bfh-flag-BO{background-position:-459px 0}.bfh-flag-BR{background-position:-476px 0}.bfh-flag-BS{background-position:-493px 0}.bfh-flag-BT{background-position:-510px 0}.bfh-flag-BW{background-position:-527px 0}.bfh-flag-BY{background-position:-544px 0}.bfh-flag-BZ{background-position:-561px 0}.bfh-flag-CA{background-position:-578px 0}.bfh-flag-CD{background-position:-595px 0}.bfh-flag-CF{background-position:-612px 0}.bfh-flag-CG{background-position:-629px 0}.bfh-flag-CH{background-position:-646px 0}.bfh-flag-CI{background-position:-663px 0}.bfh-flag-CL{background-position:-680px 0}.bfh-flag-CM{background-position:-697px 0}.bfh-flag-CN{background-position:-714px 0}.bfh-flag-CO{background-position:-731px 0}.bfh-flag-CR{background-position:-748px 0}.bfh-flag-CV{background-position:-765px 0}.bfh-flag-CY{background-position:-782px 0}.bfh-flag-CZ{background-position:-799px 0}.bfh-flag-DJ{background-position:-816px 0}.bfh-flag-DK{background-position:-833px 0}.bfh-flag-DM{background-position:-850px 0}.bfh-flag-DO{background-position:-867px 0}.bfh-flag-DZ{background-position:-884px 0}.bfh-flag-EC{background-position:-901px 0}.bfh-flag-EE{background-position:-918px 0}.bfh-flag-EG{background-position:-935px 0}.bfh-flag-EH{background-position:-952px 0}.bfh-flag-ER{background-position:-969px 0}.bfh-flag-ES{background-position:-986px 0}.bfh-flag-ET{background-position:-1003px 0}.bfh-flag-EU{background-position:-1020px 0}.bfh-flag-FI{background-position:-1037px 0}.bfh-flag-FJ{background-position:-1054px 0}.bfh-flag-FK{background-position:-1071px 0}.bfh-flag-FM{background-position:-1088px 0}.bfh-flag-FO{background-position:-1105px 0}.bfh-flag-FR,.bfh-flag-FX,.bfh-flag-GF,.bfh-flag-GP,.bfh-flag-MQ,.bfh-flag-NC,.bfh-flag-PF,.bfh-flag-PM,.bfh-flag-RE,.bfh-flag-TF,.bfh-flag-WF{background-position:-1122px 0}.bfh-flag-GA{background-position:-1139px 0}.bfh-flag-GB{background-position:-1156px 0}.bfh-flag-GD{background-position:-1173px 0}.bfh-flag-GE{background-position:-1190px 0}.bfh-flag-GG{background-position:-1207px 0}.bfh-flag-GH{background-position:-1224px 0}.bfh-flag-GL{background-position:-1241px 0}.bfh-flag-GM{background-position:-1258px 0}.bfh-flag-GN{background-position:-1275px 0}.bfh-flag-GQ{background-position:-1292px 0}.bfh-flag-GR{background-position:-1309px 0}.bfh-flag-GS{background-position:-1326px 0}.bfh-flag-GT{background-position:-1343px 0}.bfh-flag-GU{background-position:-1360px 0}.bfh-flag-GW{background-position:-1377px 0}.bfh-flag-GY{background-position:-1394px 0}.bfh-flag-HK{background-position:-1411px 0}.bfh-flag-HN{background-position:-1428px 0}.bfh-flag-HR{background-position:-1445px 0}.bfh-flag-HT{background-position:-1462px 0}.bfh-flag-HU{background-position:-1479px 0}.bfh-flag-ID{background-position:-1496px 0}.bfh-flag-IE{background-position:-1513px 0}.bfh-flag-IL{background-position:-1530px 0}.bfh-flag-IM{background-position:-1547px 0}.bfh-flag-IN{background-position:-1564px 0}.bfh-flag-IQ{background-position:-1581px 0}.bfh-flag-IS{background-position:-1598px 0}.bfh-flag-IT{background-position:-1615px 0}.bfh-flag-JE{background-position:-1632px 0}.bfh-flag-JM{background-position:-1649px 0}.bfh-flag-JO{background-position:-1666px 0}.bfh-flag-JP{background-position:-1683px 0}.bfh-flag-KE{background-position:-1700px 0}.bfh-flag-KG{background-position:-1717px 0}.bfh-flag-KH{background-position:-1734px 0}.bfh-flag-KI{background-position:-1751px 0}.bfh-flag-KM{background-position:-1768px 0}.bfh-flag-KN{background-position:-1785px 0}.bfh-flag-KP{background-position:-1802px 0}.bfh-flag-KR{background-position:-1819px 0}.bfh-flag-KV{background-position:-1836px 0}.bfh-flag-KW{background-position:-1853px 0}.bfh-flag-KY{background-position:-1870px 0}.bfh-flag-LA{background-position:-1887px 0}.bfh-flag-LC{background-position:0 0}.bfh-flag-LK{background-position:-17px 0}.bfh-flag-LR{background-position:-1938px 0}.bfh-flag-LS{background-position:-1955px 0}.bfh-flag-LT{background-position:-1972px 0}.bfh-flag-LU{background-position:-1989px 0}.bfh-flag-LV{background-position:-2006px 0}.bfh-flag-LY{background-position:-2023px 0}.bfh-flag-MA{background-position:-2040px 0}.bfh-flag-ME{background-position:-2057px 0}.bfh-flag-MG{background-position:-2074px 0}.bfh-flag-MH{background-position:-2091px 0}.bfh-flag-ML{background-position:-2108px 0}.bfh-flag-MM{background-position:-2125px 0}.bfh-flag-MP{background-position:-2142px 0}.bfh-flag-MR{background-position:-2159px 0}.bfh-flag-MS{background-position:-2176px 0}.bfh-flag-MT{background-position:-2193px 0}.bfh-flag-MU{background-position:-2210px 0}.bfh-flag-MV{background-position:-2227px 0}.bfh-flag-MW{background-position:-2244px 0}.bfh-flag-MZ{background-position:-2261px 0}.bfh-flag-NA{background-position:-2278px 0}.bfh-flag-NE{background-position:-2295px 0}.bfh-flag-NF{background-position:-2312px 0}.bfh-flag-NG{background-position:-2329px 0}.bfh-flag-NI{background-position:-2346px 0}.bfh-flag-NL{background-position:-2363px 0}.bfh-flag-NO{background-position:-2380px 0}.bfh-flag-NP{background-position:-2397px 0}.bfh-flag-NR{background-position:-2414px 0}.bfh-flag-NZ{background-position:-2431px 0}.bfh-flag-OM{background-position:-2448px 0}.bfh-flag-PA{background-position:-2465px 0}.bfh-flag-PE{background-position:-2482px 0}.bfh-flag-PG{background-position:-2499px 0}.bfh-flag-PH{background-position:-2516px 0}.bfh-flag-PK{background-position:-2533px 0}.bfh-flag-PL{background-position:-2550px 0}.bfh-flag-PN{background-position:-2567px 0}.bfh-flag-PS{background-position:-2584px 0}.bfh-flag-PT{background-position:-2601px 0}.bfh-flag-PW{background-position:-2618px 0}.bfh-flag-PY{background-position:-2635px 0}.bfh-flag-QA{background-position:-2652px 0}.bfh-flag-RS{background-position:-2669px 0}.bfh-flag-RU{background-position:-2686px 0}.bfh-flag-RW{background-position:-2703px 0}.bfh-flag-SA{background-position:-2720px 0}.bfh-flag-SB{background-position:-2737px 0}.bfh-flag-SC{background-position:-2754px 0}.bfh-flag-SD{background-position:-2771px 0}.bfh-flag-SE{background-position:-2788px 0}.bfh-flag-SG{background-position:-2805px 0}.bfh-flag-SH{background-position:-2822px 0}.bfh-flag-SI{background-position:-2839px 0}.bfh-flag-SK{background-position:-2856px 0}.bfh-flag-SM{background-position:-2873px 0}.bfh-flag-SN{background-position:-2890px 0}.bfh-flag-SO{background-position:-2907px 0}.bfh-flag-SR{background-position:-2924px 0}.bfh-flag-SS{background-position:-2941px 0}.bfh-flag-ST{background-position:-2958px 0}.bfh-flag-SV{background-position:-2975px 0}.bfh-flag-SY{background-position:-2992px 0}.bfh-flag-SZ{background-position:-3009px 0}.bfh-flag-TC{background-position:-3026px 0}.bfh-flag-TD{background-position:-3043px 0}.bfh-flag-TG{background-position:-3060px 0}.bfh-flag-TH{background-position:-3077px 0}.bfh-flag-TJ{background-position:-3094px 0}.bfh-flag-TM{background-position:-3111px 0}.bfh-flag-TN{background-position:-3128px 0}.bfh-flag-TP{background-position:-3145px 0}.bfh-flag-TR{background-position:-3162px 0}.bfh-flag-TT{background-position:-3179px 0}.bfh-flag-TV{background-position:-3196px 0}.bfh-flag-TW{background-position:-3213px 0}.bfh-flag-TZ{background-position:-3230px 0}.bfh-flag-UA{background-position:-3247px 0}.bfh-flag-UG{background-position:-3264px 0}.bfh-flag-US{background-position:-3281px 0}.bfh-flag-UY{background-position:-3298px 0}.bfh-flag-UZ{background-position:-3315px 0}.bfh-flag-VC{background-position:-3332px 0}.bfh-flag-VE{background-position:-3349px 0}.bfh-flag-VG{background-position:-3366px 0}.bfh-flag-VI{background-position:-3383px 0}.bfh-flag-VN{background-position:-3400px 0}.bfh-flag-VU{background-position:-3417px 0}.bfh-flag-WS{background-position:-3434px 0}.bfh-flag-YE{background-position:-3451px 0}.bfh-flag-ZA{background-position:-3468px 0}.bfh-flag-ZM{background-position:-3485px 0}.bfh-flag-BF{background-position:-3502px 0}.bfh-flag-CU{background-position:-3519px 0}.bfh-flag-DE{background-position:-3536px 0}.bfh-flag-IR{background-position:-3553px 0}.bfh-flag-KZ{background-position:-3570px 0}.bfh-flag-LB{background-position:-3587px 0}.bfh-flag-LI{background-position:-3604px 0}.bfh-flag-MC{background-position:-3621px 0}.bfh-flag-MD{background-position:-3638px 0}.bfh-flag-MK{background-position:-3655px 0}.bfh-flag-MN{background-position:-3672px 0}.bfh-flag-MO{background-position:-3706px 0}.bfh-flag-MX{background-position:-3723px 0}.bfh-flag-MY{background-position:-3740px 0}.bfh-flag-PR{background-position:-3757px 0}.bfh-flag-RO{background-position:-3774px 0}.bfh-flag-SL{background-position:-3791px 0}.bfh-flag-TO{background-position:-3808px 0}.bfh-flag-VA{background-position:-3825px 0}.bfh-flag-ZW{background-position:-3842px 0}.bfh-flag-EUR{background:url(../img/eu.png) no-repeat}.bfh-flag-XCD{background:url(../img/xcd.png) no-repeat}.bfh-flag-AUD,.bfh-flag-CHF,.bfh-flag-DKK,.bfh-flag-EUR,.bfh-flag-XAF,.bfh-flag-XCD,.bfh-flag-XOF,.bfh-flag-XPF,.bfh-flag-ZAR{width:16px;height:14px;background:url(../img/bootstrap-formhelpers-currencies.flags.png) no-repeat}.bfh-flag-AUD:empty,.bfh-flag-CHF:empty,.bfh-flag-DKK:empty,.bfh-flag-EUR:empty,.bfh-flag-XAF:empty,.bfh-flag-XCD:empty,.bfh-flag-XOF:empty,.bfh-flag-XPF:empty,.bfh-flag-ZAR:empty{width:16px}.bfh-flag-AUD,.bfh-flag-CHF,.bfh-flag-DKK,.bfh-flag-EUR,.bfh-flag-XAF,.bfh-flag-XCD,.bfh-flag-XOF,.bfh-flag-XPF,.bfh-flag-ZAR{margin-right:5px}.bfh-flag-AUD{background-position:-32px 0}.bfh-flag-CHF{background-position:-224px 0}.bfh-flag-DKK{background-position:-64px -16px}.bfh-flag-EUR{background-position:-96px -16px}.bfh-flag-XAF{background-position:-160px -80px}.bfh-flag-XCD{background-position:-176px -80px}.bfh-flag-XOF{background-position:-192px -80px}.bfh-flag-XPF{background-position:-208px -80px}.bfh-flag-ZAR{background-position:-224px -80px}.bfh-selectbox{position:relative}.bfh-selectbox .bfh-selectbox-toggle{display:inline-block;padding:6px 24px 6px 12px;text-decoration:none}.bfh-selectbox .bfh-selectbox-toggle:focus{outline:0}.bfh-selectbox .bfh-selectbox-toggle .bfh-selectbox-option{display:inline-block;float:left;width:100%;height:20px;overflow:hidden;text-overflow:ellipsis}.bfh-selectbox .bfh-selectbox-toggle .selectbox-caret{float:right;margin-top:8px;margin-right:-16px;margin-left:-10px}.bfh-selectbox .bfh-selectbox-options{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:90px;padding:5px 0;margin:-1px 0 0;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.bfh-selectbox .bfh-selectbox-options.pull-right{right:0;left:auto}.bfh-selectbox .bfh-selectbox-options .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.bfh-selectbox .bfh-selectbox-options .bfh-selectbox-filter-container{width:100%;padding:5px}.bfh-selectbox .bfh-selectbox-options ul{max-width:500px;max-height:200px;padding:0;margin:5px 0 0;overflow-x:hidden;overflow-y:auto;list-style:none}.bfh-selectbox .bfh-selectbox-options ul li>a{display:block;width:100%;min-height:26px;padding:3px 20px;overflow-x:hidden;clear:both;font-weight:400;line-height:1.428571429;color:#333;text-overflow:ellipsis;white-space:nowrap}.bfh-selectbox .bfh-selectbox-options ul li>a:focus,.bfh-selectbox .bfh-selectbox-options ul li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.bfh-selectbox .bfh-selectbox-options ul .bfh-selectbox-options-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.bfh-selectbox .bfh-selectbox-options ul .disabled>a{color:#999}.bfh-selectbox .bfh-selectbox-options ul .disabled>a:focus,.bfh-selectbox .bfh-selectbox-options ul .disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.bfh-selectbox.open>.bfh-selectbox-options{display:block}.bfh-selectbox.open a{outline:0}.pull-right>.bfh-selectbox-options{right:0;left:auto}.bfh-selectbox-up .caret,.navbar-fixed-bottom .bfh-selectbox .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.bfh-selectbox-up .bfh-selectbox-options,.navbar-fixed-bottom .bfh-selectbox .bfh-selectbox-options{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .bfh-selectbox-options{right:0;left:auto}}.bfh-googlefonts .bfh-selectbox-options a{width:230px;height:30px;text-indent:-9999px;background-image:url(../img/bootstrap-formhelpers-googlefonts.png)}.bfh-googlefonts .bfh-selectbox-options a:focus{background-color:transparent;background-repeat:no-repeat;outline:0;filter:none}.bfh-googlefonts .bfh-selectbox-options .active>a,.bfh-googlefonts .bfh-selectbox-options .active>a:hover{background-color:transparent;background-image:url(../img/bootstrap-formhelpers-googlefonts.png);background-repeat:no-repeat;outline:0;filter:none}.bfh-datepicker-calendar{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:296px}.bfh-datepicker-calendar>table.calendar{width:376px;background:#fff}.bfh-datepicker-calendar>table.calendar .months-header>th{font-size:12px;text-align:center}.bfh-datepicker-calendar>table.calendar .months-header>th.month>span{display:inline-block;width:100px}.bfh-datepicker-calendar>table.calendar .months-header>th.year>span{display:inline-block;width:50px}.bfh-datepicker-calendar>table.calendar .days-header>th,.bfh-datepicker-calendar>table.calendar>tbody>tr>td{width:30px;font-size:11px;line-height:12px;text-align:center}.bfh-datepicker-calendar>table.calendar>tbody>tr>td.today{color:#fff;background-color:#428bca}.bfh-datepicker-calendar>table.calendar>tbody>tr>td.off{color:#999}.bfh-datepicker-calendar>table.calendar>tbody>tr>td:not(.off):hover{color:#262626;cursor:pointer;background-color:#f5f5f5}.bfh-datepicker{position:relative}.bfh-datepicker-toggle{*margin-bottom:-3px}.bfh-datepicker-toggle>input[readonly]{cursor:inherit;background-color:inherit}.open>.bfh-datepicker-calendar{display:block}.bfh-timepicker-popover{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:100px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.bfh-timepicker-popover>table{width:180px;margin:0}.bfh-timepicker-popover>table>tbody>tr>td{text-align:center;border:0}.bfh-timepicker-popover>table>tbody>tr>td.separator{font-size:20px;font-weight:700;line-height:28px}.bfh-timepicker-popover>table>tbody>tr>td>div>input{width:42px!important;text-align:center}.bfh-timepicker{position:relative}.bfh-timepicker-toggle{*margin-bottom:-3px}.bfh-timepicker-toggle>input[readonly]{cursor:inherit;background-color:inherit}.open>.bfh-timepicker-popover{display:block}.bfh-slider{height:20px;margin-top:8px;margin-bottom:23px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none}.bfh-slider>.bfh-slider-handle{width:20px;height:34px;margin-top:-7px;background:#efefef}.bfh-slider>.bfh-slider-handle,.bfh-slider>.bfh-slider-handle>.bfh-slider-value{position:absolute;cursor:col-resize;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px}.bfh-slider>.bfh-slider-handle>.bfh-slider-value{width:48px;height:20px;margin-top:5px;margin-left:-15px;line-height:20px;text-align:center;background-color:#fff}.bfh-slider.disabled .bfh-slider-value,.bfh-slider>.bfh-slider-handle>.bfh-slider-value .disabled{color:#999}.bfh-colorpicker-popover{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:100px;padding:20px;cursor:default;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.bfh-colorpicker-popover>canvas{width:384px;height:256px}.bfh-colorpicker{position:relative}.bfh-colorpicker-toggle{*margin-bottom:-3px}.bfh-colorpicker-toggle>input[readonly]{cursor:inherit;background-color:inherit}.bfh-colorpicker-toggle .bfh-colorpicker-icon{display:block;width:16px;height:16px}.open>.bfh-colorpicker-popover{display:block}.input-group>.bfh-number{border-right:0}.input-group>.bfh-number-btn:hover{background-color:#ccc} \ No newline at end of file diff --git a/themes/dark/assets/css/browser.css b/themes/dark/assets/css/browser.css index a075d4991a..72f9a90aa4 100644 --- a/themes/dark/assets/css/browser.css +++ b/themes/dark/assets/css/browser.css @@ -1,37 +1 @@ -.fileBrowserDialog { - max-height: 480px; - overflow-y: auto; -} - -.fileBrowserDialog ul { - margin: 0; - padding: 0; -} - -.fileBrowserDialog ul li { - margin: 2px 0; - cursor: pointer; - list-style-type: none; -} - -.fileBrowserDialog ul li a { - display: block; - padding: 4px 0; -} - -.fileBrowserDialog ul li a:hover { - color: rgb(0, 0, 255); - background: none; -} - -.fileBrowserDialog ul li a .ui-icon { - margin: 0 4px; - float: left; -} - -.ui-autocomplete { - max-height: 180px; - overflow-y: auto; - overflow-x: hidden; /* prevent horizontal scrollbar */ - padding-right: 20px; /* add padding to account for vertical scrollbar */ -} +.fileBrowserDialog{max-height:480px;overflow-y:auto}.fileBrowserDialog ul{margin:0;padding:0}.fileBrowserDialog ul li{margin:2px 0;cursor:pointer;list-style-type:none}.fileBrowserDialog ul li a{display:block;padding:4px 0}.fileBrowserDialog ul li a:hover{color:#00f;background:none}.fileBrowserDialog ul li a .ui-icon{margin:0 4px;float:left}.ui-autocomplete{max-height:180px;overflow-y:auto;overflow-x:hidden;padding-right:20px} \ No newline at end of file diff --git a/themes/dark/assets/css/country-flags.css b/themes/dark/assets/css/country-flags.css index bef42c5159..aae670f43d 100644 --- a/themes/dark/assets/css/country-flags.css +++ b/themes/dark/assets/css/country-flags.css @@ -1,256 +1 @@ -.country-flag { - width: 16px; - height: 11px; - background: url(../images/country-flags.png) no-repeat; -} -.country-flag.flag-ad { background-position: -16px 0; } -.country-flag.flag-ae { background-position: -32px 0; } -.country-flag.flag-af { background-position: -48px 0; } -.country-flag.flag-ag { background-position: -64px 0; } -.country-flag.flag-ai { background-position: -80px 0; } -.country-flag.flag-al { background-position: -96px 0; } -.country-flag.flag-am { background-position: -112px 0; } -.country-flag.flag-an { background-position: -128px 0; } -.country-flag.flag-ao { background-position: -144px 0; } -.country-flag.flag-ar { background-position: -160px 0; } -.country-flag.flag-as { background-position: -176px 0; } -.country-flag.flag-at { background-position: -192px 0; } -.country-flag.flag-au { background-position: -208px 0; } -.country-flag.flag-aw { background-position: -224px 0; } -.country-flag.flag-az { background-position: -240px 0; } -.country-flag.flag-ba { background-position: 0 -11px; } -.country-flag.flag-bb { background-position: -16px -11px; } -.country-flag.flag-bd { background-position: -32px -11px; } -.country-flag.flag-be { background-position: -48px -11px; } -.country-flag.flag-bf { background-position: -64px -11px; } -.country-flag.flag-bg { background-position: -80px -11px; } -.country-flag.flag-bh { background-position: -96px -11px; } -.country-flag.flag-bi { background-position: -112px -11px; } -.country-flag.flag-bj { background-position: -128px -11px; } -.country-flag.flag-bm { background-position: -144px -11px; } -.country-flag.flag-bn { background-position: -160px -11px; } -.country-flag.flag-bo { background-position: -176px -11px; } -.country-flag.flag-br { background-position: -192px -11px; } -.country-flag.flag-bs { background-position: -208px -11px; } -.country-flag.flag-bt { background-position: -224px -11px; } -.country-flag.flag-bv { background-position: -240px -11px; } -.country-flag.flag-bw { background-position: 0 -22px; } -.country-flag.flag-by { background-position: -16px -22px; } -.country-flag.flag-bz { background-position: -32px -22px; } -.country-flag.flag-ca { background-position: -48px -22px; } -.country-flag.flag-catalonia { background-position: -64px -22px; } -.country-flag.flag-cd { background-position: -80px -22px; } -.country-flag.flag-cf { background-position: -96px -22px; } -.country-flag.flag-cg { background-position: -112px -22px; } -.country-flag.flag-ch { background-position: -128px -22px; } -.country-flag.flag-ci { background-position: -144px -22px; } -.country-flag.flag-ck { background-position: -160px -22px; } -.country-flag.flag-cl { background-position: -176px -22px; } -.country-flag.flag-cm { background-position: -192px -22px; } -.country-flag.flag-cn { background-position: -208px -22px; } -.country-flag.flag-co { background-position: -224px -22px; } -.country-flag.flag-cr { background-position: -240px -22px; } -.country-flag.flag-cu { background-position: 0 -33px; } -.country-flag.flag-cv { background-position: -16px -33px; } -.country-flag.flag-cw { background-position: -32px -33px; } -.country-flag.flag-cy { background-position: -48px -33px; } -.country-flag.flag-cz { background-position: -64px -33px; } -.country-flag.flag-de { background-position: -80px -33px; } -.country-flag.flag-dj { background-position: -96px -33px; } -.country-flag.flag-dk { background-position: -112px -33px; } -.country-flag.flag-dm { background-position: -128px -33px; } -.country-flag.flag-do { background-position: -144px -33px; } -.country-flag.flag-dz { background-position: -160px -33px; } -.country-flag.flag-ec { background-position: -176px -33px; } -.country-flag.flag-ee { background-position: -192px -33px; } -.country-flag.flag-eg { background-position: -208px -33px; } -.country-flag.flag-eh { background-position: -224px -33px; } -.country-flag.flag-england { background-position: -240px -33px; } -.country-flag.flag-er { background-position: 0 -44px; } -.country-flag.flag-es { background-position: -16px -44px; } -.country-flag.flag-et { background-position: -32px -44px; } -.country-flag.flag-eu { background-position: -48px -44px; } -.country-flag.flag-fi { background-position: -64px -44px; } -.country-flag.flag-fj { background-position: -80px -44px; } -.country-flag.flag-fk { background-position: -96px -44px; } -.country-flag.flag-fm { background-position: -112px -44px; } -.country-flag.flag-fo { background-position: -128px -44px; } -.country-flag.flag-fr { background-position: -144px -44px; } -.country-flag.flag-ga { background-position: -160px -44px; } -.country-flag.flag-gb { background-position: -176px -44px; } -.country-flag.flag-gd { background-position: -192px -44px; } -.country-flag.flag-ge { background-position: -208px -44px; } -.country-flag.flag-gf { background-position: -224px -44px; } -.country-flag.flag-gg { background-position: -240px -44px; } -.country-flag.flag-gh { background-position: 0 -55px; } -.country-flag.flag-gi { background-position: -16px -55px; } -.country-flag.flag-gl { background-position: -32px -55px; } -.country-flag.flag-gm { background-position: -48px -55px; } -.country-flag.flag-gn { background-position: -64px -55px; } -.country-flag.flag-gp { background-position: -80px -55px; } -.country-flag.flag-gq { background-position: -96px -55px; } -.country-flag.flag-gr { background-position: -112px -55px; } -.country-flag.flag-gs { background-position: -128px -55px; } -.country-flag.flag-gt { background-position: -144px -55px; } -.country-flag.flag-gu { background-position: -160px -55px; } -.country-flag.flag-gw { background-position: -176px -55px; } -.country-flag.flag-gy { background-position: -192px -55px; } -.country-flag.flag-hk { background-position: -208px -55px; } -.country-flag.flag-hm { background-position: -224px -55px; } -.country-flag.flag-hn { background-position: -240px -55px; } -.country-flag.flag-hr { background-position: 0 -66px; } -.country-flag.flag-ht { background-position: -16px -66px; } -.country-flag.flag-hu { background-position: -32px -66px; } -.country-flag.flag-ic { background-position: -48px -66px; } -.country-flag.flag-id { background-position: -64px -66px; } -.country-flag.flag-ie { background-position: -80px -66px; } -.country-flag.flag-il { background-position: -96px -66px; } -.country-flag.flag-im { background-position: -112px -66px; } -.country-flag.flag-in { background-position: -128px -66px; } -.country-flag.flag-io { background-position: -144px -66px; } -.country-flag.flag-iq { background-position: -160px -66px; } -.country-flag.flag-ir { background-position: -176px -66px; } -.country-flag.flag-is { background-position: -192px -66px; } -.country-flag.flag-it { background-position: -208px -66px; } -.country-flag.flag-je { background-position: -224px -66px; } -.country-flag.flag-jm { background-position: -240px -66px; } -.country-flag.flag-jo { background-position: 0 -77px; } -.country-flag.flag-jp { background-position: -16px -77px; } -.country-flag.flag-ke { background-position: -32px -77px; } -.country-flag.flag-kg { background-position: -48px -77px; } -.country-flag.flag-kh { background-position: -64px -77px; } -.country-flag.flag-ki { background-position: -80px -77px; } -.country-flag.flag-km { background-position: -96px -77px; } -.country-flag.flag-kn { background-position: -112px -77px; } -.country-flag.flag-kp { background-position: -128px -77px; } -.country-flag.flag-kr { background-position: -144px -77px; } -.country-flag.flag-kurdistan { background-position: -160px -77px; } -.country-flag.flag-kw { background-position: -176px -77px; } -.country-flag.flag-ky { background-position: -192px -77px; } -.country-flag.flag-kz { background-position: -208px -77px; } -.country-flag.flag-la { background-position: -224px -77px; } -.country-flag.flag-lb { background-position: -240px -77px; } -.country-flag.flag-lc { background-position: 0 -88px; } -.country-flag.flag-li { background-position: -16px -88px; } -.country-flag.flag-lk { background-position: -32px -88px; } -.country-flag.flag-lr { background-position: -48px -88px; } -.country-flag.flag-ls { background-position: -64px -88px; } -.country-flag.flag-lt { background-position: -80px -88px; } -.country-flag.flag-lu { background-position: -96px -88px; } -.country-flag.flag-lv { background-position: -112px -88px; } -.country-flag.flag-ly { background-position: -128px -88px; } -.country-flag.flag-ma { background-position: -144px -88px; } -.country-flag.flag-mc { background-position: -160px -88px; } -.country-flag.flag-md { background-position: -176px -88px; } -.country-flag.flag-me { background-position: -192px -88px; } -.country-flag.flag-mg { background-position: -208px -88px; } -.country-flag.flag-mh { background-position: -224px -88px; } -.country-flag.flag-mk { background-position: -240px -88px; } -.country-flag.flag-ml { background-position: 0 -99px; } -.country-flag.flag-mm { background-position: -16px -99px; } -.country-flag.flag-mn { background-position: -32px -99px; } -.country-flag.flag-mo { background-position: -48px -99px; } -.country-flag.flag-mp { background-position: -64px -99px; } -.country-flag.flag-mq { background-position: -80px -99px; } -.country-flag.flag-mr { background-position: -96px -99px; } -.country-flag.flag-ms { background-position: -112px -99px; } -.country-flag.flag-mt { background-position: -128px -99px; } -.country-flag.flag-mu { background-position: -144px -99px; } -.country-flag.flag-mv { background-position: -160px -99px; } -.country-flag.flag-mw { background-position: -176px -99px; } -.country-flag.flag-mx { background-position: -192px -99px; } -.country-flag.flag-my { background-position: -208px -99px; } -.country-flag.flag-mz { background-position: -224px -99px; } -.country-flag.flag-na { background-position: -240px -99px; } -.country-flag.flag-nc { background-position: 0 -110px; } -.country-flag.flag-ne { background-position: -16px -110px; } -.country-flag.flag-nf { background-position: -32px -110px; } -.country-flag.flag-ng { background-position: -48px -110px; } -.country-flag.flag-ni { background-position: -64px -110px; } -.country-flag.flag-nl { background-position: -80px -110px; } -.country-flag.flag-no { background-position: -96px -110px; } -.country-flag.flag-np { background-position: -112px -110px; } -.country-flag.flag-nr { background-position: -128px -110px; } -.country-flag.flag-nu { background-position: -144px -110px; } -.country-flag.flag-nz { background-position: -160px -110px; } -.country-flag.flag-om { background-position: -176px -110px; } -.country-flag.flag-pa { background-position: -192px -110px; } -.country-flag.flag-pe { background-position: -208px -110px; } -.country-flag.flag-pf { background-position: -224px -110px; } -.country-flag.flag-pg { background-position: -240px -110px; } -.country-flag.flag-ph { background-position: 0 -121px; } -.country-flag.flag-pk { background-position: -16px -121px; } -.country-flag.flag-pl { background-position: -32px -121px; } -.country-flag.flag-pm { background-position: -48px -121px; } -.country-flag.flag-pn { background-position: -64px -121px; } -.country-flag.flag-pr { background-position: -80px -121px; } -.country-flag.flag-ps { background-position: -96px -121px; } -.country-flag.flag-pt { background-position: -112px -121px; } -.country-flag.flag-pw { background-position: -128px -121px; } -.country-flag.flag-py { background-position: -144px -121px; } -.country-flag.flag-qa { background-position: -160px -121px; } -.country-flag.flag-re { background-position: -176px -121px; } -.country-flag.flag-ro { background-position: -192px -121px; } -.country-flag.flag-rs { background-position: -208px -121px; } -.country-flag.flag-ru { background-position: -224px -121px; } -.country-flag.flag-rw { background-position: -240px -121px; } -.country-flag.flag-sa { background-position: 0 -132px; } -.country-flag.flag-sb { background-position: -16px -132px; } -.country-flag.flag-sc { background-position: -32px -132px; } -.country-flag.flag-scotland { background-position: -48px -132px; } -.country-flag.flag-sd { background-position: -64px -132px; } -.country-flag.flag-se { background-position: -80px -132px; } -.country-flag.flag-sg { background-position: -96px -132px; } -.country-flag.flag-sh { background-position: -112px -132px; } -.country-flag.flag-si { background-position: -128px -132px; } -.country-flag.flag-sk { background-position: -144px -132px; } -.country-flag.flag-sl { background-position: -160px -132px; } -.country-flag.flag-sm { background-position: -176px -132px; } -.country-flag.flag-sn { background-position: -192px -132px; } -.country-flag.flag-so { background-position: -208px -132px; } -.country-flag.flag-somaliland { background-position: -224px -132px; } -.country-flag.flag-sr { background-position: -240px -132px; } -.country-flag.flag-ss { background-position: 0 -143px; } -.country-flag.flag-st { background-position: -16px -143px; } -.country-flag.flag-sv { background-position: -32px -143px; } -.country-flag.flag-sx { background-position: -48px -143px; } -.country-flag.flag-sy { background-position: -64px -143px; } -.country-flag.flag-sz { background-position: -80px -143px; } -.country-flag.flag-tc { background-position: -96px -143px; } -.country-flag.flag-td { background-position: -112px -143px; } -.country-flag.flag-tf { background-position: -128px -143px; } -.country-flag.flag-tg { background-position: -144px -143px; } -.country-flag.flag-th { background-position: -160px -143px; } -.country-flag.flag-tj { background-position: -176px -143px; } -.country-flag.flag-tk { background-position: -192px -143px; } -.country-flag.flag-tl { background-position: -208px -143px; } -.country-flag.flag-tm { background-position: -224px -143px; } -.country-flag.flag-tn { background-position: -240px -143px; } -.country-flag.flag-to { background-position: 0 -154px; } -.country-flag.flag-tr { background-position: -16px -154px; } -.country-flag.flag-tt { background-position: -32px -154px; } -.country-flag.flag-tv { background-position: -48px -154px; } -.country-flag.flag-tw { background-position: -64px -154px; } -.country-flag.flag-tz { background-position: -80px -154px; } -.country-flag.flag-ua { background-position: -96px -154px; } -.country-flag.flag-ug { background-position: -112px -154px; } -.country-flag.flag-um { background-position: -128px -154px; } -.country-flag.flag-us { background-position: -144px -154px; } -.country-flag.flag-uy { background-position: -160px -154px; } -.country-flag.flag-uz { background-position: -176px -154px; } -.country-flag.flag-va { background-position: -192px -154px; } -.country-flag.flag-vc { background-position: -208px -154px; } -.country-flag.flag-ve { background-position: -224px -154px; } -.country-flag.flag-vg { background-position: -240px -154px; } -.country-flag.flag-vi { background-position: 0 -165px; } -.country-flag.flag-vn { background-position: -16px -165px; } -.country-flag.flag-vu { background-position: -32px -165px; } -.country-flag.flag-wales { background-position: -48px -165px; } -.country-flag.flag-wf { background-position: -64px -165px; } -.country-flag.flag-ws { background-position: -80px -165px; } -.country-flag.flag-ye { background-position: -96px -165px; } -.country-flag.flag-yt { background-position: -112px -165px; } -.country-flag.flag-za { background-position: -128px -165px; } -.country-flag.flag-zanzibar { background-position: -144px -165px; } -.country-flag.flag-zm { background-position: -160px -165px; } -.country-flag.flag-zw { background-position: -176px -165px; } +.country-flag{width:16px;height:11px;background:url(../images/country-flags.png) no-repeat}.country-flag.flag-ad{background-position:-16px 0}.country-flag.flag-ae{background-position:-32px 0}.country-flag.flag-af{background-position:-48px 0}.country-flag.flag-ag{background-position:-64px 0}.country-flag.flag-ai{background-position:-80px 0}.country-flag.flag-al{background-position:-96px 0}.country-flag.flag-am{background-position:-112px 0}.country-flag.flag-an{background-position:-128px 0}.country-flag.flag-ao{background-position:-144px 0}.country-flag.flag-ar{background-position:-160px 0}.country-flag.flag-as{background-position:-176px 0}.country-flag.flag-at{background-position:-192px 0}.country-flag.flag-au{background-position:-208px 0}.country-flag.flag-aw{background-position:-224px 0}.country-flag.flag-az{background-position:-240px 0}.country-flag.flag-ba{background-position:0 -11px}.country-flag.flag-bb{background-position:-16px -11px}.country-flag.flag-bd{background-position:-32px -11px}.country-flag.flag-be{background-position:-48px -11px}.country-flag.flag-bf{background-position:-64px -11px}.country-flag.flag-bg{background-position:-80px -11px}.country-flag.flag-bh{background-position:-96px -11px}.country-flag.flag-bi{background-position:-112px -11px}.country-flag.flag-bj{background-position:-128px -11px}.country-flag.flag-bm{background-position:-144px -11px}.country-flag.flag-bn{background-position:-160px -11px}.country-flag.flag-bo{background-position:-176px -11px}.country-flag.flag-br{background-position:-192px -11px}.country-flag.flag-bs{background-position:-208px -11px}.country-flag.flag-bt{background-position:-224px -11px}.country-flag.flag-bv{background-position:-240px -11px}.country-flag.flag-bw{background-position:0 -22px}.country-flag.flag-by{background-position:-16px -22px}.country-flag.flag-bz{background-position:-32px -22px}.country-flag.flag-ca{background-position:-48px -22px}.country-flag.flag-catalonia{background-position:-64px -22px}.country-flag.flag-cd{background-position:-80px -22px}.country-flag.flag-cf{background-position:-96px -22px}.country-flag.flag-cg{background-position:-112px -22px}.country-flag.flag-ch{background-position:-128px -22px}.country-flag.flag-ci{background-position:-144px -22px}.country-flag.flag-ck{background-position:-160px -22px}.country-flag.flag-cl{background-position:-176px -22px}.country-flag.flag-cm{background-position:-192px -22px}.country-flag.flag-cn{background-position:-208px -22px}.country-flag.flag-co{background-position:-224px -22px}.country-flag.flag-cr{background-position:-240px -22px}.country-flag.flag-cu{background-position:0 -33px}.country-flag.flag-cv{background-position:-16px -33px}.country-flag.flag-cw{background-position:-32px -33px}.country-flag.flag-cy{background-position:-48px -33px}.country-flag.flag-cz{background-position:-64px -33px}.country-flag.flag-de{background-position:-80px -33px}.country-flag.flag-dj{background-position:-96px -33px}.country-flag.flag-dk{background-position:-112px -33px}.country-flag.flag-dm{background-position:-128px -33px}.country-flag.flag-do{background-position:-144px -33px}.country-flag.flag-dz{background-position:-160px -33px}.country-flag.flag-ec{background-position:-176px -33px}.country-flag.flag-ee{background-position:-192px -33px}.country-flag.flag-eg{background-position:-208px -33px}.country-flag.flag-eh{background-position:-224px -33px}.country-flag.flag-england{background-position:-240px -33px}.country-flag.flag-er{background-position:0 -44px}.country-flag.flag-es{background-position:-16px -44px}.country-flag.flag-et{background-position:-32px -44px}.country-flag.flag-eu{background-position:-48px -44px}.country-flag.flag-fi{background-position:-64px -44px}.country-flag.flag-fj{background-position:-80px -44px}.country-flag.flag-fk{background-position:-96px -44px}.country-flag.flag-fm{background-position:-112px -44px}.country-flag.flag-fo{background-position:-128px -44px}.country-flag.flag-fr{background-position:-144px -44px}.country-flag.flag-ga{background-position:-160px -44px}.country-flag.flag-gb{background-position:-176px -44px}.country-flag.flag-gd{background-position:-192px -44px}.country-flag.flag-ge{background-position:-208px -44px}.country-flag.flag-gf{background-position:-224px -44px}.country-flag.flag-gg{background-position:-240px -44px}.country-flag.flag-gh{background-position:0 -55px}.country-flag.flag-gi{background-position:-16px -55px}.country-flag.flag-gl{background-position:-32px -55px}.country-flag.flag-gm{background-position:-48px -55px}.country-flag.flag-gn{background-position:-64px -55px}.country-flag.flag-gp{background-position:-80px -55px}.country-flag.flag-gq{background-position:-96px -55px}.country-flag.flag-gr{background-position:-112px -55px}.country-flag.flag-gs{background-position:-128px -55px}.country-flag.flag-gt{background-position:-144px -55px}.country-flag.flag-gu{background-position:-160px -55px}.country-flag.flag-gw{background-position:-176px -55px}.country-flag.flag-gy{background-position:-192px -55px}.country-flag.flag-hk{background-position:-208px -55px}.country-flag.flag-hm{background-position:-224px -55px}.country-flag.flag-hn{background-position:-240px -55px}.country-flag.flag-hr{background-position:0 -66px}.country-flag.flag-ht{background-position:-16px -66px}.country-flag.flag-hu{background-position:-32px -66px}.country-flag.flag-ic{background-position:-48px -66px}.country-flag.flag-id{background-position:-64px -66px}.country-flag.flag-ie{background-position:-80px -66px}.country-flag.flag-il{background-position:-96px -66px}.country-flag.flag-im{background-position:-112px -66px}.country-flag.flag-in{background-position:-128px -66px}.country-flag.flag-io{background-position:-144px -66px}.country-flag.flag-iq{background-position:-160px -66px}.country-flag.flag-ir{background-position:-176px -66px}.country-flag.flag-is{background-position:-192px -66px}.country-flag.flag-it{background-position:-208px -66px}.country-flag.flag-je{background-position:-224px -66px}.country-flag.flag-jm{background-position:-240px -66px}.country-flag.flag-jo{background-position:0 -77px}.country-flag.flag-jp{background-position:-16px -77px}.country-flag.flag-ke{background-position:-32px -77px}.country-flag.flag-kg{background-position:-48px -77px}.country-flag.flag-kh{background-position:-64px -77px}.country-flag.flag-ki{background-position:-80px -77px}.country-flag.flag-km{background-position:-96px -77px}.country-flag.flag-kn{background-position:-112px -77px}.country-flag.flag-kp{background-position:-128px -77px}.country-flag.flag-kr{background-position:-144px -77px}.country-flag.flag-kurdistan{background-position:-160px -77px}.country-flag.flag-kw{background-position:-176px -77px}.country-flag.flag-ky{background-position:-192px -77px}.country-flag.flag-kz{background-position:-208px -77px}.country-flag.flag-la{background-position:-224px -77px}.country-flag.flag-lb{background-position:-240px -77px}.country-flag.flag-lc{background-position:0 -88px}.country-flag.flag-li{background-position:-16px -88px}.country-flag.flag-lk{background-position:-32px -88px}.country-flag.flag-lr{background-position:-48px -88px}.country-flag.flag-ls{background-position:-64px -88px}.country-flag.flag-lt{background-position:-80px -88px}.country-flag.flag-lu{background-position:-96px -88px}.country-flag.flag-lv{background-position:-112px -88px}.country-flag.flag-ly{background-position:-128px -88px}.country-flag.flag-ma{background-position:-144px -88px}.country-flag.flag-mc{background-position:-160px -88px}.country-flag.flag-md{background-position:-176px -88px}.country-flag.flag-me{background-position:-192px -88px}.country-flag.flag-mg{background-position:-208px -88px}.country-flag.flag-mh{background-position:-224px -88px}.country-flag.flag-mk{background-position:-240px -88px}.country-flag.flag-ml{background-position:0 -99px}.country-flag.flag-mm{background-position:-16px -99px}.country-flag.flag-mn{background-position:-32px -99px}.country-flag.flag-mo{background-position:-48px -99px}.country-flag.flag-mp{background-position:-64px -99px}.country-flag.flag-mq{background-position:-80px -99px}.country-flag.flag-mr{background-position:-96px -99px}.country-flag.flag-ms{background-position:-112px -99px}.country-flag.flag-mt{background-position:-128px -99px}.country-flag.flag-mu{background-position:-144px -99px}.country-flag.flag-mv{background-position:-160px -99px}.country-flag.flag-mw{background-position:-176px -99px}.country-flag.flag-mx{background-position:-192px -99px}.country-flag.flag-my{background-position:-208px -99px}.country-flag.flag-mz{background-position:-224px -99px}.country-flag.flag-na{background-position:-240px -99px}.country-flag.flag-nc{background-position:0 -110px}.country-flag.flag-ne{background-position:-16px -110px}.country-flag.flag-nf{background-position:-32px -110px}.country-flag.flag-ng{background-position:-48px -110px}.country-flag.flag-ni{background-position:-64px -110px}.country-flag.flag-nl{background-position:-80px -110px}.country-flag.flag-no{background-position:-96px -110px}.country-flag.flag-np{background-position:-112px -110px}.country-flag.flag-nr{background-position:-128px -110px}.country-flag.flag-nu{background-position:-144px -110px}.country-flag.flag-nz{background-position:-160px -110px}.country-flag.flag-om{background-position:-176px -110px}.country-flag.flag-pa{background-position:-192px -110px}.country-flag.flag-pe{background-position:-208px -110px}.country-flag.flag-pf{background-position:-224px -110px}.country-flag.flag-pg{background-position:-240px -110px}.country-flag.flag-ph{background-position:0 -121px}.country-flag.flag-pk{background-position:-16px -121px}.country-flag.flag-pl{background-position:-32px -121px}.country-flag.flag-pm{background-position:-48px -121px}.country-flag.flag-pn{background-position:-64px -121px}.country-flag.flag-pr{background-position:-80px -121px}.country-flag.flag-ps{background-position:-96px -121px}.country-flag.flag-pt{background-position:-112px -121px}.country-flag.flag-pw{background-position:-128px -121px}.country-flag.flag-py{background-position:-144px -121px}.country-flag.flag-qa{background-position:-160px -121px}.country-flag.flag-re{background-position:-176px -121px}.country-flag.flag-ro{background-position:-192px -121px}.country-flag.flag-rs{background-position:-208px -121px}.country-flag.flag-ru{background-position:-224px -121px}.country-flag.flag-rw{background-position:-240px -121px}.country-flag.flag-sa{background-position:0 -132px}.country-flag.flag-sb{background-position:-16px -132px}.country-flag.flag-sc{background-position:-32px -132px}.country-flag.flag-scotland{background-position:-48px -132px}.country-flag.flag-sd{background-position:-64px -132px}.country-flag.flag-se{background-position:-80px -132px}.country-flag.flag-sg{background-position:-96px -132px}.country-flag.flag-sh{background-position:-112px -132px}.country-flag.flag-si{background-position:-128px -132px}.country-flag.flag-sk{background-position:-144px -132px}.country-flag.flag-sl{background-position:-160px -132px}.country-flag.flag-sm{background-position:-176px -132px}.country-flag.flag-sn{background-position:-192px -132px}.country-flag.flag-so{background-position:-208px -132px}.country-flag.flag-somaliland{background-position:-224px -132px}.country-flag.flag-sr{background-position:-240px -132px}.country-flag.flag-ss{background-position:0 -143px}.country-flag.flag-st{background-position:-16px -143px}.country-flag.flag-sv{background-position:-32px -143px}.country-flag.flag-sx{background-position:-48px -143px}.country-flag.flag-sy{background-position:-64px -143px}.country-flag.flag-sz{background-position:-80px -143px}.country-flag.flag-tc{background-position:-96px -143px}.country-flag.flag-td{background-position:-112px -143px}.country-flag.flag-tf{background-position:-128px -143px}.country-flag.flag-tg{background-position:-144px -143px}.country-flag.flag-th{background-position:-160px -143px}.country-flag.flag-tj{background-position:-176px -143px}.country-flag.flag-tk{background-position:-192px -143px}.country-flag.flag-tl{background-position:-208px -143px}.country-flag.flag-tm{background-position:-224px -143px}.country-flag.flag-tn{background-position:-240px -143px}.country-flag.flag-to{background-position:0 -154px}.country-flag.flag-tr{background-position:-16px -154px}.country-flag.flag-tt{background-position:-32px -154px}.country-flag.flag-tv{background-position:-48px -154px}.country-flag.flag-tw{background-position:-64px -154px}.country-flag.flag-tz{background-position:-80px -154px}.country-flag.flag-ua{background-position:-96px -154px}.country-flag.flag-ug{background-position:-112px -154px}.country-flag.flag-um{background-position:-128px -154px}.country-flag.flag-us{background-position:-144px -154px}.country-flag.flag-uy{background-position:-160px -154px}.country-flag.flag-uz{background-position:-176px -154px}.country-flag.flag-va{background-position:-192px -154px}.country-flag.flag-vc{background-position:-208px -154px}.country-flag.flag-ve{background-position:-224px -154px}.country-flag.flag-vg{background-position:-240px -154px}.country-flag.flag-vi{background-position:0 -165px}.country-flag.flag-vn{background-position:-16px -165px}.country-flag.flag-vu{background-position:-32px -165px}.country-flag.flag-wales{background-position:-48px -165px}.country-flag.flag-wf{background-position:-64px -165px}.country-flag.flag-ws{background-position:-80px -165px}.country-flag.flag-ye{background-position:-96px -165px}.country-flag.flag-yt{background-position:-112px -165px}.country-flag.flag-za{background-position:-128px -165px}.country-flag.flag-zanzibar{background-position:-144px -165px}.country-flag.flag-zm{background-position:-160px -165px}.country-flag.flag-zw{background-position:-176px -165px} \ No newline at end of file diff --git a/themes/dark/assets/css/lib/jquery-ui-1.10.4.custom.min.css b/themes/dark/assets/css/lib/jquery-ui-1.10.4.custom.min.css index 051c654727..008237b60d 100644 --- a/themes/dark/assets/css/lib/jquery-ui-1.10.4.custom.min.css +++ b/themes/dark/assets/css/lib/jquery-ui-1.10.4.custom.min.css @@ -2,6 +2,4 @@ * http://jqueryui.com * Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.tabs.css, jquery.ui.theme.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=%23ffffff&bgTextureHeader=flat&bgImgOpacityHeader=0&borderColorHeader=%23aaaaaa&fcHeader=%23222222&iconColorHeader=%23222222&bgColorContent=%23dcdcdc&bgTextureContent=highlight_soft&bgImgOpacityContent=75&borderColorContent=%23aaaaaa&fcContent=%23222222&iconColorContent=%23222222&bgColorDefault=%23efefef&bgTextureDefault=highlight_soft&bgImgOpacityDefault=75&borderColorDefault=%23aaaaaa&fcDefault=%23222222&iconColorDefault=%238c291d&bgColorHover=%23dddddd&bgTextureHover=highlight_soft&bgImgOpacityHover=75&borderColorHover=%23999999&fcHover=%23222222&iconColorHover=%23222222&bgColorActive=%23dfdfdf&bgTextureActive=inset_soft&bgImgOpacityActive=75&borderColorActive=%23aaaaaa&fcActive=%23140f06&iconColorActive=%238c291d&bgColorHighlight=%23fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=%23aaaaaa&fcHighlight=%23363636&iconColorHighlight=%232e83ff&bgColorError=%23fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=%23aaaaaa&fcError=%238c291d&iconColorError=%23cd0a0a&bgColorOverlay=%23aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=35&bgColorShadow=%23000000&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=35&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px&ctl=themeroller -* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ - -.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("images/animated-overlay.gif");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-widget{font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#dcdcdc url("images/ui-bg_highlight-soft_75_dcdcdc_1x100.png") 50% top repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#fff url("images/ui-bg_flat_0_ffffff_40x100.png") 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #aaa;background:#efefef url("images/ui-bg_highlight-soft_75_efefef_1x100.png") 50% 50% repeat-x;font-weight:bold;color:#222}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#222;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#ddd url("images/ui-bg_highlight-soft_75_dddddd_1x100.png") 50% 50% repeat-x;font-weight:bold;color:#222}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#222;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#dfdfdf url("images/ui-bg_inset-soft_75_dfdfdf_1x100.png") 50% 50% repeat-x;font-weight:bold;color:#140f06}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#140f06;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #aaa;background:#fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #aaa;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#8c291d}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#8c291d}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#8c291d}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_8c291d_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_8c291d_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_2e83ff_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;opacity:.35;filter:Alpha(Opacity=35)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#000 url("images/ui-bg_flat_0_000000_40x100.png") 50% 50% repeat-x;opacity:.35;filter:Alpha(Opacity=35);border-radius:8px} \ No newline at end of file +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:active,.ui-button:hover,.ui-button:link,.ui-button:visited{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-icons-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-icons-only .ui-button-icon-primary,.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary{left:.5em}.ui-button-icons-only .ui-button-icon-secondary,.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}button.ui-button::-moz-focus-inner,input.ui-button::-moz-focus-inner{border:0;padding:0}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:400}.ui-menu .ui-menu-item a.ui-state-active,.ui-menu .ui-menu-item a.ui-state-focus{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url(images/animated-overlay.gif);height:100%;filter:alpha(opacity=25);opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-widget{font-size:1.1em}.ui-widget .ui-widget,.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#dcdcdc url(images/ui-bg_highlight-soft_75_dcdcdc_1x100.png) 50% top repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_0_ffffff_40x100.png) 50% 50% repeat-x;color:#222;font-weight:700}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #aaa;background:#efefef url(images/ui-bg_highlight-soft_75_efefef_1x100.png) 50% 50% repeat-x;font-weight:700;color:#222}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#222;text-decoration:none}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #999;background:#ddd url(images/ui-bg_highlight-soft_75_dddddd_1x100.png) 50% 50% repeat-x;font-weight:700;color:#222}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#222;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#dfdfdf url(images/ui-bg_inset-soft_75_dfdfdf_1x100.png) 50% 50% repeat-x;font-weight:700;color:#140f06}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#140f06;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #aaa;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #aaa;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#8c291d}.ui-state-error-text,.ui-state-error a,.ui-widget-content .ui-state-error-text,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error-text,.ui-widget-header .ui-state-error a{color:#8c291d}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_8c291d_256x240.png)}.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_8c291d_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error-text .ui-icon,.ui-state-error .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-first,.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:4px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.35;filter:Alpha(Opacity=35)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#000 url(images/ui-bg_flat_0_000000_40x100.png) 50% 50% repeat-x;opacity:.35;filter:Alpha(Opacity=35);border-radius:8px} \ No newline at end of file diff --git a/themes/dark/assets/css/lib/jquery.qtip-2.2.1.min.css b/themes/dark/assets/css/lib/jquery.qtip-2.2.1.min.css index 27b9729645..296652e49c 100644 --- a/themes/dark/assets/css/lib/jquery.qtip-2.2.1.min.css +++ b/themes/dark/assets/css/lib/jquery.qtip-2.2.1.min.css @@ -1,3 +1 @@ -/* qTip2 v2.2.1 | Plugins: tips modal viewport svg imagemap ie6 | Styles: core basic css3 | qtip2.com | Licensed MIT | Sat Sep 06 2014 23:12:07 */ - -.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content{position:relative;padding:5px 9px;overflow:hidden;text-align:left;word-wrap:break-word}.qtip-titlebar{position:relative;padding:5px 35px 5px 10px;overflow:hidden;border-width:0 0 1px;font-weight:700}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{position:absolute;right:-9px;top:-9px;z-index:11;cursor:pointer;outline:0;border:1px solid transparent}.qtip-titlebar .qtip-close{right:4px;top:50%;margin-top:-9px}* html .qtip-titlebar .qtip-close{top:16px}.qtip-icon .ui-icon,.qtip-titlebar .ui-icon{display:block;text-indent:-1000em;direction:ltr}.qtip-icon,.qtip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{width:18px;height:14px;line-height:14px;text-align:center;text-indent:0;font:400 bold 10px/13px Tahoma,sans-serif;color:inherit;background:-100em -100em no-repeat}.qtip-default{border:1px solid #F1D031;background-color:#FFFFA3;color:#555}.qtip-default .qtip-titlebar{background-color:#FFEF93}.qtip-default .qtip-icon{border-color:#CCC;background:#F1F1F1;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#AAA;color:#111}.qtip-light{background-color:#fff;border-color:#E2E2E2;color:#454545}.qtip-light .qtip-titlebar{background-color:#f1f1f1}.qtip-dark{background-color:#505050;border-color:#303030;color:#f3f3f3}.qtip-dark .qtip-titlebar{background-color:#404040}.qtip-dark .qtip-icon{border-color:#444}.qtip-dark .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-cream{background-color:#FBF7AA;border-color:#F9E98E;color:#A27D35}.qtip-cream .qtip-titlebar{background-color:#F0DE7D}.qtip-cream .qtip-close .qtip-icon{background-position:-82px 0}.qtip-red{background-color:#F78B83;border-color:#D95252;color:#912323}.qtip-red .qtip-titlebar{background-color:#F06D65}.qtip-red .qtip-close .qtip-icon{background-position:-102px 0}.qtip-red .qtip-icon,.qtip-red .qtip-titlebar .ui-state-hover{border-color:#D95252}.qtip-green{background-color:#CAED9E;border-color:#90D93F;color:#3F6219}.qtip-green .qtip-titlebar{background-color:#B0DE78}.qtip-green .qtip-close .qtip-icon{background-position:-42px 0}.qtip-blue{background-color:#E5F6FE;border-color:#ADD9ED;color:#5E99BD}.qtip-blue .qtip-titlebar{background-color:#D0E9F5}.qtip-blue .qtip-close .qtip-icon{background-position:-2px 0}.qtip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-bootstrap,.qtip-rounded,.qtip-tipsy{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.qtip-rounded .qtip-titlebar{-moz-border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.qtip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border:0 solid transparent;background:#4A4A4A;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,#000));background-image:-webkit-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-moz-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-ms-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-o-linear-gradient(top,#4A4A4A 0,#000 100%)}.qtip-youtube .qtip-titlebar{background-color:transparent}.qtip-youtube .qtip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-linear-gradient(top,#717171,#232323);background-image:-ms-linear-gradient(top,#717171,#232323);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #ddd;border:2px solid rgba(241,241,241,1);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"}.qtip-jtools .qtip-content,.qtip-jtools .qtip-titlebar{background:0 0;color:#fff;border:0 dashed transparent}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#D9D9C2;color:#111;border:0 dashed transparent}.qtip-cluetip .qtip-titlebar{background-color:#87876A;color:#fff;border:0 dashed transparent}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-family:'Lucida Grande',sans-serif;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{padding:6px 35px 0 10px;background-color:transparent}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{border:3px solid #959FA9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#F9F9F9;color:#454545;font-weight:400;font-family:serif}.qtip-tipped .qtip-titlebar{border-bottom-width:0;color:#fff;background:#3A79B8;background-image:-webkit-gradient(linear,left top,left bottom,from(#3A79B8),to(#2E629D));background-image:-webkit-linear-gradient(top,#3A79B8,#2E629D);background-image:-moz-linear-gradient(top,#3A79B8,#2E629D);background-image:-ms-linear-gradient(top,#3A79B8,#2E629D);background-image:-o-linear-gradient(top,#3A79B8,#2E629D);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{border:2px solid #285589;background:#285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#FBFBFB;color:#555}.qtip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.qtip-bootstrap .qtip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.qtip-bootstrap .qtip-titlebar .qtip-close{right:11px;top:45%;border-style:none}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:0 0}.qtip-bootstrap .qtip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}.qtip .qtip-tip{margin:0 auto;overflow:hidden;z-index:10}.qtip .qtip-tip,x:-o-prefocus{visibility:hidden}.qtip .qtip-tip,.qtip .qtip-tip .qtip-vml,.qtip .qtip-tip canvas{position:absolute;color:#123456;background:0 0;border:0 dashed transparent}.qtip .qtip-tip canvas{top:0;left:0}.qtip .qtip-tip .qtip-vml{behavior:url(#default#VML);display:inline-block;visibility:visible}#qtip-overlay{position:fixed;left:0;top:0;width:100%;height:100%}#qtip-overlay.blurs{cursor:pointer}#qtip-overlay div{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;opacity:.7;filter:alpha(opacity=70);-ms-filter:"alpha(Opacity=70)"}.qtipmodal-ie6fix{position:absolute!important} \ No newline at end of file +.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content{padding:5px 9px;text-align:left;word-wrap:break-word}.qtip-content,.qtip-titlebar{position:relative;overflow:hidden}.qtip-titlebar{padding:5px 35px 5px 10px;border-width:0 0 1px;font-weight:700}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{position:absolute;right:-9px;top:-9px;z-index:11;cursor:pointer;outline:0;border:1px solid transparent}.qtip-titlebar .qtip-close{right:4px;top:50%;margin-top:-9px}* html .qtip-titlebar .qtip-close{top:16px}.qtip-icon .ui-icon,.qtip-titlebar .ui-icon{display:block;text-indent:-1000em;direction:ltr}.qtip-icon,.qtip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{width:18px;height:14px;line-height:14px;text-align:center;text-indent:0;font:400 700 10px/13px Tahoma,sans-serif;color:inherit;background:-100em -100em no-repeat}.qtip-default{border:1px solid #f1d031;background-color:#ffffa3;color:#555}.qtip-default .qtip-titlebar{background-color:#ffef93}.qtip-default .qtip-icon{border-color:#ccc;background:#f1f1f1;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#aaa;color:#111}.qtip-light{background-color:#fff;border-color:#e2e2e2;color:#454545}.qtip-light .qtip-titlebar{background-color:#f1f1f1}.qtip-dark{background-color:#505050;border-color:#303030;color:#f3f3f3}.qtip-dark .qtip-titlebar{background-color:#404040}.qtip-dark .qtip-icon{border-color:#444}.qtip-dark .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-cream{background-color:#fbf7aa;border-color:#f9e98e;color:#a27d35}.qtip-cream .qtip-titlebar{background-color:#f0de7d}.qtip-cream .qtip-close .qtip-icon{background-position:-82px 0}.qtip-red{background-color:#f78b83;border-color:#d95252;color:#912323}.qtip-red .qtip-titlebar{background-color:#f06d65}.qtip-red .qtip-close .qtip-icon{background-position:-102px 0}.qtip-red .qtip-icon,.qtip-red .qtip-titlebar .ui-state-hover{border-color:#d95252}.qtip-green{background-color:#caed9e;border-color:#90d93f;color:#3f6219}.qtip-green .qtip-titlebar{background-color:#b0de78}.qtip-green .qtip-close .qtip-icon{background-position:-42px 0}.qtip-blue{background-color:#e5f6fe;border-color:#add9ed;color:#5e99bd}.qtip-blue .qtip-titlebar{background-color:#d0e9f5}.qtip-blue .qtip-close .qtip-icon{background-position:-2px 0}.qtip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-bootstrap,.qtip-rounded,.qtip-tipsy{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.qtip-rounded .qtip-titlebar{-moz-border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.qtip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border:0 solid transparent;background:#4a4a4a;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4a4a4a),color-stop(100%,#000));background-image:-webkit-linear-gradient(top,#4a4a4a,#000);background-image:-moz-linear-gradient(top,#4a4a4a 0,#000 100%);background-image:-ms-linear-gradient(top,#4a4a4a 0,#000 100%);background-image:-o-linear-gradient(top,#4a4a4a 0,#000 100%)}.qtip-youtube .qtip-titlebar{background-color:transparent}.qtip-youtube .qtip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-linear-gradient(top,#717171,#232323);background-image:-ms-linear-gradient(top,#717171,#232323);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #f1f1f1;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"}.qtip-jtools .qtip-content,.qtip-jtools .qtip-titlebar{background:0 0;color:#fff;border:0 dashed transparent}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#d9d9c2;color:#111;border:0 dashed transparent}.qtip-cluetip .qtip-titlebar{background-color:#87876a;color:#fff;border:0 dashed transparent}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-family:Lucida Grande,sans-serif;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{padding:6px 35px 0 10px;background-color:transparent}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{border:3px solid #959fa9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#f9f9f9;color:#454545;font-weight:400;font-family:serif}.qtip-tipped .qtip-titlebar{border-bottom-width:0;color:#fff;background:#3a79b8;background-image:-webkit-gradient(linear,left top,left bottom,from(#3a79b8),to(#2e629d));background-image:-webkit-linear-gradient(top,#3a79b8,#2e629d);background-image:-moz-linear-gradient(top,#3a79b8,#2e629d);background-image:-ms-linear-gradient(top,#3a79b8,#2e629d);background-image:-o-linear-gradient(top,#3a79b8,#2e629d);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{border:2px solid #285589;background:#285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#fbfbfb;color:#555}.qtip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.qtip-bootstrap .qtip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.qtip-bootstrap .qtip-titlebar .qtip-close{right:11px;top:45%;border-style:none}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:0 0}.qtip-bootstrap .qtip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}.qtip .qtip-tip{margin:0 auto;overflow:hidden;z-index:10}.qtip .qtip-tip,x:-o-prefocus{visibility:hidden}.qtip .qtip-tip,.qtip .qtip-tip .qtip-vml,.qtip .qtip-tip canvas{position:absolute;color:#123456;background:0 0;border:0 dashed transparent}.qtip .qtip-tip canvas{top:0;left:0}.qtip .qtip-tip .qtip-vml{behavior:url(#default#VML);display:inline-block;visibility:visible}#qtip-overlay{position:fixed;left:0;top:0;width:100%;height:100%}#qtip-overlay.blurs{cursor:pointer}#qtip-overlay div{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;opacity:.7;filter:alpha(opacity=70);-ms-filter:"alpha(Opacity=70)"}.qtipmodal-ie6fix{position:absolute!important} \ No newline at end of file diff --git a/themes/dark/assets/css/print.css b/themes/dark/assets/css/print.css index 869b3c5e22..602b58f5bc 100644 --- a/themes/dark/assets/css/print.css +++ b/themes/dark/assets/css/print.css @@ -1,16 +1 @@ -@media print { - /* Remove the top padding because we don't print the top bar */ - body { - padding-top: 0; - } - - /* Hide URLs */ - a[href]::after { - content: none !important; - } - - #content { - margin-left: 0; - margin-right: 0; - } -} +@media print{body{padding-top:0}a[href]:after{content:none!important}#content{margin-left:0;margin-right:0}} \ No newline at end of file diff --git a/themes/dark/assets/css/style.css b/themes/dark/assets/css/style.css index 3f783bc0bd..53ee10c43c 100644 --- a/themes/dark/assets/css/style.css +++ b/themes/dark/assets/css/style.css @@ -1,4293 +1 @@ -strong.warning { - color: red; -} - -/* ======================================================================= -inc_top.mako -========================================================================== */ - -.header { - display: block; - clear: right; -} - -.navbaricon { - margin-top: -15px; - margin-bottom: -15px; -} - -.icon-white { - background-image: url("../images/glyphicons-halflings-white.png"); -} - -.ui-autocomplete-loading { - background: rgb(255, 255, 255) url("../images/loading16.gif") right center no-repeat; -} - -.browserDialog.busy .ui-dialog-buttonpane { - background: url("../images/loading.gif") 10px 50% no-repeat !important; -} - -.ui-progressbar .ui-progressbar-overlay { - background: url("../css/lib/images/animated-overlay.gif"); -} - -.ui-dialog, -.ui-dialog-buttonpane { - background: rgb(236, 234, 223) url("../css/lib/images/ui-bg_fine-grain_10_eceadf_60x60.png") 50% 50% repeat !important; -} - -/* restore 1.8.x resize handle on dialog button pane */ -.ui-dialog .ui-resizable-se { - width: 14px; - height: 14px; - right: 3px; - bottom: 3px; - background-position: -80px -224px; -} - -.ui-accordion-content, -.ui-tabs-panel { - background: rgb(237, 237, 237) !important; - background-image: none !important; -} - -.ui-widget { - font-family: inherit; - font-size: 1em; -} - -.ui-widget-content { - background: rgb(220, 220, 220) url("../css/lib/images/ui-bg_highlight-soft_75_dcdcdc_1x100.png") 50% top repeat-x; -} - -.ui-widget-header { - background: rgb(255, 255, 255) url("../css/lib/images/ui-bg_flat_0_ffffff_40x100.png") 50% 50% repeat-x; -} - -.ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header .ui-state-default { - background: rgb(255, 255, 255); - border: 1px solid rgb(204, 204, 204); -} - -.ui-state-hover, -.ui-widget-content .ui-state-hover, -.ui-widget-header .ui-state-hover, -.ui-state-focus, -.ui-widget-content .ui-state-focus, -.ui-widget-header .ui-state-focus { - background: rgb(255, 255, 255); -} - -.ui-state-active, -.ui-widget-content .ui-state-active, -.ui-widget-header .ui-state-active { - background: rgb(247, 247, 247); -} - -.ui-state-highlight, -.ui-widget-content .ui-state-highlight, -.ui-widget-header .ui-state-highlight { - background: rgb(251, 249, 238) url("../css/lib/images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x; -} - -.ui-state-error, -.ui-widget-content .ui-state-error, -.ui-widget-header .ui-state-error { - background: rgb(254, 241, 236) url("../css/lib/images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x; -} - -.ui-icon, -.ui-widget-content .ui-icon { - background-image: url("../css/lib/images/ui-icons_222222_256x240.png"); -} - -.ui-widget-header .ui-icon { - background-image: url("../css/lib/images/ui-icons_222222_256x240.png"); -} - -.ui-state-default .ui-icon { - background-image: url("../css/lib/images/ui-icons_8c291d_256x240.png"); -} - -.ui-state-hover .ui-icon, -.ui-state-focus .ui-icon { - background-image: url("../css/lib/images/ui-icons_222222_256x240.png"); -} - -.ui-state-active .ui-icon { - background-image: url("../css/lib/images/ui-icons_8c291d_256x240.png"); -} - -.ui-state-highlight .ui-icon { - background-image: url("../css/lib/images/ui-icons_2e83ff_256x240.png"); -} - -.ui-state-error .ui-icon, -.ui-state-error-text .ui-icon { - background-image: url("../css/lib/images/ui-icons_cd0a0a_256x240.png"); -} - -.ui-widget-overlay { - background: rgb(170, 170, 170) url("../css/lib/images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; -} - -.ui-widget-shadow { - background: rgb(0, 0, 0) url("../css/lib/images/ui-bg_flat_0_000000_40x100.png") 50% 50% repeat-x; -} - -.ui-state-active a, -.ui-state-active a:link, -.ui-state-active a:visited { - color: rgb(20, 15, 6); - text-decoration: none; -} - -.ui-state-default a, -.ui-state-default a:link, -.ui-state-default a:visited { - color: rgb(34, 34, 34); - text-decoration: none; -} - -/* jQuery ui-tabs (remove when everyting moved to vue-tabs */ - -.ui-tabs { - padding: 0; - background: none; - border-width: 0; -} - -.ui-tabs .ui-tabs-nav { - padding-left: 0; - background: transparent; - border-width: 0; - border-radius: 0; -} - -.ui-tabs .ui-tabs-panel { - background-color: rgb(247, 247, 247) !important; - border: 1px solid rgb(204, 204, 204) !important; - padding: 1em; -} - -.ui-tabs .ui-tabs-nav li.ui-tabs-active { - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} - -.ui-tabs-nav > :not(.ui-tabs-active) { - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} - -/* Vue Tabs alternative */ -.vue-tabs { - padding: 0; - background: none; - border-width: 0; -} - -.vue-tabs .nav-tabs-navigation { - padding-left: 0; - background: transparent; - border-width: 0; - border-radius: 0; -} - -.vue-tabs .tab-content { - background-color: rgb(247, 247, 247) !important; - border: 1px solid rgb(204, 204, 204) !important; - padding: 1em; -} - -.nav-tabs { - border-bottom: none; -} - -.nav-tabs li.tab { - background: rgb(255, 255, 255); - border: 1px solid rgb(204, 204, 204); - border-top-left-radius: 5px; - border-top-right-radius: 5px; - margin: 1px 0.2em 0 0; - padding: 0; - top: 1px; -} - -.nav-tabs li.tab.active { - background: rgb(247, 247, 247); - border-bottom-style: none !important; -} - -.vue-tabs li.tab:not(.active) { - top: 2px; -} - -.nav-tabs li.tab a { - background-color: transparent; - border-color: transparent; - padding: 0.5em 1em; - padding-top: 0.5em; - padding-right: 1em; - padding-bottom: 0.5em; - padding-left: 1em; - text-decoration: none; -} - -.nav-tabs li.tab a, -.nav-tabs li.tab a:hover, -.nav-tabs li.tab a:active, -.nav-tabs li.tab a:focus { - color: #555; - cursor: default; - background-color: transparent; - border: 0; - text-decoration: none; -} - -.nav-tabs :not(li.tab.active) { - border-top-left-radius: 5px; - border-top-right-radius: 5px; - border-bottom-width: 0; -} - -.nav-tabs li { - border-bottom-width: 0 !important; - padding: 0; - white-space: nowrap; -} - -/* End of nav tabs section */ - -#content { - margin-left: auto; - margin-right: auto; - clear: both; -} - -.upgrade-notification { - text-align: center; - margin-top: 20px; - display: inline-block; -} - -[class^="menu-icon-"], -[class*=" menu-icon-"] { - background: url("../images/menu/16x_sprite_colored_menu_icons.png"); - height: 16px; - width: 16px; - display: inline-block; - position: relative; - float: left; -} - -.menu-icon-addshow { - background-position: 0 0; -} - -.menu-icon-anime { - background-position: -21px 0; -} - -.menu-icon-backlog-view { - background-position: -42px 0; -} - -.menu-icon-backlog { - background-position: -63px 0; -} - -.menu-icon-bittorrent { - background-position: -84px 0; -} - -.menu-icon-config-index { - background-position: -105px 0; -} - -.menu-icon-config { - background-position: -126px 0; -} - -.menu-icon-failed-download { - background-position: -147px 0; -} - -.menu-icon-home { - background-position: -168px 0; -} - -.menu-icon-manage { - background-position: -189px 0; -} - -.menu-icon-manage-searches { - background-position: -210px 0; -} - -.menu-icon-poster { - background-position: -231px 0; -} - -.menu-icon-postprocess { - background-position: -252px 0; -} - -.menu-icon-restart { - background-position: -273px 0; -} - -.menu-icon-shutdown { - background-position: -294px 0; -} - -.menu-icon-update { - background-position: -315px 0; -} - -.menu-icon-viewlog-errors { - background-position: -336px 0; -} - -.menu-icon-viewlog { - background-position: -357px 0; -} - -.menu-icon-kodi { - background-position: -378px 0; -} - -.menu-icon-help { - background-position: -399px 0; -} - -.menu-icon-info { - background-position: -418px 0; -} - -.menu-icon-error { - background-position: -436px 0; -} - -.menu-icon-news { - background-position: -456px 0; -} - -.menu-icon-irc { - background-position: -478px 0; -} - -.menu-icon-changelog { - background-position: -495px 0; -} - -.menu-icon-support { - background-position: -516px 0; -} - -.menu-icon-plex { - background-position: -536px 0; -} - -.menu-icon-backup { - background-position: -556px 0; -} - -.menu-icon-provider { - background-position: -576px 0; -} - -.menu-icon-notification { - background-position: -597px 0; -} - -.menu-icon-emby { - background-position: -614px 0; -} - -.menu-icon-blackhole { - background-position: -632px 0; -} - -.menu-icon-schedule { - background-position: -653px 0; -} - -.menu-icon-manage2 { - background-position: -673px 0; -} - -.menu-icon-history { - background-position: -695px 0; -} - -.menu-icon-trash { - background-position: -711px 0; -} - -.menu-icon-cut { - background-position: -727px 0; -} - -.menu-icon-select { - background-position: -742px 0; -} - -.enable-daily-search-icon { - background-image: url("../images/search_daily_8x8.png") !important; - width: 8px; - height: 8px; - margin-top: 5px; - margin-right: 3px; -} - -.enable-backlog-search-icon { - background-image: url("../images/search_backlog_8x8.png") !important; - width: 8px; - height: 8px; - margin-top: 5px; - margin-right: 3px; -} - -.enable-manual-search-icon { - background-image: url("../images/search_manual_8x8.png") !important; - width: 8px; - height: 8px; - margin-top: 5px; - margin-right: 3px; -} - -/* ======================================================================= -inc_bottom.mako -========================================================================== */ - -.footer { - width: 100%; - padding: 20px 0; - color: rgb(78, 78, 78); - text-align: center; - font-size: 12px; -} - -.footerhighlight { - color: rgb(17, 17, 17); - display: inline; -} - -/* ======================================================================= -history.mako -========================================================================== */ -.layout-controls { - padding-top: 24px; -} - -.fanartOpacity { - opacity: 0.9; -} - -/* ======================================================================= -home.mako -========================================================================== */ - -.imgbanner .banner { - border: 1px solid rgb(204, 204, 204); - overflow: hidden; - height: 66px; - border-radius: 8px; - width: 360px; - display: block; - margin-left: auto; - margin-right: auto; -} - -.imgsmallposter .small { - height: 66px; - overflow: hidden; - border-radius: 3px; - vertical-align: middle; - width: 45px; - border: 1px solid rgb(204, 204, 204); - margin-right: 5px; -} - -.search { - margin-bottom: 10px; -} - -.ui-progressbar { - height: 20px; - line-height: 18px; -} - -.ui-progressbar .ui-progressbar-value { - box-sizing: content-box !important; - height: 20px; -} - -.progressbarText { - position: absolute; - top: 0; - width: 100%; - height: 100%; - overflow: visible; - text-align: center; - text-shadow: 0 0 0.1em rgb(255, 255, 255); - font-size: 12px; - color: rgb(0, 0, 0); -} - -.progress-100, -.progress-80, -.progress-60, -.progress-40, -.progress-20 { - border-radius: 3px; -} - -.progress-100 { - background-image: -moz-linear-gradient(rgb(57, 95, 7), rgb(42, 71, 5)) !important; - background-image: linear-gradient(rgb(57, 95, 7), rgb(42, 71, 5)) !important; - background-image: -webkit-linear-gradient(rgb(57, 95, 7), rgb(42, 71, 5)) !important; - background-image: -o-linear-gradient(rgb(57, 95, 7), rgb(42, 71, 5)) !important; -} - -.progress-80 { - background-image: -moz-linear-gradient(rgb(166, 207, 65), rgb(91, 153, 13)) !important; - background-image: linear-gradient(rgb(166, 207, 65), rgb(91, 153, 13)) !important; - background-image: -webkit-linear-gradient(rgb(166, 207, 65), rgb(91, 153, 13)) !important; - background-image: -o-linear-gradient(rgb(166, 207, 65), rgb(91, 153, 13)) !important; -} - -.progress-60 { - background-image: -moz-linear-gradient(rgb(250, 212, 64), rgb(242, 167, 13)) !important; - background-image: linear-gradient(rgb(250, 212, 64), rgb(242, 167, 13)) !important; - background-image: -webkit-linear-gradient(rgb(250, 212, 64), rgb(242, 167, 13)) !important; - background-image: -o-linear-gradient(rgb(250, 212, 64), rgb(242, 167, 13)) !important; -} - -.progress-40 { - background-image: -moz-linear-gradient(rgb(250, 181, 67), rgb(242, 112, 13)) !important; - background-image: linear-gradient(rgb(250, 181, 67), rgb(242, 112, 13)) !important; - background-image: -webkit-linear-gradient(rgb(250, 181, 67), rgb(242, 112, 13)) !important; - background-image: -o-linear-gradient(rgb(250, 181, 67), rgb(242, 112, 13)) !important; -} - -.progress-20 { - background-image: -moz-linear-gradient(rgb(218, 89, 69), rgb(177, 26, 16)) !important; - background-image: linear-gradient(rgb(218, 89, 69), rgb(177, 26, 16)) !important; - background-image: -webkit-linear-gradient(rgb(218, 89, 69), rgb(177, 26, 16)) !important; - background-image: -o-linear-gradient(rgb(218, 89, 69), rgb(177, 26, 16)) !important; -} - -div.ellipsis { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - width: 85%; -} - -div.xem { - position: absolute; - right: 1px; - top: 0; -} - -/* Show options */ - -.show-option { - float: left; - margin-left: 10px; - line-height: 40px; -} - -.show-add-options > div { - float: left; - padding-right: 10px; - line-height: 40px; -} - -.show-grid { - display: none; - margin-bottom: 60px !important; -} - -.nav-show-list { - position: relative; - margin-top: 4px; - background-color: transparent; - border: none; - float: left; -} - -.nav-show-list .icon-bar { - display: block; - width: 22px; - height: 3px; - margin-top: 4px; - background-color: rgb(51, 51, 51); -} - -#container-series, -#container-anime { - margin: 0 auto; -} - -.loading-spinner { - background-image: url("../images/loading32.gif"); - width: 32px; - height: 32px; - display: inline-block; -} - -.aligner { - display: flex; - align-items: center; -} - -/* FF hack */ -@-moz-document url-prefix() { - .aligner { - flex-flow: column-reverse; - align-items: inherit; - } -} - -/* IE 11 hack */ -@media all and (-ms-high-contrast: none) { - .poster-overlay { - left: 0; - top: 0; - width: 100%; - } -} - -.show-details { - height: 32px; - overflow: hidden; -} - -/* Used by isotope scaling */ -.show-image { - max-width: 100%; - overflow: hidden; - border: 1px solid rgb(136, 136, 136); -} - -.background-image img { - width: 100%; - overflow: hidden; -} - -.poster-overlay { - position: absolute; -} - -.show-container { - background-color: rgb(243, 243, 243); - border-color: rgb(243, 243, 243); -} - -.show-container .ui-progressbar { - height: 7px !important; - top: -2px; -} - -.show-container .ui-corner-all, -.ui-corner-bottom, -.ui-corner-right, -.ui-corner-br { - border-bottom-right-radius: 0; -} - -.show-container .ui-corner-all, -.ui-corner-bottom, -.ui-corner-left, -.ui-corner-bl { - border-bottom-left-radius: 0; -} - -.show-container .ui-corner-all, -.ui-corner-top, -.ui-corner-right, -.ui-corner-tr { - border-top-right-radius: 0; -} - -.show-container .ui-corner-all, -.ui-corner-top, -.ui-corner-left, -.ui-corner-tl { - border-top-left-radius: 0; -} - -.show-container .ui-widget-content { - border-top: 1px solid rgb(17, 17, 17); - border-bottom: 1px solid rgb(17, 17, 17); - border-left: 0; - border-right: 0; -} - -.ui-progressbar .progress-20 { - border: none; -} - -.show-container .progress-20, -.show-container .progress-40, -.show-container .progress-60, -.show-container .progress-80 { - border-radius: 0; - height: 7px; -} - -.show-title { - position: relative; - overflow: hidden; - white-space: nowrap; - font-size: 11px; - margin: 4px 4px 0; -} - -.show-attributes { - margin: 4px 4px 0; -} - -.show-title::after { - content: ""; - pointer-events: none; - position: absolute; - width: 20px; - height: 100%; - top: 0; - right: 0; - background-image: -webkit-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: -moz-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: -ms-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: -o-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: linear-gradient(to left, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); -} - -.show-date { - position: relative; - overflow: hidden; - white-space: nowrap; - font-size: 11px; - margin: 0 4px 4px; - color: rgb(148, 148, 148); -} - -.show-date::after { - content: ""; - pointer-events: none; - position: absolute; - width: 20px; - height: 100%; - top: 0; - right: 0; - background-image: -webkit-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: -moz-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: -ms-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: -o-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: linear-gradient(to left, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); -} - -.show-table { - text-align: center; - vertical-align: middle; - width: 33%; -} - -.show-add { - font-size: 11px; - text-align: left; - display: block; -} - -.show-network-image { - width: 50px; - height: auto; -} - -#sort-by { - display: inline; - list-style-type: none; - padding: 0; - margin-left: 5px; -} - -#sort-by ul, -#sort-by li { - display: inline; - padding: 0; -} - -/* Used by History.mako */ -td.tvShow a { - color: rgb(0, 0, 0); - text-decoration: none; -} - -td.tvShow a:hover { - cursor: pointer; - color: rgb(66, 139, 202); -} - -/* Used by home.mako */ -span.tvShow a { - color: rgb(0, 0, 0); - text-decoration: none; -} - -span.tvShow a:hover { - cursor: pointer; - color: rgb(66, 139, 202); -} - -#popover-target label { - margin: 2px 4px 2px 0; - display: block; -} - -#popover-target input { - margin-left: 5px; -} - -.popover { - margin-left: -50px; -} - -.min-cell-width { - width: 1px; -} - -.nowrap { - white-space: nowrap; -} - -/* ======================================================================= -home_addShows.mako -========================================================================== */ - -#addShowPortal { - padding: 10px 0; - margin-right: auto; - margin-left: auto; -} - -#addShowPortal a { - padding: 10px; - max-width: 900px; - margin-left: auto; - margin-right: auto; - display: block; - margin-bottom: 15px; -} - -div.button { - display: table-cell; - vertical-align: middle; - padding-left: 10px; -} - -div.buttontext { - display: table-cell; - padding-left: 20px; - text-align: left; - white-space: normal; -} - -div.buttontext h3 { - margin-top: 10px; -} - -div.buttontext p { - font-size: 13px; -} - -[class^="add-list-icon-"], -[class*=" add-list-icon-"] { - background: url("../images/32x_sprite_colored_add_lists.png"); - height: 32px; - width: 32px; - display: inline-block; - position: relative; - top: 2px; - float: left; -} - -.add-list-icon-addnewshow { - background-position: 0 0; -} - -.add-list-icon-addtrakt { - background-position: -37px 0; -} - -.add-list-icon-addimdb { - background-position: -76px 0; -} - -.add-list-icon-addexistingshow { - background-position: -113px 0; -} - -.add-list-icon-addanime { - background-position: -150px 0; -} - -/* ======================================================================= -home_newShow.mako -========================================================================== */ - -#addShowForm, -#recommendedShowsForm { - max-width: 800px; - margin-left: auto; - margin-right: auto; - padding: 10px 0; - font-size: 13px; -} - -#addShowForm > div { - width: 100% !important; -} - -#addShowForm > div:nth-child(2) > div { - position: relative !important; -} - -.newShowPortal { - max-width: 960px; - padding: 10px 0; - margin-right: auto; - margin-left: auto; -} - -#displayText { - padding: 8px; - overflow: hidden; - font-size: 14px; - background-color: rgb(239, 239, 239); - border: 1px solid rgb(223, 222, 222); -} - -div.search-results { - height: 100%; -} - -div.search-results > div.no-results { - margin-top: 15px; -} - -table.search-results { - margin-top: 15px; - border-collapse: collapse; - border: 1px solid rgb(223, 222, 222); -} - -table.search-results th, -table.search-results td { - border: 1px solid rgb(223, 222, 222); - padding: 5px; - vertical-align: middle; - text-align: left; - max-width: 370px; -} - -table.search-results th { - background-color: rgb(239, 239, 239); -} - -table.search-results tbody tr.selected, -table.search-results tbody tr.selected:hover { - background-color: rgb(205, 233, 255); -} - -table.search-results tbody tr:hover { - background-color: rgb(239, 239, 239); -} - -table.search-results td.search-result { - text-align: center; - vertical-align: middle; -} - -table.search-results th.premiere, -table.search-results td.premiere { - text-align: center; - max-width: 90px; -} - -table.search-results th.network, -table.search-results td.network { - max-width: 200px; -} - -table.search-results th.indexer, -table.search-results td.indexer { - text-align: center; - max-width: 100px; -} - -table.search-results td.indexer img { - vertical-align: -3px; -} - -table.search-results input[type="radio"] { - margin: 4px 0 0; -} - -/* ======================================================================= -home_addExistingShow.mako -========================================================================== */ - -.existingtabs { - padding: 1em 1.4em; -} - -ul#rootDirStaticList { - margin-right: auto; - margin-left: auto; - text-align: left; - padding-left: 0; -} - -ul#rootDirStaticList li { - padding: 4px 5px; - margin: 2px; - list-style: none outside none; - cursor: pointer; - background: url("../css/lib/images/ui-bg_highlight-soft_75_efefef_1x100.png") repeat-x scroll 50% 50% rgb(239, 239, 239); -} - -ul#rootDirStaticList li label { - margin-top: 5px; - margin-bottom: 5px; -} - -ul#rootDirStaticList li input[type="checkbox"] { - vertical-align: -2px; -} - -/* ======================================================================= -home_recommendedShows.mako -========================================================================== */ - -.recommendedShowTitleIcons { - float: right; - padding-right: 4px; - padding-bottom: 4px; -} - -.recommended-container p { - padding-top: 2px; -} - -.recommended-container p img { - position: relative; - top: -2px; -} - -div.recommended-image { - background-color: #dfdacf; -} - -.show-in-list div.recommended-image { - opacity: 0.4; - zoom: 1; /* needed to trigger "hasLayout" in IE if no width or height is set */ - -webkit-filter: grayscale(100%); - filter: grayscale(100%); -} - -.show-in-list div#check-overlay { - opacity: 0.8; - background-image: url("../images/green-check.png"); - background-repeat: no-repeat; - background-position: 90% 5%; - background-size: 100px; - position: absolute; - height: 273px; - width: 187px; - top: 0; -} - -.recommended-container p, -.recommended-container i, -.recommended-container a { - white-space: nowrap; - font-size: 12px; - overflow: hidden; - margin: 0; - text-decoration: none; - color: rgb(255, 255, 255); -} - -.recommended-container { - left: -4px; - position: relative; - margin: 12px; - width: 188px; - background-color: rgb(223, 218, 207); - border: 1px solid rgb(17, 17, 17); - border-radius: 6px; -} - -.recommended-image { - height: 273px; - width: 186px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - border-bottom: 1px solid rgb(17, 17, 17); -} - -.recommended-container .anidb-url { - float: right; - padding-right: 4px; -} - -.anidb-inline { - height: 16px; -} - -.recommended-container .default-poster { - display: block; - z-index: 0; - background-image: url("../images/poster-dark.jpg"); -} - -/* ======================================================================= -home_postprocess.mako -========================================================================== */ - -#postProcess { - width: 800px; - padding-top: 10px; - margin-right: auto; - margin-left: auto; -} - -.lineH-40 { - line-height: 40px; -} - -#episodeDir { - width: 70%; - margin-right: 5px; -} - -.smallhelp { - line-height: 0; - font-size: 12px; -} - -#process td:nth-child(1) { - padding-right: 10px; - width: 290px; -} - -/* ======================================================================= -displayShow.mako -========================================================================== */ - -.modal-wide .modal-dialog { - width: 90%; -} - -.modal-dialog { - overflow-y: initial !important; -} - -.modal-body { - overflow-y: auto; -} - -.container-navShow { - margin-top: -2px; - margin-left: 305px; - z-index: 10; -} - -.tvshowImg { - border: 1px solid rgb(204, 204, 204); - border-radius: 5px; - height: 311px; - width: auto; - float: left; -} - -@media (max-width: 767px) and (min-width: 341px) { - .container-navShow { - margin-left: 305px; - display: none; - } - - #key-padding { - padding-bottom: 4px; - } -} - -@media (max-width: 340px) { - .container-navShow { - margin-left: 265px; - } -} - -@media (max-width: 767px) { - .pull-xs-left { - float: left; - } - - .pull-xs-right { - float: right; - } - - .no-padding-xs { - padding: 0; - } - - .nocheck { - padding-left: 0 !important; - } - - .tvshowImg { - margin-bottom: 10px; - float: none; - } - - .col-md-12 > .horizontal-scroll { - margin: 0 -13px; - } -} - -@media (min-width: 768px) { - .tvshowImg { - max-height: 245px; - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .pull-md-left { - float: left; - } - - .pull-md-right { - float: right; - } - - .tvshowImg { - max-height: 269px; - } -} - -@media (min-width: 1200px) { - .pull-lg-left { - float: left; - } - - .pull-lg-right { - float: right; - } - - .tvshowImg { - max-height: 269px; - } -} - -.navShow { - width: 18px; - max-height: 15px; - display: -webkit-box; - cursor: pointer; -} - -#prevShow, -#nextShow, -#topcontrol { - -webkit-filter: grayscale(100%); - filter: url("data:image/svg+xml;utf8,#greyscale"); - filter: grayscale(100%); - filter: rgb(128, 128, 128); -} - -h1.title { - padding-bottom: 12px; - margin-bottom: 15px; - line-height: 30px; - text-align: left; - text-rendering: optimizeLegibility; - border-bottom: 1px solid rgb(136, 136, 136); -} - -h1.title a { - text-decoration: none; -} - -.displayspecials { - position: relative; -} - -#showinfo { - cursor: default; - display: inline-block; - position: relative; - top: -3px; -} - -#showinfo a { - text-decoration: none; -} - -span.imdbstars { - display: inline-block; - vertical-align: top; - cursor: help; - margin-top: 4px; -} - -span.imdbstars, -span.imdbstars > * { - height: 12px; - background: url("../images/rating.png") 0 -12px repeat-x; - width: 120px; - display: inline-block; - vertical-align: top; -} - -span.imdbstars > * { - background-position: 0 0; - max-width: 120px; -} - -ul.tags { - list-style-type: none; - position: relative; - top: 4px; - margin-left: -40px; -} - -ul.tags li { - margin-right: 4px; - margin-bottom: 5px; - padding: 2px 7px 2px 25px; - background: url("../images/tag.png") no-repeat scroll 5px 4px rgb(85, 85, 85); - border-radius: 1px; - border: 1px solid rgb(17, 17, 17); - color: rgb(255, 255, 255); - font: 14px/18px "Open Sans", "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - text-shadow: 0 1px rgba(0, 0, 0, 0.8); - float: left; -} - -ul.tags li a { - color: rgb(255, 255, 255); -} - -#summary { - overflow: auto; - cursor: default; -} - -#checkboxControls { - padding-top: 2px; -} - -#checkboxControls span { - padding: 3px 10px 5px; - font-size: 11px; - font-weight: bold; -} - -#checkboxControls label { - white-space: nowrap; - display: inline-block; -} - -#checkboxControls input[type="checkbox"] { - vertical-align: -2px; -} - -.unaired { - background-color: rgb(245, 241, 228); -} - -.skipped { - background-color: rgb(190, 222, 237); -} - -.good { - background-color: rgb(195, 227, 200); -} - -.archived { - background-color: rgb(195, 227, 200); -} - -.qual { - background-color: rgb(255, 218, 138); -} - -.wanted { - background-color: rgb(255, 176, 176); -} - -.snatched { - background-color: rgb(235, 193, 234); -} - -.downloaded { - background-color: rgb(195, 227, 200); -} - -.failed { - background-color: rgb(255, 153, 153); -} - -.allowed { - background-color: rgb(255, 218, 138); -} - -span.unaired { - color: rgb(88, 75, 32); -} - -span.skipped { - color: rgb(29, 80, 104); -} - -span.good { - color: rgb(41, 87, 48); -} - -span.qual { - color: rgb(118, 81, 0); -} - -span.wanted { - color: rgb(137, 0, 0); -} - -span.snatched { - color: rgb(101, 33, 100); -} - -span.unaired b, -span.skipped b, -span.good b, -span.qual b, -span.wanted b, -span.snatched b { - color: rgb(0, 0, 0); - font-weight: 800; -} - -.displayShowTable { - table-layout: auto; - width: 100%; - border-collapse: collapse; - border-spacing: 0; - text-align: center; - border: none; - empty-cells: show; - color: rgb(0, 0, 0) !important; -} - -.displayShowTable.display_show { - clear: both; -} - -.displayShowTable th.row-seasonheader { - border: none !important; - background-color: rgb(34, 34, 34) !important; - color: rgb(255, 255, 255) !important; - padding-top: 15px !important; - text-align: left !important; -} - -.displayShowTable td.col-search { - text-align: center; -} - -.displayShowTableFanArt { - table-layout: auto; - width: 100%; - border-collapse: collapse; - border-spacing: 0; - text-align: center; - border: none; - empty-cells: show; - color: rgb(0, 0, 0) !important; -} - -.displayShowTableFanArt.display_show { - clear: both; - opacity: 0.9; -} - -.summaryFanArt { - opacity: 0.9; -} - -.displayShowTableFanArt th.row-seasonheader { - border: none !important; - background-color: transparent !important; - color: rgb(255, 255, 255) !important; - padding-top: 15px !important; - text-align: left !important; -} - -.displayShowTableFanArt td.col-search { - text-align: center; -} - -.snatchTitle { - color: rgb(255, 255, 255) !important; -} - -.tablesorterFanArt { - background-color: transparent !important; -} - -.defaultTable { - table-layout: auto; - width: 100%; - border-collapse: collapse; - border-spacing: 0; - text-align: center; - border: none; - empty-cells: show; -} - -.defaultTable.display_show { - clear: both; -} - -.defaultTable th { - color: rgb(255, 255, 255); - text-align: center; - background-color: rgb(51, 51, 51); - white-space: nowrap; -} - -.defaultTable th, -.defaultTable td { - border-top: 1px solid rgb(255, 255, 255); - border-left: 1px solid rgb(255, 255, 255); - padding: 4px; -} - -th.row-seasonheader { - border: none; - background-color: rgb(255, 255, 255); - color: rgb(0, 0, 0); - padding-top: 15px; - text-align: left; -} - -tr.seasonheader { - padding-bottom: 5px; - padding-top: 10px; - text-align: left; - border: none; - color: rgb(255, 255, 255); -} - -th.col-checkbox, -td.col-checkbox { - width: 30px; - border-left: none; - text-align: center; -} - -th.col-checkbox input[type="checkbox"], -td.col-checkbox input[type="checkbox"] { - vertical-align: -2px; -} - -th.col-metadata, -td.col-metadata { - width: 28px; -} - -th.col-ep, -td.col-ep { - width: 50px; - white-space: nowrap; -} - -th.col-airdate, -td.col-airdate { - width: 86px; - white-space: nowrap; -} - -th.col-name, -td.col-name { - min-width: 100px; -} - -td.col-name { - text-align: left; -} - -th.col-footer { - text-align: left !important; -} - -th.col-subtitles, -td.col-subtitles { - width: 150px; - text-align: center; -} - -th.col-status, -td.col-status { - text-align: center; -} - -@media screen and (min-width: 992px) { - td.col-status { - white-space: nowrap; - } -} - -th.col-quality, -td.col-quality { - width: 110px; -} - -th.col-legend, -td.col-legend { - width: 80px; -} - -th.col-search, -td.col-search { - width: 65px; -} - -td.col-date { - text-align: center; - white-space: nowrap; -} - -td.col-size { - text-align: center; - white-space: nowrap; -} - -td.col-provider { - text-align: center; - white-space: nowrap; -} - -td.col-group { - min-width: 90px; - text-align: center; -} - -.input-scene { - height: 20px; - line-height: 1.5; - border-radius: 3px; -} - -#editShow { - width: 700px; - padding-top: 10px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 768px) { - .form-group > div.content { - margin-top: 7px; - margin-bottom: 0; - text-align: left; - } -} - -.form-group label.control-label { - font-size: 13px; - font-weight: bold; -} - -div.season-scene-exception { - display: inline; -} - -.show-banner { - float: right; - height: 50px; - border: 1px solid rgb(136, 136, 136); -} - -.fanart { - margin-top: -1px; - vertical-align: middle; -} - -.showOptions { - width: 180px; - float: right; -} - -button.selectColumns { - margin-right: 2px; -} - -/* ======================================================================= -schedule.mako -========================================================================== */ - -.key { - line-height: 25px; -} - -.listing-key { - padding: 2px 5px; - font-size: 13px; - font-weight: bold; -} - -.listing-default { - background-color: rgb(245, 241, 228); -} - -.listing-current { - background-color: rgb(221, 255, 221); -} - -.listing-overdue { - background-color: rgb(255, 221, 221); -} - -.listing-toofar { - background-color: rgb(190, 222, 237); -} - -span.listing-default { - color: rgb(130, 111, 48); - border: 1px solid rgb(130, 111, 48); -} - -span.listing-current { - color: rgb(41, 87, 48); - border: 1px solid rgb(41, 87, 48); -} - -span.listing-overdue { - color: rgb(137, 0, 0); - border: 1px solid rgb(137, 0, 0); -} - -span.listing-toofar { - color: rgb(29, 80, 104); - border: 1px solid rgb(29, 80, 104); -} - -h2.day, -h2.network { - margin: 10px 0; - font-size: 24px; - line-height: 36px; - font-weight: bold; - letter-spacing: 1px; - color: rgb(255, 255, 255); - text-align: center; - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(51, 51, 51); -} - -.tvshowDiv { - display: block; - clear: both; - border: 1px solid rgb(204, 204, 204); - margin: auto; - padding: 0; - text-align: left; - border-radius: 5px; - background: rgb(255, 255, 255); - cursor: default; - overflow: hidden; -} - -.tvshowDiv a:hover { - color: rgb(66, 139, 202); -} - -.tvshowDiv a, -.tvshowDiv a:link, -.tvshowDiv a:visited, -.tvshowDiv a:hover { - text-decoration: none; - background: none; -} - -.tvshowTitle a { - color: rgb(0, 0, 0); - float: left; - line-height: 1.4em; - font-size: 1.4em; - text-shadow: -1px -1px 0 rgb(255, 255, 255); -} - -.tvshowTitleIcons { - float: right; - padding: 3px 5px; -} - -.tvshowDiv td { - padding: 5px 10px; -} - -.tvshowDiv td.next_episode { - width: 100%; - height: 90%; - border-bottom: 1px solid rgb(204, 204, 204); - vertical-align: top; - color: rgb(0, 0, 0); -} - -.bannerThumb { - vertical-align: top; - height: auto; - width: 748px; - border-bottom: 1px solid rgb(204, 204, 204); -} - -.posterThumb { - vertical-align: top; - height: auto; - width: 180px; - border-right: 1px solid rgb(204, 204, 204); -} - -.ep_listing { - width: auto; - border: 1px solid rgb(204, 204, 204); - margin-bottom: 10px; - padding: 10px; -} - -.ep_summary { - margin-left: 5px; - font-style: italic; -} - -.ep_summaryTrigger { - cursor: pointer; - vertical-align: middle; -} - -.ep_summaryTriggerNone { - opacity: 0.4; - vertical-align: middle; -} - -.calendarWrapper { - width: 1000px; - margin: 0 auto; - padding: 0 3px; -} - -.calendarTable { - float: left; - width: 142px !important; - white-space: nowrap; - table-layout: fixed !important; -} - -.calendarShow { - padding: 0 !important; -} - -.calendarShow .poster { - padding-bottom: 2px; - height: 212px; -} - -.calendarShow .poster img { - width: 142px; - height: auto; -} - -.calendarShow .text { - padding: 0 5px 10px; -} - -.calendarShow .text .airtime, -.calendarShow .text .episode-title { - overflow: hidden; - text-overflow: ellipsis; - display: block; - font-size: 11px; -} - -.calendarShow .show-status { - padding: 5px 10px 10px; - text-align: center; -} - -/* ======================================================================= -config*.mako -========================================================================== */ - -#config-content { - display: block; - padding: 0 0 40px; - margin: 0 auto; - clear: both; - text-align: left; -} - -.component-group { - padding: 15px 15px 25px; - border-bottom: 1px dotted rgb(204, 204, 204); - min-height: 200px; -} - -.component-item { - padding: 15px 15px 25px; - border-bottom: 1px dotted rgb(102, 102, 102); - min-height: 100px; -} - -.component-group-desc-legacy { - margin-top: 5px; - float: left; - width: 250px; -} - -.component-group-desc { - margin-top: 5px; -} - -.component-group-desc h3 { - margin-top: 5px; -} - -.component-group-desc p { - width: 90%; - margin: 10px 0; - color: rgb(102, 102, 102); -} - -#config div.field-pair { - padding: 12px 0; -} - -#config div.field-pair select, -#config div.field-pair input { - margin-right: 6px; -} - -#config div.field-pair input { - float: left; -} - -#config .nocheck, -.metadataDiv { - padding-left: 20px; -} - -#config span.component-title { - float: left; - width: 172px; - margin-right: 10px; - font-size: 13px; - font-weight: bold; -} - -#config span.component-desc { - font-size: 12px; - font-weight: normal; - display: block; - max-width: 475px; - margin-left: 182px; -} - -#config label.space-right { - margin-right: 10px; -} - -.component-group-save { - float: right; - padding-top: 10px; -} - -select .selected { - font-weight: 700; -} - -.jumbo { - font-size: 15px !important; - line-height: 24px; -} - -.testNotification { - padding: 5px; - margin-bottom: 10px; - line-height: 20px; - border: 1px dotted rgb(204, 204, 204); -} - -#providerOrderList { - width: 250px; - padding-left: 20px; - list-style-type: none; -} - -#provider_order_list, -#service_order_list { - width: 250px; - padding-left: 20px; - list-style-type: none; -} - -#provider_order_list li, -#service_order_list li { - padding: 5px; - margin: 5px 0; - font-size: 14px; -} - -#provider_order_list .ui-state-default.torrent-provider { - background-color: rgb(255, 255, 255) !important; -} - -#provider_order_list .ui-state-default.nzb-provider { - background-color: rgb(221, 221, 221) !important; -} - -#provider_order_list input, -#service_order_list input { - margin: 0 2px; -} - -#config .tip_scale label span.component-title { - width: 85px !important; - font-size: 12px !important; - margin-top: 2px !important; -} - -#config .tip_scale label span.component-desc { - margin-left: 120px !important; - width: 220px !important; -} - -.infoTableHeader, -.infoTableCell { - padding: 5px; -} - -.infoTableSeperator { - border-top: 1px dotted rgb(102, 102, 102); -} - -.infoTableHeader { - vertical-align: top; -} - -[class^="icon16-config-"], -[class*=" icon16-config-"] { - background-image: url("../images/16x_sprite_colored_help-info.png"); - background-position: -40px 0; - background-repeat: no-repeat; - display: inline-block; - height: 16px; - line-height: 16px; - vertical-align: text-top; - width: 16px; -} - -.icon16-config-application { - background-position: 0 0; -} - -.icon16-config-version { - background-position: -17px 0; -} - -.icon16-config-python { - background-position: -37px 0; -} - -.icon16-config-ssl { - background-position: -56px 0; -} - -.icon16-config-locale { - background-position: -73px 0; -} - -.icon16-config-user { - background-position: -91px 0; -} - -.icon16-config-dir { - background-position: -111px 0; -} - -.icon16-config-config { - background-position: -129px 0; -} - -.icon16-config-db { - background-position: -147px 0; -} - -.icon16-config-cache { - background-position: -166px 0; -} - -.icon16-config-log { - background-position: -182px 0; -} - -.icon16-config-arguments { - background-position: -204px 0; -} - -.icon16-config-github { - background-position: -224px 0; -} - -.icon16-config-mirc { - background-position: -243px 0; -} - -.icon16-config-web { - background-position: -262px 0; -} - -.icon16-config-os { - background-position: -280px 0; -} - -.icon16-config-wiki { - background-position: -299px 0; -} - -.icon16-config-docker { - background-position: -318px 0; -} - -[class^="add-client-icon-"], -[class*=" add-client-icon-"] { - background: url("../images/32x_sprite_colored_clients.png"); - height: 32px; - width: 32px; - display: inline-block; - position: relative; - top: 2px; - float: left; -} - -.add-client-icon-sabnzbd { - background-position: 0 0; -} - -.add-client-icon-nzbget { - background-position: -34px 0; -} - -.add-client-icon-blackhole { - background-position: -71px 0; -} - -.add-client-icon-deluge { - background-position: -106px 0; -} - -.add-client-icon-deluged { - background-position: -106px 0; -} - -.add-client-icon-qbittorrent { - background-position: -138px 0; -} - -.add-client-icon-rtorrent { - background-position: -172px 0; -} - -.add-client-icon-downloadstation { - background-position: -205px 0; -} - -.add-client-icon-transmission { - background-position: -241px 0; -} - -.add-client-icon-utorrent { - background-position: -273px 0; -} - -.add-client-icon-spotnet { - background-position: -311px 0; -} - -.add-client-icon-mlnet { - background-position: -344px 0; -} - -.add-client-icon-rss { - background-position: -380px 0; -} - -.add-client-icon-folder { - background-position: -416px 0; -} - -.add-client-icon-ftp { - background-position: -452px 0; -} - -.add-client-icon-irc { - background-position: -488px 0; -} - -/* ======================================================================= -config_postProcessing.mako -========================================================================== */ - -#config div.example { - padding: 10px; - background-color: rgb(239, 239, 239); -} - -.Key { - width: 100%; - padding: 6px; - font-size: 13px; - background-color: rgb(244, 244, 244); - border: 1px solid rgb(204, 204, 204); - border-collapse: collapse; - border-spacing: 0; -} - -.Key th, -.tableHeader { - padding: 3px 9px; - margin: 0; - color: rgb(255, 255, 255); - text-align: center; - background: none repeat scroll 0 0 rgb(102, 102, 102); -} - -.Key td { - padding: 1px 5px !important; -} - -.Key tr { - border-bottom: 1px solid rgb(204, 204, 204); -} - -.Key tr.even { - background-color: rgb(223, 222, 222); -} - -.legend { - position: relative; - top: 2px; -} - -/* ======================================================================= -config_notifications.mako -========================================================================== */ - -div.metadata_options_wrapper { - float: left; - width: 190px; -} - -div.metadata_example_wrapper { - float: right; - width: 325px; -} - -div.metadata_options { - padding: 7px; - overflow: auto; - background: rgb(245, 241, 228); - border: 1px solid rgb(204, 204, 204); -} - -div.metadata_options label:hover { - color: rgb(255, 255, 255); - background-color: rgb(87, 68, 43); - cursor: pointer; -} - -div.metadata_options label { - display: block; - padding-left: 7px; - line-height: 20px; - color: rgb(0, 51, 102); -} - -div.metadata_example { - padding: 8px; -} - -div.metadata_example label { - display: block; - line-height: 21px; - color: rgb(0, 0, 0); - cursor: pointer; -} - -div.metadataDiv .disabled { - color: rgb(204, 204, 204); -} - -.notifier-icon { - float: left; - margin: 6px 4px 0 0; -} - -.warning { - border-color: rgb(248, 148, 6); - background: url("../images/warning16.png") no-repeat right 5px center rgb(255, 255, 255); -} - -[class^="icon-notifiers-"], -[class*=" icon-notifiers-"] { - background: url("../images/32x_sprite_colored_notifiers.png"); - height: 32px; - width: 32px; - display: inline-block; - position: relative; - top: 2px; - float: left; -} - -.icon-notifiers-kodi { - background-position: 0 0; -} - -.icon-notifiers-plex { - background-position: -32px 0; -} - -.icon-notifiers-plexth { - background-position: -64px 0; -} - -.icon-notifiers-emby { - background-position: -96px 0; -} - -.icon-notifiers-nmj { - background-position: -128px 0; -} - -.icon-notifiers-syno1 { - background-position: -160px 0; -} - -.icon-notifiers-syno2 { - background-position: -192px 0; -} - -.icon-notifiers-pytivo { - background-position: -224px 0; -} - -.icon-notifiers-growl { - background-position: -256px 0; -} - -.icon-notifiers-prowl { - background-position: -288px 0; -} - -.icon-notifiers-libnotify { - background-position: -320px 0; -} - -.icon-notifiers-pushover { - background-position: -352px 0; -} - -.icon-notifiers-boxcar2 { - background-position: -384px 0; -} - -.icon-notifiers-pushalot { - background-position: -416px 0; -} - -.icon-notifiers-pushbullet { - background-position: -448px 0; -} - -.icon-notifiers-freemobile { - background-position: -480px 0; -} - -.icon-notifiers-telegram { - background-position: -512px 0; -} - -.icon-notifiers-twitter { - background-position: -544px 0; -} - -.icon-notifiers-trakt { - background-position: -576px 0; -} - -.icon-notifiers-email { - background-position: -608px 0; -} - -.icon-notifiers-anime { - background-position: -640px 0; -} - -.icon-notifiers-look { - background-position: -672px 0; -} - -.icon-notifiers-slack { - background-position: -704px 0; -} - -.icon-notifiers-join { - background-position: -736px 0; -} - -.icon-notifiers-discord { - background-position: -768px 0; -} - -div#config-components h3 > a { - padding-left: 5px; -} - -/* ======================================================================= -manage*.mako -========================================================================== */ - -.manageTable th { - white-space: normal; - line-height: 24px; -} - -.manageTable td.tableright { - text-align: left; -} - -td.tableright { - text-align: center; -} - -.optionWrapper { - width: 450px; - margin-left: auto; - margin-right: auto; - padding: 6px 12px; -} - -.optionWrapper span.selectTitle { - float: left; - text-align: left; - width: 225px; - padding: 6px 0; -} - -.optionWrapper div.selectChoices { - float: left; - width: 175px; - margin-left: 25px; -} - -.optionWrapper br { - clear: both; -} - -.manageCustom { - text-align: center; - padding: 6px; - margin-left: 25px; -} - -.separator { - font-size: 90%; - color: rgb(51, 51, 51); -} - -a.whitelink { - color: rgb(255, 255, 255); -} - -/* BacklogOverview */ -#status-summary { - padding-top: 10px; - padding-bottom: 2px; -} - -/* ======================================================================= -Global -========================================================================== */ - -span.path { - padding: 3px 6px; - color: rgb(139, 0, 0); - background-color: rgb(245, 241, 228); -} - -.align-left { - text-align: left !important; -} - -.h2footer { - line-height: 18px; - clear: both; -} - -/* red */ -span.false { - color: rgb(153, 51, 51); -} - -/* green */ -span.true { - color: rgb(102, 153, 102); -} - -.break-word { - word-break: break-all; - word-wrap: break-word; -} - -a.wiki { - color: red; -} - -a.wiki strong { - color: red; -} - -option.flag { - padding-left: 35px; - background-repeat: no-repeat; - background-position: 10px 50%; -} - -/* - * This is currently used by addShow_addExistingShows.mako and addShows_recommended.mako. - * Which in turn calls inc_addShowOptions.mako - * After these routes have been vueified, these templates can be removed as the below css. -*/ - -/* Anime section for editShow */ -.bwlWrapper { - height: auto; - margin: 0 auto; -} - -#Anime { - clear: both; - overflow-x: hidden; - overflow-y: hidden; - font-size: 14px; -} - -#Anime div.component-group-desc { - float: left; - width: 165px; -} - -#Anime div.component-group-desc p { - margin: 0.4em 0; - width: 95%; -} - -div.blackwhitelist { - float: left; - text-align: center; -} - -div.blackwhitelist input { - margin: 5px 0; -} - -div.blackwhitelist.pool select { - width: 230px; -} - -div.blackwhitelist.white select, -div.blackwhitelist.black select { - width: 150px; -} - -div.blackwhitelist span { - display: block; - text-align: center; -} - -div.blackwhitelist.anidb, -div.blackwhitelist.manual { - margin: 7px 0; -} - -ul.simpleList { - padding-left: 0; -} - -ul.simpleList li { - list-style-type: none; -} - -/* ======================================================================= -bootstrap Overrides -========================================================================== */ - -#vue-wrap { - padding-top: 75px; -} - -body { - overflow-y: scroll; - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; - color: rgb(0, 0, 0); -} - -html * { - outline: 0 !important; -} - -input[type="checkbox"] { - margin: 2px 5px 0; - line-height: normal; - transform: scale(1.2, 1.2); -} - -input[type="radio"] { - margin: 2px 0 0; - line-height: normal; -} - -input, -textarea, -select, -.uneditable-input { - width: auto; - color: rgb(0, 0, 0); -} - -.navbar-brand { - padding: 0; -} - -/* navbar styling */ -.navbar-default .navbar-brand { - color: rgb(255, 255, 255); -} - -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: rgb(255, 255, 255); - background-color: transparent; -} - -.navbar-default .navbar-text { - color: rgb(221, 221, 221); -} - -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: rgb(255, 255, 255); -} - -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: rgb(255, 255, 255); - background-color: rgb(51, 51, 51); -} - -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: rgb(204, 204, 204); - background-color: transparent; -} - -.navbar-default .navbar-toggle { - border-color: rgb(204, 204, 204); -} - -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: rgb(51, 51, 51); -} - -.navbar-default .navbar-toggle .icon-bar { - background-color: rgb(51, 51, 51); -} - -.navbar-default .navbar-nav > li > a { - color: rgb(221, 221, 221); -} - -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: rgb(51, 51, 51); - color: rgb(255, 255, 255); -} - -.navbar-default .navbar-nav > li.navbar-split > a { - float: left; - border: 1px solid rgba(0, 0, 0, 0.15); -} - -.navbar-default .navbar-nav > li.navbar-split > a:first-child { - padding-right: 8px; -} - -.navbar-default .navbar-nav > li.navbar-split > a:nth-child(2) { - padding-left: 8px; -} - -@media (max-width: 767px) { - .navbar-default .navbar-nav > li { - float: left; - min-width: 100px; - } - - .navbar-default .navbar-nav > li > a { - width: 100%; - } - - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: rgb(221, 221, 221); - } - - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: rgb(255, 255, 255); - background-color: transparent; - } - - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: rgb(255, 255, 255); - background-color: rgb(51, 51, 51); - } - - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: rgb(204, 204, 204); - background-color: transparent; - } -} - -.navbar-default .navbar-link { - color: rgb(221, 221, 221); -} - -.navbar-default .navbar-link:hover { - color: rgb(255, 255, 255); -} - -.navbar-default .btn-link { - color: rgb(152, 151, 139); -} - -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: rgb(221, 221, 221); -} - -.navbar-default .btn-link[disabled]:hover, -fieldset[disabled] .navbar-default .btn-link:hover, -.navbar-default .btn-link[disabled]:focus, -fieldset[disabled] .navbar-default .btn-link:focus { - color: rgb(204, 204, 204); -} - -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - color: rgb(38, 38, 38); - text-decoration: none; - background-color: rgb(245, 245, 245); -} - -.dropdown-menu > li > a { - padding: 4px 36px 4px 20px; -} - -.dropdown-menu-custom > li > a { - padding: 15px 36px 15px 5px; - border-bottom: 1px solid darkgrey; -} - -.dropdown-menu-custom > li:last-child > a { - border-bottom-style: none; -} - -.dropdown-menu { - background-color: rgb(245, 241, 228); - border: 1px solid rgba(0, 0, 0, 0.15); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176); -} - -/* Vueified DisplayShow uses the vue component vue-good-table to display tables. */ -.vgt-table { - color: rgb(0, 0, 0); -} - -.vgt-table th, -.vgt-table td { - border-top: rgb(255, 255, 255) 1px solid; - border-left: rgb(255, 255, 255) 1px solid; -} - -.vgt-table th { - color: rgb(255, 255, 255); - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(51, 51, 51); -} - -.vgt-table thead th.sorting.sorting-desc { - background-color: rgb(85, 85, 85); - background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); -} - -.vgt-table thead th.sorting.sorting-asc { - background-color: rgb(85, 85, 85); - background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); -} - -.vgt-table tfoot tr { - color: rgb(255, 255, 255); - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(51, 51, 51); -} - -.vgt-table tfoot a { - color: rgb(255, 255, 255); -} - -.vgt-table tr:nth-child(even) { - background-color: rgb(223, 218, 207); -} - -.vgt-table tr:nth-child(odd) { - background-color: rgb(245, 241, 228); -} - -.vgt-dropdown > .button-group { - margin-bottom: 10px; -} - -.vgt-dropdown-menu { - background-color: rgb(245, 241, 228); - border: 1px solid rgba(0, 0, 0, 0.15); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176); -} - -.vgt-dropdown-menu > li > a:hover, -.vgt-dropdown-menu > li > a:focus { - color: rgb(38, 38, 38); - text-decoration: none; - background-color: rgb(245, 245, 245); -} - -.vgt-dropdown-menu > li > span { - padding: 4px 36px 4px 20px; - color: #333; -} - -.form-control { - color: rgb(0, 0, 0); -} - -/* @TODO: Fix this stupid bootstrap hack http://stackoverflow.com/a/24008735/2311366 */ -.form-control-inline { - display: inline; - width: auto; -} - -.form-control-inline-max { - display: inline; - width: 100%; -} - -.input-sm-smallfont { - font-size: 11px; -} - -.input-sm-custom { - padding: 2px 5px 3px; - border-radius: 1px; - line-height: 1.5; - height: auto; -} - -.shadow { - box-shadow: 3px 3px 3px rgba(17, 17, 17, 0.5); -} - -.shadow-background { - background-color: rgb(239, 239, 239, 0.8); -} - -.border-bottom { - border-width: 1px; - border-style: none none solid; - border-color: rgb(62, 63, 58); -} - -.btn-medusa { - display: inline-block; - *display: inline; - padding: 4px 10px; - margin-bottom: 0; - *margin-left: 0.3em; - font-size: 12px; - line-height: 16px; - *line-height: 20px; - color: rgb(51, 51, 51); - text-align: center; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - vertical-align: middle; - cursor: pointer; - background-color: rgb(245, 245, 245); - *background-color: rgb(230, 230, 230); - background-image: -ms-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(255, 255, 255)), to(rgb(230, 230, 230))); - background-image: -webkit-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: -o-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: linear-gradient(to top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: -moz-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-repeat: repeat-x; - border: 1px solid rgb(204, 204, 204); - *border: 0; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - border-color: rgb(230, 230, 230) rgb(230, 230, 230) rgb(191, 191, 191); - border-bottom-color: rgb(179, 179, 179); - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 1px; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); - *zoom: 1; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -.btn-medusa:hover, -.btn-medusa:active, -.btn-medusa.active, -.btn-medusa.disabled, -.btn-medusa[disabled] { - background-color: rgb(230, 230, 230); - *background-color: rgb(217, 217, 217); -} - -.btn-medusa:first-child { - *margin-left: 0; -} - -.btn-medusa:hover { - color: rgb(51, 51, 51); - text-decoration: none; - background-color: rgb(230, 230, 230); - *background-color: rgb(217, 217, 217); - background-position: 0 -15px; - -webkit-transition: background-position 0.1s linear; - -moz-transition: background-position 0.1s linear; - -ms-transition: background-position 0.1s linear; - -o-transition: background-position 0.1s linear; - transition: background-position 0.1s linear; -} - -.btn-medusa:focus { - outline: thin dotted rgb(51, 51, 51); - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} - -.btn-medusa.active, -.btn-medusa:active { - background-color: rgb(230, 230, 230); - background-color: rgb(217, 217, 217) \9; - background-image: none; - outline: 0; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -.btn-medusa.disabled, -.btn-medusa[disabled] { - cursor: default; - background-color: rgb(230, 230, 230); - background-image: none; - opacity: 0.65; - filter: alpha(opacity=65); - box-shadow: none; -} - -.btn-large { - padding: 9px 14px; - font-size: 15px; - line-height: normal; - border-radius: 1px; -} - -.btn-large [class^="icon-"] { - margin-top: 1px; -} - -.btn-small { - padding: 5px 9px; - font-size: 11px; - line-height: 16px; -} - -.btn-small [class^="icon-"] { - margin-top: -1px; -} - -.btn-mini { - padding: 2px 6px; - font-size: 11px; - line-height: 14px; -} - -.btn-primary, -.btn-primary:hover, -.btn-warning, -.btn-warning:hover, -.btn-danger, -.btn-danger:hover, -.btn-success, -.btn-success:hover, -.btn-info, -.btn-info:hover, -.btn-inverse, -.btn-inverse:hover { - color: rgb(255, 255, 255); - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} - -.btn-primary.active, -.btn-warning.active, -.btn-danger.active, -.btn-success.active, -.btn-info.active, -.btn-inverse.active { - color: rgba(255, 255, 255, 0.75); -} - -.btn-primary { - background-color: rgb(0, 116, 204); - *background-color: rgb(0, 85, 204); - background-image: -ms-linear-gradient(top, rgb(0, 136, 204), rgb(0, 85, 204)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(0, 136, 204)), to(rgb(0, 85, 204))); - background-image: -webkit-linear-gradient(top, rgb(0, 136, 204), rgb(0, 85, 204)); - background-image: -o-linear-gradient(top, rgb(0, 136, 204), rgb(0, 85, 204)); - background-image: -moz-linear-gradient(top, rgb(0, 136, 204), rgb(0, 85, 204)); - background-image: linear-gradient(to top, rgb(0, 136, 204), rgb(0, 85, 204)); - background-repeat: repeat-x; - border-color: rgb(0, 85, 204) rgb(0, 85, 204) rgb(0, 53, 128); - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); -} - -.btn-primary:hover, -.btn-primary:active, -.btn-primary.active, -.btn-primary.disabled, -.btn-primary[disabled] { - background-color: rgb(0, 85, 204); - *background-color: rgb(0, 74, 179); -} - -.btn-primary:active, -.btn-primary.active { - background-color: rgb(0, 64, 153) \9; -} - -.btn-warning { - background-color: rgb(250, 167, 50); - *background-color: rgb(248, 148, 6); - background-image: -ms-linear-gradient(top, rgb(251, 180, 80), rgb(248, 148, 6)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(251, 180, 80)), to(rgb(248, 148, 6))); - background-image: -webkit-linear-gradient(top, rgb(251, 180, 80), rgb(248, 148, 6)); - background-image: -o-linear-gradient(top, rgb(251, 180, 80), rgb(248, 148, 6)); - background-image: -moz-linear-gradient(top, rgb(251, 180, 80), rgb(248, 148, 6)); - background-image: linear-gradient(to top, rgb(251, 180, 80), rgb(248, 148, 6)); - background-repeat: repeat-x; - border-color: rgb(248, 148, 6) rgb(248, 148, 6) rgb(173, 103, 4); - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); -} - -.btn-warning:hover, -.btn-warning:active, -.btn-warning.active, -.btn-warning.disabled, -.btn-warning[disabled] { - background-color: rgb(248, 148, 6); - *background-color: rgb(223, 133, 5); -} - -.btn-warning:active, -.btn-warning.active { - background-color: rgb(198, 118, 5) \9; -} - -.btn-danger { - background-color: rgb(218, 79, 73); - *background-color: rgb(189, 54, 47); - background-image: -ms-linear-gradient(top, rgb(238, 95, 91), rgb(189, 54, 47)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(238, 95, 91)), to(rgb(189, 54, 47))); - background-image: -webkit-linear-gradient(top, rgb(238, 95, 91), rgb(189, 54, 47)); - background-image: -o-linear-gradient(top, rgb(238, 95, 91), rgb(189, 54, 47)); - background-image: -moz-linear-gradient(top, rgb(238, 95, 91), rgb(189, 54, 47)); - background-image: linear-gradient(to top, rgb(238, 95, 91), rgb(189, 54, 47)); - background-repeat: repeat-x; - border-color: rgb(189, 54, 47) rgb(189, 54, 47) rgb(128, 36, 32); - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); -} - -.btn-danger:hover, -.btn-danger:active, -.btn-danger.active, -.btn-danger.disabled, -.btn-danger[disabled] { - background-color: rgb(189, 54, 47); - *background-color: rgb(169, 48, 42); -} - -.btn-danger:active, -.btn-danger.active { - background-color: rgb(148, 42, 37) \9; -} - -.btn-success { - background-color: rgb(91, 183, 91); - *background-color: rgb(81, 163, 81); - background-image: -ms-linear-gradient(top, rgb(98, 196, 98), rgb(81, 163, 81)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(98, 196, 98)), to(rgb(81, 163, 81))); - background-image: -webkit-linear-gradient(top, rgb(98, 196, 98), rgb(81, 163, 81)); - background-image: -o-linear-gradient(top, rgb(98, 196, 98), rgb(81, 163, 81)); - background-image: -moz-linear-gradient(top, rgb(98, 196, 98), rgb(81, 163, 81)); - background-image: linear-gradient(to top, rgb(98, 196, 98), rgb(81, 163, 81)); - background-repeat: repeat-x; - border-color: rgb(81, 163, 81) rgb(81, 163, 81) rgb(56, 112, 56); - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); -} - -.btn-success:hover, -.btn-success:active, -.btn-success.active, -.btn-success.disabled, -.btn-success[disabled] { - background-color: rgb(81, 163, 81); - *background-color: rgb(73, 146, 73); -} - -.btn-success:active, -.btn-success.active { - background-color: rgb(64, 129, 64) \9; -} - -.btn-info { - background-color: rgb(73, 175, 205); - *background-color: rgb(47, 150, 180); - background-image: -ms-linear-gradient(top, rgb(91, 192, 222), rgb(47, 150, 180)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(91, 192, 222)), to(rgb(47, 150, 180))); - background-image: -webkit-linear-gradient(top, rgb(91, 192, 222), rgb(47, 150, 180)); - background-image: -o-linear-gradient(top, rgb(91, 192, 222), rgb(47, 150, 180)); - background-image: -moz-linear-gradient(top, rgb(91, 192, 222), rgb(47, 150, 180)); - background-image: linear-gradient(to top, rgb(91, 192, 222), rgb(47, 150, 180)); - background-repeat: repeat-x; - border-color: rgb(47, 150, 180) rgb(47, 150, 180) rgb(31, 99, 119); - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); -} - -.btn-info:hover, -.btn-info:active, -.btn-info.active, -.btn-info.disabled, -.btn-info[disabled] { - background-color: rgb(47, 150, 180); - *background-color: rgb(42, 133, 160); -} - -.btn-info:active, -.btn-info.active { - background-color: rgb(36, 116, 140) \9; -} - -.btn-inverse { - background-color: rgb(65, 65, 65); - *background-color: rgb(34, 34, 34); - background-image: -ms-linear-gradient(top, rgb(85, 85, 85), rgb(34, 34, 34)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(85, 85, 85)), to(rgb(34, 34, 34))); - background-image: -webkit-linear-gradient(top, rgb(85, 85, 85), rgb(34, 34, 34)); - background-image: -o-linear-gradient(top, rgb(85, 85, 85), rgb(34, 34, 34)); - background-image: -moz-linear-gradient(top, rgb(85, 85, 85), rgb(34, 34, 34)); - background-image: linear-gradient(to top, rgb(85, 85, 85), rgb(34, 34, 34)); - background-repeat: repeat-x; - border-color: rgb(34, 34, 34) rgb(34, 34, 34) rgb(0, 0, 0); - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); -} - -.btn-inverse:hover, -.btn-inverse:active, -.btn-inverse.active, -.btn-inverse.disabled, -.btn-inverse[disabled] { - background-color: rgb(34, 34, 34); - *background-color: rgb(21, 21, 21); -} - -.btn-inverse:active, -.btn-inverse.active { - background-color: rgb(8, 8, 8) \9; -} - -.btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 1px; -} - -@media (min-width: 768px) { - .navbar .nav > li > .dropdown-menu::after { - position: absolute; - top: -6px; - right: 12px; - display: inline-block; - border-right: 6px solid transparent; - border-bottom: 6px solid rgb(245, 241, 228); - border-left: 6px solid transparent; - content: ""; - } -} - -label { - font-weight: normal; -} - -pre { - border: 1px solid; -} - -.alert { - padding: 10px; - text-align: center; -} - -/* ======================================================================= -input sizing (for config pages) -========================================================================== */ - -/* Don't style root-dirs select */ -#config select:not([size]) { - width: auto; - display: inline; -} - -.btn-inline { - margin-top: -3px; -} - -.input75 { - width: 75px; - margin-top: -4px; -} - -.input100 { - width: 100px; - margin-top: -4px; -} - -.input150 { - width: 150px; - margin-top: -4px; -} - -.input200 { - width: 200px; - margin-top: -4px; -} - -.input250 { - width: 250px; - margin-top: -4px; -} - -.input300 { - width: 300px; - margin-top: -4px; -} - -.input350 { - width: 350px; - margin-top: -4px; -} - -/* Added max-width, as setting width is really not optimal on smaller viewports */ -.max-input75 { - max-width: 75px; - margin-top: -4px; -} - -.max-input100 { - max-width: 100px; - margin-top: -4px; -} - -.max-input150 { - max-width: 150px; - margin-top: -4px; -} - -.max-input200 { - max-width: 200px; - margin-top: -4px; -} - -.max-input250 { - max-width: 250px; - margin-top: -4px; -} - -.max-input300 { - max-width: 300px; - margin-top: -4px; -} - -.max-input350 { - max-width: 350px; - margin-top: -4px; -} - -select.input-sm { - font-size: 0.9em; -} - -/* ======================================================================= -formWizard.css -========================================================================== */ - -div.stepsguide .step p { - margin: 12px 0; -} - -fieldset.sectionwrap { - padding: 5px; - text-align: left; - border-width: 0; - width: 100%; -} - -legend.legendStep { - color: rgb(87, 68, 43); - margin-bottom: 0; -} - -div.stepsguide { - margin-bottom: 15px; - overflow: hidden; - text-align: left; - cursor: pointer; - display: table; -} - -div.stepsguide .step { - display: table-cell; - width: 33%; - font: bold 24px Arial, sans-serif; - border-bottom: 4px solid rgb(87, 68, 43); -} - -div.stepsguide .disabledstep { - color: rgb(196, 196, 196); - border-bottom: 4px solid rgb(138, 119, 94); -} - -div.stepsguide .disabledstep p { - border-bottom: none; -} - -div.stepsguide .step .smalltext { - font-size: 13px; - font-weight: normal; -} - -div.formpaginate { - width: 800px; - margin-top: 1em; - overflow: auto; - font-weight: bold; - text-align: center; -} - -div.formpaginate .prev, -div.formpaginate .next { - padding: 3px 6px; - color: rgb(255, 255, 255); - cursor: hand; - cursor: pointer; - background: rgb(87, 68, 43); - border-radius: 6px; -} - -.stepDiv { - padding: 15px 0; -} - -#tabs .nocheck, -.stepDiv .nocheck { - padding-left: 16px; -} - -#tabs label span.component-title, -.stepDiv label span.component-title { - padding-bottom: 10px; - float: left; - width: 172px; - margin-right: 10px; - font-size: 13px; - font-weight: bold; -} - -#tabs label span.component-desc, -.stepDiv label span.component-desc { - padding-bottom: 10px; - font-size: 12px; - font-weight: normal; - display: block; - margin-left: 182px; -} - -div.field-pair input { - margin-right: 6px; - float: left; -} - -/* ======================================================================= -tablesorter.css -========================================================================== */ - -.tablesorter { - width: 100%; - margin-right: auto; - margin-left: auto; - color: rgb(0, 0, 0); - text-align: left; - background-color: rgb(255, 255, 255); - border-spacing: 0; -} - -.tablesorter th, -.tablesorter td { - padding: 4px; - border-top: rgb(255, 255, 255) 1px solid; - border-left: rgb(255, 255, 255) 1px solid; - vertical-align: middle; -} - -/* remove extra border from left edge */ -.tablesorter th:first-child, -.tablesorter td:first-child { - border-left: none; -} - -.tablesorter th { - color: rgb(255, 255, 255); - text-align: center; - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(51, 51, 51); - border-collapse: collapse; - font-weight: normal; -} - -.tablesorter .tablesorter-header { - padding: 4px 18px; - cursor: pointer; - background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==); - background-position: center right; - background-repeat: no-repeat; -} - -.tablesorter thead .tablesorter-headerDesc { - background-color: rgb(85, 85, 85); - background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); -} - -.tablesorter thead .tablesorter-headerAsc { - background-color: rgb(85, 85, 85); - background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); -} - -.tablesorter thead .sorter-false { - background-image: none; - padding: 4px; - cursor: default; -} - -thead.tablesorter-stickyHeader { - border-top: 2px solid rgb(255, 255, 255); - border-bottom: 2px solid rgb(255, 255, 255); -} - -/* Zebra Widget - row alternating colors */ -.tablesorter tr.odd, -.defaultTable tr.odd { - background-color: rgb(245, 241, 228); -} - -.tablesorter tr.even, -.defaultTable tr.even { - background-color: rgb(223, 218, 207); -} - -/* filter widget */ -.tablesorter .filtered { - display: none; -} - -.tablesorter input.tablesorter-filter { - width: 98%; - height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -.tablesorter tr.tablesorter-filter-row, -.tablesorter tr.tablesorter-filter-row td { - text-align: center; - background: rgb(238, 238, 238); - border-bottom: 1px solid rgb(221, 221, 221); -} - -/* optional disabled input styling */ -.tablesorter input.tablesorter-filter-row .disabled { - display: none; -} - -.tablesorter-header-inner { - padding: 0 2px; - text-align: center; -} - -.tablesorter tfoot tr { - color: rgb(255, 255, 255); - text-align: center; - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(51, 51, 51); - border-collapse: collapse; -} - -.tablesorter tfoot a { - color: rgb(255, 255, 255); - text-decoration: none; -} - -/* ======================================================================= -token-input.css -========================================================================== */ - -ul.token-input-list { - overflow: hidden; - height: auto !important; - height: 1%; - width: 273px; - border: 1px solid rgb(204, 204, 204); - cursor: text; - font-size: 10px; - font-family: Verdana, sans-serif; - z-index: 999; - margin: 0; - padding: 0 0 1px; - background-color: rgb(255, 255, 255); - list-style-type: none; - border-radius: 3px; -} - -ul.token-input-list li { - list-style-type: none; -} - -ul.token-input-list li input { - border: 0; - padding: 3px 4px; - background-color: rgb(255, 255, 255); -} - -li.token-input-token { - overflow: hidden; - height: auto !important; - height: 1%; - margin: 3px; - padding: 3px 5px 0; - background-color: rgb(208, 239, 160); - color: rgb(0, 0, 0); - font-weight: bold; - cursor: default; - display: block; -} - -li.token-input-token img { - padding-right: 4px; - float: left; -} - -li.token-input-token input { - padding-top: 2px !important; - padding-right: 4px !important; - float: left; -} - -li.token-input-token p { - float: left; - padding: 0; - margin: 0; - line-height: 2 !important; -} - -li.token-input-token span { - float: right; - color: rgb(119, 119, 119); - cursor: pointer; -} - -li.token-input-selected-token { - background-color: rgb(8, 132, 78); - color: rgb(255, 255, 255); -} - -li.token-input-selected-token span { - color: rgb(187, 187, 187); -} - -li.token-input-input-token input { - margin: 3px !important; -} - -div.token-input-dropdown { - position: absolute; - width: 273px; - overflow: hidden; - border-left: 1px solid; - border-right: 1px solid; - border-bottom: 1px solid; - cursor: default; - font-size: 11px; - font-family: Verdana, sans-serif; - z-index: 1; -} - -div.token-input-dropdown p { - margin: 0; - padding: 3px; - font-weight: bold; - color: rgb(119, 119, 119); -} - -div.token-input-dropdown ul { - margin: 0; - padding: 0; -} - -div.token-input-dropdown ul li { - background-color: rgb(255, 255, 255); - padding: 3px; - list-style-type: none; -} - -div.token-input-dropdown ul li.token-input-dropdown-item { - background-color: rgb(250, 250, 250); -} - -div.token-input-dropdown ul li.token-input-dropdown-item2 { - background-color: rgb(255, 255, 255); -} - -div.token-input-dropdown ul li em { - font-weight: bold; - font-style: normal; -} - -div.token-input-dropdown ul li.token-input-selected-dropdown-item { - background-color: rgb(97, 150, 194); -} - -span.token-input-delete-token { - margin: 0 1px; -} - -.red-text { - color: rgb(221, 51, 51); -} - -.clear-left { - clear: left; -} - -.nextline-block { - display: block; -} - -/* ======================================================================= -jquery.confirm.css -========================================================================== */ - -#confirmOverlay { - width: 100%; - height: 100%; - position: fixed; - top: 0; - left: 0; - background: url("../images/bg.gif"); - background: -moz-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)) repeat-x rgba(0, 0, 0, 0.5); - background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.5))) repeat-x rgba(0, 0, 0, 0.5); - z-index: 100000; -} - -#confirmBox { - background: rgb(245, 241, 228); - width: 460px; - position: fixed; - left: 50%; - top: 50%; - margin: -130px 0 0 -230px; - border: 1px solid rgb(17, 17, 17); - box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.175); -} - -#confirmBox h1, -#confirmBox p { - padding: 6px 10px; -} - -#confirmBox h1 { - background-color: rgb(51, 51, 51); - border-bottom: 1px solid rgb(17, 17, 17); - color: rgb(255, 255, 255); - margin: 0; - font-size: 22px; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); -} - -#confirmBox p { - padding-top: 20px; - color: rgb(0, 0, 0); - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); -} - -#confirmButtons { - padding: 15px 0; - text-align: center; -} - -#confirmBox .button { - margin-right: 15px; - padding: 2px 20px; - text-decoration: none; - display: inline-block; - color: rgb(255, 255, 255); - text-align: center; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); - background-clip: padding-box; - border: 1px solid rgb(17, 17, 17); - border-radius: 3px; - cursor: pointer; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0.25)); - background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0.25)); - background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0.25)); - background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0.25)); - box-shadow: inset 0 1px rgba(255, 255, 255, 0.1), inset 0 -1px 3px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.08), 0 1px 2px rgba(0, 0, 0, 0.15); -} - -#confirmBox .button:last-child { - margin-right: 0; -} - -#confirmBox .green { - background-color: rgb(63, 118, 54); -} - -#confirmBox .green:hover { - background-color: rgb(72, 135, 62); -} - -#confirmBox .red { - background-color: rgb(141, 45, 43); -} - -#confirmBox .red:hover { - background-color: rgb(161, 51, 49); -} - -/* ======================================================================= -pnotify.css -========================================================================== */ - -.ui-pnotify-sticker { - margin-top: -12px; -} - -.ui-pnotify-closer { - margin-top: -12px; - margin-right: -10px; -} - -/* ======================================================================= -Fix the file browser -========================================================================== */ -.ui-button { - display: inline-block; - *display: inline; - padding: 4px 10px; - margin-bottom: 0; - *margin-left: 0.3em; - font-size: 12px; - line-height: 16px; - *line-height: 20px; - color: rgb(51, 51, 51); - text-align: center; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - vertical-align: middle; - cursor: pointer; - background-color: rgb(245, 245, 245); - *background-color: rgb(230, 230, 230); - background-image: -ms-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(255, 255, 255)), to(rgb(230, 230, 230))); - background-image: -webkit-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: -o-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: linear-gradient(to top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: -moz-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-repeat: repeat-x; - border: 1px solid rgb(204, 204, 204); - *border: 0; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - border-color: rgb(230, 230, 230) rgb(230, 230, 230) rgb(191, 191, 191); - border-bottom-color: rgb(179, 179, 179); - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 1px; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); - *zoom: 1; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -/* ======================================================================= -login.css -========================================================================== */ - -.login { - display: block; -} - -.login h1 { - padding: 0 0 10px; - font-size: 60px; - font-family: Lobster, cursive; - font-weight: normal; -} - -.login form { - padding: 0; - height: 300px; - width: 400px; - position: fixed; - left: 50%; - top: 50%; - margin: -200px 0 0 -200px; -} - -@media all and (max-width: 480px) { - .login form { - padding: 0; - height: 300px; - width: 90%; - position: absolute; - left: 5%; - top: 10px; - margin: 0; - } -} - -.login .ctrlHolder { - padding: 0; - margin: 0 0 20px; -} - -.login .ctrlHolder:hover { - background: none; -} - -.login input[type=text], -.login input[type=password] { - width: 100% !important; - font-size: 25px; - padding: 14px !important; -} - -.login .remember_me { - font-size: 15px; - float: left; - width: 150px; - padding: 20px 0; -} - -.login .remember_me .check { - margin: 5px 5px 0 0; -} - -.login .button { - font-size: 25px; - padding: 20px; - float: right; -} - -/* ======================================================================= -IMDB Popular -========================================================================== */ - -.popularShow { - margin-bottom: 30px; -} - -.popularShow h3 { - padding: 0; - margin: 0; - display: inline-block; - margin-right: 30px; -} - -.popularShow .left { - float: left; - width: 100px; -} - -.popularShow .right { - float: left; - width: 600px; -} - -.popularShow .year { - font-style: italic; - opacity: 0.7; -} - -.popularShow .coverImage { - width: 80%; - padding-left: 20px; - margin-top: 4px; -} - -.popularShow .rating { - font-size: 90%; - display: inline-block; - margin-left: 0; -} - -.popularShow p { - margin-bottom: 0; -} - -table.home-header { - margin-top: 20px; - margin-bottom: 10px; -} - -input.tablesorter-filter.disabled { - display: none; -} - -/* This fixes bold font be used | @TODO replace this with proper CSS overrides */ -.ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header { - font-weight: normal !important; -} - -/* ======================================================================= -snatchSelection.mako -========================================================================== */ - -div#searchNotification { - display: inline-block; -} - -.left-30 { - margin-left: -30px; -} - -.right-30 { - margin-right: -30px; -} - -.vMiddle { - vertical-align: middle; -} - -.curHelp { - cursor: help; -} - -#snatchhistory.tablesorter tbody:nth-child(1) tr:nth-child(1) { - height: 60px; -} - -#snatchhistory.tablesorter tbody:nth-child(4) tr:nth-child(1) { - height: 30px; -} - -#snatchhistory.tablesorter tbody:nth-child(2) tr:nth-child(2) { - height: 30px; -} - -#snatchhistory th.row-seasonheader { - vertical-align: bottom; - width: auto; -} - -#snatchhistory th.row-seasonheader h3 { - display: inline; -} - -#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(1) { - width: 15%; - text-align: center !important; -} - -#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(2) { - width: 15%; - text-align: center !important; -} - -#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(3) { - width: 15%; - text-align: center !important; -} - -#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(4) { - width: 52%; - text-align: center !important; -} - -#snatchhistory.tablesorter td:nth-child(1) { - width: 15%; - text-align: center !important; -} - -#snatchhistory.tablesorter td:nth-child(2) { - width: 18%; - text-align: center !important; -} - -#snatchhistory.tablesorter td:nth-child(3) { - width: 15%; - text-align: center !important; -} - -#snatchhistory.tablesorter td:nth-child(4) { - width: 52%; -} - -#srchresults.tablesorter td:nth-child(1) { - width: 56%; -} - -#srchresults.tablesorter td:nth-child(n+2) { - width: 4%; - text-align: center; -} - -.release-name-ellipses { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - max-width: 250px; -} - -.release-name-ellipses-toggled { - overflow: visible; - white-space: nowrap; - position: relative; - max-width: 250px; -} - -.release-name-ellipses:hover { - text-decoration: underline; -} - -.release-name-ellipses-toggled span { - background-color: rgb(190, 222, 237); - border-width: 1px; - border-style: solid; - border-color: rgb(136, 136, 136); - padding: 5px; - box-shadow: 3px 3px 3px rgba(17, 17, 17, 0.5); -} - -/* ========================================================================== */ - -/* Pull left in mobile resolutions */ -@media (max-width: 767px) { - .pull-xs-right { - float: right !important; - } - - .pull-xs-left { - float: left !important; - } - - .radio-inline.pull-xs-left + .radio-inline.pull-xs-left, - .checkbox-inline.pull-xs-left + .checkbox-inline.pull-xs-left { - margin-left: 0; - } - - .radio-inline.pull-xs-left, - .checkbox-inline.pull-xs-left { - margin-right: 10px; - } -} - -/* ======================================================================== -CSS helper classes -=========================================================================== */ - -.top-5 { - margin-top: 5px; -} - -.top-10 { - margin-top: 10px; -} - -.top-15 { - margin-top: 15px; -} - -.top-20 { - margin-top: 20px; -} - -.top-25 { - margin-top: 25px; -} - -.bottom-5 { - margin-bottom: 5px; -} - -.bottom-10 { - margin-bottom: 10px; -} - -.bottom-15 { - margin-bottom: 15px; -} - -.bottom-20 { - margin-bottom: 20px; -} - -.bottom-25 { - margin-bottom: 25px; -} - -.horizontal-scroll { - overflow-x: auto; -} - -@media (max-width: 767px) { - .col-md-12 > .horizontal-scroll { - margin: 0 -13px; - } -} - -/* sub-menu */ - -@media screen and (min-width: 0) and (max-width: 768px) { - .full-width { display: none; } /* show it on small screens */ - .mobile { display: block; } - .mobile .ui-icon { display: inline-block; } - - .dropdown-menu-custom > li > a { - padding: 15px 36px 15px 5px; - border-bottom-style: solid; - border-bottom-width: 1px; - } - - .mobile > ul > li > a { - padding-top: 15px; - padding-bottom: 15px; - padding-left: 8px; - } - - .mobile .img-align { - width: 25px; - float: left; - } -} - -@media screen and (min-width: 769px) { - .full-width { display: block; } /* show it on small screens */ - .mobile { display: none; } -} - -/* navbar padding, to make room for in-page scrollbars */ -.padding-right-15 { - padding-right: 15px !important; -} - -.backlog-quality { - color: rgb(255, 255, 255); - background-color: rgb(55, 55, 55); -} - -@media (max-width: 1700px) { - #key-padding { - margin-left: 0; - margin-right: 5px; - } -} - -.triggerhighlight { - cursor: default; -} - -/* CSS for Nav dropdown hover -.dropdown:hover .dropdown-menu { - display: block; -} -*/ - -/* These classes should be natively available in bootstrap 4 */ -.d-block { - display: block; -} +strong.warning{color:red}.header{display:block;clear:right}.navbaricon{margin-top:-15px;margin-bottom:-15px}.icon-white{background-image:url(../images/glyphicons-halflings-white.png)}.ui-autocomplete-loading{background:#fff url(../images/loading16.gif) 100% no-repeat}.browserDialog.busy .ui-dialog-buttonpane{background:url(../images/loading.gif) 10px 50% no-repeat!important}.ui-progressbar .ui-progressbar-overlay{background:url(../css/lib/images/animated-overlay.gif)}.ui-dialog,.ui-dialog-buttonpane{background:#eceadf url(../css/lib/images/ui-bg_fine-grain_10_eceadf_60x60.png) 50% 50% repeat!important}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px;background-position:-80px -224px}.ui-accordion-content,.ui-tabs-panel{background:#ededed!important;background-image:none!important}.ui-widget{font-family:inherit;font-size:1em}.ui-widget-content{background:#dcdcdc url(../css/lib/images/ui-bg_highlight-soft_75_dcdcdc_1x100.png) 50% top repeat-x}.ui-widget-header{background:#fff url(../css/lib/images/ui-bg_flat_0_ffffff_40x100.png) 50% 50% repeat-x}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{background:#fff;border:1px solid #ccc}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{background:#fff}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{background:#f7f7f7}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{background:#fbf9ee url(../css/lib/images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{background:#fef1ec url(../css/lib/images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon{background-image:url(../css/lib/images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(../css/lib/images/ui-icons_8c291d_256x240.png)}.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(../css/lib/images/ui-icons_222222_256x240.png)}.ui-state-active .ui-icon{background-image:url(../css/lib/images/ui-icons_8c291d_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(../css/lib/images/ui-icons_2e83ff_256x240.png)}.ui-state-error-text .ui-icon,.ui-state-error .ui-icon{background-image:url(../css/lib/images/ui-icons_cd0a0a_256x240.png)}.ui-widget-overlay{background:#aaa url(../css/lib/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x}.ui-widget-shadow{background:#000 url(../css/lib/images/ui-bg_flat_0_000000_40x100.png) 50% 50% repeat-x}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#140f06;text-decoration:none}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#222;text-decoration:none}.ui-tabs{padding:0;background:none;border-width:0}.ui-tabs .ui-tabs-nav{padding-left:0;background:transparent;border-width:0;border-radius:0}.ui-tabs .ui-tabs-panel{background-color:#f7f7f7!important;border:1px solid #ccc!important;padding:1em}.ui-tabs-nav>:not(.ui-tabs-active),.ui-tabs .ui-tabs-nav li.ui-tabs-active{border-top-left-radius:5px;border-top-right-radius:5px}.vue-tabs{padding:0;background:none;border-width:0}.vue-tabs .nav-tabs-navigation{padding-left:0;background:transparent;border-width:0;border-radius:0}.vue-tabs .tab-content{background-color:#f7f7f7!important;border:1px solid #ccc!important;padding:1em}.nav-tabs{border-bottom:none}.nav-tabs li.tab{background:#fff;border:1px solid #ccc;border-top-left-radius:5px;border-top-right-radius:5px;margin:1px .2em 0 0;padding:0;top:1px}.nav-tabs li.tab.active{background:#f7f7f7;border-bottom-style:none!important}.vue-tabs li.tab:not(.active){top:2px}.nav-tabs li.tab a{background-color:transparent;border-color:transparent;padding:.5em 1em;text-decoration:none}.nav-tabs li.tab a,.nav-tabs li.tab a:active,.nav-tabs li.tab a:focus,.nav-tabs li.tab a:hover{color:#555;cursor:default;background-color:transparent;border:0;text-decoration:none}.nav-tabs :not(li.tab.active){border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-width:0}.nav-tabs li{border-bottom-width:0!important;padding:0;white-space:nowrap}#content{margin-left:auto;margin-right:auto;clear:both}.upgrade-notification{text-align:center;margin-top:20px;display:inline-block}[class*=" menu-icon-"],[class^=menu-icon-]{background:url(../images/menu/16x_sprite_colored_menu_icons.png);height:16px;width:16px;display:inline-block;position:relative;float:left}.menu-icon-addshow{background-position:0 0}.menu-icon-anime{background-position:-21px 0}.menu-icon-backlog-view{background-position:-42px 0}.menu-icon-backlog{background-position:-63px 0}.menu-icon-bittorrent{background-position:-84px 0}.menu-icon-config-index{background-position:-105px 0}.menu-icon-config{background-position:-126px 0}.menu-icon-failed-download{background-position:-147px 0}.menu-icon-home{background-position:-168px 0}.menu-icon-manage{background-position:-189px 0}.menu-icon-manage-searches{background-position:-210px 0}.menu-icon-poster{background-position:-231px 0}.menu-icon-postprocess{background-position:-252px 0}.menu-icon-restart{background-position:-273px 0}.menu-icon-shutdown{background-position:-294px 0}.menu-icon-update{background-position:-315px 0}.menu-icon-viewlog-errors{background-position:-336px 0}.menu-icon-viewlog{background-position:-357px 0}.menu-icon-kodi{background-position:-378px 0}.menu-icon-help{background-position:-399px 0}.menu-icon-info{background-position:-418px 0}.menu-icon-error{background-position:-436px 0}.menu-icon-news{background-position:-456px 0}.menu-icon-irc{background-position:-478px 0}.menu-icon-changelog{background-position:-495px 0}.menu-icon-support{background-position:-516px 0}.menu-icon-plex{background-position:-536px 0}.menu-icon-backup{background-position:-556px 0}.menu-icon-provider{background-position:-576px 0}.menu-icon-notification{background-position:-597px 0}.menu-icon-emby{background-position:-614px 0}.menu-icon-blackhole{background-position:-632px 0}.menu-icon-schedule{background-position:-653px 0}.menu-icon-manage2{background-position:-673px 0}.menu-icon-history{background-position:-695px 0}.menu-icon-trash{background-position:-711px 0}.menu-icon-cut{background-position:-727px 0}.menu-icon-select{background-position:-742px 0}.enable-daily-search-icon{background-image:url(../images/search_daily_8x8.png)!important;width:8px;height:8px;margin-top:5px;margin-right:3px}.enable-backlog-search-icon{background-image:url(../images/search_backlog_8x8.png)!important;width:8px;height:8px;margin-top:5px;margin-right:3px}.enable-manual-search-icon{background-image:url(../images/search_manual_8x8.png)!important;width:8px;height:8px;margin-top:5px;margin-right:3px}.footer{width:100%;padding:20px 0;color:#4e4e4e;text-align:center;font-size:12px}.footerhighlight{color:#111;display:inline}.layout-controls{padding-top:24px}.fanartOpacity{opacity:.9}.imgbanner .banner{border:1px solid #ccc;overflow:hidden;height:66px;border-radius:8px;width:360px;display:block;margin-left:auto;margin-right:auto}.imgsmallposter .small{height:66px;overflow:hidden;border-radius:3px;vertical-align:middle;width:45px;border:1px solid #ccc;margin-right:5px}.search{margin-bottom:10px}.ui-progressbar{height:20px;line-height:18px}.ui-progressbar .ui-progressbar-value{box-sizing:content-box!important;height:20px}.progressbarText{position:absolute;top:0;width:100%;height:100%;overflow:visible;text-align:center;text-shadow:0 0 .1em #fff;font-size:12px;color:#000}.progress-20,.progress-40,.progress-60,.progress-80,.progress-100{border-radius:3px}.progress-100{background-image:-moz-linear-gradient(#395f07,#2a4705)!important;background-image:linear-gradient(#395f07,#2a4705)!important;background-image:-webkit-linear-gradient(#395f07,#2a4705)!important;background-image:-o-linear-gradient(#395f07,#2a4705)!important}.progress-80{background-image:-moz-linear-gradient(#a6cf41,#5b990d)!important;background-image:linear-gradient(#a6cf41,#5b990d)!important;background-image:-webkit-linear-gradient(#a6cf41,#5b990d)!important;background-image:-o-linear-gradient(#a6cf41,#5b990d)!important}.progress-60{background-image:-moz-linear-gradient(#fad440,#f2a70d)!important;background-image:linear-gradient(#fad440,#f2a70d)!important;background-image:-webkit-linear-gradient(#fad440,#f2a70d)!important;background-image:-o-linear-gradient(#fad440,#f2a70d)!important}.progress-40{background-image:-moz-linear-gradient(#fab543,#f2700d)!important;background-image:linear-gradient(#fab543,#f2700d)!important;background-image:-webkit-linear-gradient(#fab543,#f2700d)!important;background-image:-o-linear-gradient(#fab543,#f2700d)!important}.progress-20{background-image:-moz-linear-gradient(#da5945,#b11a10)!important;background-image:linear-gradient(#da5945,#b11a10)!important;background-image:-webkit-linear-gradient(#da5945,#b11a10)!important;background-image:-o-linear-gradient(#da5945,#b11a10)!important}div.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:85%}div.xem{position:absolute;right:1px;top:0}.show-option{float:left;margin-left:10px;line-height:40px}.show-add-options>div{float:left;padding-right:10px;line-height:40px}.show-grid{display:none;margin-bottom:60px!important}.nav-show-list{position:relative;margin-top:4px;background-color:transparent;border:none;float:left}.nav-show-list .icon-bar{display:block;width:22px;height:3px;margin-top:4px;background-color:#333}#container-anime,#container-series{margin:0 auto}.loading-spinner{background-image:url(../images/loading32.gif);width:32px;height:32px;display:inline-block}.aligner{display:flex;align-items:center}@-moz-document url-prefix(){.aligner{flex-flow:column-reverse;align-items:inherit}}@media (-ms-high-contrast:none){.poster-overlay{left:0;top:0;width:100%}}.show-details{height:32px;overflow:hidden}.show-image{max-width:100%;overflow:hidden;border:1px solid #888}.background-image img{width:100%;overflow:hidden}.poster-overlay{position:absolute}.show-container{background-color:#f3f3f3;border-color:#f3f3f3}.show-container .ui-progressbar{height:7px!important;top:-2px}.show-container .ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:0}.show-container .ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:0}.show-container .ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:0}.show-container .ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:0}.show-container .ui-widget-content{border-top:1px solid #111;border-bottom:1px solid #111;border-left:0;border-right:0}.ui-progressbar .progress-20{border:none}.show-container .progress-20,.show-container .progress-40,.show-container .progress-60,.show-container .progress-80{border-radius:0;height:7px}.show-title{position:relative;overflow:hidden;white-space:nowrap;font-size:11px}.show-attributes,.show-title{margin:4px 4px 0}.show-title:after{content:"";pointer-events:none;position:absolute;width:20px;height:100%;top:0;right:0;background-image:-webkit-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:-moz-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:-ms-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:-o-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:linear-gradient(270deg,#f3f3f3,hsla(0,0%,95.3%,0))}.show-date{position:relative;overflow:hidden;white-space:nowrap;font-size:11px;margin:0 4px 4px;color:#949494}.show-date:after{content:"";pointer-events:none;position:absolute;width:20px;height:100%;top:0;right:0;background-image:-webkit-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:-moz-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:-ms-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:-o-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:linear-gradient(270deg,#f3f3f3,hsla(0,0%,95.3%,0))}.show-table{text-align:center;vertical-align:middle;width:33%}.show-add{font-size:11px;text-align:left;display:block}.show-network-image{width:50px;height:auto}#sort-by{list-style-type:none;margin-left:5px}#sort-by,#sort-by li,#sort-by ul{display:inline;padding:0}td.tvShow a{color:#000;text-decoration:none}td.tvShow a:hover{cursor:pointer;color:#428bca}span.tvShow a{color:#000;text-decoration:none}span.tvShow a:hover{cursor:pointer;color:#428bca}#popover-target label{margin:2px 4px 2px 0;display:block}#popover-target input{margin-left:5px}.popover{margin-left:-50px}.min-cell-width{width:1px}.nowrap{white-space:nowrap}#addShowPortal{padding:10px 0}#addShowPortal,#addShowPortal a{margin-right:auto;margin-left:auto}#addShowPortal a{padding:10px;max-width:900px;display:block;margin-bottom:15px}div.button{display:table-cell;vertical-align:middle;padding-left:10px}div.buttontext{display:table-cell;padding-left:20px;text-align:left;white-space:normal}div.buttontext h3{margin-top:10px}div.buttontext p{font-size:13px}[class*=" add-list-icon-"],[class^=add-list-icon-]{background:url(../images/32x_sprite_colored_add_lists.png);height:32px;width:32px;display:inline-block;position:relative;top:2px;float:left}.add-list-icon-addnewshow{background-position:0 0}.add-list-icon-addtrakt{background-position:-37px 0}.add-list-icon-addimdb{background-position:-76px 0}.add-list-icon-addexistingshow{background-position:-113px 0}.add-list-icon-addanime{background-position:-150px 0}#addShowForm,#recommendedShowsForm{max-width:800px;margin-left:auto;margin-right:auto;padding:10px 0;font-size:13px}#addShowForm>div{width:100%!important}#addShowForm>div:nth-child(2)>div{position:relative!important}.newShowPortal{max-width:960px;padding:10px 0;margin-right:auto;margin-left:auto}#displayText{padding:8px;overflow:hidden;font-size:14px;background-color:#efefef;border:1px solid #dfdede}div.search-results{height:100%}div.search-results>div.no-results{margin-top:15px}table.search-results{margin-top:15px;border-collapse:collapse;border:1px solid #dfdede}table.search-results td,table.search-results th{border:1px solid #dfdede;padding:5px;vertical-align:middle;text-align:left;max-width:370px}table.search-results th{background-color:#efefef}table.search-results tbody tr.selected,table.search-results tbody tr.selected:hover{background-color:#cde9ff}table.search-results tbody tr:hover{background-color:#efefef}table.search-results td.search-result{text-align:center;vertical-align:middle}table.search-results td.premiere,table.search-results th.premiere{text-align:center;max-width:90px}table.search-results td.network,table.search-results th.network{max-width:200px}table.search-results td.indexer,table.search-results th.indexer{text-align:center;max-width:100px}table.search-results td.indexer img{vertical-align:-3px}table.search-results input[type=radio]{margin:4px 0 0}.existingtabs{padding:1em 1.4em}ul#rootDirStaticList{margin-right:auto;margin-left:auto;text-align:left;padding-left:0}ul#rootDirStaticList li{padding:4px 5px;margin:2px;list-style:none outside none;cursor:pointer;background:url(../css/lib/images/ui-bg_highlight-soft_75_efefef_1x100.png) repeat-x scroll 50% 50% #efefef}ul#rootDirStaticList li label{margin-top:5px;margin-bottom:5px}ul#rootDirStaticList li input[type=checkbox]{vertical-align:-2px}.recommendedShowTitleIcons{float:right;padding-right:4px;padding-bottom:4px}.recommended-container p{padding-top:2px}.recommended-container p img{position:relative;top:-2px}div.recommended-image{background-color:#dfdacf}.show-in-list div.recommended-image{opacity:.4;zoom:1;-webkit-filter:grayscale(100%);filter:grayscale(100%)}.show-in-list div#check-overlay{opacity:.8;background-image:url(../images/green-check.png);background-repeat:no-repeat;background-position:90% 5%;background-size:100px;position:absolute;height:273px;width:187px;top:0}.recommended-container a,.recommended-container i,.recommended-container p{white-space:nowrap;font-size:12px;overflow:hidden;margin:0;text-decoration:none;color:#fff}.recommended-container{left:-4px;position:relative;margin:12px;width:188px;background-color:#dfdacf;border:1px solid #111;border-radius:6px}.recommended-image{height:273px;width:186px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:1px solid #111}.recommended-container .anidb-url{float:right;padding-right:4px}.anidb-inline{height:16px}.recommended-container .default-poster{display:block;z-index:0;background-image:url(../images/poster-dark.jpg)}#postProcess{width:800px;padding-top:10px;margin-right:auto;margin-left:auto}.lineH-40{line-height:40px}#episodeDir{width:70%;margin-right:5px}.smallhelp{line-height:0;font-size:12px}#process td:first-child{padding-right:10px;width:290px}.modal-wide .modal-dialog{width:90%}.modal-dialog{overflow-y:initial!important}.modal-body{overflow-y:auto}.container-navShow{margin-top:-2px;margin-left:305px;z-index:10}.tvshowImg{border:1px solid #ccc;border-radius:5px;height:311px;width:auto;float:left}@media (max-width:767px) and (min-width:341px){.container-navShow{margin-left:305px;display:none}#key-padding{padding-bottom:4px}}@media (max-width:340px){.container-navShow{margin-left:265px}}@media (max-width:767px){.pull-xs-left{float:left}.pull-xs-right{float:right}.no-padding-xs{padding:0}.nocheck{padding-left:0!important}.tvshowImg{margin-bottom:10px;float:none}.col-md-12>.horizontal-scroll{margin:0 -13px}}@media (min-width:768px){.tvshowImg{max-height:245px}}@media (min-width:992px) and (max-width:1199px){.pull-md-left{float:left}.pull-md-right{float:right}.tvshowImg{max-height:269px}}@media (min-width:1200px){.pull-lg-left{float:left}.pull-lg-right{float:right}.tvshowImg{max-height:269px}}.navShow{width:18px;max-height:15px;display:-webkit-box;cursor:pointer}#nextShow,#prevShow,#topcontrol{-webkit-filter:grayscale(100%);filter:url("data:image/svg+xml;utf8,#greyscale");filter:grayscale(100%);filter:rgb(128,128,128)}h1.title{padding-bottom:12px;margin-bottom:15px;line-height:30px;text-align:left;text-rendering:optimizeLegibility;border-bottom:1px solid #888}h1.title a{text-decoration:none}#showinfo,.displayspecials{position:relative}#showinfo{cursor:default;display:inline-block;top:-3px}#showinfo a{text-decoration:none}span.imdbstars{display:inline-block;vertical-align:top;cursor:help;margin-top:4px}span.imdbstars,span.imdbstars>*{height:12px;background:url(../images/rating.png) 0 -12px repeat-x;width:120px;display:inline-block;vertical-align:top}span.imdbstars>*{background-position:0 0;max-width:120px}ul.tags{list-style-type:none;position:relative;top:4px;margin-left:-40px}ul.tags li{margin-right:4px;margin-bottom:5px;padding:2px 7px 2px 25px;background:url(../images/tag.png) no-repeat scroll 5px 4px #555;border-radius:1px;border:1px solid #111;color:#fff;font:14px/18px Open Sans,Helvetica Neue,Helvetica,Arial,Geneva,sans-serif;text-shadow:0 1px rgba(0,0,0,.8);float:left}ul.tags li a{color:#fff}#summary{overflow:auto;cursor:default}#checkboxControls{padding-top:2px}#checkboxControls span{padding:3px 10px 5px;font-size:11px;font-weight:700}#checkboxControls label{white-space:nowrap;display:inline-block}#checkboxControls input[type=checkbox]{vertical-align:-2px}.unaired{background-color:#f5f1e4}.skipped{background-color:#bedeed}.archived,.good{background-color:#c3e3c8}.qual{background-color:#ffda8a}.wanted{background-color:#ffb0b0}.snatched{background-color:#ebc1ea}.downloaded{background-color:#c3e3c8}.failed{background-color:#f99}.allowed{background-color:#ffda8a}span.unaired{color:#584b20}span.skipped{color:#1d5068}span.good{color:#295730}span.qual{color:#765100}span.wanted{color:#890000}span.snatched{color:#652164}span.good b,span.qual b,span.skipped b,span.snatched b,span.unaired b,span.wanted b{color:#000;font-weight:800}.displayShowTable{table-layout:auto;width:100%;border-collapse:collapse;border-spacing:0;text-align:center;border:none;empty-cells:show;color:#000!important}.displayShowTable.display_show{clear:both}.displayShowTable th.row-seasonheader{border:none!important;background-color:#222!important;color:#fff!important;padding-top:15px!important;text-align:left!important}.displayShowTable td.col-search{text-align:center}.displayShowTableFanArt{table-layout:auto;width:100%;border-collapse:collapse;border-spacing:0;text-align:center;border:none;empty-cells:show;color:#000!important}.displayShowTableFanArt.display_show{clear:both;opacity:.9}.summaryFanArt{opacity:.9}.displayShowTableFanArt th.row-seasonheader{border:none!important;background-color:transparent!important;color:#fff!important;padding-top:15px!important;text-align:left!important}.displayShowTableFanArt td.col-search{text-align:center}.snatchTitle{color:#fff!important}.tablesorterFanArt{background-color:transparent!important}.defaultTable{table-layout:auto;width:100%;border-collapse:collapse;border-spacing:0;text-align:center;border:none;empty-cells:show}.defaultTable.display_show{clear:both}.defaultTable th{color:#fff;text-align:center;background-color:#333;white-space:nowrap}.defaultTable td,.defaultTable th{border-top:1px solid #fff;border-left:1px solid #fff;padding:4px}th.row-seasonheader{border:none;background-color:#fff;color:#000;padding-top:15px;text-align:left}tr.seasonheader{padding-bottom:5px;padding-top:10px;text-align:left;border:none;color:#fff}td.col-checkbox,th.col-checkbox{width:30px;border-left:none;text-align:center}td.col-checkbox input[type=checkbox],th.col-checkbox input[type=checkbox]{vertical-align:-2px}td.col-metadata,th.col-metadata{width:28px}td.col-ep,th.col-ep{width:50px;white-space:nowrap}td.col-airdate,th.col-airdate{width:86px;white-space:nowrap}td.col-name,th.col-name{min-width:100px}td.col-name{text-align:left}th.col-footer{text-align:left!important}td.col-subtitles,th.col-subtitles{width:150px;text-align:center}td.col-status,th.col-status{text-align:center}@media screen and (min-width:992px){td.col-status{white-space:nowrap}}td.col-quality,th.col-quality{width:110px}td.col-legend,th.col-legend{width:80px}td.col-search,th.col-search{width:65px}td.col-date,td.col-provider,td.col-size{text-align:center;white-space:nowrap}td.col-group{min-width:90px;text-align:center}.input-scene{height:20px;line-height:1.5;border-radius:3px}#editShow{width:700px;padding-top:10px;margin-right:auto;margin-left:auto}@media (min-width:768px){.form-group>div.content{margin-top:7px;margin-bottom:0;text-align:left}}.form-group label.control-label{font-size:13px;font-weight:700}div.season-scene-exception{display:inline}.show-banner{float:right;height:50px;border:1px solid #888}.fanart{margin-top:-1px;vertical-align:middle}.showOptions{width:180px;float:right}button.selectColumns{margin-right:2px}.key{line-height:25px}.listing-key{padding:2px 5px;font-size:13px;font-weight:700}.listing-default{background-color:#f5f1e4}.listing-current{background-color:#dfd}.listing-overdue{background-color:#fdd}.listing-toofar{background-color:#bedeed}span.listing-default{color:#826f30;border:1px solid #826f30}span.listing-current{color:#295730;border:1px solid #295730}span.listing-overdue{color:#890000;border:1px solid #890000}span.listing-toofar{color:#1d5068;border:1px solid #1d5068}h2.day,h2.network{margin:10px 0;font-size:24px;line-height:36px;font-weight:700;letter-spacing:1px;color:#fff;text-align:center;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#333}.tvshowDiv{display:block;clear:both;border:1px solid #ccc;margin:auto;padding:0;text-align:left;border-radius:5px;background:#fff;cursor:default;overflow:hidden}.tvshowDiv a:hover{color:#428bca}.tvshowDiv a,.tvshowDiv a:hover,.tvshowDiv a:link,.tvshowDiv a:visited{text-decoration:none;background:none}.tvshowTitle a{color:#000;float:left;line-height:1.4em;font-size:1.4em;text-shadow:-1px -1px 0 #fff}.tvshowTitleIcons{float:right;padding:3px 5px}.tvshowDiv td{padding:5px 10px}.tvshowDiv td.next_episode{width:100%;height:90%;color:#000}.bannerThumb,.tvshowDiv td.next_episode{border-bottom:1px solid #ccc;vertical-align:top}.bannerThumb{height:auto;width:748px}.posterThumb{vertical-align:top;height:auto;width:180px;border-right:1px solid #ccc}.ep_listing{width:auto;border:1px solid #ccc;margin-bottom:10px;padding:10px}.ep_summary{margin-left:5px;font-style:italic}.ep_summaryTrigger{cursor:pointer;vertical-align:middle}.ep_summaryTriggerNone{opacity:.4;vertical-align:middle}.calendarWrapper{width:1000px;margin:0 auto;padding:0 3px}.calendarTable{float:left;width:142px!important;white-space:nowrap;table-layout:fixed!important}.calendarShow{padding:0!important}.calendarShow .poster{padding-bottom:2px;height:212px}.calendarShow .poster img{width:142px;height:auto}.calendarShow .text{padding:0 5px 10px}.calendarShow .text .airtime,.calendarShow .text .episode-title{overflow:hidden;text-overflow:ellipsis;display:block;font-size:11px}.calendarShow .show-status{padding:5px 10px 10px;text-align:center}#config-content{display:block;padding:0 0 40px;margin:0 auto;clear:both;text-align:left}.component-group{padding:15px 15px 25px;border-bottom:1px dotted #ccc;min-height:200px}.component-item{padding:15px 15px 25px;border-bottom:1px dotted #666;min-height:100px}.component-group-desc-legacy{margin-top:5px;float:left;width:250px}.component-group-desc,.component-group-desc h3{margin-top:5px}.component-group-desc p{width:90%;margin:10px 0;color:#666}#config div.field-pair{padding:12px 0}#config div.field-pair input,#config div.field-pair select{margin-right:6px}#config div.field-pair input{float:left}#config .nocheck,.metadataDiv{padding-left:20px}#config span.component-title{float:left;width:172px;margin-right:10px;font-size:13px;font-weight:700}#config span.component-desc{font-size:12px;font-weight:400;display:block;max-width:475px;margin-left:182px}#config label.space-right{margin-right:10px}.component-group-save{float:right;padding-top:10px}select .selected{font-weight:700}.jumbo{font-size:15px!important;line-height:24px}.testNotification{padding:5px;margin-bottom:10px;line-height:20px;border:1px dotted #ccc}#provider_order_list,#providerOrderList,#service_order_list{width:250px;padding-left:20px;list-style-type:none}#provider_order_list li,#service_order_list li{padding:5px;margin:5px 0;font-size:14px}#provider_order_list .ui-state-default.torrent-provider{background-color:#fff!important}#provider_order_list .ui-state-default.nzb-provider{background-color:#ddd!important}#provider_order_list input,#service_order_list input{margin:0 2px}#config .tip_scale label span.component-title{width:85px!important;font-size:12px!important;margin-top:2px!important}#config .tip_scale label span.component-desc{margin-left:120px!important;width:220px!important}.infoTableCell,.infoTableHeader{padding:5px}.infoTableSeperator{border-top:1px dotted #666}.infoTableHeader{vertical-align:top}[class*=" icon16-config-"],[class^=icon16-config-]{background-image:url(../images/16x_sprite_colored_help-info.png);background-position:-40px 0;background-repeat:no-repeat;display:inline-block;height:16px;line-height:16px;vertical-align:text-top;width:16px}.icon16-config-application{background-position:0 0}.icon16-config-version{background-position:-17px 0}.icon16-config-python{background-position:-37px 0}.icon16-config-ssl{background-position:-56px 0}.icon16-config-locale{background-position:-73px 0}.icon16-config-user{background-position:-91px 0}.icon16-config-dir{background-position:-111px 0}.icon16-config-config{background-position:-129px 0}.icon16-config-db{background-position:-147px 0}.icon16-config-cache{background-position:-166px 0}.icon16-config-log{background-position:-182px 0}.icon16-config-arguments{background-position:-204px 0}.icon16-config-github{background-position:-224px 0}.icon16-config-mirc{background-position:-243px 0}.icon16-config-web{background-position:-262px 0}.icon16-config-os{background-position:-280px 0}.icon16-config-wiki{background-position:-299px 0}.icon16-config-docker{background-position:-318px 0}[class*=" add-client-icon-"],[class^=add-client-icon-]{background:url(../images/32x_sprite_colored_clients.png);height:32px;width:32px;display:inline-block;position:relative;top:2px;float:left}.add-client-icon-sabnzbd{background-position:0 0}.add-client-icon-nzbget{background-position:-34px 0}.add-client-icon-blackhole{background-position:-71px 0}.add-client-icon-deluge,.add-client-icon-deluged{background-position:-106px 0}.add-client-icon-qbittorrent{background-position:-138px 0}.add-client-icon-rtorrent{background-position:-172px 0}.add-client-icon-downloadstation{background-position:-205px 0}.add-client-icon-transmission{background-position:-241px 0}.add-client-icon-utorrent{background-position:-273px 0}.add-client-icon-spotnet{background-position:-311px 0}.add-client-icon-mlnet{background-position:-344px 0}.add-client-icon-rss{background-position:-380px 0}.add-client-icon-folder{background-position:-416px 0}.add-client-icon-ftp{background-position:-452px 0}.add-client-icon-irc{background-position:-488px 0}#config div.example{padding:10px;background-color:#efefef}.Key{width:100%;padding:6px;font-size:13px;background-color:#f4f4f4;border:1px solid #ccc;border-collapse:collapse;border-spacing:0}.Key th,.tableHeader{padding:3px 9px;margin:0;color:#fff;text-align:center;background:none repeat scroll 0 0 #666}.Key td{padding:1px 5px!important}.Key tr{border-bottom:1px solid #ccc}.Key tr.even{background-color:#dfdede}.legend{position:relative;top:2px}div.metadata_options_wrapper{float:left;width:190px}div.metadata_example_wrapper{float:right;width:325px}div.metadata_options{padding:7px;overflow:auto;background:#f5f1e4;border:1px solid #ccc}div.metadata_options label:hover{color:#fff;background-color:#57442b;cursor:pointer}div.metadata_options label{display:block;padding-left:7px;line-height:20px;color:#036}div.metadata_example{padding:8px}div.metadata_example label{display:block;line-height:21px;color:#000;cursor:pointer}div.metadataDiv .disabled{color:#ccc}.notifier-icon{float:left;margin:6px 4px 0 0}.warning{border-color:#f89406;background:url(../images/warning16.png) no-repeat right 5px center #fff}[class*=" icon-notifiers-"],[class^=icon-notifiers-]{background:url(../images/32x_sprite_colored_notifiers.png);height:32px;width:32px;display:inline-block;position:relative;top:2px;float:left}.icon-notifiers-kodi{background-position:0 0}.icon-notifiers-plex{background-position:-32px 0}.icon-notifiers-plexth{background-position:-64px 0}.icon-notifiers-emby{background-position:-96px 0}.icon-notifiers-nmj{background-position:-128px 0}.icon-notifiers-syno1{background-position:-160px 0}.icon-notifiers-syno2{background-position:-192px 0}.icon-notifiers-pytivo{background-position:-224px 0}.icon-notifiers-growl{background-position:-256px 0}.icon-notifiers-prowl{background-position:-288px 0}.icon-notifiers-libnotify{background-position:-320px 0}.icon-notifiers-pushover{background-position:-352px 0}.icon-notifiers-boxcar2{background-position:-384px 0}.icon-notifiers-pushalot{background-position:-416px 0}.icon-notifiers-pushbullet{background-position:-448px 0}.icon-notifiers-freemobile{background-position:-480px 0}.icon-notifiers-telegram{background-position:-512px 0}.icon-notifiers-twitter{background-position:-544px 0}.icon-notifiers-trakt{background-position:-576px 0}.icon-notifiers-email{background-position:-608px 0}.icon-notifiers-anime{background-position:-640px 0}.icon-notifiers-look{background-position:-672px 0}.icon-notifiers-slack{background-position:-704px 0}.icon-notifiers-join{background-position:-736px 0}.icon-notifiers-discord{background-position:-768px 0}div#config-components h3>a{padding-left:5px}.manageTable th{white-space:normal;line-height:24px}.manageTable td.tableright{text-align:left}td.tableright{text-align:center}.optionWrapper{width:450px;margin-left:auto;margin-right:auto;padding:6px 12px}.optionWrapper span.selectTitle{float:left;text-align:left;width:225px;padding:6px 0}.optionWrapper div.selectChoices{float:left;width:175px;margin-left:25px}.optionWrapper br{clear:both}.manageCustom{text-align:center;padding:6px;margin-left:25px}.separator{font-size:90%;color:#333}a.whitelink{color:#fff}#status-summary{padding-top:10px;padding-bottom:2px}span.path{padding:3px 6px;color:#8b0000;background-color:#f5f1e4}.align-left{text-align:left!important}.h2footer{line-height:18px;clear:both}span.false{color:#933}span.true{color:#696}.break-word{word-break:break-all;word-wrap:break-word}a.wiki,a.wiki strong{color:red}option.flag{padding-left:35px;background-repeat:no-repeat;background-position:10px 50%}.bwlWrapper{height:auto;margin:0 auto}#Anime{clear:both;overflow-x:hidden;overflow-y:hidden;font-size:14px}#Anime div.component-group-desc{float:left;width:165px}#Anime div.component-group-desc p{margin:.4em 0;width:95%}div.blackwhitelist{float:left;text-align:center}div.blackwhitelist input{margin:5px 0}div.blackwhitelist.pool select{width:230px}div.blackwhitelist.black select,div.blackwhitelist.white select{width:150px}div.blackwhitelist span{display:block;text-align:center}div.blackwhitelist.anidb,div.blackwhitelist.manual{margin:7px 0}ul.simpleList{padding-left:0}ul.simpleList li{list-style-type:none}#vue-wrap{padding-top:75px}body{overflow-y:scroll;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000}html *{outline:0!important}input[type=checkbox]{margin:2px 5px 0;line-height:normal;transform:scale(1.2)}input[type=radio]{margin:2px 0 0;line-height:normal}.uneditable-input,input,select,textarea{width:auto;color:#000}.navbar-brand{padding:0}.navbar-default .navbar-brand{color:#fff}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-default .navbar-text{color:#ddd}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#fff}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#fff;background-color:#333}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ccc}.navbar-default .navbar-toggle .icon-bar,.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#333}.navbar-default .navbar-nav>li>a{color:#ddd}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#333;color:#fff}.navbar-default .navbar-nav>li.navbar-split>a{float:left;border:1px solid rgba(0,0,0,.15)}.navbar-default .navbar-nav>li.navbar-split>a:first-child{padding-right:8px}.navbar-default .navbar-nav>li.navbar-split>a:nth-child(2){padding-left:8px}@media (max-width:767px){.navbar-default .navbar-nav>li{float:left;min-width:100px}.navbar-default .navbar-nav>li>a{width:100%}.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#ddd}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#333}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#ddd}.navbar-default .navbar-link:hover{color:#fff}.navbar-default .btn-link{color:#98978b}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#ddd}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>li>a{padding:4px 36px 4px 20px}.dropdown-menu-custom>li>a{padding:15px 36px 15px 5px;border-bottom:1px solid #a9a9a9}.dropdown-menu-custom>li:last-child>a{border-bottom-style:none}.dropdown-menu{background-color:#f5f1e4;border:1px solid rgba(0,0,0,.15);box-shadow:0 6px 12px rgba(0,0,0,.176)}.vgt-table{color:#000}.vgt-table td,.vgt-table th{border-top:1px solid #fff;border-left:1px solid #fff}.vgt-table th{color:#fff;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#333}.vgt-table thead th.sorting.sorting-desc{background-color:#555;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7)}.vgt-table thead th.sorting.sorting-asc{background-color:#555;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7)}.vgt-table tfoot tr{color:#fff;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#333}.vgt-table tfoot a{color:#fff}.vgt-table tr:nth-child(2n){background-color:#dfdacf}.vgt-table tr:nth-child(odd){background-color:#f5f1e4}.vgt-dropdown>.button-group{margin-bottom:10px}.vgt-dropdown-menu{background-color:#f5f1e4;border:1px solid rgba(0,0,0,.15);box-shadow:0 6px 12px rgba(0,0,0,.176)}.vgt-dropdown-menu>li>a:focus,.vgt-dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.vgt-dropdown-menu>li>span{padding:4px 36px 4px 20px;color:#333}.form-control{color:#000}.form-control-inline{display:inline;width:auto}.form-control-inline-max{display:inline;width:100%}.input-sm-smallfont{font-size:11px}.input-sm-custom{padding:2px 5px 3px;border-radius:1px;line-height:1.5;height:auto}.shadow{box-shadow:3px 3px 3px rgba(17,17,17,.5)}.shadow-background{background-color:hsla(0,0%,93.7%,.8)}.border-bottom{border:1px #3e3f3a;border-style:none none solid}.btn-medusa{display:inline-block;*display:inline;padding:4px 10px;margin-bottom:0;*margin-left:.3em;font-size:12px;line-height:16px;*line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px hsla(0,0%,100%,.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-ms-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(0deg,#fff,#e6e6e6);background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:1px;filter:progid:dximagetransform.microsoft.gradient(startColorstr="#ffffff",endColorstr="#e6e6e6",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);*zoom:1;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.2),0 1px 2px rgba(0,0,0,.05)}.btn-medusa.active,.btn-medusa.disabled,.btn-medusa:active,.btn-medusa:hover,.btn-medusa[disabled]{background-color:#e6e6e6;*background-color:#d9d9d9}.btn-medusa:first-child{*margin-left:0}.btn-medusa:hover{color:#333;text-decoration:none;background-color:#e6e6e6;*background-color:#d9d9d9;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-ms-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn-medusa:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn-medusa.active,.btn-medusa:active{background-color:#e6e6e6;background-color:#d9d9d9\9;background-image:none;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-medusa.disabled,.btn-medusa[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;filter:alpha(opacity=65);box-shadow:none}.btn-large{padding:9px 14px;font-size:15px;line-height:normal;border-radius:1px}.btn-large [class^=icon-]{margin-top:1px}.btn-small{padding:5px 9px;font-size:11px;line-height:16px}.btn-small [class^=icon-]{margin-top:-1px}.btn-mini{padding:2px 6px;font-size:11px;line-height:14px}.btn-danger,.btn-danger:hover,.btn-info,.btn-info:hover,.btn-inverse,.btn-inverse:hover,.btn-primary,.btn-primary:hover,.btn-success,.btn-success:hover,.btn-warning,.btn-warning:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.btn-danger.active,.btn-info.active,.btn-inverse.active,.btn-primary.active,.btn-success.active,.btn-warning.active{color:hsla(0,0%,100%,.75)}.btn-primary{background-color:#0074cc;*background-color:#05c;background-image:-ms-linear-gradient(top,#08c,#05c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#05c));background-image:-webkit-linear-gradient(top,#08c,#05c);background-image:-o-linear-gradient(top,#08c,#05c);background-image:-moz-linear-gradient(top,#08c,#05c);background-image:linear-gradient(0deg,#08c,#05c);background-repeat:repeat-x;border-color:#05c #05c #003580;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr="#0088cc",endColorstr="#0055cc",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-primary.active,.btn-primary.disabled,.btn-primary:active,.btn-primary:hover,.btn-primary[disabled]{background-color:#05c;*background-color:#004ab3}.btn-primary.active,.btn-primary:active{background-color:#004099\9}.btn-warning{background-color:#faa732;*background-color:#f89406;background-image:-ms-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(0deg,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr="#fbb450",endColorstr="#f89406",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-warning.active,.btn-warning.disabled,.btn-warning:active,.btn-warning:hover,.btn-warning[disabled]{background-color:#f89406;*background-color:#df8505}.btn-warning.active,.btn-warning:active{background-color:#c67605\9}.btn-danger{background-color:#da4f49;*background-color:#bd362f;background-image:-ms-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(0deg,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr="#ee5f5b",endColorstr="#bd362f",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-danger.active,.btn-danger.disabled,.btn-danger:active,.btn-danger:hover,.btn-danger[disabled]{background-color:#bd362f;*background-color:#a9302a}.btn-danger.active,.btn-danger:active{background-color:#942a25\9}.btn-success{background-color:#5bb75b;*background-color:#51a351;background-image:-ms-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(0deg,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr="#62c462",endColorstr="#51a351",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-success.active,.btn-success.disabled,.btn-success:active,.btn-success:hover,.btn-success[disabled]{background-color:#51a351;*background-color:#499249}.btn-success.active,.btn-success:active{background-color:#408140\9}.btn-info{background-color:#49afcd;*background-color:#2f96b4;background-image:-ms-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(0deg,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr="#5bc0de",endColorstr="#2f96b4",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-info.active,.btn-info.disabled,.btn-info:active,.btn-info:hover,.btn-info[disabled]{background-color:#2f96b4;*background-color:#2a85a0}.btn-info.active,.btn-info:active{background-color:#24748c\9}.btn-inverse{background-color:#414141;*background-color:#222;background-image:-ms-linear-gradient(top,#555,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#555),to(#222));background-image:-webkit-linear-gradient(top,#555,#222);background-image:-o-linear-gradient(top,#555,#222);background-image:-moz-linear-gradient(top,#555,#222);background-image:linear-gradient(0deg,#555,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr="#555555",endColorstr="#222222",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-inverse.active,.btn-inverse.disabled,.btn-inverse:active,.btn-inverse:hover,.btn-inverse[disabled]{background-color:#222;*background-color:#151515}.btn-inverse.active,.btn-inverse:active{background-color:#080808\9}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:1px}@media (min-width:768px){.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;right:12px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #f5f1e4;border-left:6px solid transparent;content:""}}label{font-weight:400}pre{border:1px solid}.alert{padding:10px;text-align:center}#config select:not([size]){width:auto;display:inline}.btn-inline{margin-top:-3px}.input75{width:75px;margin-top:-4px}.input100{width:100px;margin-top:-4px}.input150{width:150px;margin-top:-4px}.input200{width:200px;margin-top:-4px}.input250{width:250px;margin-top:-4px}.input300{width:300px;margin-top:-4px}.input350{width:350px;margin-top:-4px}.max-input75{max-width:75px;margin-top:-4px}.max-input100{max-width:100px;margin-top:-4px}.max-input150{max-width:150px;margin-top:-4px}.max-input200{max-width:200px;margin-top:-4px}.max-input250{max-width:250px;margin-top:-4px}.max-input300{max-width:300px;margin-top:-4px}.max-input350{max-width:350px;margin-top:-4px}select.input-sm{font-size:.9em}div.stepsguide .step p{margin:12px 0}fieldset.sectionwrap{padding:5px;text-align:left;border-width:0;width:100%}legend.legendStep{color:#57442b;margin-bottom:0}div.stepsguide{margin-bottom:15px;overflow:hidden;text-align:left;cursor:pointer;display:table}div.stepsguide .step{display:table-cell;width:33%;font:700 24px Arial,sans-serif;border-bottom:4px solid #57442b}div.stepsguide .disabledstep{color:#c4c4c4;border-bottom:4px solid #8a775e}div.stepsguide .disabledstep p{border-bottom:none}div.stepsguide .step .smalltext{font-size:13px;font-weight:400}div.formpaginate{width:800px;margin-top:1em;overflow:auto;font-weight:700;text-align:center}div.formpaginate .next,div.formpaginate .prev{padding:3px 6px;color:#fff;cursor:hand;cursor:pointer;background:#57442b;border-radius:6px}.stepDiv{padding:15px 0}#tabs .nocheck,.stepDiv .nocheck{padding-left:16px}#tabs label span.component-title,.stepDiv label span.component-title{padding-bottom:10px;float:left;width:172px;margin-right:10px;font-size:13px;font-weight:700}#tabs label span.component-desc,.stepDiv label span.component-desc{padding-bottom:10px;font-size:12px;font-weight:400;display:block;margin-left:182px}div.field-pair input{margin-right:6px;float:left}.tablesorter{width:100%;margin-right:auto;margin-left:auto;color:#000;text-align:left;background-color:#fff;border-spacing:0}.tablesorter td,.tablesorter th{padding:4px;border-top:1px solid #fff;border-left:1px solid #fff;vertical-align:middle}.tablesorter td:first-child,.tablesorter th:first-child{border-left:none}.tablesorter th{color:#fff;text-align:center;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#333;border-collapse:collapse;font-weight:400}.tablesorter .tablesorter-header{padding:4px 18px;cursor:pointer;background-image:url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);background-position:100%;background-repeat:no-repeat}.tablesorter thead .tablesorter-headerDesc{background-color:#555;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7)}.tablesorter thead .tablesorter-headerAsc{background-color:#555;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7)}.tablesorter thead .sorter-false{background-image:none;padding:4px;cursor:default}thead.tablesorter-stickyHeader{border-top:2px solid #fff;border-bottom:2px solid #fff}.defaultTable tr.odd,.tablesorter tr.odd{background-color:#f5f1e4}.defaultTable tr.even,.tablesorter tr.even{background-color:#dfdacf}.tablesorter .filtered{display:none}.tablesorter input.tablesorter-filter{width:98%;height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tablesorter tr.tablesorter-filter-row,.tablesorter tr.tablesorter-filter-row td{text-align:center;background:#eee;border-bottom:1px solid #ddd}.tablesorter input.tablesorter-filter-row .disabled{display:none}.tablesorter-header-inner{padding:0 2px;text-align:center}.tablesorter tfoot tr{color:#fff;text-align:center;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#333;border-collapse:collapse}.tablesorter tfoot a{color:#fff;text-decoration:none}ul.token-input-list{overflow:hidden;height:auto!important;height:1%;width:273px;border:1px solid #ccc;cursor:text;font-size:10px;font-family:Verdana,sans-serif;z-index:999;margin:0;padding:0 0 1px;background-color:#fff;border-radius:3px}ul.token-input-list,ul.token-input-list li{list-style-type:none}ul.token-input-list li input{border:0;padding:3px 4px;background-color:#fff}li.token-input-token{overflow:hidden;height:auto!important;height:1%;margin:3px;padding:3px 5px 0;background-color:#d0efa0;color:#000;font-weight:700;cursor:default;display:block}li.token-input-token img{padding-right:4px;float:left}li.token-input-token input{padding-top:2px!important;padding-right:4px!important;float:left}li.token-input-token p{float:left;padding:0;margin:0;line-height:2!important}li.token-input-token span{float:right;color:#777;cursor:pointer}li.token-input-selected-token{background-color:#08844e;color:#fff}li.token-input-selected-token span{color:#bbb}li.token-input-input-token input{margin:3px!important}div.token-input-dropdown{position:absolute;width:273px;overflow:hidden;border-left:1px solid;border-right:1px solid;border-bottom:1px solid;cursor:default;font-size:11px;font-family:Verdana,sans-serif;z-index:1}div.token-input-dropdown p{margin:0;padding:3px;font-weight:700;color:#777}div.token-input-dropdown ul{margin:0;padding:0}div.token-input-dropdown ul li{background-color:#fff;padding:3px;list-style-type:none}div.token-input-dropdown ul li.token-input-dropdown-item{background-color:#fafafa}div.token-input-dropdown ul li.token-input-dropdown-item2{background-color:#fff}div.token-input-dropdown ul li em{font-weight:700;font-style:normal}div.token-input-dropdown ul li.token-input-selected-dropdown-item{background-color:#6196c2}span.token-input-delete-token{margin:0 1px}.red-text{color:#d33}.clear-left{clear:left}.nextline-block{display:block}#confirmOverlay{width:100%;height:100%;position:fixed;top:0;left:0;background:url(../images/bg.gif);background:-moz-linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)) repeat-x rgba(0,0,0,.5);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.5))) repeat-x rgba(0,0,0,.5);z-index:100000}#confirmBox{background:#f5f1e4;width:460px;position:fixed;left:50%;top:50%;margin:-130px 0 0 -230px;border:1px solid #111;box-shadow:0 0 12px 0 rgba(0,0,0,.175)}#confirmBox h1,#confirmBox p{padding:6px 10px}#confirmBox h1{background-color:#333;border-bottom:1px solid #111;color:#fff;margin:0;font-size:22px;text-shadow:0 1px 1px rgba(0,0,0,.75)}#confirmBox p{padding-top:20px;color:#000;text-shadow:0 1px 1px hsla(0,0%,100%,.75)}#confirmButtons{padding:15px 0;text-align:center}#confirmBox .button{margin-right:15px;padding:2px 20px;text-decoration:none;display:inline-block;color:#fff;text-align:center;text-shadow:0 1px 1px rgba(0,0,0,.75);background-clip:padding-box;border:1px solid #111;border-radius:3px;cursor:pointer;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-image:-webkit-linear-gradient(top,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 50%,transparent 51%,rgba(0,0,0,.25));background-image:-moz-linear-gradient(top,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 50%,transparent 51%,rgba(0,0,0,.25));background-image:-o-linear-gradient(top,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 50%,transparent 51%,rgba(0,0,0,.25));background-image:linear-gradient(180deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 50%,transparent 51%,rgba(0,0,0,.25));box-shadow:inset 0 1px hsla(0,0%,100%,.1),inset 0 -1px 3px rgba(0,0,0,.3),inset 0 0 0 1px hsla(0,0%,100%,.08),0 1px 2px rgba(0,0,0,.15)}#confirmBox .button:last-child{margin-right:0}#confirmBox .green{background-color:#3f7636}#confirmBox .green:hover{background-color:#48873e}#confirmBox .red{background-color:#8d2d2b}#confirmBox .red:hover{background-color:#a13331}.ui-pnotify-sticker{margin-top:-12px}.ui-pnotify-closer{margin-top:-12px;margin-right:-10px}.ui-button{display:inline-block;*display:inline;padding:4px 10px;margin-bottom:0;*margin-left:.3em;font-size:12px;line-height:16px;*line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px hsla(0,0%,100%,.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-ms-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(0deg,#fff,#e6e6e6);background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:1px;filter:progid:dximagetransform.microsoft.gradient(startColorstr="#ffffff",endColorstr="#e6e6e6",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);*zoom:1;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.2),0 1px 2px rgba(0,0,0,.05)}.login{display:block}.login h1{padding:0 0 10px;font-size:60px;font-family:Lobster,cursive;font-weight:400}.login form{padding:0;height:300px;width:400px;position:fixed;left:50%;top:50%;margin:-200px 0 0 -200px}@media (max-width:480px){.login form{padding:0;height:300px;width:90%;position:absolute;left:5%;top:10px;margin:0}}.login .ctrlHolder{padding:0;margin:0 0 20px}.login .ctrlHolder:hover{background:none}.login input[type=password],.login input[type=text]{width:100%!important;font-size:25px;padding:14px!important}.login .remember_me{font-size:15px;float:left;width:150px;padding:20px 0}.login .remember_me .check{margin:5px 5px 0 0}.login .button{font-size:25px;padding:20px;float:right}.popularShow{margin-bottom:30px}.popularShow h3{padding:0;display:inline-block;margin:0 30px 0 0}.popularShow .left{float:left;width:100px}.popularShow .right{float:left;width:600px}.popularShow .year{font-style:italic;opacity:.7}.popularShow .coverImage{width:80%;padding-left:20px;margin-top:4px}.popularShow .rating{font-size:90%;display:inline-block;margin-left:0}.popularShow p{margin-bottom:0}table.home-header{margin-top:20px;margin-bottom:10px}input.tablesorter-filter.disabled{display:none}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header{font-weight:400!important}div#searchNotification{display:inline-block}.left-30{margin-left:-30px}.right-30{margin-right:-30px}.vMiddle{vertical-align:middle}.curHelp{cursor:help}#snatchhistory.tablesorter tbody:first-child tr:first-child{height:60px}#snatchhistory.tablesorter tbody:nth-child(2) tr:nth-child(2),#snatchhistory.tablesorter tbody:nth-child(4) tr:first-child{height:30px}#snatchhistory th.row-seasonheader{vertical-align:bottom;width:auto}#snatchhistory th.row-seasonheader h3{display:inline}#snatchhistory.tablesorter tbody:nth-child(2) th:first-child,#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(2),#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(3){width:15%;text-align:center!important}#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(4){width:52%;text-align:center!important}#snatchhistory.tablesorter td:first-child{width:15%;text-align:center!important}#snatchhistory.tablesorter td:nth-child(2){width:18%;text-align:center!important}#snatchhistory.tablesorter td:nth-child(3){width:15%;text-align:center!important}#snatchhistory.tablesorter td:nth-child(4){width:52%}#srchresults.tablesorter td:first-child{width:56%}#srchresults.tablesorter td:nth-child(n+2){width:4%;text-align:center}.release-name-ellipses{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px}.release-name-ellipses-toggled{overflow:visible;white-space:nowrap;position:relative;max-width:250px}.release-name-ellipses:hover{text-decoration:underline}.release-name-ellipses-toggled span{background-color:#bedeed;border:1px solid #888;padding:5px;box-shadow:3px 3px 3px rgba(17,17,17,.5)}@media (max-width:767px){.pull-xs-right{float:right!important}.pull-xs-left{float:left!important}.checkbox-inline.pull-xs-left+.checkbox-inline.pull-xs-left,.radio-inline.pull-xs-left+.radio-inline.pull-xs-left{margin-left:0}.checkbox-inline.pull-xs-left,.radio-inline.pull-xs-left{margin-right:10px}}.top-5{margin-top:5px}.top-10{margin-top:10px}.top-15{margin-top:15px}.top-20{margin-top:20px}.top-25{margin-top:25px}.bottom-5{margin-bottom:5px}.bottom-10{margin-bottom:10px}.bottom-15{margin-bottom:15px}.bottom-20{margin-bottom:20px}.bottom-25{margin-bottom:25px}.horizontal-scroll{overflow-x:auto}@media (max-width:767px){.col-md-12>.horizontal-scroll{margin:0 -13px}}@media screen and (min-width:0) and (max-width:768px){.full-width{display:none}.mobile{display:block}.mobile .ui-icon{display:inline-block}.dropdown-menu-custom>li>a{padding:15px 36px 15px 5px;border-bottom-style:solid;border-bottom-width:1px}.mobile>ul>li>a{padding-top:15px;padding-bottom:15px;padding-left:8px}.mobile .img-align{width:25px;float:left}}@media screen and (min-width:769px){.full-width{display:block}.mobile{display:none}}.padding-right-15{padding-right:15px!important}.backlog-quality{color:#fff;background-color:#373737}@media (max-width:1700px){#key-padding{margin-left:0;margin-right:5px}}.triggerhighlight{cursor:default}.d-block{display:block} \ No newline at end of file diff --git a/themes/dark/assets/css/themed.css b/themes/dark/assets/css/themed.css index 8cf4ef75a0..a8709a758f 100644 --- a/themes/dark/assets/css/themed.css +++ b/themes/dark/assets/css/themed.css @@ -1,1146 +1 @@ -/* ======================================================================= -inc_top.mako -========================================================================== */ - -.ui-dialog, -.ui-dialog-buttonpane { - background: rgb(42, 42, 42) !important; -} - -.ui-widget-content { - background: rgb(96, 96, 96); - border: 1px solid rgb(17, 17, 17); - color: rgb(255, 255, 255); -} - -.ui-widget-content a { - color: rgb(255, 255, 255); -} - -.ui-widget-content a:hover { - color: rgb(9, 162, 255); - text-decoration: none; -} - -.ui-widget-header { - background: rgb(61, 61, 61); - border: 1px solid rgb(17, 17, 17); - color: rgb(255, 255, 255); -} - -.ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header .ui-state-default { - border: 1px solid rgb(17, 17, 17); -} - -.ui-state-hover, -.ui-widget-content .ui-state-hover, -.ui-widget-header .ui-state-hover, -.ui-state-focus, -.ui-widget-content .ui-state-focus, -.ui-widget-header .ui-state-focus { - background: rgb(61, 61, 61); -} - -.ui-state-active, -.ui-widget-content .ui-state-active, -.ui-widget-header .ui-state-active { - background: rgb(61, 61, 61); -} - -.ui-icon, -.ui-widget-content .ui-icon { - background-image: url("../css/lib/images/ui-icons_ffffff_256x240.png"); -} - -.ui-state-default .ui-icon { - background-image: url('../css/lib/images/ui-icons_09a2ff_256x240.png'); -} - -.ui-widget-overlay { - background: rgb(0, 0, 0) url("../css/lib/images/ui-bg_flat_0_000000_40x100.png") 50% 50% repeat-x; -} - -.ui-state-default a, -.ui-state-default a:link, -.ui-state-default a:visited { - color: rgb(255, 255, 255); - text-decoration: none; -} - -.ui-dialog .ui-dialog-titlebar-close { - background: rgb(51, 51, 51); -} - -.ui-tabs { - padding: 0; - background: none; - border-width: 0; -} - -.ui-tabs .ui-tabs-panel { - background-color: rgb(61, 61, 61) !important; - border: 1px solid rgb(17, 17, 17) !important; -} - -.ui-tabs-nav > :not(.ui-tabs-active) { - background: rgb(51, 51, 51); - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} - -/* ======================================================================= -inc_bottom.mako -========================================================================== */ - -.footer { - width: 100%; - padding: 20px 0; - color: rgb(255, 255, 255); - text-align: center; - font-size: 12px; -} - -.footerhighlight { - color: rgb(9, 162, 255); - display: inline; -} - -/* ======================================================================= -home.mako -========================================================================== */ - -.imgbanner .banner { - border-color: rgb(17, 17, 17); -} - -.imgsmallposter .small { - border-color: rgb(17, 17, 17); -} - -.progressbarText { - position: absolute; - top: 0; - width: 100%; - height: 100%; - overflow: visible; - text-align: center; - text-shadow: 0 0 0.1em rgb(0, 0, 0); - vertical-align: middle; - font-size: 12px; - color: rgb(255, 255, 255); -} - -.loading-spinner { - background-image: url("../images/loading32-dark.gif"); -} - -.show-container { - background-color: rgb(51, 51, 51); - border-color: rgb(51, 51, 51); -} - -.show-image { - border: 1px solid rgba(220, 220, 220, 0.43); -} - -.show-title::after { - content: ""; - pointer-events: none; - position: absolute; - width: 20px; - height: 100%; - top: 0; - right: 0; - background-image: -webkit-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0)); - background-image: -moz-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0)); - background-image: -ms-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0)); - background-image: -o-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0)); - background-image: linear-gradient(to left, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0)); -} - -.show-date::after { - content: ""; - pointer-events: none; - position: absolute; - width: 20px; - height: 100%; - top: 0; - right: 0; - background-image: -webkit-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0)); - background-image: -moz-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0)); - background-image: -ms-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0)); - background-image: -o-linear-gradient(right, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0)); - background-image: linear-gradient(to left, rgba(51, 51, 51, 1), rgba(51, 51, 51, 0)); -} - -/* Used by history.mako */ -td.tvShow a { - color: rgb(255, 255, 255); - text-decoration: none; -} - -td.tvShow a:hover { - cursor: pointer; - color: rgb(9, 162, 255); -} - -/* Used by home.vue, for the anchors to displayShow. */ -span.tvShow a { - color: rgb(255, 255, 255); - text-decoration: none; -} - -span.tvShow a:hover { - cursor: pointer; - color: rgb(9, 162, 255); -} - -.popover { - margin-left: -50px; - background-color: rgb(51, 51, 51); -} - -.popover-title { - background-color: rgb(35, 35, 35); - border-bottom-color: #111; -} - -.popover-content { - background-color: rgb(51, 51, 51); -} - -.popover.top .arrow::after { - border-top-color: rgb(51, 51, 51); -} - -.popover.bottom .arrow::after { - border-bottom-color: rgb(51, 51, 51); -} - -.popover.right .arrow::after { - border-right-color: rgb(51, 51, 51); -} - -.popover.left .arrow::after { - border-left-color: rgb(51, 51, 51); -} - -/* ======================================================================= -home_addShows.mako -========================================================================== */ - -/* ======================================================================= -home_newShow.mako -========================================================================== */ - -#displayText { - padding: 8px; - overflow: hidden; - font-size: 14px; - background-color: rgb(95, 95, 95); - border: 1px solid rgb(125, 125, 125); -} - -table.search-results { - margin-top: 15px; - border-collapse: collapse; - border: 1px solid rgb(125, 125, 125); -} - -table.search-results th, -table.search-results td { - border: 1px solid rgb(125, 125, 125); - padding: 5px; - vertical-align: middle; - text-align: left; - max-width: 370px; -} - -table.search-results th { - background-color: rgb(95, 95, 95); -} - -table.search-results tbody tr:hover { - background-color: rgb(95, 95, 95); -} - -table.search-results tbody tr.selected, -table.search-results tbody tr.selected:hover { - background-color: rgb(72, 84, 93); -} - -/* ======================================================================= -home_addExistingShow.mako -========================================================================== */ - -ul#rootDirStaticList li { - padding: 4px 5px; - margin: 2px; - list-style: none outside none; - cursor: pointer; - background: rgb(61, 61, 61); - border-color: rgb(239, 239, 239); - color: rgb(255, 255, 255); -} - -/* ======================================================================= -home_recommendedShows.mako -========================================================================== */ - -.recommended-container { - margin: 12px; - width: 188px; - background-color: rgb(51, 51, 51); - border: 1px solid rgb(17, 17, 17); - border-radius: 6px; -} - -/* ======================================================================= -displayShow.mako -========================================================================== */ - -#prevShow, -#nextShow, -#topcontrol { - -webkit-filter: "none"; - filter: none; -} - -h1.title { - padding-bottom: 12px; - margin-bottom: 15px; - line-height: 30px; - text-align: left; - text-rendering: optimizeLegibility; - border-bottom: 1px solid rgb(85, 85, 85); -} - -ul.tags li { - margin-right: 4px; - margin-bottom: 5px; - padding: 2px 7px 2px 25px; - background: url(../images/tag.png) no-repeat scroll 5px 4px rgb(21, 82, 143); - border-radius: 1px; - border: 1px solid rgb(17, 17, 17); - color: rgb(255, 255, 255); - font: 14px/18px "Open Sans", "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - text-shadow: 0 1px rgba(0, 0, 0, 0.8); - float: left; -} - -.tvshowImg { - border: 1px solid rgb(17, 17, 17); - border-radius: 5px; -} - -.shadow-background { - background-color: rgb(61, 61, 61, 0.8); -} - -.defaultTable { - table-layout: auto; - width: 100%; - border-collapse: collapse; - border-spacing: 0; - text-align: center; - border: none; - empty-cells: show; - color: rgb(0, 0, 0); -} - -.defaultTable th { - color: rgb(255, 255, 255); - text-align: center; - background-color: rgb(55, 55, 55); - white-space: nowrap; -} - -.defaultTable th, -.defaultTable td { - border-top: 1px solid rgb(34, 34, 34); - border-left: 1px solid rgb(34, 34, 34); - padding: 4px; -} - -th.row-seasonheader { - border: none; - background-color: rgb(34, 34, 34); - color: rgb(255, 255, 255); - padding-top: 15px; - text-align: left; -} - -tr.seasonheader { - padding-bottom: 5px; - padding-top: 10px; - text-align: left; - border: none; -} - -th.col-checkbox, -td.col-checkbox { - width: 30px; - border-left: none; - text-align: center; -} - -.show-banner { - border: 1px solid rgba(220, 220, 220, 0.43); -} - -/* ======================================================================= -schedule.mako -========================================================================== */ - -h2.day, -h2.network { - margin: 10px 0; - font-size: 24px; - line-height: 36px; - font-weight: bold; - letter-spacing: 1px; - color: rgb(255, 255, 255); - text-align: center; - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(51, 51, 51); -} - -.tvshowDiv { - display: block; - clear: both; - border: 1px solid rgb(204, 204, 204); - margin: auto; - padding: 0; - text-align: left; - width: 750px; - border-radius: 5px; - background: rgb(255, 255, 255); - cursor: default; - overflow: hidden; - color: rgb(0, 0, 0); -} - -.tvshowDiv a:hover { - color: rgb(9, 162, 255); -} - -#showListTable span.tvShow a { - color: rgb(0, 0, 0); -} - -#showListTable span.tvShow a:hover { - cursor: pointer; - color: rgb(9, 162, 255); -} - -table.cal-odd { - background-color: rgb(51, 51, 51); -} - -table.cal-even { - background-color: rgb(61, 61, 61); -} - -.calendarShow .text .airtime { - color: rgb(255, 255, 255); -} - -.calendarShow .text .episode-title { - color: rgb(170, 170, 170); -} - -/* ======================================================================= -config*.mako -========================================================================== */ - -.component-group { - padding: 15px 15px 25px; - border-bottom: 1px dotted rgb(85, 85, 85); -} - -.component-group-desc p { - width: 90%; - margin: 10px 0; - color: rgb(221, 221, 221); -} - -.component-item { - border-bottom: 1px dotted rgb(85, 85, 85); -} - -#provider_order_list li, -#service_order_list li { - padding: 5px; - margin: 5px 0; - font-size: 14px; - background: rgb(51, 51, 51) !important; - color: rgb(255, 255, 255); -} - -#provider_order_list .ui-state-default.torrent-provider { - background-color: rgb(85, 85, 85) !important; -} - -#provider_order_list .ui-state-default.nzb-provider { - background-color: rgb(34, 34, 34) !important; -} - -/* ======================================================================= -config_postProcessing.mako -========================================================================== */ - -#config div.example { - padding: 10px; - background-color: rgb(51, 51, 51); - border: 1px solid rgb(17, 17, 17); -} - -.Key { - width: 100%; - padding: 6px; - font-size: 13px; - background-color: rgb(61, 61, 61); - border: 1px solid rgb(17, 17, 17); - border-collapse: collapse; - border-spacing: 0; -} - -.Key th, -.tableHeader { - padding: 3px 9px; - margin: 0; - color: rgb(255, 255, 255); - text-align: center; - background: rgb(55, 55, 55); -} - -.Key tr { - border-bottom: 1px solid rgb(17, 17, 17); -} - -.Key tr.even { - background-color: rgb(51, 51, 51); -} - -/* ======================================================================= -config_notifications.mako -========================================================================== */ - -div.metadata_options { - padding: 7px; - overflow: auto; - background: rgb(51, 51, 51); - color: rgb(255, 255, 255); - border: 1px solid rgb(17, 17, 17); -} - -div.metadata_options label:hover { - color: rgb(255, 255, 255); - background-color: rgb(21, 82, 143); - cursor: pointer; -} - -div.metadata_options label { - display: block; - padding-left: 7px; - line-height: 20px; - color: rgb(255, 255, 255); -} - -div.metadata_example label { - display: block; - line-height: 21px; - color: rgb(255, 255, 255); - cursor: pointer; -} - -/* ======================================================================= -manage*.mako -========================================================================== */ - -.separator { - font-size: 90%; - color: rgb(255, 255, 255); -} - -/* ======================================================================= -Global -========================================================================== */ - -span.path { - padding: 3px 6px; - color: rgb(9, 162, 255); - background-color: rgb(51, 51, 51); -} - -/* ======================================================================= -bootstrap Overrides -========================================================================== */ - -body { - overflow-y: scroll; - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; - color: rgb(255, 255, 255); - background-color: rgb(34, 34, 34); -} - -/* navbar styling */ -.navbar-default { - background-color: rgb(51, 51, 51); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#333333', endColorstr='#232323'); - /* stylelint-disable declaration-block-no-shorthand-property-overrides */ - background: -webkit-gradient(linear, left top, left bottom, from(rgb(51, 51, 51)), to(rgb(35, 35, 35))); - background: -moz-linear-gradient(top, rgb(51, 51, 51), rgb(35, 35, 35)); - /* stylelint-enable */ - border-color: rgb(62, 63, 58); -} - -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: rgb(62, 63, 58); -} - -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - background-color: rgb(119, 119, 119); -} - -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: rgb(255, 255, 255); - background-color: rgb(119, 119, 119); -} - -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: rgb(119, 119, 119); -} - -.navbar-default .navbar-toggle .icon-bar { - background-color: rgb(119, 119, 119); -} - -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: rgb(119, 119, 119); - color: rgb(255, 255, 255); -} - -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: rgb(255, 255, 255); - background-color: rgb(119, 119, 119); - } -} - -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - color: rgb(255, 255, 255); - text-decoration: none; - background-color: rgb(119, 119, 119); -} - -.dropdown-menu > li > a { - padding: 4px 36px 4px 20px; - color: rgb(255, 255, 255); -} - -.dropdown-menu { - background-color: rgb(41, 41, 41); - border: 1px solid rgba(0, 0, 0, 0.15); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176); -} - -/* Vueified DisplayShow uses the vue component vue-good-table to display tables. */ -.dropdown-toggle a:hover, -.dropdown-toggle a:focus { - color: rgb(255, 255, 255); - text-decoration: none; - background-color: rgb(119, 119, 119); -} - -.dropdown-toggle { - color: rgb(255, 255, 255); - background-color: rgb(41, 41, 41); - border: 1px solid rgba(0, 0, 0, 0.15); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176); -} - -.vgt-dropdown-menu { - background-color: rgb(41, 41, 41); - border: 1px solid rgba(0, 0, 0, 0.15); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176); -} - -.vgt-dropdown-menu > li > span:hover, -.vgt-dropdown-menu > li > span:focus { - color: rgb(255, 255, 255); - text-decoration: none; - background-color: rgb(119, 119, 119); -} - -.vgt-dropdown-menu > li > span { - padding: 4px 36px 4px 20px; - color: rgb(255, 255, 255); -} - -/* Generic vue-good-table dark template styling */ -.vgt-table { - color: rgb(255, 255, 255); -} - -.vgt-table th, -.vgt-table td { - border-top: rgb(34, 34, 34) 1px solid; - border-left: rgb(34, 34, 34) 1px solid; -} - -.vgt-table th { - color: rgb(255, 255, 255); - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(85, 85, 85); -} - -.vgt-table tr:nth-child(even) { - background-color: rgb(46, 46, 46); -} - -.vgt-table tr:nth-child(odd) { - background-color: rgb(51, 51, 51); -} - -/* submenu styling */ -#sub-menu-container { - background-color: rgb(41, 41, 41); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#414141', endColorstr='#292929'); - /* stylelint-disable declaration-block-no-shorthand-property-overrides */ - background: -webkit-gradient(linear, left top, left bottom, from(rgb(65, 65, 65)), to(rgb(41, 41, 41))); - background: -moz-linear-gradient(top, rgb(65, 65, 65), rgb(41, 41, 41)); - /* stylelint-enable */ - border-color: rgb(62, 63, 58); -} - -.btn-medusa { - color: rgb(255, 255, 255); - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); - background-color: rgb(97, 97, 97); - background-image: -ms-linear-gradient(top, rgb(51, 51, 51), rgb(85, 85, 85)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(51, 51, 51)), to(rgb(85, 85, 85))); - background-image: -webkit-linear-gradient(top, rgb(85, 85, 85), rgb(51, 51, 51)); - background-image: -o-linear-gradient(top, rgb(85, 85, 85), rgb(51, 51, 51)); - background-image: linear-gradient(to top, rgb(85, 85, 85), rgb(51, 51, 51)); - background-image: -moz-linear-gradient(top, rgb(85, 85, 85), rgb(51, 51, 51)); - background-repeat: repeat-x; - border: 1px solid rgb(17, 17, 17); - *border: 0; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - border-color: rgb(17, 17, 17) rgb(17, 17, 17) rgb(17, 17, 17); - border-bottom-color: rgb(17, 17, 17); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#297AB8', endColorstr='#15528F', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -.btn-medusa:hover, -.btn-medusa:active, -.btn-medusa.active, -.btn-medusa.disabled, -.btn-medusa[disabled] { - background-color: rgb(30, 30, 30); - color: rgb(255, 255, 255); -} - -.btn-medusa:hover { - text-decoration: none; - background-color: rgb(30, 30, 30); - color: rgb(255, 255, 255); - background-position: 0 -150px; - -webkit-transition: background-position 0s linear; - -moz-transition: background-position 0s linear; - -ms-transition: background-position 0s linear; - -o-transition: background-position 0s linear; - transition: background-position 0s linear; -} - -.btn-medusa:focus { - outline: thin dotted rgb(51, 51, 51); - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; - color: rgb(255, 255, 255); -} - -.btn-medusa.active, -.btn-medusa:active { - background-color: rgb(30, 30, 30); - background-image: none; - color: rgb(255, 255, 255); - outline: 0; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -.btn-medusa.disabled, -.btn-medusa[disabled] { - cursor: default; - background-color: rgb(97, 97, 97); - color: rgb(255, 255, 255); - background-image: none; - opacity: 0.65; - filter: alpha(opacity=65); - box-shadow: none; -} - -@media (min-width: 768px) { - .navbar .nav > li > .dropdown-menu::after { - position: absolute; - top: -6px; - right: 12px; - display: inline-block; - border-right: 6px solid transparent; - border-bottom: 6px solid rgb(51, 51, 51); - border-left: 6px solid transparent; - content: ""; - } -} - -pre { - color: rgb(255, 255, 255); - background-color: rgb(61, 61, 61); - border-color: rgb(17, 17, 17); -} - -/* ======================================================================= -browser.css overrides -========================================================================== */ - -.fileBrowserDialog ul li { - margin: 2px 0; - list-style-type: none; - cursor: pointer; - background: rgb(51, 51, 51) !important; -} - -.fileBrowserDialog ul li a:hover { - color: rgb(9, 162, 255); - background: none !important; -} - -/* ======================================================================= -formWizard.css -========================================================================== */ - -legend.legendStep { - color: rgb(255, 255, 255); - margin-bottom: 0; -} - -div.stepsguide .step { - margin: 12px 0; - border-bottom: 4px solid rgb(35, 175, 220); -} - -div.stepsguide .step p { - margin: 12px 0; -} - -div.stepsguide .disabledstep { - border-bottom: 4px solid rgb(17, 120, 179); -} - -div.formpaginate .prev, -div.formpaginate .next { - padding: 3px 6px; - color: rgb(255, 255, 255); - cursor: hand; - cursor: pointer; - background: rgb(95, 95, 95); - -webkit-border-radius: 6px; - border-radius: 6px; -} - -/* ======================================================================= -pnotify.css -========================================================================== */ - -.ui-pnotify-container { - border: 1px solid rgb(17, 17, 17); - background-image: -moz-linear-gradient(rgb(51, 51, 51), rgb(61, 61, 61)) !important; - background-image: linear-gradient(rgb(51, 51, 51), rgb(61, 61, 61)) !important; - background-image: -webkit-linear-gradient(rgb(51, 51, 51), rgb(61, 61, 61)) !important; - background-image: -o-linear-gradient(rgb(51, 51, 51), rgb(61, 61, 61)) !important; - filter: progid:dximagetransform.microsoft.gradient(startcolorstr=rgb(51, 51, 51), endcolorstr=rgb(61, 61, 61)) !important; - -ms-filter: progid:dximagetransform.microsoft.gradient(startcolorstr=rgb(51, 51, 51), endcolorstr=rgb(61, 61, 61)) !important; - box-shadow: 0 0 2px rgb(0, 0, 0); -} - -.ui-pnotify-title { - color: rgb(255, 255, 255); -} - -.ui-pnotify-text { - color: rgb(255, 255, 255); -} - -/* ======================================================================= -tablesorter.css -========================================================================== */ - -.tablesorter { - width: 100%; - margin-right: auto; - margin-left: auto; - color: rgb(255, 255, 255); - text-align: left; - background-color: rgb(51, 51, 51); - border-spacing: 0; -} - -.tablesorter th, -.tablesorter td { - padding: 4px; - border-top: rgb(34, 34, 34) 1px solid; - border-left: rgb(34, 34, 34) 1px solid; - vertical-align: middle; -} - -.tablesorter th { - color: rgb(255, 255, 255); - text-align: center; - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(85, 85, 85); - border-collapse: collapse; - font-weight: normal; -} - -.tablesorter thead .tablesorter-headerDesc { - background-color: rgb(85, 85, 85); - background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); -} - -.tablesorter thead .tablesorter-headerAsc { - background-color: rgb(85, 85, 85); - background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); -} - -thead.tablesorter-stickyHeader { - border-top: 2px solid rgb(34, 34, 34); - border-bottom: 2px solid rgb(34, 34, 34); -} - -/* Zebra Widget - row alternating colors */ -.tablesorter tr.odd, -.defaultTable tr.odd { - background-color: rgb(51, 51, 51); -} - -.tablesorter tr.even, -.defaultTable tr.even { - background-color: rgb(46, 46, 46); -} - -.tablesorter tr.tablesorter-filter-row, -.tablesorter tr.tablesorter-filter-row td { - text-align: center; - background: rgb(51, 51, 51); - border-bottom: 1px solid rgb(17, 17, 17); -} - -/* hidden filter row */ -.tablesorter-filter-row.hideme td { - /* Change the padding to modify the thickness of the closed filter row (height = padding x 2) */ - padding: 2px; - margin: 0; - line-height: 0; - cursor: pointer; -} - -.tablesorter-filter-row.hideme * { - height: 1px; - min-height: 0; - border: 0; - padding: 0; - margin: 0; - opacity: 0; /* Don't use visibility: hidden because it disables tabbing */ - filter: alpha(opacity=0); -} - -#showListTable tbody { - color: rgb(0, 0, 0); -} - -/* ======================================================================= -token-input.css -========================================================================== */ - -div.token-input-dropdown { - background-color: rgb(255, 255, 255); - color: rgb(0, 0, 0); - border-left-color: rgb(204, 204, 204); - border-right-color: rgb(204, 204, 204); - border-bottom-color: rgb(204, 204, 204); -} - -/* ======================================================================= -jquery.confirm.css -========================================================================== */ - -#confirmBox { - background: rgb(34, 34, 34); - width: 460px; - position: fixed; - left: 50%; - top: 50%; - margin: -130px 0 0 -230px; - border: 1px solid rgb(17, 17, 17); - box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.175); -} - -#confirmBox h1 { - background-color: rgb(55, 55, 55); - border-bottom: 1px solid rgb(17, 17, 17); - color: rgb(255, 255, 255); - margin: 0; - font-size: 22px; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); -} - -#confirmBox p { - padding-top: 20px; - color: rgb(255, 255, 255); - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); -} - -/* ======================================================================= -bootstrap modal -========================================================================== */ - -.modal-content { - background: rgb(34, 34, 34); - border-radius: 0; -} - -.modal-body { - background: rgb(34, 34, 34); -} - -.modal-header { - padding: 9px 15px; - border-bottom: none; - border-radius: 0; - background-color: rgb(55, 55, 55); -} - -/* ======================================================================= -bootstrap panel -========================================================================== */ - -.panel-default { - background-color: rgb(61, 61, 61); - border-color: rgb(17, 17, 17); -} - -.panel-heading { - background-color: rgb(61, 61, 61) !important; - color: rgb(255, 255, 255) !important; -} - -/* ======================================================================= -new #confirmBox -@TODO THIS NEEDS TO BE FIXED! -========================================================================== */ -.modal-dialog { - min-width: 50%; - position: relative; - margin: 30px auto; - border: 1px solid rgb(17, 17, 17); - box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.175); - border-radius: 0; -} - -.modal-footer { - border-top: none; - text-align: center; -} - -.confirmation-modal { - background: -moz-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)) repeat-x rgba(0, 0, 0, 0.5); - background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.5))) repeat-x rgba(0, 0, 0, 0.5); -} - -.modal-footer button { - margin-right: 15px; - padding: 2px 15px; - text-decoration: none; - display: inline-block; - color: rgb(255, 255, 255); - text-align: center; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); - background-clip: padding-box; - border: 1px solid rgb(17, 17, 17); - border-radius: 3px; - cursor: pointer; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0.25)); - background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0.25)); - background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0.25)); - background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0.25)); - box-shadow: inset 0 1px rgba(255, 255, 255, 0.1), inset 0 -1px 3px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.08), 0 1px 2px rgba(0, 0, 0, 0.15); -} - -.modal-footer button:last-child { - margin-right: 0; -} - -.modal-footer button.confirm { - background-color: rgb(63, 118, 54); -} - -.modal-footer button.confirm:hover { - background-color: rgb(72, 135, 62); -} - -.modal-footer button.cancel { - background-color: rgb(141, 45, 43); -} - -.modal-footer button.cancel:hover { - background-color: rgb(161, 51, 49); -} - -/* ======================================================================= -vue-nav-tabs -========================================================================== */ - -.vue-tabs .tab-content { - background-color: rgb(61, 61, 61) !important; - border-color: rgb(17, 17, 17) !important; -} - -.nav-tabs li.tab { - border-color: rgb(17, 17, 17); -} - -.nav-tabs li.tab.active { - background-color: rgb(61, 61, 61) !important; - border-color: rgb(17, 17, 17) !important; -} - -.vue-tabs li.tab:not(.active) { - background: rgb(51, 51, 51); -} - -.nav-tabs li.tab a, -.nav-tabs li.tab a:hover, -.nav-tabs li.tab a:active, -.nav-tabs li.tab a:focus { - color: rgb(255, 255, 255); -} - -/* End of nav tabs section */ +.ui-dialog,.ui-dialog-buttonpane{background:#2a2a2a!important}.ui-widget-content{background:#606060;border:1px solid #111;color:#fff}.ui-widget-content a{color:#fff}.ui-widget-content a:hover{color:#09a2ff;text-decoration:none}.ui-widget-header{background:#3d3d3d;color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header,.ui-widget-header .ui-state-default{border:1px solid #111}.ui-state-active,.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-active,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-active,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{background:#3d3d3d}.ui-icon,.ui-widget-content .ui-icon{background-image:url(../css/lib/images/ui-icons_ffffff_256x240.png)}.ui-state-default .ui-icon{background-image:url(../css/lib/images/ui-icons_09a2ff_256x240.png)}.ui-widget-overlay{background:#000 url(../css/lib/images/ui-bg_flat_0_000000_40x100.png) 50% 50% repeat-x}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#fff;text-decoration:none}.ui-dialog .ui-dialog-titlebar-close{background:#333}.ui-tabs{padding:0;background:none;border-width:0}.ui-tabs .ui-tabs-panel{background-color:#3d3d3d!important;border:1px solid #111!important}.ui-tabs-nav>:not(.ui-tabs-active){background:#333;border-top-left-radius:5px;border-top-right-radius:5px}.footer{width:100%;padding:20px 0;color:#fff;text-align:center;font-size:12px}.footerhighlight{color:#09a2ff;display:inline}.imgbanner .banner,.imgsmallposter .small{border-color:#111}.progressbarText{position:absolute;top:0;width:100%;height:100%;overflow:visible;text-align:center;text-shadow:0 0 .1em #000;vertical-align:middle;font-size:12px;color:#fff}.loading-spinner{background-image:url(../images/loading32-dark.gif)}.show-container{background-color:#333;border-color:#333}.show-image{border:1px solid hsla(0,0%,86.3%,.43)}.show-date:after,.show-title:after{content:"";pointer-events:none;position:absolute;width:20px;height:100%;top:0;right:0;background-image:-webkit-linear-gradient(right,#333,rgba(51,51,51,0));background-image:-moz-linear-gradient(right,#333,rgba(51,51,51,0));background-image:-ms-linear-gradient(right,#333,rgba(51,51,51,0));background-image:-o-linear-gradient(right,#333,rgba(51,51,51,0));background-image:linear-gradient(270deg,#333,rgba(51,51,51,0))}td.tvShow a{color:#fff;text-decoration:none}td.tvShow a:hover{cursor:pointer;color:#09a2ff}span.tvShow a{color:#fff;text-decoration:none}span.tvShow a:hover{cursor:pointer;color:#09a2ff}.popover{margin-left:-50px;background-color:#333}.popover-title{background-color:#232323;border-bottom-color:#111}.popover-content{background-color:#333}.popover.top .arrow:after{border-top-color:#333}.popover.bottom .arrow:after{border-bottom-color:#333}.popover.right .arrow:after{border-right-color:#333}.popover.left .arrow:after{border-left-color:#333}#displayText{padding:8px;overflow:hidden;font-size:14px;background-color:#5f5f5f;border:1px solid #7d7d7d}table.search-results{margin-top:15px;border-collapse:collapse;border:1px solid #7d7d7d}table.search-results td,table.search-results th{border:1px solid #7d7d7d;padding:5px;vertical-align:middle;text-align:left;max-width:370px}table.search-results tbody tr:hover,table.search-results th{background-color:#5f5f5f}table.search-results tbody tr.selected,table.search-results tbody tr.selected:hover{background-color:#48545d}ul#rootDirStaticList li{padding:4px 5px;margin:2px;list-style:none outside none;cursor:pointer;background:#3d3d3d;border-color:#efefef;color:#fff}.recommended-container{margin:12px;width:188px;background-color:#333;border:1px solid #111;border-radius:6px}#nextShow,#prevShow,#topcontrol{-webkit-filter:"none";filter:none}h1.title{padding-bottom:12px;margin-bottom:15px;line-height:30px;text-align:left;text-rendering:optimizeLegibility;border-bottom:1px solid #555}ul.tags li{margin-right:4px;margin-bottom:5px;padding:2px 7px 2px 25px;background:url(../images/tag.png) no-repeat scroll 5px 4px #15528f;border-radius:1px;border:1px solid #111;color:#fff;font:14px/18px Open Sans,Helvetica Neue,Helvetica,Arial,Geneva,sans-serif;text-shadow:0 1px rgba(0,0,0,.8);float:left}.tvshowImg{border:1px solid #111;border-radius:5px}.shadow-background{background-color:rgba(61,61,61,.8)}.defaultTable{table-layout:auto;width:100%;border-collapse:collapse;border-spacing:0;text-align:center;border:none;empty-cells:show;color:#000}.defaultTable th{color:#fff;text-align:center;background-color:#373737;white-space:nowrap}.defaultTable td,.defaultTable th{border-top:1px solid #222;border-left:1px solid #222;padding:4px}th.row-seasonheader{border:none;background-color:#222;color:#fff;padding-top:15px;text-align:left}tr.seasonheader{padding-bottom:5px;padding-top:10px;text-align:left;border:none}td.col-checkbox,th.col-checkbox{width:30px;border-left:none;text-align:center}.show-banner{border:1px solid hsla(0,0%,86.3%,.43)}h2.day,h2.network{margin:10px 0;font-size:24px;line-height:36px;font-weight:700;letter-spacing:1px;color:#fff;text-align:center;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#333}.tvshowDiv{display:block;clear:both;border:1px solid #ccc;margin:auto;padding:0;text-align:left;width:750px;border-radius:5px;background:#fff;cursor:default;overflow:hidden;color:#000}.tvshowDiv a:hover{color:#09a2ff}#showListTable span.tvShow a{color:#000}#showListTable span.tvShow a:hover{cursor:pointer;color:#09a2ff}table.cal-odd{background-color:#333}table.cal-even{background-color:#3d3d3d}.calendarShow .text .airtime{color:#fff}.calendarShow .text .episode-title{color:#aaa}.component-group{padding:15px 15px 25px;border-bottom:1px dotted #555}.component-group-desc p{width:90%;margin:10px 0;color:#ddd}.component-item{border-bottom:1px dotted #555}#provider_order_list li,#service_order_list li{padding:5px;margin:5px 0;font-size:14px;background:#333!important;color:#fff}#provider_order_list .ui-state-default.torrent-provider{background-color:#555!important}#provider_order_list .ui-state-default.nzb-provider{background-color:#222!important}#config div.example{padding:10px;background-color:#333;border:1px solid #111}.Key{width:100%;padding:6px;font-size:13px;background-color:#3d3d3d;border:1px solid #111;border-collapse:collapse;border-spacing:0}.Key th,.tableHeader{padding:3px 9px;margin:0;color:#fff;text-align:center;background:#373737}.Key tr{border-bottom:1px solid #111}.Key tr.even{background-color:#333}div.metadata_options{padding:7px;overflow:auto;background:#333;color:#fff;border:1px solid #111}div.metadata_options label:hover{color:#fff;background-color:#15528f;cursor:pointer}div.metadata_options label{display:block;padding-left:7px;line-height:20px;color:#fff}div.metadata_example label{display:block;line-height:21px;color:#fff;cursor:pointer}.separator{font-size:90%;color:#fff}span.path{padding:3px 6px;color:#09a2ff;background-color:#333}body{overflow-y:scroll;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#fff;background-color:#222}.navbar-default{background-color:#333;filter:progid:dximagetransform.microsoft.gradient(startColorstr="#333333",endColorstr="#232323");background:-webkit-gradient(linear,left top,left bottom,from(#333),to(#232323));background:-moz-linear-gradient(top,#333,#232323)}.navbar-default,.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#3e3f3a}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:#777}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#fff;background-color:#777}.navbar-default .navbar-toggle .icon-bar,.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#777}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#777;color:#fff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#777}}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#fff;text-decoration:none;background-color:#777}.dropdown-menu>li>a{padding:4px 36px 4px 20px;color:#fff}.dropdown-menu{background-color:#292929;border:1px solid rgba(0,0,0,.15);box-shadow:0 6px 12px rgba(0,0,0,.176)}.dropdown-toggle a:focus,.dropdown-toggle a:hover{color:#fff;text-decoration:none;background-color:#777}.dropdown-toggle{color:#fff}.dropdown-toggle,.vgt-dropdown-menu{background-color:#292929;border:1px solid rgba(0,0,0,.15);box-shadow:0 6px 12px rgba(0,0,0,.176)}.vgt-dropdown-menu>li>span:focus,.vgt-dropdown-menu>li>span:hover{color:#fff;text-decoration:none;background-color:#777}.vgt-dropdown-menu>li>span{padding:4px 36px 4px 20px;color:#fff}.vgt-table{color:#fff}.vgt-table td,.vgt-table th{border-top:1px solid #222;border-left:1px solid #222}.vgt-table th{color:#fff;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#555}.vgt-table tr:nth-child(2n){background-color:#2e2e2e}.vgt-table tr:nth-child(odd){background-color:#333}#sub-menu-container{background-color:#292929;filter:progid:dximagetransform.microsoft.gradient(startColorstr="#414141",endColorstr="#292929");background:-webkit-gradient(linear,left top,left bottom,from(#414141),to(#292929));background:-moz-linear-gradient(top,#414141,#292929);border-color:#3e3f3a}.btn-medusa{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.75);background-color:#616161;background-image:-ms-linear-gradient(top,#333,#555);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#555));background-image:-webkit-linear-gradient(top,#555,#333);background-image:-o-linear-gradient(top,#555,#333);background-image:linear-gradient(0deg,#555,#333);background-image:-moz-linear-gradient(top,#555,#333);background-repeat:repeat-x;border:1px solid #111;*border:0;border-color:#111;filter:progid:dximagetransform.microsoft.gradient(startColorstr="#297AB8",endColorstr="#15528F",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);box-shadow:inset 0 1px 0 hsla(0,0%,100%,0),0 1px 2px rgba(0,0,0,.05)}.btn-medusa.active,.btn-medusa.disabled,.btn-medusa:active,.btn-medusa:hover,.btn-medusa[disabled]{background-color:#1e1e1e;color:#fff}.btn-medusa:hover{text-decoration:none;background-position:0 -150px;-webkit-transition:background-position 0s linear;-moz-transition:background-position 0s linear;-ms-transition:background-position 0s linear;-o-transition:background-position 0s linear;transition:background-position 0s linear}.btn-medusa:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;color:#fff}.btn-medusa.active,.btn-medusa:active{background-color:#1e1e1e;background-image:none;color:#fff;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-medusa.disabled,.btn-medusa[disabled]{cursor:default;background-color:#616161;color:#fff;background-image:none;opacity:.65;filter:alpha(opacity=65);box-shadow:none}@media (min-width:768px){.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;right:12px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #333;border-left:6px solid transparent;content:""}}pre{color:#fff;background-color:#3d3d3d;border-color:#111}.fileBrowserDialog ul li{margin:2px 0;list-style-type:none;cursor:pointer;background:#333!important}.fileBrowserDialog ul li a:hover{color:#09a2ff;background:none!important}legend.legendStep{color:#fff;margin-bottom:0}div.stepsguide .step{margin:12px 0;border-bottom:4px solid #23afdc}div.stepsguide .step p{margin:12px 0}div.stepsguide .disabledstep{border-bottom:4px solid #1178b3}div.formpaginate .next,div.formpaginate .prev{padding:3px 6px;color:#fff;cursor:hand;cursor:pointer;background:#5f5f5f;-webkit-border-radius:6px;border-radius:6px}.ui-pnotify-container{border:1px solid #111;background-image:-moz-linear-gradient(#333,#3d3d3d)!important;background-image:linear-gradient(#333,#3d3d3d)!important;background-image:-webkit-linear-gradient(#333,#3d3d3d)!important;background-image:-o-linear-gradient(#333,#3d3d3d)!important;filter:progid:dximagetransform.microsoft.gradient(startcolorstr=rgb(51,51,51),endcolorstr=rgb(61,61,61))!important;-ms-filter:progid:dximagetransform.microsoft.gradient(startcolorstr=rgb(51,51,51),endcolorstr=rgb(61,61,61))!important;box-shadow:0 0 2px #000}.ui-pnotify-text,.ui-pnotify-title{color:#fff}.tablesorter{width:100%;margin-right:auto;margin-left:auto;color:#fff;text-align:left;background-color:#333;border-spacing:0}.tablesorter td,.tablesorter th{padding:4px;border-top:1px solid #222;border-left:1px solid #222;vertical-align:middle}.tablesorter th{color:#fff;text-align:center;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#555;border-collapse:collapse;font-weight:400}.tablesorter thead .tablesorter-headerDesc{background-color:#555;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7)}.tablesorter thead .tablesorter-headerAsc{background-color:#555;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7)}thead.tablesorter-stickyHeader{border-top:2px solid #222;border-bottom:2px solid #222}.defaultTable tr.odd,.tablesorter tr.odd{background-color:#333}.defaultTable tr.even,.tablesorter tr.even{background-color:#2e2e2e}.tablesorter tr.tablesorter-filter-row,.tablesorter tr.tablesorter-filter-row td{text-align:center;background:#333;border-bottom:1px solid #111}.tablesorter-filter-row.hideme td{padding:2px;margin:0;line-height:0;cursor:pointer}.tablesorter-filter-row.hideme *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0;filter:alpha(opacity=0)}#showListTable tbody{color:#000}div.token-input-dropdown{background-color:#fff;color:#000;border-left-color:#ccc;border-right-color:#ccc;border-bottom-color:#ccc}#confirmBox{background:#222;width:460px;position:fixed;left:50%;top:50%;margin:-130px 0 0 -230px;border:1px solid #111;box-shadow:0 0 12px 0 rgba(0,0,0,.175)}#confirmBox h1{background-color:#373737;border-bottom:1px solid #111;margin:0;font-size:22px}#confirmBox h1,#confirmBox p{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.75)}#confirmBox p{padding-top:20px}.modal-content{border-radius:0}.modal-body,.modal-content{background:#222}.modal-header{padding:9px 15px;border-bottom:none;border-radius:0;background-color:#373737}.panel-default{background-color:#3d3d3d;border-color:#111}.panel-heading{background-color:#3d3d3d!important;color:#fff!important}.modal-dialog{min-width:50%;position:relative;margin:30px auto;border:1px solid #111;box-shadow:0 0 12px 0 rgba(0,0,0,.175);border-radius:0}.modal-footer{border-top:none;text-align:center}.confirmation-modal{background:-moz-linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)) repeat-x rgba(0,0,0,.5);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.5))) repeat-x rgba(0,0,0,.5)}.modal-footer button{margin-right:15px;padding:2px 15px;text-decoration:none;display:inline-block;color:#fff;text-align:center;text-shadow:0 1px 1px rgba(0,0,0,.75);background-clip:padding-box;border:1px solid #111;border-radius:3px;cursor:pointer;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-image:-webkit-linear-gradient(top,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 50%,transparent 51%,rgba(0,0,0,.25));background-image:-moz-linear-gradient(top,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 50%,transparent 51%,rgba(0,0,0,.25));background-image:-o-linear-gradient(top,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 50%,transparent 51%,rgba(0,0,0,.25));background-image:linear-gradient(180deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 50%,transparent 51%,rgba(0,0,0,.25));box-shadow:inset 0 1px hsla(0,0%,100%,.1),inset 0 -1px 3px rgba(0,0,0,.3),inset 0 0 0 1px hsla(0,0%,100%,.08),0 1px 2px rgba(0,0,0,.15)}.modal-footer button:last-child{margin-right:0}.modal-footer button.confirm{background-color:#3f7636}.modal-footer button.confirm:hover{background-color:#48873e}.modal-footer button.cancel{background-color:#8d2d2b}.modal-footer button.cancel:hover{background-color:#a13331}.vue-tabs .tab-content{background-color:#3d3d3d!important;border-color:#111!important}.nav-tabs li.tab{border-color:#111}.nav-tabs li.tab.active{background-color:#3d3d3d!important;border-color:#111!important}.vue-tabs li.tab:not(.active){background:#333}.nav-tabs li.tab a,.nav-tabs li.tab a:active,.nav-tabs li.tab a:focus,.nav-tabs li.tab a:hover{color:#fff} \ No newline at end of file diff --git a/themes/dark/assets/css/vender.min.css b/themes/dark/assets/css/vender.min.css index 865ad57d85..2f2fab08ac 100644 --- a/themes/dark/assets/css/vender.min.css +++ b/themes/dark/assets/css/vender.min.css @@ -1 +1 @@ -ul.token-input-list{overflow:hidden;height:auto!important;height:1%;width:400px;border:1px solid #999;cursor:text;font-size:12px;font-family:Verdana,sans-serif;z-index:999;margin:0;padding:0;background-color:#fff;list-style-type:none;clear:left}ul.token-input-list li{list-style-type:none}ul.token-input-list li input{border:0;width:350px;padding:3px 8px;background-color:#fff;-webkit-appearance:caret}ul.token-input-disabled,ul.token-input-disabled li input{background-color:#e8e8e8}ul.token-input-disabled li.token-input-token{background-color:#d9e3ca;color:#7d7d7d}ul.token-input-disabled li.token-input-token span{color:#cfcfcf;cursor:default}li.token-input-token{overflow:hidden;height:auto!important;height:1%;margin:3px;padding:3px 5px;background-color:#d0efa0;color:#000;font-weight:700;cursor:default;display:block}li.token-input-token p{float:left;padding:0;margin:0}li.token-input-token span{float:right;color:#777;cursor:pointer}li.token-input-selected-token{background-color:#08844e;color:#fff}li.token-input-selected-token span{color:#bbb}div.token-input-dropdown{position:absolute;width:400px;background-color:#fff;overflow:hidden;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;cursor:default;font-size:12px;font-family:Verdana,sans-serif;z-index:1}div.token-input-dropdown p{margin:0;padding:5px;font-weight:700;color:#777}div.token-input-dropdown ul{margin:0;padding:0}div.token-input-dropdown ul li{background-color:#fff;padding:3px;list-style-type:none}div.token-input-dropdown ul li.token-input-dropdown-item{background-color:#fafafa}div.token-input-dropdown ul li.token-input-dropdown-item2{background-color:#fff}div.token-input-dropdown ul li em{font-weight:700;font-style:normal}div.token-input-dropdown ul li.token-input-selected-dropdown-item{background-color:#d0efa0}.ui-pnotify{top:25px;right:25px;position:absolute;height:auto;z-index:9999}html>body>.ui-pnotify{position:fixed}.ui-pnotify .ui-pnotify-shadow{-webkit-box-shadow:0 2px 10px rgba(50,50,50,.5);-moz-box-shadow:0 2px 10px rgba(50,50,50,.5);box-shadow:0 2px 10px rgba(50,50,50,.5)}.ui-pnotify-container{background-position:0 0;padding:.8em;height:100%;margin:0}.ui-pnotify-container.ui-pnotify-sharp{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui-pnotify-title{display:block;margin-bottom:.4em;margin-top:0}.ui-pnotify-text{display:block}.ui-pnotify-icon,.ui-pnotify-icon span{display:block;float:left;margin-right:.2em}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-topleft{left:25px;right:auto}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-bottomright{bottom:25px;top:auto}.ui-pnotify{top:25px;right:25px;position:absolute;height:auto;z-index:9999}html>body>.ui-pnotify{position:fixed}.ui-pnotify .ui-pnotify-shadow{-webkit-box-shadow:0 2px 10px rgba(50,50,50,.5);-moz-box-shadow:0 2px 10px rgba(50,50,50,.5);box-shadow:0 2px 10px rgba(50,50,50,.5)}.ui-pnotify-container{background-position:0 0;padding:.8em;height:100%;margin:0}.ui-pnotify-container.ui-pnotify-sharp{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui-pnotify-title{display:block;margin-bottom:.4em;margin-top:0}.ui-pnotify-text{display:block}.ui-pnotify-icon,.ui-pnotify-icon span{display:block;float:left;margin-right:.2em}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-topleft{left:25px;right:auto}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-bottomright{bottom:25px;top:auto}.ui-pnotify-closer,.ui-pnotify-sticker{float:right;margin-left:.2em}.ui-pnotify-closer,.ui-pnotify-sticker{float:right;margin-left:.2em}.ui-pnotify-history-container{position:absolute;top:0;right:18px;width:70px;border-top:none;padding:0;-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0;z-index:10000}.ui-pnotify-history-container.ui-pnotify-history-fixed{position:fixed}.ui-pnotify-history-container .ui-pnotify-history-header{padding:2px;text-align:center}.ui-pnotify-history-container button{cursor:pointer;display:block;width:100%}.ui-pnotify-history-container .ui-pnotify-history-pulldown{display:block;margin:0 auto}.ui-pnotify-history-container{position:absolute;top:0;right:18px;width:70px;border-top:none;padding:0;-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0;z-index:10000}.ui-pnotify-history-container.ui-pnotify-history-fixed{position:fixed}.ui-pnotify-history-container .ui-pnotify-history-header{padding:2px;text-align:center}.ui-pnotify-history-container button{cursor:pointer;display:block;width:100%}.ui-pnotify-history-container .ui-pnotify-history-pulldown{display:block;margin:0 auto} \ No newline at end of file +ul.token-input-list{overflow:hidden;height:auto!important;height:1%;width:400px;border:1px solid #999;cursor:text;font-size:12px;font-family:Verdana,sans-serif;z-index:999;margin:0;padding:0;background-color:#fff;clear:left}ul.token-input-list,ul.token-input-list li{list-style-type:none}ul.token-input-list li input{border:0;width:350px;padding:3px 8px;background-color:#fff;-webkit-appearance:caret}ul.token-input-disabled,ul.token-input-disabled li input{background-color:#e8e8e8}ul.token-input-disabled li.token-input-token{background-color:#d9e3ca;color:#7d7d7d}ul.token-input-disabled li.token-input-token span{color:#cfcfcf;cursor:default}li.token-input-token{overflow:hidden;height:auto!important;height:1%;margin:3px;padding:3px 5px;background-color:#d0efa0;color:#000;font-weight:700;cursor:default;display:block}li.token-input-token p{float:left;padding:0;margin:0}li.token-input-token span{float:right;color:#777;cursor:pointer}li.token-input-selected-token{background-color:#08844e;color:#fff}li.token-input-selected-token span{color:#bbb}div.token-input-dropdown{position:absolute;width:400px;background-color:#fff;overflow:hidden;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;cursor:default;font-size:12px;font-family:Verdana,sans-serif;z-index:1}div.token-input-dropdown p{margin:0;padding:5px;font-weight:700;color:#777}div.token-input-dropdown ul{margin:0;padding:0}div.token-input-dropdown ul li{background-color:#fff;padding:3px;list-style-type:none}div.token-input-dropdown ul li.token-input-dropdown-item{background-color:#fafafa}div.token-input-dropdown ul li.token-input-dropdown-item2{background-color:#fff}div.token-input-dropdown ul li em{font-weight:700;font-style:normal}div.token-input-dropdown ul li.token-input-selected-dropdown-item{background-color:#d0efa0}.ui-pnotify{top:25px;right:25px;position:absolute;height:auto;z-index:9999}html>body>.ui-pnotify{position:fixed}.ui-pnotify .ui-pnotify-shadow{-webkit-box-shadow:0 2px 10px rgba(50,50,50,.5);-moz-box-shadow:0 2px 10px rgba(50,50,50,.5);box-shadow:0 2px 10px rgba(50,50,50,.5)}.ui-pnotify-container{background-position:0 0;padding:.8em;height:100%;margin:0}.ui-pnotify-container.ui-pnotify-sharp{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui-pnotify-title{display:block;margin-bottom:.4em;margin-top:0}.ui-pnotify-text{display:block}.ui-pnotify-icon,.ui-pnotify-icon span{display:block;float:left;margin-right:.2em}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-topleft{left:25px;right:auto}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-bottomright{bottom:25px;top:auto}.ui-pnotify-closer,.ui-pnotify-sticker{float:right;margin-left:.2em}.ui-pnotify-history-container{position:absolute;top:0;right:18px;width:70px;border-top:none;padding:0;-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0;z-index:10000}.ui-pnotify-history-container.ui-pnotify-history-fixed{position:fixed}.ui-pnotify-history-container .ui-pnotify-history-header{padding:2px;text-align:center}.ui-pnotify-history-container button{cursor:pointer;display:block;width:100%}.ui-pnotify-history-container .ui-pnotify-history-pulldown{display:block;margin:0 auto} \ No newline at end of file diff --git a/themes/dark/assets/css/vendors.css b/themes/dark/assets/css/vendors.css index b9deef4721..118a021682 100644 --- a/themes/dark/assets/css/vendors.css +++ b/themes/dark/assets/css/vendors.css @@ -2,788 +2,4 @@ * Bootstrap v3.4.1 (https://getbootstrap.com/) * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:"Glyphicons Halflings";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} -.snotifyToast { - -webkit-animation-fill-mode: both; - animation-fill-mode: both; } - -.snotify-leftTop .fadeIn, -.snotify-leftCenter .fadeIn, -.snotify-leftBottom .fadeIn { - -webkit-animation-name: fadeInLeft; - animation-name: fadeInLeft; } - -.snotify-leftTop .fadeOut, -.snotify-leftCenter .fadeOut, -.snotify-leftBottom .fadeOut { - -webkit-animation-name: fadeOutLeft; - animation-name: fadeOutLeft; } - -.snotify-rightTop .fadeIn, -.snotify-rightCenter .fadeIn, -.snotify-rightBottom .fadeIn { - -webkit-animation-name: fadeInRight; - animation-name: fadeInRight; } - -.snotify-rightTop .fadeOut, -.snotify-rightCenter .fadeOut, -.snotify-rightBottom .fadeOut { - -webkit-animation-name: fadeOutRight; - animation-name: fadeOutRight; } - -.snotify-centerTop .fadeIn { - -webkit-animation-name: fadeInDown; - animation-name: fadeInDown; } - -.snotify-centerTop .fadeOut { - -webkit-animation-name: fadeOutUp; - animation-name: fadeOutUp; } - -.snotify-centerCenter .fadeIn { - -webkit-animation-name: fadeIn; - animation-name: fadeIn; } - -.snotify-centerCenter .fadeOut { - -webkit-animation-name: fadeOut; - animation-name: fadeOut; } - -.snotify-centerBottom .fadeIn { - -webkit-animation-name: fadeInUp; - animation-name: fadeInUp; } - -.snotify-centerBottom .fadeOut { - -webkit-animation-name: fadeOutDown; - animation-name: fadeOutDown; } - -@-webkit-keyframes fadeInLeft { - 0% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) scaleX(1.2); - transform: translate3d(-100%, 0, 0) scaleX(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@keyframes fadeInLeft { - 0% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) scaleX(1.2); - transform: translate3d(-100%, 0, 0) scaleX(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@-webkit-keyframes fadeInRight { - 0% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) scaleX(1.2); - transform: translate3d(100%, 0, 0) scaleX(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@keyframes fadeInRight { - 0% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) scaleX(1.2); - transform: translate3d(100%, 0, 0) scaleX(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@-webkit-keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0) scaleY(1.2); - transform: translate3d(0, 100%, 0) scaleY(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0) scaleY(1.2); - transform: translate3d(0, 100%, 0) scaleY(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@-webkit-keyframes fadeInDown { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0) scaleY(1.2); - transform: translate3d(0, -100%, 0) scaleY(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@keyframes fadeInDown { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0) scaleY(1.2); - transform: translate3d(0, -100%, 0) scaleY(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@-webkit-keyframes fadeIn { - 0% { - opacity: 0; } - 100% { - opacity: 1; } } - -@keyframes fadeIn { - 0% { - opacity: 0; } - 100% { - opacity: 1; } } - -@-webkit-keyframes fadeOut { - 0% { - opacity: 1; } - 100% { - opacity: 0; } } - -@keyframes fadeOut { - 0% { - opacity: 1; } - 100% { - opacity: 0; } } - -@-webkit-keyframes fadeOutDown { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); } } - -@keyframes fadeOutDown { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); } } - -@-webkit-keyframes fadeOutLeft { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); } } - -@keyframes fadeOutLeft { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); } } - -@-webkit-keyframes fadeOutRight { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); } } - -@keyframes fadeOutRight { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); } } - -@-webkit-keyframes fadeOutUp { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); } } - -@keyframes fadeOutUp { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); } } - -@-webkit-keyframes appear { - 0% { - max-height: 0; } - 100% { - max-height: 50vh; } } - -@keyframes appear { - 0% { - max-height: 0; } - 100% { - max-height: 50vh; } } - -@-webkit-keyframes disappear { - 0% { - opacity: 0; - max-height: 50vh; } - 100% { - opacity: 0; - max-height: 0; } } - -@keyframes disappear { - 0% { - opacity: 0; - max-height: 50vh; } - 100% { - opacity: 0; - max-height: 0; } } - -@-webkit-keyframes async { - 0% { - -webkit-transform: translate(0, -50%) rotate(0deg); - transform: translate(0, -50%) rotate(0deg); } - 100% { - -webkit-transform: translate(0, -50%) rotate(360deg); - transform: translate(0, -50%) rotate(360deg); } } - -@keyframes async { - 0% { - -webkit-transform: translate(0, -50%) rotate(0deg); - transform: translate(0, -50%) rotate(0deg); } - 100% { - -webkit-transform: translate(0, -50%) rotate(360deg); - transform: translate(0, -50%) rotate(360deg); } } - -.snotify { - display: block; - position: fixed; - width: 300px; - z-index: 9999; - -webkit-box-sizing: border-box; - box-sizing: border-box; - pointer-events: none; } - .snotify * { - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.snotify-leftTop, -.snotify-leftCenter, -.snotify-leftBottom { - left: 10px; } - -.snotify-rightTop, -.snotify-rightCenter, -.snotify-rightBottom { - right: 10px; } - -.snotify-centerTop, -.snotify-centerCenter, -.snotify-centerBottom { - left: calc(50% - 300px / 2); } - -.snotify-leftTop, -.snotify-centerTop, -.snotify-rightTop { - top: 10px; } - -.snotify-leftCenter, -.snotify-rightCenter, -.snotify-centerCenter { - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); } - -.snotify-leftBottom, -.snotify-rightBottom, -.snotify-centerBottom { - bottom: 10px; } - -.snotify-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - background-color: #000; - opacity: 0; - z-index: 9998; - -webkit-transition: opacity .3s; - transition: opacity .3s; } - -.snotifyToast { - display: block; - cursor: pointer; - background-color: #fff; - height: 100%; - margin: 5px; - opacity: 0; - border-radius: 5px; - overflow: hidden; - pointer-events: auto; } - .snotifyToast--in { - -webkit-animation-name: appear; - animation-name: appear; } - .snotifyToast--out { - -webkit-animation-name: disappear; - animation-name: disappear; } - .snotifyToast__inner { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-flow: column nowrap; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - position: relative; - padding: 5px 65px 5px 15px; - min-height: 78px; - font-size: 16px; - color: #000; } - .snotifyToast__noIcon { - padding: 5px 15px 5px 15px; } - .snotifyToast__progressBar { - position: relative; - width: 100%; - height: 10px; - background-color: #c7c7c7; } - .snotifyToast__progressBar__percentage { - position: absolute; - top: 0; - left: 0; - height: 10px; - background-color: #4c4c4c; - max-width: 100%; } - .snotifyToast__title { - font-size: 1.8em; - line-height: 1.2em; - margin-bottom: 5px; - color: #fff; } - .snotifyToast__body { - font-size: 1em; } - -.snotifyToast-show { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - opacity: 1; } - -.snotifyToast-remove { - max-height: 0; - overflow: hidden; - -webkit-transform: translate(0, 50%); - transform: translate(0, 50%); - opacity: 0; } - -.fadeOutRight { - -webkit-animation-name: fadeOutRight; - animation-name: fadeOutRight; } - -/*************** - ** Modifiers ** - **************/ -.snotify-simple .snotifyToast__title, -.snotify-simple .snotifyToast__body { - color: #000; } - -.snotify-success { - background-color: #4caf50; } - .snotify-success .snotifyToast__progressBar { - background-color: #388e3c; } - .snotify-success .snotifyToast__progressBar__percentage { - background-color: #81c784; } - .snotify-success .snotifyToast__body { - color: #c8e6c9; } - -.snotify-info { - background-color: #1e88e5; } - .snotify-info .snotifyToast__progressBar { - background-color: #1565c0; } - .snotify-info .snotifyToast__progressBar__percentage { - background-color: #64b5f6; } - .snotify-info .snotifyToast__body { - color: #e3f2fd; } - -.snotify-warning { - background-color: #ff9800; } - .snotify-warning .snotifyToast__progressBar { - background-color: #ef6c00; } - .snotify-warning .snotifyToast__progressBar__percentage { - background-color: #ffcc80; } - .snotify-warning .snotifyToast__body { - color: #fff3e0; } - -.snotify-error { - background-color: #f44336; } - .snotify-error .snotifyToast__progressBar { - background-color: #c62828; } - .snotify-error .snotifyToast__progressBar__percentage { - background-color: #ef9a9a; } - .snotify-error .snotifyToast__body { - color: #ffebee; } - -.snotify-async { - background-color: #1e88e5; } - .snotify-async .snotifyToast__progressBar { - background-color: #1565c0; } - .snotify-async .snotifyToast__progressBar__percentage { - background-color: #64b5f6; } - .snotify-async .snotifyToast__body { - color: #e3f2fd; } - -.snotify-confirm { - background-color: #009688; } - .snotify-confirm .snotifyToast__progressBar { - background-color: #4db6ac; } - .snotify-confirm .snotifyToast__progressBar__percentage { - background-color: #80cbc4; } - .snotify-confirm .snotifyToast__body { - color: #e0f2f1; } - -.snotify-prompt { - background-color: #009688; } - .snotify-prompt .snotifyToast__title { - margin-bottom: 0; } - .snotify-prompt .snotifyToast__body { - color: #e0f2f1; } - -.snotify-confirm .snotifyToast__inner, -.snotify-prompt .snotifyToast__inner { - padding: 10px 15px; } - -.snotifyToast__input { - position: relative; - z-index: 1; - display: inline-block; - margin: 0; - width: 100%; - vertical-align: top; - -webkit-transition: all .5s; - transition: all .5s; - -webkit-transition-delay: .3s; - transition-delay: .3s; - -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } - .snotifyToast__input__field { - position: relative; - display: block; - float: right; - padding: .85em .5em; - width: 100%; - border: none; - border-radius: 0; - background: transparent; - color: #333; - font-weight: bold; - -webkit-appearance: none; - /* for box shadows to show on iOS */ - opacity: 0; - -webkit-transition: opacity .3s; - transition: opacity .3s; } - .snotifyToast__input__field:focus { - outline: none; } - .snotifyToast__input__label { - display: inline-block; - float: right; - padding: 0 .85em; - width: 100%; - color: #e0f2f1; - font-weight: bold; - font-size: 70.25%; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - position: absolute; - left: 0; - height: 100%; - text-align: left; - pointer-events: none; } - .snotifyToast__input__label::before, .snotifyToast__input__label::after { - content: ''; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; } - .snotifyToast__input__label::before { - border-top: 2px solid #fff; - -webkit-transform: translate3d(0, 100%, 0) translate3d(0, -2px, 0); - transform: translate3d(0, 100%, 0) translate3d(0, -2px, 0); - -webkit-transition-delay: .3s; - transition-delay: .3s; } - .snotifyToast__input__label::after { - z-index: -1; - background: #b2dfdb; - -webkit-transform: scale3d(1, 0, 1); - transform: scale3d(1, 0, 1); - -webkit-transform-origin: 50% 0; - transform-origin: 50% 0; } - .snotifyToast__input__labelContent { - position: relative; - display: block; - padding: 1em 0; - width: 100%; - -webkit-transition: -webkit-transform .3s .3s; - transition: -webkit-transform .3s .3s; - transition: transform .3s .3s; - transition: transform .3s .3s, -webkit-transform .3s .3s; } - -.snotifyToast__input--filled { - margin-top: 2.5em; } - .snotifyToast__input--filled:focus, - .snotifyToast__input--filled .snotifyToast__input__field { - opacity: 1; - -webkit-transition-delay: .3s; - transition-delay: .3s; } - -.snotifyToast__input__field:focus + .snotifyToast__input__label .snotifyToast__input__labelContent, -.snotifyToast__input--filled .snotifyToast__input__labelContent { - -webkit-transform: translate(0, -80%); - transform: translate(0, -80%); - -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } - -.snotifyToast__input__field:focus + .snotifyToast__input__label::before, -.snotifyToast__input--filled .snotifyToast__input__label::before { - -webkit-transition-delay: 0s; - transition-delay: 0s; } - -.snotifyToast__input__field:focus + .snotifyToast__input__label::before, -.snotifyToast__input--filled .snotifyToast__input__label::before { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); } - -.snotifyToast__input__field:focus + .snotifyToast__input__label::after, -.snotifyToast__input--filled .snotifyToast__input__label::after { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition-delay: .3s; - transition-delay: .3s; - -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } - -.snotifyToast--invalid .snotifyToast__input__label::before { - border-color: #f44336; } - -.snotifyToast--valid .snotifyToast__input__label::before { - border-color: #4caf50; } - -.snotifyToast__buttons { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row nowrap; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - border-top: 1px solid rgba(0, 0, 0, 0.1); } - .snotifyToast__buttons button { - position: relative; - width: 100%; - border-right: 1px solid rgba(0, 0, 0, 0.1); - border-left: 1px solid rgba(0, 0, 0, 0.1); - border-top: none; - border-bottom: none; - background: transparent; - padding: 8px; - text-transform: capitalize; - color: #fff; - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; } - .snotifyToast__buttons button::after { - content: ''; - position: absolute; - top: 50%; - left: 50%; - width: 5px; - height: 5px; - background: rgba(255, 255, 255, 0.3); - opacity: 0; - border-radius: 100%; - -webkit-transform: scale(1, 1) translate(-50%); - transform: scale(1, 1) translate(-50%); - -webkit-transform-origin: 50% 50%; - transform-origin: 50% 50%; } - .snotifyToast__buttons button:focus:not(:active)::after { - -webkit-animation: ripple 1s ease-out; - animation: ripple 1s ease-out; } - .snotifyToast__buttons button:hover, .snotifyToast__buttons button:focus { - background: rgba(0, 0, 0, 0.1); - outline: none; } - .snotifyToast__buttons button:active { - background: rgba(0, 0, 0, 0.15); } - .snotifyToast__buttons button:last-child { - border-right: none; } - .snotifyToast__buttons button:first-child { - border-left: none; } - .snotifyToast__buttons--bold { - font-weight: 700; } - -@-webkit-keyframes ripple { - 0% { - -webkit-transform: scale(0, 0); - transform: scale(0, 0); - opacity: 1; } - 20% { - -webkit-transform: scale(25, 25); - transform: scale(25, 25); - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: scale(40, 40); - transform: scale(40, 40); } } - -@keyframes ripple { - 0% { - -webkit-transform: scale(0, 0); - transform: scale(0, 0); - opacity: 1; } - 20% { - -webkit-transform: scale(25, 25); - transform: scale(25, 25); - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: scale(40, 40); - transform: scale(40, 40); } } - -.snotify-icon { - position: absolute; - right: 10px; - top: 50%; - line-height: 0; - -webkit-transform: translate(0, -50%); - transform: translate(0, -50%); - max-height: 48px; - max-width: 48px; - width: 100%; - height: 100%; } - -.snotify-icon--error { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20version=%221.1%22%20x=%220px%22%20y=%220px%22%20viewBox=%220%200%20512%20512%22%20fill=%22%23ffcdd2%22%3E%3Cg%3E%3Cpath%20d=%22M437,75A256,256,0,1,0,75,437,256,256,0,1,0,437,75ZM416.43,416.43a226.82,226.82,0,0,1-320.86,0C7.11,328,7.11,184,95.57,95.57a226.82,226.82,0,0,1,320.86,0C504.89,184,504.89,328,416.43,416.43Z%22/%3E%3Cpath%20d=%22M368.81,143.19a14.5,14.5,0,0,0-20.58,0L256,235.42l-92.23-92.23a14.55,14.55,0,0,0-20.58,20.58L235.42,256l-92.23,92.23a14.6,14.6,0,0,0,10.24,24.89,14.19,14.19,0,0,0,10.24-4.31l92.23-92.23,92.23,92.23a14.64,14.64,0,0,0,10.24,4.31,14,14,0,0,0,10.24-4.31,14.5,14.5,0,0,0,0-20.58l-92-92.23,92.23-92.23A14.5,14.5,0,0,0,368.81,143.19Z%22/%3E%3C/g%3E%3C/svg%3E"); } - -.snotify-icon--warning { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20version=%221.1%22%20x=%220px%22%20y=%220px%22%20viewBox=%220%200%20512%20512%22%20fill=%22%23ffccbc%22%3E%3Cg%3E%3Cpath%20d=%22M256,512c141.15,0,256-114.84,256-256S397.15,0,256,0,0,114.84,0,256,114.85,512,256,512Zm0-480.49c123.79,0,224.49,100.71,224.49,224.49S379.79,480.49,256,480.49,31.51,379.79,31.51,256,132.21,31.51,256,31.51Z%22/%3E%3Ccircle%20cx=%22260.08%22%20cy=%22343.87%22%20r=%2226.35%22/%3E%3Cpath%20d=%22M254.68,278.39a15.76,15.76,0,0,0,15.75-15.75V128.72a15.75,15.75,0,1,0-31.51,0V262.63A15.76,15.76,0,0,0,254.68,278.39Z%22/%3E%3C/g%3E%3C/svg%3E"); } - -.snotify-icon--info { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20version=%221.1%22%20x=%220px%22%20y=%220px%22%20viewBox=%220%200%20512%20512%22%20fill=%22%23bbdefb%22%3E%3Cg%3E%3Cpath%20d=%22M256,0C114.84,0,0,114.84,0,256S114.84,512,256,512,512,397.16,512,256,397.15,0,256,0Zm0,478.43C133.35,478.43,33.57,378.64,33.57,256S133.35,33.58,256,33.58,478.42,133.36,478.42,256,378.64,478.43,256,478.43Z%22/%3E%3Cpath%20d=%22M251.26,161.24a22.39,22.39,0,1,0-22.38-22.39A22.39,22.39,0,0,0,251.26,161.24Z%22/%3E%3Cpath%20d=%22M286.84,357.87h-14v-160A16.79,16.79,0,0,0,256,181.05H225.17a16.79,16.79,0,0,0,0,33.58h14.05V357.87H225.17a16.79,16.79,0,0,0,0,33.57h61.67a16.79,16.79,0,1,0,0-33.57Z%22/%3E%3C/g%3E%3C/svg%3E"); } - -.snotify-icon--success { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20version=%221.1%22%20x=%220px%22%20y=%220px%22%20viewBox=%220%200%20512%20512%22%20fill=%22%23c8e6c9%22%3E%3Cg%3E%3Cpath%20d=%22M256,0C114.85,0,0,114.84,0,256S114.85,512,256,512,512,397.16,512,256,397.15,0,256,0Zm0,492.31c-130.29,0-236.31-106-236.31-236.31S125.71,19.69,256,19.69,492.31,125.71,492.31,256,386.29,492.31,256,492.31Z%22/%3E%3Cpath%20class=%22cls-1%22%20d=%22M376.64,151,225.31,321.24l-91.17-72.93a9.85,9.85,0,0,0-12.3,15.38l98.46,78.77a9.86,9.86,0,0,0,13.52-1.15L391.36,164.08A9.85,9.85,0,0,0,376.64,151Z%22/%3E%3C/g%3E%3C/svg%3E"); } - -.snotify-icon--async { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20version=%221.1%22%20x=%220px%22%20y=%220px%22%20viewBox=%220%200%20512%20512%22%20fill=%22%23bbdefb%22%3E%3Cg%3E%3Cpath%20d=%22M256,0a32,32,0,0,0-32,32V96a32,32,0,0,0,64,0V32A32,32,0,0,0,256,0Zm0,384a32,32,0,0,0-32,32v64a32,32,0,0,0,64,0V416A32,32,0,0,0,256,384ZM391.74,165.5,437,120.22A32,32,0,0,0,391.74,75L346.5,120.22a32,32,0,0,0,45.25,45.28Zm-271.52,181L75,391.74A32,32,0,0,0,120.22,437l45.25-45.25a32,32,0,0,0-45.25-45.25Zm0-271.52A32,32,0,1,0,75,120.22l45.25,45.28a32,32,0,1,0,45.25-45.28ZM391.74,346.5a32,32,0,0,0-45.25,45.25L391.74,437A32,32,0,0,0,437,391.74ZM480,224H416a32,32,0,0,0,0,64h64a32,32,0,0,0,0-64ZM128,256a32,32,0,0,0-32-32H32a32,32,0,0,0,0,64H96A32,32,0,0,0,128,256Z%22/%3E%3C/g%3E%3C/svg%3E"); - -webkit-animation: async 3s infinite linear; - animation: async 3s infinite linear; - -webkit-transform-origin: 50% 50%; - transform-origin: 50% 50%; } - -.tablesorter-blue{width:100%;background-color:#fff;margin:10px 0 15px;text-align:left;border-spacing:0;border:#cdcdcd 1px solid;border-width:1px 0 0 1px}.tablesorter-blue td,.tablesorter-blue th{border:#cdcdcd 1px solid;border-width:0 1px 1px 0}.tablesorter-blue th,.tablesorter-blue thead td{font:12px/18px Arial,Sans-serif;font-weight:700;color:#000;background-color:#99bfe6;border-collapse:collapse;padding:4px;text-shadow:0 1px 0 rgba(204,204,204,.7)}.tablesorter-blue tbody td,.tablesorter-blue tfoot td,.tablesorter-blue tfoot th{padding:4px;vertical-align:top}.tablesorter-blue .header,.tablesorter-blue .tablesorter-header{background-image:url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);background-repeat:no-repeat;background-position:center right;padding:4px 18px 4px 4px;white-space:normal;cursor:pointer}.tablesorter-blue .headerSortUp,.tablesorter-blue .tablesorter-headerAsc,.tablesorter-blue .tablesorter-headerSortUp{background-color:#9fbfdf;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7)}.tablesorter-blue .headerSortDown,.tablesorter-blue .tablesorter-headerDesc,.tablesorter-blue .tablesorter-headerSortDown{background-color:#8cb3d9;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7)}.tablesorter-blue thead .sorter-false{background-image:none;cursor:default;padding:4px}.tablesorter-blue tfoot .tablesorter-headerAsc,.tablesorter-blue tfoot .tablesorter-headerDesc,.tablesorter-blue tfoot .tablesorter-headerSortDown,.tablesorter-blue tfoot .tablesorter-headerSortUp{background-image:none}.tablesorter-blue td{color:#3d3d3d;background-color:#fff;padding:4px;vertical-align:top}.tablesorter-blue tbody>tr.even.hover>td,.tablesorter-blue tbody>tr.even:hover+tr.tablesorter-childRow+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.even:hover+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.even:hover>td,.tablesorter-blue tbody>tr.hover>td,.tablesorter-blue tbody>tr:hover+tr.tablesorter-childRow+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr:hover+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr:hover>td{background-color:#d9d9d9}.tablesorter-blue tbody>tr.odd.hover>td,.tablesorter-blue tbody>tr.odd:hover+tr.tablesorter-childRow+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.odd:hover+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.odd:hover>td{background-color:#bfbfbf}.tablesorter-blue .tablesorter-processing{background-position:center center!important;background-repeat:no-repeat!important;background-image:url(data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=)!important}.tablesorter-blue tbody tr.odd>td{background-color:#ebf2fa}.tablesorter-blue tbody tr.even>td{background-color:#fff}.tablesorter-blue td.primary,.tablesorter-blue tr.odd td.primary{background-color:#99b3e6}.tablesorter-blue tr.even td.primary{background-color:#c2d1f0}.tablesorter-blue td.secondary,.tablesorter-blue tr.odd td.secondary{background-color:#c2d1f0}.tablesorter-blue tr.even td.secondary{background-color:#d6e0f5}.tablesorter-blue td.tertiary,.tablesorter-blue tr.odd td.tertiary{background-color:#d6e0f5}.tablesorter-blue tr.even td.tertiary{background-color:#ebf0fa}.tablesorter-blue>caption{background-color:#fff}.tablesorter-blue .tablesorter-filter-row{background-color:#eee}.tablesorter-blue .tablesorter-filter-row td{background-color:#eee;line-height:normal;text-align:center;-webkit-transition:line-height .1s ease;-moz-transition:line-height .1s ease;-o-transition:line-height .1s ease;transition:line-height .1s ease}.tablesorter-blue .tablesorter-filter-row .disabled{opacity:.5;cursor:not-allowed}.tablesorter-blue .tablesorter-filter-row.hideme td{padding:2px;margin:0;line-height:0;cursor:pointer}.tablesorter-blue .tablesorter-filter-row.hideme *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}.tablesorter-blue input.tablesorter-filter,.tablesorter-blue select.tablesorter-filter{width:98%;height:auto;margin:0;padding:4px;background-color:#fff;border:1px solid #bbb;color:#333;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:height .1s ease;-moz-transition:height .1s ease;-o-transition:height .1s ease;transition:height .1s ease}.tablesorter .filtered{display:none}.tablesorter .tablesorter-errorRow td{text-align:center;cursor:pointer;background-color:#e6bf99} -/* open-sans-300 - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - src: local('Open Sans Light'), local('OpenSans-Light'), url(../fonts/open-sans-v15-latin-300.ttf) format('truetype'); -} -/* open-sans-300italic - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'), url(../fonts/open-sans-v15-latin-300italic.ttf) format('truetype'); -} -/* open-sans-regular - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: local('Open Sans Regular'), local('OpenSans-Regular'), url(../fonts/open-sans-v15-latin-regular.ttf) format('truetype'); -} -/* open-sans-italic - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - src: local('Open Sans Italic'), local('OpenSans-Italic'), url(../fonts/open-sans-v15-latin-italic.ttf) format('truetype'); -} -/* open-sans-600italic - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), url(../fonts/open-sans-v15-latin-600italic.ttf) format('truetype'); -} -/* open-sans-600 - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(../fonts/open-sans-v15-latin-600.ttf) format('truetype'); -} -/* open-sans-700 - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: local('Open Sans Bold'), local('OpenSans-Bold'), url(../fonts/open-sans-v15-latin-700.ttf) format('truetype'); -} -/* open-sans-700italic - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(../fonts/open-sans-v15-latin-700italic.ttf) format('truetype'); -} -/* open-sans-800 - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), url(../fonts/open-sans-v15-latin-800.ttf) format('truetype'); -} -/* open-sans-800italic - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), url(../fonts/open-sans-v15-latin-800italic.ttf) format('truetype'); -} - -fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:48px;height:35px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border:2px solid transparent;border-top-color:#41b883;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;-ms-touch-action:manipulation;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input:-ms-input-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"\D7";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus,.multiselect__tag-icon:hover{background:#369a6e}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 0;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}} + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:Glyphicons Halflings;src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:Glyphicons Halflings;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}code,kbd{padding:2px 4px;font-size:90%}kbd{color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777}caption,th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;margin:0}fieldset,legend{padding:0;border:0}legend{display:block;width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:7px}.form-control,output{display:block;font-size:14px;line-height:1.42857143;color:#555}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox-inline input[type=checkbox],.checkbox input[type=checkbox],.radio-inline input[type=radio],.radio input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success.checkbox-inline label,.has-success.checkbox label,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.radio-inline label,.has-success.radio label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning.checkbox-inline label,.has-warning.checkbox label,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.radio-inline label,.has-warning.radio label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error.checkbox-inline label,.has-error.checkbox label,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.radio-inline label,.has-error.radio label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group .form-control:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li,.nav>li>a{position:relative;display:block}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid;border-color:#ddd #ddd transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container-fluid .navbar-brand,.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);margin:8px -15px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container-fluid .jumbotron,.container .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container-fluid .jumbotron,.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table-responsive>.table caption,.panel>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal,.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{left:5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel,.carousel-inner{position:relative}.carousel-inner{width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:left .6s ease-in-out;-o-transition:.6s ease-in-out left;transition:left .6s ease-in-out}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media (-webkit-transform-3d),(transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translateZ(0);transform:translateZ(0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:transparent;filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,.0001));background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000",endColorstr="#00000000",GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001),rgba(0,0,0,.5));background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(90deg,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}.snotifyToast{-webkit-animation-fill-mode:both;animation-fill-mode:both}.snotify-leftBottom .fadeIn,.snotify-leftCenter .fadeIn,.snotify-leftTop .fadeIn{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}.snotify-leftBottom .fadeOut,.snotify-leftCenter .fadeOut,.snotify-leftTop .fadeOut{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}.snotify-rightBottom .fadeIn,.snotify-rightCenter .fadeIn,.snotify-rightTop .fadeIn{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}.snotify-rightBottom .fadeOut,.snotify-rightCenter .fadeOut,.snotify-rightTop .fadeOut{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}.snotify-centerTop .fadeIn{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.snotify-centerTop .fadeOut{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.snotify-centerCenter .fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}.snotify-centerCenter .fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}.snotify-centerBottom .fadeIn{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}.snotify-centerBottom .fadeOut{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) scaleX(1.2);transform:translate3d(-100%,0,0) scaleX(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) scaleX(1.2);transform:translate3d(-100%,0,0) scaleX(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0) scaleX(1.2);transform:translate3d(100%,0,0) scaleX(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0) scaleX(1.2);transform:translate3d(100%,0,0) scaleX(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0) scaleY(1.2);transform:translate3d(0,100%,0) scaleY(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0) scaleY(1.2);transform:translate3d(0,100%,0) scaleY(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0) scaleY(1.2);transform:translate3d(0,-100%,0) scaleY(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0) scaleY(1.2);transform:translate3d(0,-100%,0) scaleY(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@-webkit-keyframes appear{0%{max-height:0}to{max-height:50vh}}@keyframes appear{0%{max-height:0}to{max-height:50vh}}@-webkit-keyframes disappear{0%{opacity:0;max-height:50vh}to{opacity:0;max-height:0}}@keyframes disappear{0%{opacity:0;max-height:50vh}to{opacity:0;max-height:0}}@-webkit-keyframes async{0%{-webkit-transform:translateY(-50%) rotate(0deg);transform:translateY(-50%) rotate(0deg)}to{-webkit-transform:translateY(-50%) rotate(1turn);transform:translateY(-50%) rotate(1turn)}}@keyframes async{0%{-webkit-transform:translateY(-50%) rotate(0deg);transform:translateY(-50%) rotate(0deg)}to{-webkit-transform:translateY(-50%) rotate(1turn);transform:translateY(-50%) rotate(1turn)}}.snotify{display:block;position:fixed;width:300px;z-index:9999;pointer-events:none}.snotify,.snotify *{-webkit-box-sizing:border-box;box-sizing:border-box}.snotify-leftBottom,.snotify-leftCenter,.snotify-leftTop{left:10px}.snotify-rightBottom,.snotify-rightCenter,.snotify-rightTop{right:10px}.snotify-centerBottom,.snotify-centerCenter,.snotify-centerTop{left:calc(50% - 150px)}.snotify-centerTop,.snotify-leftTop,.snotify-rightTop{top:10px}.snotify-centerCenter,.snotify-leftCenter,.snotify-rightCenter{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.snotify-centerBottom,.snotify-leftBottom,.snotify-rightBottom{bottom:10px}.snotify-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000;opacity:0;z-index:9998;-webkit-transition:opacity .3s;transition:opacity .3s}.snotifyToast{display:block;cursor:pointer;background-color:#fff;height:100%;margin:5px;opacity:0;border-radius:5px;overflow:hidden;pointer-events:auto}.snotifyToast--in{-webkit-animation-name:appear;animation-name:appear}.snotifyToast--out{-webkit-animation-name:disappear;animation-name:disappear}.snotifyToast__inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:relative;padding:5px 65px 5px 15px;min-height:78px;font-size:16px;color:#000}.snotifyToast__noIcon{padding:5px 15px}.snotifyToast__progressBar{position:relative;width:100%;height:10px;background-color:#c7c7c7}.snotifyToast__progressBar__percentage{position:absolute;top:0;left:0;height:10px;background-color:#4c4c4c;max-width:100%}.snotifyToast__title{font-size:1.8em;line-height:1.2em;margin-bottom:5px;color:#fff}.snotifyToast__body{font-size:1em}.snotifyToast-show{-webkit-transform:translate(0);transform:translate(0);opacity:1}.snotifyToast-remove{max-height:0;overflow:hidden;-webkit-transform:translateY(50%);transform:translateY(50%);opacity:0}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}.snotify-simple .snotifyToast__body,.snotify-simple .snotifyToast__title{color:#000}.snotify-success{background-color:#4caf50}.snotify-success .snotifyToast__progressBar{background-color:#388e3c}.snotify-success .snotifyToast__progressBar__percentage{background-color:#81c784}.snotify-success .snotifyToast__body{color:#c8e6c9}.snotify-info{background-color:#1e88e5}.snotify-info .snotifyToast__progressBar{background-color:#1565c0}.snotify-info .snotifyToast__progressBar__percentage{background-color:#64b5f6}.snotify-info .snotifyToast__body{color:#e3f2fd}.snotify-warning{background-color:#ff9800}.snotify-warning .snotifyToast__progressBar{background-color:#ef6c00}.snotify-warning .snotifyToast__progressBar__percentage{background-color:#ffcc80}.snotify-warning .snotifyToast__body{color:#fff3e0}.snotify-error{background-color:#f44336}.snotify-error .snotifyToast__progressBar{background-color:#c62828}.snotify-error .snotifyToast__progressBar__percentage{background-color:#ef9a9a}.snotify-error .snotifyToast__body{color:#ffebee}.snotify-async{background-color:#1e88e5}.snotify-async .snotifyToast__progressBar{background-color:#1565c0}.snotify-async .snotifyToast__progressBar__percentage{background-color:#64b5f6}.snotify-async .snotifyToast__body{color:#e3f2fd}.snotify-confirm{background-color:#009688}.snotify-confirm .snotifyToast__progressBar{background-color:#4db6ac}.snotify-confirm .snotifyToast__progressBar__percentage{background-color:#80cbc4}.snotify-confirm .snotifyToast__body{color:#e0f2f1}.snotify-prompt{background-color:#009688}.snotify-prompt .snotifyToast__title{margin-bottom:0}.snotify-prompt .snotifyToast__body{color:#e0f2f1}.snotify-confirm .snotifyToast__inner,.snotify-prompt .snotifyToast__inner{padding:10px 15px}.snotifyToast__input{position:relative;z-index:1;display:inline-block;margin:0;width:100%;vertical-align:top;-webkit-transition:all .5s;transition:all .5s;-webkit-transition-delay:.3s;transition-delay:.3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.snotifyToast__input__field{position:relative;display:block;float:right;padding:.85em .5em;width:100%;border:none;border-radius:0;background:transparent;color:#333;font-weight:700;-webkit-appearance:none;opacity:0;-webkit-transition:opacity .3s;transition:opacity .3s}.snotifyToast__input__field:focus{outline:none}.snotifyToast__input__label{display:inline-block;float:right;padding:0 .85em;width:100%;color:#e0f2f1;font-weight:700;font-size:70.25%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;left:0;height:100%;text-align:left;pointer-events:none}.snotifyToast__input__label:after,.snotifyToast__input__label:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.snotifyToast__input__label:before{border-top:2px solid #fff;-webkit-transform:translate3d(0,100%,0) translate3d(0,-2px,0);transform:translate3d(0,100%,0) translate3d(0,-2px,0);-webkit-transition-delay:.3s;transition-delay:.3s}.snotifyToast__input__label:after{z-index:-1;background:#b2dfdb;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 0;transform-origin:50% 0}.snotifyToast__input__labelContent{position:relative;display:block;padding:1em 0;width:100%;-webkit-transition:-webkit-transform .3s .3s;transition:-webkit-transform .3s .3s;transition:transform .3s .3s;transition:transform .3s .3s,-webkit-transform .3s .3s}.snotifyToast__input--filled{margin-top:2.5em}.snotifyToast__input--filled .snotifyToast__input__field,.snotifyToast__input--filled:focus{opacity:1;-webkit-transition-delay:.3s;transition-delay:.3s}.snotifyToast__input--filled .snotifyToast__input__labelContent,.snotifyToast__input__field:focus+.snotifyToast__input__label .snotifyToast__input__labelContent{-webkit-transform:translateY(-80%);transform:translateY(-80%);-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.snotifyToast__input--filled .snotifyToast__input__label:before,.snotifyToast__input__field:focus+.snotifyToast__input__label:before{-webkit-transition-delay:0s;transition-delay:0s;-webkit-transform:translate(0);transform:translate(0)}.snotifyToast__input--filled .snotifyToast__input__label:after,.snotifyToast__input__field:focus+.snotifyToast__input__label:after{-webkit-transform:scale(1);transform:scale(1);-webkit-transition-delay:.3s;transition-delay:.3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.snotifyToast--invalid .snotifyToast__input__label:before{border-color:#f44336}.snotifyToast--valid .snotifyToast__input__label:before{border-color:#4caf50}.snotifyToast__buttons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;border-top:1px solid rgba(0,0,0,.1)}.snotifyToast__buttons button{position:relative;width:100%;border:1px solid rgba(0,0,0,.1);border-top:none;border-bottom:none;background:transparent;padding:8px;text-transform:capitalize;color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.snotifyToast__buttons button:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:hsla(0,0%,100%,.3);opacity:0;border-radius:100%;-webkit-transform:scale(1) translate(-50%);transform:scale(1) translate(-50%);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.snotifyToast__buttons button:focus:not(:active):after{-webkit-animation:ripple 1s ease-out;animation:ripple 1s ease-out}.snotifyToast__buttons button:focus,.snotifyToast__buttons button:hover{background:rgba(0,0,0,.1);outline:none}.snotifyToast__buttons button:active{background:rgba(0,0,0,.15)}.snotifyToast__buttons button:last-child{border-right:none}.snotifyToast__buttons button:first-child{border-left:none}.snotifyToast__buttons--bold{font-weight:700}@-webkit-keyframes ripple{0%{-webkit-transform:scale(0);transform:scale(0);opacity:1}20%{-webkit-transform:scale(25);transform:scale(25);opacity:1}to{opacity:0;-webkit-transform:scale(40);transform:scale(40)}}@keyframes ripple{0%{-webkit-transform:scale(0);transform:scale(0);opacity:1}20%{-webkit-transform:scale(25);transform:scale(25);opacity:1}to{opacity:0;-webkit-transform:scale(40);transform:scale(40)}}.snotify-icon{position:absolute;right:10px;top:50%;line-height:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);max-height:48px;max-width:48px;width:100%;height:100%}.snotify-icon--error{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23ffcdd2'%3E%3Cpath d='M437 75A256 256 0 1075 437 256 256 0 10437 75zm-20.57 341.43a226.82 226.82 0 01-320.86 0C7.11 328 7.11 184 95.57 95.57a226.82 226.82 0 01320.86 0c88.46 88.43 88.46 232.43 0 320.86z'/%3E%3Cpath d='M368.81 143.19a14.5 14.5 0 00-20.58 0L256 235.42l-92.23-92.23a14.55 14.55 0 00-20.58 20.58L235.42 256l-92.23 92.23a14.6 14.6 0 0010.24 24.89 14.19 14.19 0 0010.24-4.31l92.23-92.23 92.23 92.23a14.64 14.64 0 0010.24 4.31 14 14 0 0010.24-4.31 14.5 14.5 0 000-20.58l-92-92.23 92.23-92.23a14.5 14.5 0 00-.03-20.58z'/%3E%3C/svg%3E")}.snotify-icon--warning{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23ffccbc'%3E%3Cpath d='M256 512c141.15 0 256-114.84 256-256S397.15 0 256 0 0 114.84 0 256s114.85 256 256 256zm0-480.49c123.79 0 224.49 100.71 224.49 224.49S379.79 480.49 256 480.49 31.51 379.79 31.51 256 132.21 31.51 256 31.51z'/%3E%3Ccircle cx='260.08' cy='343.87' r='26.35'/%3E%3Cpath d='M254.68 278.39a15.76 15.76 0 0015.75-15.75V128.72a15.75 15.75 0 10-31.51 0v133.91a15.76 15.76 0 0015.76 15.76z'/%3E%3C/svg%3E")}.snotify-icon--info{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23bbdefb'%3E%3Cpath d='M256 0C114.84 0 0 114.84 0 256s114.84 256 256 256 256-114.84 256-256S397.15 0 256 0zm0 478.43c-122.65 0-222.43-99.79-222.43-222.43S133.35 33.58 256 33.58 478.42 133.36 478.42 256 378.64 478.43 256 478.43z'/%3E%3Cpath d='M251.26 161.24a22.39 22.39 0 10-22.38-22.39 22.39 22.39 0 0022.38 22.39zM286.84 357.87h-14v-160A16.79 16.79 0 00256 181.05h-30.83a16.79 16.79 0 000 33.58h14.05v143.24h-14.05a16.79 16.79 0 000 33.57h61.67a16.79 16.79 0 100-33.57z'/%3E%3C/svg%3E")}.snotify-icon--success{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23c8e6c9'%3E%3Cpath d='M256 0C114.85 0 0 114.84 0 256s114.85 256 256 256 256-114.84 256-256S397.15 0 256 0zm0 492.31c-130.29 0-236.31-106-236.31-236.31S125.71 19.69 256 19.69 492.31 125.71 492.31 256 386.29 492.31 256 492.31z'/%3E%3Cpath class='cls-1' d='M376.64 151L225.31 321.24l-91.17-72.93a9.85 9.85 0 00-12.3 15.38l98.46 78.77a9.86 9.86 0 0013.52-1.15l157.54-177.23A9.85 9.85 0 00376.64 151z'/%3E%3C/svg%3E")}.snotify-icon--async{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23bbdefb'%3E%3Cpath d='M256 0a32 32 0 00-32 32v64a32 32 0 0064 0V32a32 32 0 00-32-32zm0 384a32 32 0 00-32 32v64a32 32 0 0064 0v-64a32 32 0 00-32-32zm135.74-218.5L437 120.22A32 32 0 00391.74 75l-45.24 45.22a32 32 0 0045.25 45.28zm-271.52 181L75 391.74A32 32 0 00120.22 437l45.25-45.25a32 32 0 00-45.25-45.25zm0-271.52A32 32 0 1075 120.22l45.25 45.28a32 32 0 1045.25-45.28zM391.74 346.5a32 32 0 00-45.25 45.25L391.74 437A32 32 0 00437 391.74zM480 224h-64a32 32 0 000 64h64a32 32 0 000-64zm-352 32a32 32 0 00-32-32H32a32 32 0 000 64h64a32 32 0 0032-32z'/%3E%3C/svg%3E");-webkit-animation:async 3s linear infinite;animation:async 3s linear infinite;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.tablesorter-blue{width:100%;background-color:#fff;margin:10px 0 15px;text-align:left;border-spacing:0;border:1px solid #cdcdcd;border-width:1px 0 0 1px}.tablesorter-blue td,.tablesorter-blue th{border:1px solid #cdcdcd;border-width:0 1px 1px 0}.tablesorter-blue th,.tablesorter-blue thead td{font:12px/18px Arial,Sans-serif;font-weight:700;color:#000;background-color:#99bfe6;border-collapse:collapse;padding:4px;text-shadow:0 1px 0 hsla(0,0%,80%,.7)}.tablesorter-blue tbody td,.tablesorter-blue tfoot td,.tablesorter-blue tfoot th{padding:4px;vertical-align:top}.tablesorter-blue .header,.tablesorter-blue .tablesorter-header{background-image:url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);background-repeat:no-repeat;background-position:100%;padding:4px 18px 4px 4px;white-space:normal;cursor:pointer}.tablesorter-blue .headerSortUp,.tablesorter-blue .tablesorter-headerAsc,.tablesorter-blue .tablesorter-headerSortUp{background-color:#9fbfdf;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7)}.tablesorter-blue .headerSortDown,.tablesorter-blue .tablesorter-headerDesc,.tablesorter-blue .tablesorter-headerSortDown{background-color:#8cb3d9;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7)}.tablesorter-blue thead .sorter-false{background-image:none;cursor:default;padding:4px}.tablesorter-blue tfoot .tablesorter-headerAsc,.tablesorter-blue tfoot .tablesorter-headerDesc,.tablesorter-blue tfoot .tablesorter-headerSortDown,.tablesorter-blue tfoot .tablesorter-headerSortUp{background-image:none}.tablesorter-blue td{color:#3d3d3d;background-color:#fff;padding:4px;vertical-align:top}.tablesorter-blue tbody>tr.even.hover>td,.tablesorter-blue tbody>tr.even:hover+tr.tablesorter-childRow+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.even:hover+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.even:hover>td,.tablesorter-blue tbody>tr.hover>td,.tablesorter-blue tbody>tr:hover+tr.tablesorter-childRow+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr:hover+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr:hover>td{background-color:#d9d9d9}.tablesorter-blue tbody>tr.odd.hover>td,.tablesorter-blue tbody>tr.odd:hover+tr.tablesorter-childRow+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.odd:hover+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.odd:hover>td{background-color:#bfbfbf}.tablesorter-blue .tablesorter-processing{background-position:50%!important;background-repeat:no-repeat!important;background-image:url(data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=)!important}.tablesorter-blue tbody tr.odd>td{background-color:#ebf2fa}.tablesorter-blue tbody tr.even>td{background-color:#fff}.tablesorter-blue td.primary,.tablesorter-blue tr.odd td.primary{background-color:#99b3e6}.tablesorter-blue td.secondary,.tablesorter-blue tr.even td.primary,.tablesorter-blue tr.odd td.secondary{background-color:#c2d1f0}.tablesorter-blue td.tertiary,.tablesorter-blue tr.even td.secondary,.tablesorter-blue tr.odd td.tertiary{background-color:#d6e0f5}.tablesorter-blue tr.even td.tertiary{background-color:#ebf0fa}.tablesorter-blue>caption{background-color:#fff}.tablesorter-blue .tablesorter-filter-row{background-color:#eee}.tablesorter-blue .tablesorter-filter-row td{background-color:#eee;line-height:normal;text-align:center;-webkit-transition:line-height .1s ease;-moz-transition:line-height .1s ease;-o-transition:line-height .1s ease;transition:line-height .1s ease}.tablesorter-blue .tablesorter-filter-row .disabled{opacity:.5;cursor:not-allowed}.tablesorter-blue .tablesorter-filter-row.hideme td{padding:2px;margin:0;line-height:0;cursor:pointer}.tablesorter-blue .tablesorter-filter-row.hideme *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}.tablesorter-blue input.tablesorter-filter,.tablesorter-blue select.tablesorter-filter{width:98%;height:auto;margin:0;padding:4px;background-color:#fff;border:1px solid #bbb;color:#333;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:height .1s ease;-moz-transition:height .1s ease;-o-transition:height .1s ease;transition:height .1s ease}.tablesorter .filtered{display:none}.tablesorter .tablesorter-errorRow td{text-align:center;cursor:pointer;background-color:#e6bf99}@font-face{font-family:Open Sans;font-style:normal;font-weight:300;src:local("Open Sans Light"),local("OpenSans-Light"),url(../fonts/open-sans-v15-latin-300.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:italic;font-weight:300;src:local("Open Sans Light Italic"),local("OpenSans-LightItalic"),url(../fonts/open-sans-v15-latin-300italic.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(../fonts/open-sans-v15-latin-regular.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:italic;font-weight:400;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(../fonts/open-sans-v15-latin-italic.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:italic;font-weight:600;src:local("Open Sans SemiBold Italic"),local("OpenSans-SemiBoldItalic"),url(../fonts/open-sans-v15-latin-600italic.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;src:local("Open Sans SemiBold"),local("OpenSans-SemiBold"),url(../fonts/open-sans-v15-latin-600.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(../fonts/open-sans-v15-latin-700.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:italic;font-weight:700;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(../fonts/open-sans-v15-latin-700italic.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:normal;font-weight:800;src:local("Open Sans ExtraBold"),local("OpenSans-ExtraBold"),url(../fonts/open-sans-v15-latin-800.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:italic;font-weight:800;src:local("Open Sans ExtraBold Italic"),local("OpenSans-ExtraBoldItalic"),url(../fonts/open-sans-v15-latin-800italic.ttf) format("truetype")}fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:48px;height:35px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border:2px solid transparent;border-top-color:#41b883;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;-ms-touch-action:manipulation;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input:-ms-input-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"\D7";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus,.multiselect__tag-icon:hover{background:#369a6e}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 0;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}} \ No newline at end of file diff --git a/themes/dark/assets/js/app.js b/themes/dark/assets/js/app.js index 10aace1bcb..07cb283195 100644 --- a/themes/dark/assets/js/app.js +++ b/themes/dark/assets/js/app.js @@ -1,15 +1 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["app"],{ - -/***/ "./src/app.js": -/*!********************!*\ - !*** ./src/app.js ***! - \********************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.js\");\n/* harmony import */ var _global_vue_shim__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./global-vue-shim */ \"./src/global-vue-shim.js\");\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./router */ \"./src/router/index.js\");\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./store */ \"./src/store/index.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/core */ \"./src/utils/core.js\");\n\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].config.devtools = true;\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].config.performance = true;\nObject(_global_vue_shim__WEBPACK_IMPORTED_MODULE_1__[\"registerPlugins\"])(); // @TODO: Remove this before v1.0.0\n\nObject(_global_vue_shim__WEBPACK_IMPORTED_MODULE_1__[\"registerGlobalComponents\"])();\nconst app = new vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({\n name: 'app',\n router: _router__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n store: _store__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n\n data() {\n return {\n globalLoading: false,\n pageComponent: false\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_4__[\"mapState\"])({\n showsLoading: state => state.shows.loading\n })\n },\n\n mounted() {\n const {\n getShows,\n setLoadingDisplay,\n setLoadingFinished\n } = this;\n\n if (_utils_core__WEBPACK_IMPORTED_MODULE_5__[\"isDevelopment\"]) {\n console.log('App Mounted!');\n }\n\n if (!window.location.pathname.includes('/login')) {\n const {\n $store\n } = this;\n Promise.all([$store.dispatch('login', {\n username: window.username\n }), $store.dispatch('getConfig'), $store.dispatch('getStats')]).then(([_, config]) => {\n if (_utils_core__WEBPACK_IMPORTED_MODULE_5__[\"isDevelopment\"]) {\n console.log('App Loaded!');\n } // Legacy - send config.general to jQuery (received by index.js)\n\n\n const event = new CustomEvent('medusa-config-loaded', {\n detail: {\n general: config.general,\n layout: config.layout\n }\n });\n window.dispatchEvent(event);\n }).catch(error => {\n console.debug(error);\n alert('Unable to connect to Medusa!'); // eslint-disable-line no-alert\n });\n } // Let's bootstrap the app with essential data.\n\n\n getShows().then(() => {\n console.log('Finished loading all shows.');\n setTimeout(() => {\n setLoadingFinished(true);\n setLoadingDisplay(false);\n }, 2000);\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_4__[\"mapActions\"])({\n getShows: 'getShows'\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_4__[\"mapMutations\"])(['setLoadingDisplay', 'setLoadingFinished'])\n }\n}).$mount('#vue-wrap');\n/* harmony default export */ __webpack_exports__[\"default\"] = (app);\n\n//# sourceURL=webpack:///./src/app.js?"); - -/***/ }) - -},[["./src/app.js","vendors","medusa-runtime","vendors~date-fns"]]]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{289:function(e,o,t){"use strict";t.r(o);var n=t(5),a=t(30),s=t(24),i=t(23),d=t(1),c=t(4);n.default.config.devtools=!0,n.default.config.performance=!0,Object(a.c)(),Object(a.b)();const l=new n.default({name:"app",router:s.b,store:i.a,data:()=>({globalLoading:!1,pageComponent:!1}),computed:{...Object(d.f)({showsLoading:e=>e.shows.loading})},mounted(){const{getShows:e,setLoadingDisplay:o,setLoadingFinished:t}=this;if(c.g&&console.log("App Mounted!"),!window.location.pathname.includes("/login")){const{$store:e}=this;Promise.all([e.dispatch("login",{username:window.username}),e.dispatch("getConfig"),e.dispatch("getStats")]).then(([e,o])=>{c.g&&console.log("App Loaded!");const t=new CustomEvent("medusa-config-loaded",{detail:{general:o.general,layout:o.layout}});window.dispatchEvent(t)}).catch(e=>{console.debug(e),alert("Unable to connect to Medusa!")})}e().then(()=>{console.log("Finished loading all shows."),setTimeout(()=>{t(!0),o(!1)},2e3)})},methods:{...Object(d.c)({getShows:"getShows"}),...Object(d.e)(["setLoadingDisplay","setLoadingFinished"])}}).$mount("#vue-wrap");o.default=l}},[[289,1,0,2]]]); \ No newline at end of file diff --git a/themes/dark/assets/js/index.js b/themes/dark/assets/js/index.js index a390efc75a..9750fe3142 100644 --- a/themes/dark/assets/js/index.js +++ b/themes/dark/assets/js/index.js @@ -1,15 +1 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["index"],{ - -/***/ "./src/index.js": -/*!**********************!*\ - !*** ./src/index.js ***! - \**********************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! bootstrap */ \"./node_modules/bootstrap/dist/js/npm.js\");\n/* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(bootstrap__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var bootstrap_dist_css_bootstrap_min_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bootstrap/dist/css/bootstrap.min.css */ \"./node_modules/bootstrap/dist/css/bootstrap.min.css\");\n/* harmony import */ var bootstrap_dist_css_bootstrap_min_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(bootstrap_dist_css_bootstrap_min_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue_snotify_styles_material_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue-snotify/styles/material.css */ \"./node_modules/vue-snotify/styles/material.css\");\n/* harmony import */ var vue_snotify_styles_material_css__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vue_snotify_styles_material_css__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _vendor_js_tablesorter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../vendor/js/tablesorter */ \"./vendor/js/tablesorter.js\");\n/* harmony import */ var _vendor_css_open_sans_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../vendor/css/open-sans.css */ \"./vendor/css/open-sans.css\");\n/* harmony import */ var _vendor_css_open_sans_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_vendor_css_open_sans_css__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue-js-toggle-button */ \"./node_modules/vue-js-toggle-button/dist/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! axios */ \"./node_modules/axios/index.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\");\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./store */ \"./src/store/index.js\");\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./router */ \"./src/router/index.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./api */ \"./src/api.js\");\n/* harmony import */ var _global_vue_shim__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./global-vue-shim */ \"./src/global-vue-shim.js\");\n/* eslint-disable import/no-unassigned-import */\n\n\n\n\n\n\n/* eslint-enable import/no-unassigned-import */\n\n\n\n\n\n\n\n\n\n\n\nif (window) {\n // @TODO: Remove this before v1.0.0\n window.globalVueShim = _global_vue_shim__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; // Adding libs to window so mako files can use them\n\n window.$ = jquery__WEBPACK_IMPORTED_MODULE_0___default.a;\n window.jQuery = jquery__WEBPACK_IMPORTED_MODULE_0___default.a;\n window.Vue = vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\n window.Vuex = vuex__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n window.ToggleButton = vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_8__[\"ToggleButton\"];\n window.axios = axios__WEBPACK_IMPORTED_MODULE_9___default.a;\n window._ = {\n debounce: (lodash_debounce__WEBPACK_IMPORTED_MODULE_10___default())\n };\n window.store = _store__WEBPACK_IMPORTED_MODULE_11__[\"default\"];\n window.router = _router__WEBPACK_IMPORTED_MODULE_12__[\"default\"];\n window.apiRoute = _api__WEBPACK_IMPORTED_MODULE_13__[\"apiRoute\"];\n window.apiv1 = _api__WEBPACK_IMPORTED_MODULE_13__[\"apiv1\"];\n window.api = _api__WEBPACK_IMPORTED_MODULE_13__[\"api\"];\n window.MEDUSA = {\n common: {},\n config: {\n general: {},\n layout: {}\n },\n home: {},\n addShows: {}\n };\n window.webRoot = _api__WEBPACK_IMPORTED_MODULE_13__[\"webRoot\"];\n window.apiKey = _api__WEBPACK_IMPORTED_MODULE_13__[\"apiKey\"]; // Push x-template components to this array to register them globally\n\n window.components = [];\n}\n\nconst UTIL = {\n exec(controller, action) {\n const ns = MEDUSA;\n action = action === undefined ? 'init' : action;\n\n if (controller !== '' && ns[controller] && typeof ns[controller][action] === 'function') {\n ns[controller][action]();\n }\n },\n\n init() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[v-cloak]').removeAttr('v-cloak');\n const {\n body\n } = document;\n const controller = body.getAttribute('data-controller');\n const action = body.getAttribute('data-action');\n UTIL.exec('common'); // Load common\n\n UTIL.exec(controller); // Load MEDUSA[controller]\n\n UTIL.exec(controller, action); // Load MEDUSA[controller][action]\n\n window.dispatchEvent(new Event('medusa-loaded'));\n }\n\n};\nconst {\n pathname\n} = window.location;\n\nif (!pathname.includes('/login') && !pathname.includes('/apibuilder')) {\n const configLoaded = event => {\n const {\n general,\n layout\n } = event.detail;\n MEDUSA.config.general = { ...MEDUSA.config.general,\n ...general\n };\n const themeSpinner = layout.themeName === 'dark' ? '-dark' : '';\n MEDUSA.config.layout = { ...MEDUSA.config.layout,\n ...layout,\n themeSpinner,\n loading: ''\n };\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).ready(UTIL.init);\n };\n\n window.addEventListener('medusa-config-loaded', configLoaded, {\n once: true\n });\n}\n\n//# sourceURL=webpack:///./src/index.js?"); - -/***/ }) - -},[["./src/index.js","vendors","medusa-runtime","vendors~date-fns"]]]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{147:function(o,n,e){"use strict";e.r(n);var i=e(6),t=e.n(i),d=(e(148),e(161),e(162),e(163),e(171),e(5)),w=e(1),a=e(16),c=e(28),l=e.n(c),u=e(27),g=e.n(u),r=e(23),s=e(24),m=e(3),p=e(30);window&&(window.globalVueShim=p.a,window.$=t.a,window.jQuery=t.a,window.Vue=d.default,window.Vuex=w.b,window.ToggleButton=a.ToggleButton,window.axios=l.a,window._={debounce:g()},window.store=r.a,window.router=s.b,window.apiRoute=m.c,window.apiv1=m.d,window.api=m.a,window.MEDUSA={common:{},config:{general:{},layout:{}},home:{},addShows:{}},window.webRoot=m.e,window.apiKey=m.b,window.components=[]);const b={exec(o,n){const e=MEDUSA;n=void 0===n?"init":n,""!==o&&e[o]&&"function"==typeof e[o][n]&&e[o][n]()},init(){t()("[v-cloak]").removeAttr("v-cloak");const{body:o}=document,n=o.getAttribute("data-controller"),e=o.getAttribute("data-action");b.exec("common"),b.exec(n),b.exec(n,e),window.dispatchEvent(new Event("medusa-loaded"))}},{pathname:f}=window.location;if(!f.includes("/login")&&!f.includes("/apibuilder")){const o=o=>{const{general:n,layout:e}=o.detail;MEDUSA.config.general={...MEDUSA.config.general,...n};const i="dark"===e.themeName?"-dark":"";MEDUSA.config.layout={...MEDUSA.config.layout,...e,themeSpinner:i,loading:''},t()(document).ready(b.init)};window.addEventListener("medusa-config-loaded",o,{once:!0})}}},[[147,1,0,2]]]); \ No newline at end of file diff --git a/themes/dark/assets/js/medusa-runtime.js b/themes/dark/assets/js/medusa-runtime.js index d41a4d67a2..43593cc14f 100644 --- a/themes/dark/assets/js/medusa-runtime.js +++ b/themes/dark/assets/js/medusa-runtime.js @@ -1,5239 +1 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["medusa-runtime"],{ - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/add-recommended.vue?vue&type=script&lang=js&": -/*!***************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/add-recommended.vue?vue&type=script&lang=js& ***! - \***************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'add-recommended',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"AppLink\"]\n },\n computed: {\n header() {\n return this.$route.meta.header;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/add-recommended.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/add-show-options.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/add-show-options.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var _anidb_release_group_ui_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./anidb-release-group-ui.vue */ \"./src/components/anidb-release-group-ui.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'add-show-options',\n components: {\n AnidbReleaseGroupUi: _anidb_release_group_ui_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n ConfigToggleSlider: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigToggleSlider\"],\n QualityChooser: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"QualityChooser\"]\n },\n props: {\n showName: {\n type: String,\n default: '',\n required: false\n },\n enableAnimeOptions: {\n type: Boolean,\n default: false\n }\n },\n\n data() {\n return {\n saving: false,\n selectedStatus: null,\n selectedStatusAfter: null,\n quality: {\n allowed: [],\n preferred: []\n },\n selectedSubtitleEnabled: false,\n selectedSeasonFoldersEnabled: false,\n selectedAnimeEnabled: false,\n selectedSceneEnabled: false,\n release: {\n blacklist: [],\n whitelist: []\n }\n };\n },\n\n mounted() {\n const {\n defaultConfig,\n update\n } = this;\n this.selectedStatus = defaultConfig.status;\n this.selectedStatusAfter = defaultConfig.statusAfter;\n this.$nextTick(() => update());\n this.$watch(vm => [vm.selectedStatus, vm.selectedStatusAfter, vm.selectedSubtitleEnabled, vm.selectedSeasonFoldersEnabled, vm.selectedSceneEnabled, vm.selectedAnimeEnabled].join(), () => {\n this.update();\n });\n },\n\n methods: {\n update() {\n const {\n selectedSubtitleEnabled,\n selectedStatus,\n selectedStatusAfter,\n selectedSeasonFoldersEnabled,\n selectedAnimeEnabled,\n selectedSceneEnabled,\n release,\n quality\n } = this;\n this.$nextTick(() => {\n this.$emit('change', {\n subtitles: selectedSubtitleEnabled,\n status: selectedStatus,\n statusAfter: selectedStatusAfter,\n seasonFolders: selectedSeasonFoldersEnabled,\n anime: selectedAnimeEnabled,\n scene: selectedSceneEnabled,\n release,\n quality\n });\n });\n },\n\n onChangeReleaseGroupsAnime(groupNames) {\n this.release.whitelist = groupNames.whitelist;\n this.release.blacklist = groupNames.blacklist;\n this.update();\n },\n\n saveDefaults() {\n const {\n $store,\n selectedStatus,\n selectedStatusAfter,\n combinedQualities,\n selectedSubtitleEnabled,\n selectedSeasonFoldersEnabled,\n selectedAnimeEnabled,\n selectedSceneEnabled\n } = this;\n const section = 'main';\n const config = {\n showDefaults: {\n status: selectedStatus,\n statusAfter: selectedStatusAfter,\n quality: combinedQualities,\n subtitles: selectedSubtitleEnabled,\n seasonFolders: selectedSeasonFoldersEnabled,\n anime: selectedAnimeEnabled,\n scene: selectedSceneEnabled\n }\n };\n this.saving = true;\n $store.dispatch('setConfig', {\n section,\n config\n }).then(() => {\n this.$snotify.success('Your \"add show\" defaults have been set to your current selections.', 'Saved Defaults');\n }).catch(error => {\n this.$snotify.error('Error while trying to save \"add show\" defaults: ' + (error.message || 'Unknown'), 'Error');\n }).finally(() => {\n this.saving = false;\n });\n }\n\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n defaultConfig: state => state.config.general.showDefaults,\n namingForceFolders: state => state.config.general.namingForceFolders,\n subtitlesEnabled: state => state.config.general.subtitles.enabled,\n episodeStatuses: state => state.config.consts.statuses\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])(['getStatus']),\n\n defaultEpisodeStatusOptions() {\n const {\n getStatus\n } = this;\n\n if (this.episodeStatuses.length === 0) {\n return [];\n } // Get status objects, in this order\n\n\n return ['skipped', 'wanted', 'ignored'].map(key => getStatus({\n key\n }));\n },\n\n /**\n * Calculate the combined value of the selected qualities.\n * @returns {number} - An unsigned integer.\n */\n combinedQualities() {\n const {\n quality\n } = this;\n const {\n allowed,\n preferred\n } = quality;\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"combineQualities\"])(allowed, preferred);\n },\n\n /**\n * Check if any changes were made to determine if the \"Save Defaults\" button should be enabled.\n * @returns {boolean} - Should the save default buttons be disabled?\n */\n saveDefaultsDisabled() {\n const {\n enableAnimeOptions,\n defaultConfig,\n namingForceFolders,\n selectedStatus,\n selectedStatusAfter,\n combinedQualities,\n selectedSeasonFoldersEnabled,\n selectedSubtitleEnabled,\n selectedAnimeEnabled,\n selectedSceneEnabled\n } = this;\n return [selectedStatus === defaultConfig.status, selectedStatusAfter === defaultConfig.statusAfter, combinedQualities === defaultConfig.quality, selectedSeasonFoldersEnabled === (defaultConfig.seasonFolders || namingForceFolders), selectedSubtitleEnabled === defaultConfig.subtitles, !enableAnimeOptions || selectedAnimeEnabled === defaultConfig.anime, selectedSceneEnabled === defaultConfig.scene].every(Boolean);\n }\n\n },\n watch: {\n release: {\n handler() {\n this.$emit('refresh');\n this.update();\n },\n\n deep: true,\n immediate: false\n },\n\n /**\n * Whenever something changes that can impact the height of the component,\n * we need to update the parent formWizard, and make it resize.\n */\n quality: {\n handler() {\n this.$emit('refresh');\n this.update();\n },\n\n deep: true,\n immediate: false\n },\n\n selectedAnimeEnabled() {\n this.$emit('refresh');\n this.update();\n },\n\n defaultConfig(newValue) {\n const {\n namingForceFolders\n } = this;\n this.selectedStatus = newValue.status;\n this.selectedStatusAfter = newValue.statusAfter;\n this.selectedSubtitleEnabled = newValue.subtitles;\n this.selectedAnimeEnabled = newValue.anime;\n this.selectedSeasonFoldersEnabled = newValue.seasonFolders || namingForceFolders;\n this.selectedSceneEnabled = newValue.scene;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/add-show-options.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/add-shows.vue?vue&type=script&lang=js&": -/*!*********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/add-shows.vue?vue&type=script&lang=js& ***! - \*********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'add-shows',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"AppLink\"]\n },\n computed: {\n header() {\n return this.$route.meta.header;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/add-shows.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/anidb-release-group-ui.vue?vue&type=script&lang=js&": -/*!**********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/anidb-release-group-ui.vue?vue&type=script&lang=js& ***! - \**********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../api */ \"./src/api.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'anidb-release-group-ui',\n components: {\n StateSwitch: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"StateSwitch\"]\n },\n props: {\n showName: {\n type: String,\n required: true\n },\n blacklist: {\n type: Array,\n default: () => []\n },\n whitelist: {\n type: Array,\n default: () => []\n }\n },\n\n data() {\n return {\n index: 0,\n allReleaseGroups: [],\n newGroup: '',\n fetchingGroups: false,\n remoteGroups: []\n };\n },\n\n mounted() {\n this.createIndexedObjects(this.blacklist, 'blacklist');\n this.createIndexedObjects(this.whitelist, 'whitelist');\n this.createIndexedObjects(this.remoteGroups, 'releasegroups');\n this.fetchGroups();\n },\n\n methods: {\n async fetchGroups() {\n const {\n showName\n } = this;\n\n if (!showName) {\n return;\n }\n\n this.fetchingGroups = true;\n console.log('Fetching release groups');\n const params = {\n series_name: showName // eslint-disable-line camelcase\n\n };\n\n try {\n const {\n data\n } = await _api__WEBPACK_IMPORTED_MODULE_1__[\"apiRoute\"].get('home/fetch_releasegroups', {\n params,\n timeout: 30000\n });\n\n if (data.result !== 'success') {\n throw new Error('Failed to get release groups, check server logs for errors.');\n }\n\n this.remoteGroups = data.groups || [];\n } catch (error) {\n const message = `Error while trying to fetch release groups for show \"${showName}\": ${error || 'Unknown'}`;\n this.$snotify.warning(message, 'Error');\n console.error(message);\n } finally {\n this.fetchingGroups = false;\n }\n },\n\n toggleItem(release) {\n this.allReleaseGroups = this.allReleaseGroups.map(x => {\n if (x.id === release.id) {\n x.toggled = !x.toggled;\n }\n\n return x;\n });\n },\n\n createIndexedObjects(releaseGroups, list) {\n for (let release of releaseGroups) {\n // Whitelist and blacklist pass an array of strings not objects.\n if (typeof release === 'string') {\n release = {\n name: release\n };\n } // Merge the passed object with some additional information.\n\n\n const itemAsObject = Object.assign({\n id: this.index,\n toggled: false,\n memberOf: list\n }, release);\n\n if (this.allReleaseGroups.filter(group => group.name === itemAsObject.name && group.memberOf === list).length === 0) {\n this.allReleaseGroups.push(itemAsObject);\n this.index += 1; // Increment the counter for our next item.\n }\n }\n },\n\n moveToList(list) {\n // Only move items that have been toggled and that are not yet in that list.\n // It's matching them by item.name.\n for (const group of this.allReleaseGroups) {\n const inList = this.allReleaseGroups.find(releaseGroup => {\n return releaseGroup.memberOf === list && releaseGroup.name === group.name;\n }) !== undefined;\n\n if (group.toggled && !inList) {\n group.toggled = false;\n group.memberOf = list;\n }\n }\n /*\n * Check if there is a value in the custom release group input box,\n * and move this to the selected group (whitelist or blacklist)\n */\n\n\n if (this.newGroup && list !== 'releasegroups') {\n this.allReleaseGroups.push({\n id: this.index,\n name: this.newGroup,\n toggled: false,\n memberOf: list\n });\n this.index += 1;\n this.newGroup = '';\n }\n },\n\n deleteFromList(list) {\n this.allReleaseGroups = this.allReleaseGroups.filter(x => x.memberOf !== list || !x.toggled);\n }\n\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n layout: state => state.config.layout\n }),\n\n itemsWhitelist() {\n return this.allReleaseGroups.filter(x => x.memberOf === 'whitelist');\n },\n\n itemsBlacklist() {\n return this.allReleaseGroups.filter(x => x.memberOf === 'blacklist');\n },\n\n itemsReleaseGroups() {\n return this.allReleaseGroups.filter(x => x.memberOf === 'releasegroups');\n },\n\n showDeleteFromWhitelist() {\n return this.allReleaseGroups.filter(x => x.memberOf === 'whitelist' && x.toggled === true).length !== 0;\n },\n\n showDeleteFromBlacklist() {\n return this.allReleaseGroups.filter(x => x.memberOf === 'blacklist' && x.toggled === true).length !== 0;\n }\n\n },\n watch: {\n showName() {\n this.fetchGroups();\n },\n\n allReleaseGroups: {\n deep: true,\n\n handler(items) {\n const groupNames = {\n whitelist: [],\n blacklist: []\n };\n items.forEach(item => {\n if (Object.keys(groupNames).includes(item.memberOf)) {\n groupNames[item.memberOf].push(item.name);\n }\n });\n this.$emit('change', groupNames);\n }\n\n },\n\n remoteGroups(newGroups) {\n this.createIndexedObjects(newGroups, 'releasegroups');\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/anidb-release-group-ui.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/app-footer.vue?vue&type=script&lang=js&": -/*!**********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/app-footer.vue?vue&type=script&lang=js& ***! - \**********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var date_fns_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! date-fns/format */ \"./node_modules/date-fns/esm/format/index.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'app-footer',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"AppLink\"]\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n layout: state => state.config.layout,\n system: state => state.config.system,\n stats: state => state.stats\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])(['getStatus', 'getScheduler']),\n\n snatchedStatus() {\n const status = this.getStatus({\n key: 'snatched'\n });\n return status ? status.value : '';\n },\n\n episodePercentage() {\n const {\n downloaded,\n total\n } = this.stats.overall.episodes;\n\n if (!total) {\n return '';\n }\n\n const raw = downloaded / total * 100;\n return raw.toFixed(1) + '%';\n },\n\n nowInUserPreset() {\n const {\n dateStyle,\n timeStyle\n } = this.layout;\n const preset = Object(_utils_core__WEBPACK_IMPORTED_MODULE_2__[\"convertDateFormat\"])(`${dateStyle} ${timeStyle}`);\n return Object(date_fns_format__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(new Date(), preset);\n }\n\n },\n methods: {\n /**\n * Return a formatted next run time of the scheduler matching the provided key.\n *\n * @param {string} scheduler A scheduler key.\n * @returns {string} The formatted next run time.\n */\n schedulerNextRun(scheduler) {\n /** @type {import('../store/modules/system').Scheduler} */\n const {\n nextRun\n } = this.getScheduler(scheduler); // The next run can be `undefined` when the scheduler was not initialized\n // on the backend, and `null` when the scheduler is not enabled.\n\n if (nextRun === undefined) {\n return '??:??:??';\n }\n\n if (nextRun === null) {\n return 'Disabled';\n }\n\n return this.formatTimeDuration(nextRun);\n },\n\n /**\n * Return a formatted string representing the provided duration.\n *\n * This function will not use any units greater than a day.\n * @param {number} durationInMs Duration of time in milliseconds.\n * @returns {string} The formatted duration.\n *\n * @example\n */\n formatTimeDuration(durationInMs) {\n const days = Number.parseInt(durationInMs / 86400000, 10);\n let daysText = '';\n\n if (days > 0) {\n daysText = String(days) + (days > 1 ? ' days, ' : ' day, ');\n }\n\n const date = new Date(durationInMs % 86400000);\n\n const zeroPad = (num, len = 2) => String(num).padStart(len, '0');\n\n const hours = String(date.getUTCHours());\n const minutes = zeroPad(date.getUTCMinutes());\n const seconds = zeroPad(date.getUTCSeconds() + Math.round(date.getUTCMilliseconds() / 1000));\n return daysText + [hours, minutes, seconds].join(':');\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/app-footer.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/app-header.vue?vue&type=script&lang=js&": -/*!**********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/app-header.vue?vue&type=script&lang=js& ***! - \**********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'app-header',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"AppLink\"]\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n clients: state => state.config.clients,\n notifiers: state => state.config.notifiers,\n postprocessing: state => state.config.postprocessing,\n search: state => state.config.search,\n system: state => state.config.system,\n isAuthenticated: state => state.auth.isAuthenticated,\n username: state => state.auth.user.username,\n warningLevel: state => state.config.general.logs.loggingLevels.warning\n }),\n\n recentShows() {\n const {\n config\n } = this;\n const {\n recentShows\n } = config;\n return recentShows.map(show => {\n const {\n name,\n indexerName,\n showId\n } = show;\n const link = `home/displayShow?indexername=${indexerName}&seriesid=${showId}`;\n return {\n name,\n link\n };\n });\n },\n\n topMenu() {\n return this.$route.meta.topMenu;\n },\n\n toolsBadgeCount() {\n const {\n config\n } = this;\n const {\n system\n } = this;\n const {\n logs\n } = config;\n const {\n news\n } = system;\n return logs.numErrors + logs.numWarnings + news.unread;\n },\n\n toolsBadgeClass() {\n const {\n config\n } = this;\n const {\n logs\n } = config;\n\n if (logs.numErrors > 0) {\n return ' btn-danger';\n }\n\n if (logs.numWarnings > 0) {\n return ' btn-warning';\n }\n\n return '';\n },\n\n linkVisible() {\n const {\n clients,\n config,\n notifiers,\n postprocessing,\n search\n } = this;\n const {\n subtitles\n } = config;\n const {\n general\n } = search;\n const {\n kodi,\n plex,\n emby\n } = notifiers;\n return {\n plex: plex.server.enabled && plex.server.host.length !== 0,\n kodi: kodi.enabled && kodi.host.length !== 0,\n\n /* @TODO: Originally there was a check to make sure the API key\n was configured for Emby: ` app.EMBY_APIKEY != '' ` */\n emby: emby.enabled && emby.host,\n manageTorrents: clients.torrents.enabled && clients.torrents.method !== 'blackhole',\n failedDownloads: general.failedDownloads.enabled,\n subtitleMissed: subtitles.enabled,\n subtitleMissedPP: postprocessing.postponeIfNoSubs\n };\n }\n\n },\n\n mounted() {\n const {\n $el\n } = this; // Auto close menus when clicking a RouterLink\n\n $el.clickCloseMenus = event => {\n const {\n target\n } = event;\n\n if (target.matches('#main_nav a.router-link, #main_nav a.router-link *')) {\n const dropdown = target.closest('.dropdown');\n dropdown.querySelector('.dropdown-toggle').setAttribute('aria-expanded', false);\n dropdown.querySelector('.dropdown-menu').style.display = 'none'; // Also collapse the main nav if it's open\n\n $('#main_nav').collapse('hide');\n }\n };\n\n $el.addEventListener('click', $el.clickCloseMenus, {\n passive: true\n }); // Hover Dropdown for Nav\n\n $($el).on({\n mouseenter(event) {\n const $target = $(event.currentTarget);\n $target.find('.dropdown-menu').stop(true, true).delay(200).fadeIn(500, () => {\n $target.find('.dropdown-toggle').attr('aria-expanded', 'true');\n });\n },\n\n mouseleave(event) {\n const $target = $(event.currentTarget);\n $target.find('.dropdown-toggle').attr('aria-expanded', 'false');\n $target.find('.dropdown-menu').stop(true, true).delay(200).fadeOut(500);\n }\n\n }, 'ul.nav li.dropdown'); // @TODO Replace this with a real touchscreen check\n // hack alert: if we don't have a touchscreen, and we are already hovering the mouse, then click should link instead of toggle\n\n if ((navigator.maxTouchPoints || 0) < 2) {\n $($el).on('click', '.dropdown-toggle', event => {\n const $target = $(event.currentTarget);\n\n if ($target.attr('aria-expanded') === 'true') {\n window.location.href = $target.attr('href');\n }\n });\n }\n },\n\n destroyed() {\n // Revert `mounted()`\n const {\n $el\n } = this; // Auto close menus when clicking a RouterLink\n\n $el.removeEventListener('click', $el.clickCloseMenus); // Hover Dropdown for Nav\n\n $($el).off('mouseenter mouseleave', 'ul.nav li.dropdown'); // @TODO Replace this with a real touchscreen check\n // hack alert: if we don't have a touchscreen, and we are already hovering the mouse, then click should link instead of toggle\n\n if ((navigator.maxTouchPoints || 0) < 2) {\n $($el).off('click', '.dropdown-toggle');\n }\n },\n\n methods: {\n confirmDialog(event, action) {\n const options = {\n confirmButton: 'Yes',\n cancelButton: 'Cancel',\n dialogClass: 'modal-dialog',\n post: false,\n button: $(event.currentTarget),\n\n confirm($element) {\n window.location.href = $element[0].href;\n }\n\n };\n\n if (action === 'restart') {\n options.title = 'Restart';\n options.text = 'Are you sure you want to restart Medusa?';\n } else if (action === 'shutdown') {\n options.title = 'Shutdown';\n options.text = 'Are you sure you want to shutdown Medusa?';\n } else if (action === 'logout') {\n options.title = 'Logout';\n options.text = 'Are you sure you want to logout from Medusa?';\n } else {\n return;\n }\n\n $.confirm(options, event);\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/app-header.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/backstretch.vue?vue&type=script&lang=js&": -/*!***********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/backstretch.vue?vue&type=script&lang=js& ***! - \***********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../api */ \"./src/api.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'backstretch',\n render: h => h(),\n // Doesn't render anything\n props: {\n slug: String\n },\n\n data() {\n return {\n created: false\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n enabled: state => state.config.layout.fanartBackground,\n opacity: state => state.config.layout.fanartBackgroundOpacity\n }),\n\n offset() {\n let offset = '90px';\n\n if ($('#sub-menu-container').length === 0) {\n offset = '50px';\n }\n\n if ($(window).width() < 1280) {\n offset = '50px';\n }\n\n return offset;\n }\n\n },\n\n async mounted() {\n try {\n await Object(_utils_core__WEBPACK_IMPORTED_MODULE_2__[\"waitFor\"])(() => this.enabled !== null);\n } catch (error) {\n console.error(error);\n }\n\n if (!this.enabled) {\n return;\n }\n\n const {\n opacity,\n slug,\n offset\n } = this;\n\n if (slug) {\n const imgUrl = `${_api__WEBPACK_IMPORTED_MODULE_1__[\"webRoot\"]}/api/v2/series/${slug}/asset/fanart?api_key=${_api__WEBPACK_IMPORTED_MODULE_1__[\"apiKey\"]}`; // If no element is supplied, attaches to ``\n\n const {\n $wrap\n } = $.backstretch(imgUrl);\n $wrap.css('top', offset);\n $wrap.css('opacity', opacity).fadeIn(500);\n this.created = true;\n }\n },\n\n destroyed() {\n if (this.created) {\n $.backstretch('destroy');\n }\n },\n\n watch: {\n opacity(newOpacity) {\n if (this.created) {\n const {\n $wrap\n } = $('body').data('backstretch');\n $wrap.css('opacity', newOpacity).fadeIn(500);\n }\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/backstretch.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-anime.vue?vue&type=script&lang=js&": -/*!************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-anime.vue?vue&type=script&lang=js& ***! - \************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-nav-tabs/dist/vue-tabs.js */ \"./node_modules/vue-nav-tabs/dist/vue-tabs.js\");\n/* harmony import */ var vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-post-processing',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"AppLink\"],\n ConfigTextbox: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"ConfigTextbox\"],\n ConfigToggleSlider: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"ConfigToggleSlider\"],\n VueTabs: vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__[\"VueTabs\"],\n VTab: vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__[\"VTab\"]\n },\n\n data() {\n return {\n saving: false\n };\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])(['setConfig']),\n\n async save() {\n const {\n anime,\n setConfig\n } = this; // Disable the save button until we're done.\n\n this.saving = true;\n const section = 'main';\n\n try {\n await setConfig({\n section,\n config: {\n anime\n }\n });\n this.$snotify.success('Saved Anime config', 'Saved', {\n timeout: 5000\n });\n } catch (error) {\n this.$snotify.error('Error while trying to save anime config', 'Error');\n } finally {\n this.saving = false;\n }\n }\n\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n anime: state => state.config.anime\n })\n }\n});\n\n//# sourceURL=webpack:///./src/components/config-anime.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-general.vue?vue&type=script&lang=js&": -/*!**************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-general.vue?vue&type=script&lang=js& ***! - \**************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../api.js */ \"./src/api.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _root_dirs_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./root-dirs.vue */ \"./src/components/root-dirs.vue\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var _utils_core_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/core.js */ \"./src/utils/core.js\");\n/* harmony import */ var date_fns_format__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! date-fns/format */ \"./node_modules/date-fns/esm/format/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue-js-toggle-button */ \"./node_modules/vue-js-toggle-button/dist/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var vue_multiselect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vue-multiselect */ \"./node_modules/vue-multiselect/dist/vue-multiselect.min.js\");\n/* harmony import */ var vue_multiselect__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(vue_multiselect__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var vue_multiselect_dist_vue_multiselect_min_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue-multiselect/dist/vue-multiselect.min.css */ \"./node_modules/vue-multiselect/dist/vue-multiselect.min.css\");\n/* harmony import */ var vue_multiselect_dist_vue_multiselect_min_css__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue_multiselect_dist_vue_multiselect_min_css__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! v-tooltip */ \"./node_modules/v-tooltip/dist/v-tooltip.esm.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-general',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"AppLink\"],\n ConfigTemplate: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"ConfigTemplate\"],\n ConfigTextbox: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"ConfigTextbox\"],\n ConfigTextboxNumber: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"ConfigTextboxNumber\"],\n ConfigToggleSlider: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"ConfigToggleSlider\"],\n LanguageSelect: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"LanguageSelect\"],\n Multiselect: (vue_multiselect__WEBPACK_IMPORTED_MODULE_7___default()),\n SortedSelectList: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"SortedSelectList\"],\n VPopover: v_tooltip__WEBPACK_IMPORTED_MODULE_9__[\"VPopover\"],\n ToggleButton: vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_6__[\"ToggleButton\"],\n RootDirs: _root_dirs_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n directives: {\n tooltip: v_tooltip__WEBPACK_IMPORTED_MODULE_9__[\"VTooltip\"]\n },\n\n data() {\n const defaultPageOptions = [{\n value: 'home',\n text: 'Shows'\n }, {\n value: 'schedule',\n text: 'Schedule'\n }, {\n value: 'history',\n text: 'History'\n }, {\n value: 'news',\n text: 'News'\n }, {\n value: 'IRC',\n text: 'IRC'\n }];\n const privacyLevelOptions = [{\n value: 'high',\n text: 'HIGH'\n }, {\n value: 'normal',\n text: 'NORMAL'\n }, {\n value: 'low',\n text: 'LOW'\n }];\n return {\n defaultPageOptions,\n privacyLevelOptions,\n githubBranchesForced: [],\n resetBranchSelected: null,\n saving: false\n };\n },\n\n beforeMount() {\n // Wait for the next tick, so the component is rendered\n this.$nextTick(() => {\n $('#config-components').tabs();\n });\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])({\n general: state => state.config.general,\n configLoaded: state => state.config.consts.statuses.length > 0,\n layout: state => state.config.layout,\n statuses: state => state.config.consts.statuses,\n indexers: state => state.config.indexers,\n system: state => state.config.system\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapGetters\"])(['getStatus']),\n indexerDefault: {\n get() {\n const {\n general\n } = this;\n const {\n indexerDefault\n } = general;\n return indexerDefault || 0;\n },\n\n set(indexer) {\n // TODO: commit instead\n this.general.indexerDefault = indexer;\n }\n\n },\n\n indexerListOptions() {\n const {\n indexers\n } = this;\n const allIndexers = [{\n text: 'All Indexers',\n value: 0\n }];\n const indexerOptions = Object.values(indexers.indexers).map(indexer => ({\n value: indexer.id,\n text: indexer.name\n }));\n return [...allIndexers, ...indexerOptions];\n },\n\n datePresetOptions() {\n const {\n general\n } = this;\n const {\n datePresets\n } = general;\n const systemDefault = [{\n value: '%x',\n text: 'Use System Default'\n }];\n const formattedDatePresets = datePresets.map(preset => ({\n value: preset,\n text: Object(date_fns_format__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(new Date(), Object(_utils_core_js__WEBPACK_IMPORTED_MODULE_4__[\"convertDateFormat\"])(preset))\n }));\n return [...systemDefault, ...formattedDatePresets];\n },\n\n timePresetOptions() {\n const {\n general\n } = this;\n const {\n timePresets\n } = general;\n const systemDefault = [{\n value: '%x',\n text: 'Use System Default'\n }];\n const formattedTimePresets = timePresets.map(preset => ({\n value: preset,\n text: Object(date_fns_format__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(new Date(), Object(_utils_core_js__WEBPACK_IMPORTED_MODULE_4__[\"convertDateFormat\"])(preset))\n }));\n return [...systemDefault, ...formattedTimePresets];\n },\n\n availableThemesOptions() {\n const {\n general\n } = this;\n const {\n availableThemes\n } = general;\n\n if (!availableThemes) {\n return [];\n }\n\n return availableThemes.map(theme => ({\n value: theme.name,\n text: `${theme.name} (${theme.version})`\n }));\n },\n\n cpuPresetOptions() {\n const {\n system\n } = this;\n const {\n cpuPresets\n } = system;\n\n if (!cpuPresets) {\n return [];\n }\n\n return Object.keys(cpuPresets).map(key => ({\n value: key,\n text: key\n }));\n },\n\n defaultDeletedEpOptions() {\n const {\n general,\n getStatus\n } = this;\n let status = [];\n\n if (general.skipRemovedFiles) {\n status = ['skipped', 'ignored'].map(key => getStatus({\n key\n }));\n } else {\n // Get status objects, when skip removed files is enabled\n status = ['skipped', 'ignored', 'archived'].map(key => getStatus({\n key\n }));\n }\n\n if (status.every(x => x !== undefined)) {\n return status.map(status => ({\n text: status.name,\n value: status.value\n }));\n }\n\n return [];\n },\n\n githubRemoteBranchesOptions() {\n const {\n general,\n githubBranches,\n githubBranchForceUpdate\n } = this;\n const {\n system\n } = this;\n const {\n username,\n password,\n token\n } = general.git;\n\n if (!system.gitRemoteBranches) {\n return [];\n }\n\n if (!system.gitRemoteBranches.length > 0) {\n githubBranchForceUpdate();\n }\n\n let filteredBranches = [];\n\n if ((username && password || token) && general.developer) {\n filteredBranches = githubBranches;\n } else if (username && password || token) {\n filteredBranches = githubBranches.filter(branch => ['master', 'develop'].includes(branch));\n } else {\n filteredBranches = githubBranches.filter(branch => ['master'].includes(branch));\n }\n\n return filteredBranches.map(branch => ({\n text: branch,\n value: branch\n }));\n },\n\n githubBranches() {\n const {\n system,\n githubBranchesForced\n } = this;\n return system.gitRemoteBranches || githubBranchesForced;\n },\n\n githubTokenPopover() {\n const {\n general\n } = this;\n return '

Copy the generated token and paste it in the token input box.

' + `

` + '


';\n }\n\n },\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapActions\"])({\n setConfig: 'setConfig',\n setTheme: 'setTheme',\n getApiKey: 'getApiKey',\n setLayoutShow: 'setLayoutShow'\n }),\n\n async githubBranchForceUpdate() {\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/branchForceUpdate');\n\n if (response.data._size > 0) {\n this.githubBranchesForced = response.data.resetBranches;\n }\n },\n\n async generateApiKey() {\n const {\n getApiKey,\n save\n } = this;\n\n try {\n await getApiKey();\n this.$snotify.success('Saving and reloading the page, to utilize the new api key', 'Warning', {\n timeout: 5000\n });\n setTimeout(() => {\n // Save the new apiKey. No choice to reload because of /src/api.js\n save();\n }, 500);\n setTimeout(() => {\n // For now we reload the page since the layouts use python still\n location.reload();\n }, 500);\n } catch (error) {\n this.$snotify.error('Error while trying to get a new api key', `Error: ${error}`);\n }\n },\n\n async changeTheme(themeName) {\n const {\n setTheme\n } = this;\n\n try {\n await setTheme({\n themeName\n });\n this.$snotify.success('Saving and reloading the page', 'Saving', {\n timeout: 5000\n });\n setTimeout(() => {\n // For now we reload the page since the layouts use python still\n location.reload();\n }, 1000);\n } catch (error) {\n this.$snotify.error('Error while trying to change the theme', `Error: ${error}`);\n }\n },\n\n async save() {\n const {\n general,\n layout,\n setConfig\n } = this; // Disable the save button until we're done.\n\n this.saving = true;\n const {\n availableThemes,\n backlogOverview,\n datePresets,\n loggingLevels,\n logs,\n timePresets,\n randomShowSlug,\n recentShows,\n themeName,\n ...filteredConfig\n } = general;\n const {\n local,\n ...filteredLayout\n } = layout;\n const configMain = {\n section: 'main',\n config: { ...filteredConfig,\n ...{\n layout: filteredLayout\n },\n ...{\n logs: {\n debug: general.logs.debug,\n dbDebug: general.logs.dbDebug,\n actualLogDir: general.logs.actualLogDir,\n nr: general.logs.nr,\n size: general.logs.size,\n subliminalLog: general.logs.subliminalLog,\n privacyLevel: general.logs.privacyLevel\n }\n }\n }\n };\n\n try {\n await setConfig(configMain);\n this.$snotify.success('Saved general config', 'Saved', {\n timeout: 5000\n });\n } catch (error) {\n this.$snotify.error('Error while trying to save general config', `Error: ${error}`);\n } finally {\n this.saving = false;\n }\n },\n\n saveShowListOrder(value) {\n const {\n layout,\n setLayoutShow\n } = this;\n const mergedShowLayout = { ...layout.show,\n ...{\n showListOrder: value.map(item => item.value)\n }\n };\n setLayoutShow(mergedShowLayout);\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/config-general.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-notifications.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-notifications.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../api.js */ \"./src/api.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-notifications',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"AppLink\"],\n ConfigTemplate: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigTemplate\"],\n ConfigTextbox: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigTextbox\"],\n ConfigTextboxNumber: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigTextboxNumber\"],\n ConfigToggleSlider: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigToggleSlider\"],\n SelectList: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"SelectList\"],\n ShowSelector: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ShowSelector\"]\n },\n\n data() {\n return {\n prowlSelectedShow: null,\n prowlSelectedShowApiKeys: [],\n prowlPriorityOptions: [{\n text: 'Very Low',\n value: -2\n }, {\n text: 'Moderate',\n value: -1\n }, {\n text: 'Normal',\n value: 0\n }, {\n text: 'High',\n value: 1\n }, {\n text: 'Emergency',\n value: 2\n }],\n pushoverPriorityOptions: [{\n text: 'Lowest',\n value: -2\n }, {\n text: 'Low',\n value: -1\n }, {\n text: 'Normal',\n value: 0\n }, {\n text: 'High',\n value: 1\n }, {\n text: 'Emergency',\n value: 2\n }],\n pushoverSoundOptions: [{\n text: 'Default',\n value: 'default'\n }, {\n text: 'Pushover',\n value: 'pushover'\n }, {\n text: 'Bike',\n value: 'bike'\n }, {\n text: 'Bugle',\n value: 'bugle'\n }, {\n text: 'Cash Register',\n value: 'cashregister'\n }, {\n text: 'classical',\n value: 'classical'\n }, {\n text: 'Cosmic',\n value: 'cosmic'\n }, {\n text: 'Falling',\n value: 'falling'\n }, {\n text: 'Gamelan',\n value: 'gamelan'\n }, {\n text: 'Incoming',\n value: 'incoming'\n }, {\n text: 'Intermission',\n value: 'intermission'\n }, {\n text: 'Magic',\n value: 'magic'\n }, {\n text: 'Mechanical',\n value: 'mechanical'\n }, {\n text: 'Piano Bar',\n value: 'pianobar'\n }, {\n text: 'Siren',\n value: 'siren'\n }, {\n text: 'Space Alarm',\n value: 'spacealarm'\n }, {\n text: 'Tug Boat',\n value: 'tugboat'\n }, {\n text: 'Alien Alarm (long)',\n value: 'alien'\n }, {\n text: 'Climb (long)',\n value: 'climb'\n }, {\n text: 'Persistent (long)',\n value: 'persistant'\n }, {\n text: 'Pushover Echo (long)',\n value: 'echo'\n }, {\n text: 'Up Down (long)',\n value: 'updown'\n }, {\n text: 'None (silent)',\n value: 'none'\n }],\n pushbulletDeviceOptions: [{\n text: 'All devices',\n value: ''\n }],\n traktMethodOptions: [{\n text: 'Skip all',\n value: 0\n }, {\n text: 'Download pilot only',\n value: 1\n }, {\n text: 'Get whole show',\n value: 2\n }],\n pushbulletTestInfo: 'Click below to test.',\n joinTestInfo: 'Click below to test.',\n twitterTestInfo: 'Click below to test.',\n twitterKey: '',\n emailSelectedShow: null,\n emailSelectedShowAdresses: [],\n saving: false\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])({\n config: state => state.config.general,\n indexers: state => state.config.indexers,\n notifiers: state => state.config.notifiers\n }),\n\n traktNewTokenMessage() {\n const {\n accessToken\n } = this.notifiers.trakt;\n return true ? 'New ' : undefined;\n },\n\n traktIndexersOptions() {\n const {\n indexers\n } = this;\n const {\n traktIndexers\n } = indexers.main;\n const validTraktIndexer = Object.keys(indexers.indexers).filter(k => traktIndexers[k]);\n return validTraktIndexer.map(indexer => {\n return {\n text: indexer,\n value: indexers.indexers[indexer].id\n };\n });\n }\n\n },\n\n beforeMount() {\n // Wait for the next tick, so the component is rendered\n this.$nextTick(() => {\n $('#config-components').tabs();\n });\n },\n\n mounted() {\n // TODO: vueify this.\n $('#trakt_pin').on('keyup change', () => {\n if ($('#trakt_pin').val().length === 0) {\n $('#TraktGetPin').removeClass('hide');\n $('#authTrakt').addClass('hide');\n } else {\n $('#TraktGetPin').addClass('hide');\n $('#authTrakt').removeClass('hide');\n }\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapActions\"])(['getShows', 'setConfig']),\n\n onChangeProwlApi(items) {\n this.notifiers.prowl.api = items.map(item => item.value);\n },\n\n savePerShowNotifyList(listType, values) {\n const {\n emailSelectedShow,\n prowlSelectedShow\n } = this;\n const form = new FormData();\n\n if (listType === 'prowl') {\n form.set('show', prowlSelectedShow);\n form.set('prowlAPIs', values.map(apiKey => apiKey.value));\n } else {\n form.set('show', emailSelectedShow);\n form.set('emails', values.map(apiKey => apiKey.value));\n } // Save the list\n\n\n _api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"].post('home/saveShowNotifyList', form);\n },\n\n async prowlUpdateApiKeys(selectedShow) {\n this.prowlSelectedShow = selectedShow;\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/loadShowNotifyLists');\n\n if (response.data._size > 0) {\n const list = response.data[selectedShow].prowl_notify_list ? response.data[selectedShow].prowl_notify_list.split(',') : [];\n this.prowlSelectedShowApiKeys = selectedShow ? list : [];\n }\n },\n\n async emailUpdateShowEmail(selectedShow) {\n this.emailSelectedShow = selectedShow;\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/loadShowNotifyLists');\n\n if (response.data._size > 0) {\n const list = response.data[selectedShow].list ? response.data[selectedShow].list.split(',') : [];\n this.emailSelectedShowAdresses = selectedShow ? list : [];\n }\n },\n\n emailUpdateAddressList(items) {\n this.notifiers.email.addressList = items.map(x => x.value);\n },\n\n async getPushbulletDeviceOptions() {\n const {\n api: pushbulletApiKey\n } = this.notifiers.pushbullet;\n\n if (!pushbulletApiKey) {\n this.pushbulletTestInfo = 'You didn\\'t supply a Pushbullet api key';\n $('#pushbullet_api').find('input').focus();\n return false;\n }\n\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/getPushbulletDevices', {\n params: {\n api: pushbulletApiKey\n }\n });\n const options = [];\n const {\n data\n } = response;\n\n if (!data) {\n return false;\n }\n\n options.push({\n text: 'All devices',\n value: ''\n });\n\n for (const device of data.devices) {\n if (device.active === true) {\n options.push({\n text: device.nickname,\n value: device.iden\n });\n }\n }\n\n this.pushbulletDeviceOptions = options;\n this.pushbulletTestInfo = 'Device list updated. Please choose a device to push to.';\n },\n\n async testPushbulletApi() {\n const {\n api: pushbulletApiKey\n } = this.notifiers.pushbullet;\n\n if (!pushbulletApiKey) {\n this.pushbulletTestInfo = 'You didn\\'t supply a Pushbullet api key';\n $('#pushbullet_api').find('input').focus();\n return false;\n }\n\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/testPushbullet', {\n params: {\n api: pushbulletApiKey\n }\n });\n const {\n data\n } = response;\n\n if (data) {\n this.pushbulletTestInfo = data;\n }\n },\n\n async testJoinApi() {\n const {\n api: joinApiKey\n } = this.notifiers.join;\n\n if (!joinApiKey) {\n this.joinTestInfo = 'You didn\\'t supply a Join api key';\n $('#join_api').find('input').focus();\n return false;\n }\n\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/testJoin', {\n params: {\n api: joinApiKey\n }\n });\n const {\n data\n } = response;\n\n if (data) {\n this.joinTestInfo = data;\n }\n },\n\n async twitterStep1() {\n this.twitterTestInfo = MEDUSA.config.layout.loading;\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/twitterStep1');\n const {\n data\n } = response;\n window.open(data);\n this.twitterTestInfo = 'Step1: Confirm Authorization';\n },\n\n async twitterStep2() {\n const twitter = {};\n const {\n twitterKey\n } = this;\n twitter.key = twitterKey;\n\n if (twitter.key) {\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/twitterStep2', {\n params: {\n key: twitter.key\n }\n });\n const {\n data\n } = response;\n this.twitterTestInfo = data;\n } else {\n this.twitterTestInfo = 'Please fill out the necessary fields above.';\n }\n },\n\n async twitterTest() {\n try {\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/testTwitter');\n const {\n data\n } = response;\n this.twitterTestInfo = data;\n } catch (error) {\n this.twitterTestInfo = 'Error while trying to request for a test on the twitter api.';\n }\n },\n\n async save() {\n const {\n notifiers,\n setConfig\n } = this; // Disable the save button until we're done.\n\n this.saving = true;\n const section = 'main';\n\n try {\n await setConfig({\n section,\n config: {\n notifiers\n }\n });\n this.$snotify.success('Saved Notifiers config', 'Saved', {\n timeout: 5000\n });\n } catch (error) {\n this.$snotify.error('Error while trying to save notifiers config', 'Error');\n } finally {\n this.saving = false;\n }\n },\n\n testGrowl() {\n const growl = {};\n growl.host = $.trim($('#growl_host').val());\n growl.password = $.trim($('#growl_password').val());\n\n if (!growl.host) {\n $('#testGrowl-result').html('Please fill out the necessary fields above.');\n $('#growl_host').addClass('warning');\n return;\n }\n\n $('#growl_host').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testGrowl-result').html(MEDUSA.config.layout.loading);\n $.get('home/testGrowl', {\n host: growl.host,\n password: growl.password\n }).done(data => {\n $('#testGrowl-result').html(data);\n $('#testGrowl').prop('disabled', false);\n });\n },\n\n testProwl() {\n const prowl = {};\n prowl.api = $.trim($('#prowl_api').find('input').val());\n prowl.priority = $('#prowl_priority').find('input').val();\n\n if (!prowl.api) {\n $('#testProwl-result').html('Please fill out the necessary fields above.');\n $('#prowl_api').find('input').addClass('warning');\n return;\n }\n\n $('#prowl_api').find('input').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testProwl-result').html(MEDUSA.config.layout.loading);\n $.get('home/testProwl', {\n prowl_api: prowl.api,\n // eslint-disable-line camelcase\n prowl_priority: prowl.priority // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testProwl-result').html(data);\n $('#testProwl').prop('disabled', false);\n });\n },\n\n testKODI() {\n const kodi = {};\n const kodiHostInput = $('#kodi_host').find('input');\n const kodiHosts = kodiHostInput.toArray().map(value => value.value).filter(item => item !== '');\n kodi.host = kodiHosts.join(',');\n kodi.username = $.trim($('#kodi_username').val());\n kodi.password = $.trim($('#kodi_password').val());\n\n if (!kodi.host) {\n $('#testKODI-result').html('Please fill out the necessary fields above.');\n $('#kodi_host').find('input').addClass('warning');\n return;\n }\n\n $('#kodi_host').find('input').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testKODI-result').html(MEDUSA.config.layout.loading);\n $.get('home/testKODI', {\n host: kodi.host,\n username: kodi.username,\n password: kodi.password\n }).done(data => {\n $('#testKODI-result').html(data);\n $('#testKODI').prop('disabled', false);\n });\n },\n\n testPHT() {\n const plex = {};\n plex.client = {};\n const plexHostsInput = $('#plex_client_host').find('input');\n const plexHosts = plexHostsInput.toArray().map(value => value.value).filter(item => item !== '');\n plex.client.host = plexHosts.join(',');\n plex.client.username = $.trim($('#plex_client_username').val());\n plex.client.password = $.trim($('#plex_client_password').val());\n\n if (!plex.client.host) {\n $('#testPHT-result').html('Please fill out the necessary fields above.');\n $('#plex_client_host').find('input').addClass('warning');\n return;\n }\n\n $('#plex_client_host').find('input').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testPHT-result').html(MEDUSA.config.layout.loading);\n $.get('home/testPHT', {\n host: plex.client.host,\n username: plex.client.username,\n password: plex.client.password\n }).done(data => {\n $('#testPHT-result').html(data);\n $('#testPHT').prop('disabled', false);\n });\n },\n\n testPMS() {\n const plex = {};\n plex.server = {};\n const plexHostsInput = $('#plex_server_host').find('input');\n const plexHosts = plexHostsInput.toArray().map(value => value.value).filter(item => item !== '');\n plex.server.host = plexHosts.join(',');\n plex.server.username = $.trim($('#plex_server_username').val());\n plex.server.password = $.trim($('#plex_server_password').val());\n plex.server.token = $.trim($('#plex_server_token').val());\n\n if (!plex.server.host) {\n $('#testPMS-result').html('Please fill out the necessary fields above.');\n $('#plex_server_host').find('input').addClass('warning');\n return;\n }\n\n $('#plex_server_host').find('input').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testPMS-result').html(MEDUSA.config.layout.loading);\n $.get('home/testPMS', {\n host: plex.server.host,\n username: plex.server.username,\n password: plex.server.password,\n plex_server_token: plex.server.token // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testPMS-result').html(data);\n $('#testPMS').prop('disabled', false);\n });\n },\n\n testEMBY() {\n const emby = {};\n emby.host = $('#emby_host').val();\n emby.apikey = $('#emby_apikey').val();\n\n if (!emby.host || !emby.apikey) {\n $('#testEMBY-result').html('Please fill out the necessary fields above.');\n $('#emby_host').addRemoveWarningClass(emby.host);\n $('#emby_apikey').addRemoveWarningClass(emby.apikey);\n return;\n }\n\n $('#emby_host,#emby_apikey').children('input').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testEMBY-result').html(MEDUSA.config.layout.loading);\n $.get('home/testEMBY', {\n host: emby.host,\n emby_apikey: emby.apikey // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testEMBY-result').html(data);\n $('#testEMBY').prop('disabled', false);\n });\n },\n\n testBoxcar2() {\n const boxcar2 = {};\n boxcar2.accesstoken = $.trim($('#boxcar2_accesstoken').val());\n\n if (!boxcar2.accesstoken) {\n $('#testBoxcar2-result').html('Please fill out the necessary fields above.');\n $('#boxcar2_accesstoken').addClass('warning');\n return;\n }\n\n $('#boxcar2_accesstoken').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testBoxcar2-result').html(MEDUSA.config.layout.loading);\n $.get('home/testBoxcar2', {\n accesstoken: boxcar2.accesstoken\n }).done(data => {\n $('#testBoxcar2-result').html(data);\n $('#testBoxcar2').prop('disabled', false);\n });\n },\n\n testPushover() {\n const pushover = {};\n pushover.userkey = $('#pushover_userkey').val();\n pushover.apikey = $('#pushover_apikey').val();\n\n if (!pushover.userkey || !pushover.apikey) {\n $('#testPushover-result').html('Please fill out the necessary fields above.');\n $('#pushover_userkey').addRemoveWarningClass(pushover.userkey);\n $('#pushover_apikey').addRemoveWarningClass(pushover.apikey);\n return;\n }\n\n $('#pushover_userkey,#pushover_apikey').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testPushover-result').html(MEDUSA.config.layout.loading);\n $.get('home/testPushover', {\n userKey: pushover.userkey,\n apiKey: pushover.apikey\n }).done(data => {\n $('#testPushover-result').html(data);\n $('#testPushover').prop('disabled', false);\n });\n },\n\n testLibnotify() {\n $('#testLibnotify-result').html(MEDUSA.config.layout.loading);\n $.get('home/testLibnotify', data => {\n $('#testLibnotify-result').html(data);\n });\n },\n\n settingsNMJ() {\n const nmj = {};\n nmj.host = $('#nmj_host').val();\n\n if (nmj.host) {\n $('#testNMJ-result').html(MEDUSA.config.layout.loading);\n $.get('home/settingsNMJ', {\n host: nmj.host\n }, data => {\n if (data === null) {\n $('#nmj_database').removeAttr('readonly');\n $('#nmj_mount').removeAttr('readonly');\n }\n\n const JSONData = $.parseJSON(data);\n $('#testNMJ-result').html(JSONData.message);\n $('#nmj_database').val(JSONData.database);\n $('#nmj_mount').val(JSONData.mount);\n\n if (JSONData.database) {\n $('#nmj_database').prop('readonly', true);\n } else {\n $('#nmj_database').removeAttr('readonly');\n }\n\n if (JSONData.mount) {\n $('#nmj_mount').prop('readonly', true);\n } else {\n $('#nmj_mount').removeAttr('readonly');\n }\n });\n } else {\n alert('Please fill in the Popcorn IP address'); // eslint-disable-line no-alert\n\n $('#nmj_host').focus();\n }\n },\n\n testNMJ() {\n const nmj = {};\n nmj.host = $.trim($('#nmj_host').val());\n nmj.database = $('#nmj_database').val();\n nmj.mount = $('#nmj_mount').val();\n\n if (nmj.host) {\n $('#nmj_host').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testNMJ-result').html(MEDUSA.config.layout.loading);\n $.get('home/testNMJ', {\n host: nmj.host,\n database: nmj.database,\n mount: nmj.mount\n }).done(data => {\n $('#testNMJ-result').html(data);\n $('#testNMJ').prop('disabled', false);\n });\n } else {\n $('#testNMJ-result').html('Please fill out the necessary fields above.');\n $('#nmj_host').addClass('warning');\n }\n },\n\n settingsNMJv2() {\n const nmjv2 = {};\n nmjv2.host = $('#nmjv2_host').val();\n\n if (nmjv2.host) {\n $('#testNMJv2-result').html(MEDUSA.config.layout.loading);\n nmjv2.dbloc = '';\n const radios = document.getElementsByName('nmjv2_dbloc');\n\n for (let i = 0, len = radios.length; i < len; i++) {\n if (radios[i].checked) {\n nmjv2.dbloc = radios[i].value;\n break;\n }\n }\n\n nmjv2.dbinstance = $('#NMJv2db_instance').val();\n $.get('home/settingsNMJv2', {\n host: nmjv2.host,\n dbloc: nmjv2.dbloc,\n instance: nmjv2.dbinstance\n }, data => {\n if (data === null) {\n $('#nmjv2_database').removeAttr('readonly');\n }\n\n const JSONData = $.parseJSON(data);\n $('#testNMJv2-result').html(JSONData.message);\n $('#nmjv2_database').val(JSONData.database);\n\n if (JSONData.database) {\n $('#nmjv2_database').prop('readonly', true);\n } else {\n $('#nmjv2_database').removeAttr('readonly');\n }\n });\n } else {\n alert('Please fill in the Popcorn IP address'); // eslint-disable-line no-alert\n\n $('#nmjv2_host').focus();\n }\n },\n\n testNMJv2() {\n const nmjv2 = {};\n nmjv2.host = $.trim($('#nmjv2_host').val());\n\n if (nmjv2.host) {\n $('#nmjv2_host').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testNMJv2-result').html(MEDUSA.config.layout.loading);\n $.get('home/testNMJv2', {\n host: nmjv2.host\n }).done(data => {\n $('#testNMJv2-result').html(data);\n $('#testNMJv2').prop('disabled', false);\n });\n } else {\n $('#testNMJv2-result').html('Please fill out the necessary fields above.');\n $('#nmjv2_host').addClass('warning');\n }\n },\n\n testFreeMobile() {\n const freemobile = {};\n freemobile.id = $.trim($('#freemobile_id').val());\n freemobile.apikey = $.trim($('#freemobile_apikey').val());\n\n if (!freemobile.id || !freemobile.apikey) {\n $('#testFreeMobile-result').html('Please fill out the necessary fields above.');\n\n if (freemobile.id) {\n $('#freemobile_id').removeClass('warning');\n } else {\n $('#freemobile_id').addClass('warning');\n }\n\n if (freemobile.apikey) {\n $('#freemobile_apikey').removeClass('warning');\n } else {\n $('#freemobile_apikey').addClass('warning');\n }\n\n return;\n }\n\n $('#freemobile_id,#freemobile_apikey').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testFreeMobile-result').html(MEDUSA.config.layout.loading);\n $.get('home/testFreeMobile', {\n freemobile_id: freemobile.id,\n // eslint-disable-line camelcase\n freemobile_apikey: freemobile.apikey // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testFreeMobile-result').html(data);\n $('#testFreeMobile').prop('disabled', false);\n });\n },\n\n testTelegram() {\n const telegram = {};\n telegram.id = $.trim($('#telegram_id').val());\n telegram.apikey = $.trim($('#telegram_apikey').val());\n\n if (!telegram.id || !telegram.apikey) {\n $('#testTelegram-result').html('Please fill out the necessary fields above.');\n $('#telegram_id').addRemoveWarningClass(telegram.id);\n $('#telegram_apikey').addRemoveWarningClass(telegram.apikey);\n return;\n }\n\n $('#telegram_id,#telegram_apikey').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testTelegram-result').html(MEDUSA.config.layout.loading);\n $.get('home/testTelegram', {\n telegram_id: telegram.id,\n // eslint-disable-line camelcase\n telegram_apikey: telegram.apikey // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testTelegram-result').html(data);\n $('#testTelegram').prop('disabled', false);\n });\n },\n\n testDiscord() {\n const {\n notifiers\n } = this;\n\n if (!notifiers.discord.webhook) {\n $('#testDiscord-result').html('Please fill out the necessary fields above.');\n $('#discord_webhook').addRemoveWarningClass(notifiers.discord.webhook);\n return;\n }\n\n $('#discord_id,#discord_apikey').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testDiscord-result').html(MEDUSA.config.layout.loading);\n $.get('home/testDiscord', {\n discord_webhook: notifiers.discord.webhook,\n // eslint-disable-line camelcase\n discord_tts: notifiers.discord.tts // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testDiscord-result').html(data);\n $('#testDiscord').prop('disabled', false);\n });\n },\n\n testSlack() {\n const slack = {};\n slack.webhook = $.trim($('#slack_webhook').val());\n\n if (!slack.webhook) {\n $('#testSlack-result').html('Please fill out the necessary fields above.');\n $('#slack_webhook').addRemoveWarningClass(slack.webhook);\n return;\n }\n\n $('#slack_webhook').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testSlack-result').html(MEDUSA.config.layout.loading);\n $.get('home/testslack', {\n slack_webhook: slack.webhook // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testSlack-result').html(data);\n $('#testSlack').prop('disabled', false);\n });\n },\n\n TraktGetPin() {\n window.open($('#trakt_pin_url').val(), 'popUp', 'toolbar=no, scrollbars=no, resizable=no, top=200, left=200, width=650, height=550');\n $('#trakt_pin').prop('disabled', false);\n },\n\n authTrakt() {\n const trakt = {};\n trakt.pin = $('#trakt_pin').val();\n\n if (trakt.pin.length !== 0) {\n $.get('home/getTraktToken', {\n trakt_pin: trakt.pin // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testTrakt-result').html(data);\n $('#authTrakt').addClass('hide');\n $('#trakt_pin').prop('disabled', true);\n $('#trakt_pin').val('');\n $('#TraktGetPin').removeClass('hide');\n });\n }\n },\n\n testTrakt() {\n const trakt = {};\n trakt.username = $.trim($('#trakt_username').val());\n trakt.trendingBlacklist = $.trim($('#trakt_blacklist_name').val());\n\n if (!trakt.username) {\n $('#testTrakt-result').html('Please fill out the necessary fields above.');\n $('#trakt_username').addRemoveWarningClass(trakt.username);\n return;\n }\n\n if (/\\s/g.test(trakt.trendingBlacklist)) {\n $('#testTrakt-result').html('Check blacklist name; the value needs to be a trakt slug');\n $('#trakt_blacklist_name').addClass('warning');\n return;\n }\n\n $('#trakt_username').removeClass('warning');\n $('#trakt_blacklist_name').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testTrakt-result').html(MEDUSA.config.layout.loading);\n $.get('home/testTrakt', {\n username: trakt.username,\n blacklist_name: trakt.trendingBlacklist // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testTrakt-result').html(data);\n $('#testTrakt').prop('disabled', false);\n });\n },\n\n traktForceSync() {\n $('#testTrakt-result').html(MEDUSA.config.layout.loading);\n $.getJSON('home/forceTraktSync', data => {\n $('#testTrakt-result').html(data.result);\n });\n },\n\n testEmail() {\n let to = '';\n const status = $('#testEmail-result');\n status.html(MEDUSA.config.layout.loading);\n let host = $('#email_host').val();\n host = host.length > 0 ? host : null;\n let port = $('#email_port').val();\n port = port.length > 0 ? port : null;\n const tls = $('#email_tls').find('input').is(':checked') ? 1 : 0;\n let from = $('#email_from').val();\n from = from.length > 0 ? from : 'root@localhost';\n const user = $('#email_username').val().trim();\n const pwd = $('#email_password').val();\n let err = '';\n\n if (host === null) {\n err += '
  • You must specify an SMTP hostname!
  • ';\n }\n\n if (port === null) {\n err += '
  • You must specify an SMTP port!
  • ';\n } else if (port.match(/^\\d+$/) === null || Number.parseInt(port, 10) > 65535) {\n err += '
  • SMTP port must be between 0 and 65535!
  • ';\n }\n\n if (err.length > 0) {\n err = '
      ' + err + '
    ';\n status.html(err);\n } else {\n to = prompt('Enter an email address to send the test to:', null); // eslint-disable-line no-alert\n\n if (to === null || to.length === 0 || to.match(/.*@.*/) === null) {\n status.html('

    You must provide a recipient email address!

    ');\n } else {\n $.get('home/testEmail', {\n host,\n port,\n smtp_from: from,\n // eslint-disable-line camelcase\n use_tls: tls,\n // eslint-disable-line camelcase\n user,\n pwd,\n to\n }, msg => {\n $('#testEmail-result').html(msg);\n });\n }\n }\n },\n\n testPushalot() {\n const pushalot = {};\n pushalot.authToken = $.trim($('#pushalot_authorizationtoken').val());\n\n if (!pushalot.authToken) {\n $('#testPushalot-result').html('Please fill out the necessary fields above.');\n $('#pushalot_authorizationtoken').addClass('warning');\n return;\n }\n\n $('#pushalot_authorizationtoken').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testPushalot-result').html(MEDUSA.config.layout.loading);\n $.get('home/testPushalot', {\n authorizationToken: pushalot.authToken\n }).done(data => {\n $('#testPushalot-result').html(data);\n $('#testPushalot').prop('disabled', false);\n });\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/config-notifications.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-post-processing.vue?vue&type=script&lang=js&": -/*!**********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-post-processing.vue?vue&type=script&lang=js& ***! - \**********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-js-toggle-button */ \"./node_modules/vue-js-toggle-button/dist/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-post-processing',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"AppLink\"],\n FileBrowser: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"FileBrowser\"],\n NamePattern: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"NamePattern\"],\n SelectList: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"SelectList\"],\n ToggleButton: vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1__[\"ToggleButton\"]\n },\n\n data() {\n return {\n presets: [{\n pattern: 'Season %0S/%SN - %Sx%0E - %EN',\n example: 'Season 02/Show Name - 2x03 - Ep Name'\n }, {\n pattern: 'Season %0S/%S.N.S%0SE%0E.%E.N',\n example: 'Season 02/Show.Name.S02E03.Ep.Name'\n }, {\n pattern: 'Season %S/%S_N_%Sx%0E_%E_N',\n example: 'Season 2/Show_Name_2x03_Ep_Name'\n }, {\n pattern: 'Season %S/%SN S%0SE%0E %SQN',\n example: 'Season 2/Show Name S02E03 720p HDTV x264'\n }, {\n pattern: 'Season %0S/%S.N.S%0SE%0E.%Q.N-%RG',\n example: 'Season 02/Show.Name.S02E03.720p.HDTV-RLSGROUP'\n }],\n processMethods: [{\n value: 'copy',\n text: 'Copy'\n }, {\n value: 'move',\n text: 'Move'\n }, {\n value: 'hardlink',\n text: 'Hard Link'\n }, {\n value: 'symlink',\n text: 'Symbolic Link'\n }, {\n value: 'keeplink',\n text: 'Keep Link'\n }],\n timezoneOptions: [{\n value: 'local',\n text: 'Local'\n }, {\n value: 'network',\n text: 'Network'\n }],\n metadataProviderSelected: null,\n saving: false\n };\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])(['setConfig']),\n\n onChangeSyncFiles(items) {\n const {\n postprocessing\n } = this;\n postprocessing.syncFiles = items.map(item => item.value);\n },\n\n onChangeAllowedExtensions(items) {\n const {\n postprocessing\n } = this;\n postprocessing.allowedExtensions = items.map(item => item.value);\n },\n\n onChangeExtraScripts(items) {\n const {\n postprocessing\n } = this;\n postprocessing.extraScripts = items.map(item => item.value);\n },\n\n saveNaming(values) {\n const {\n postprocessing\n } = this;\n\n if (!this.configLoaded) {\n return;\n }\n\n postprocessing.naming.pattern = values.pattern;\n postprocessing.naming.multiEp = values.multiEpStyle;\n },\n\n saveNamingSports(values) {\n const {\n postprocessing\n } = this;\n\n if (!this.configLoaded) {\n return;\n }\n\n postprocessing.naming.patternSports = values.pattern;\n postprocessing.naming.enableCustomNamingSports = values.enabled;\n },\n\n saveNamingAbd(values) {\n const {\n postprocessing\n } = this;\n\n if (!this.configLoaded) {\n return;\n }\n\n postprocessing.naming.patternAirByDate = values.pattern;\n postprocessing.naming.enableCustomNamingAirByDate = values.enabled;\n },\n\n saveNamingAnime(values) {\n const {\n postprocessing\n } = this;\n\n if (!this.configLoaded) {\n return;\n }\n\n postprocessing.naming.patternAnime = values.pattern;\n postprocessing.naming.animeMultiEp = values.multiEpStyle;\n postprocessing.naming.animeNamingType = values.animeNamingType;\n postprocessing.naming.enableCustomNamingAnime = values.enabled;\n },\n\n async save() {\n const {\n postprocessing,\n metadata,\n setConfig\n } = this; // We want to wait until the page has been fully loaded, before starting to save stuff.\n\n if (!this.configLoaded) {\n return;\n } // Disable the save button until we're done.\n\n\n this.saving = true; // Clone the config into a new object\n\n const config = Object.assign({}, {\n postProcessing: postprocessing,\n metadata\n }); // Use destructuring to remove the unwanted keys.\n\n const {\n multiEpStrings,\n reflinkAvailable,\n extraScriptsUrl,\n ...rest\n } = postprocessing; // Assign the object with the keys removed to our copied object.\n\n config.postProcessing = rest;\n const section = 'main';\n\n try {\n await setConfig({\n section,\n config\n });\n this.$snotify.success('Saved Post-Processing config', 'Saved', {\n timeout: 5000\n });\n } catch (error) {\n this.$snotify.error('Error while trying to save Post-Processing config', 'Error');\n } finally {\n this.saving = false;\n }\n },\n\n /**\n * Get the first enabled metadata provider based on enabled features.\n * @param {Object} providers - The metadata providers object.\n * @return {String} - The id of the first enabled provider.\n */\n getFirstEnabledMetadataProvider() {\n const {\n metadata\n } = this;\n const firstEnabledProvider = Object.values(metadata.metadataProviders).find(provider => {\n return provider.showMetadata || provider.episodeMetadata;\n });\n return firstEnabledProvider === undefined ? 'kodi' : firstEnabledProvider.id;\n }\n\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n metadata: state => state.config.metadata,\n postprocessing: state => state.config.postprocessing,\n system: state => state.config.system\n }),\n\n configLoaded() {\n const {\n postprocessing\n } = this;\n return postprocessing.processAutomatically !== null;\n },\n\n multiEpStringsSelect() {\n const {\n postprocessing\n } = this;\n\n if (!postprocessing.multiEpStrings) {\n return [];\n }\n\n return Object.keys(postprocessing.multiEpStrings).map(k => ({\n value: Number(k),\n text: postprocessing.multiEpStrings[k]\n }));\n }\n\n },\n\n beforeMount() {\n // Wait for the next tick, so the component is rendered\n this.$nextTick(() => {\n $('#config-components').tabs();\n });\n },\n\n watch: {\n 'metadata.metadataProviders': function (providers) {\n // eslint-disable-line object-shorthand\n const {\n getFirstEnabledMetadataProvider\n } = this;\n\n if (Object.keys(providers).length > 0) {\n this.metadataProviderSelected = getFirstEnabledMetadataProvider();\n }\n }\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/config-post-processing.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-search.vue?vue&type=script&lang=js&": -/*!*************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-search.vue?vue&type=script&lang=js& ***! - \*************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../api.js */ \"./src/api.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-search',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"AppLink\"],\n ConfigTemplate: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigTemplate\"],\n ConfigTextbox: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigTextbox\"],\n ConfigTextboxNumber: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigTextboxNumber\"],\n ConfigToggleSlider: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigToggleSlider\"],\n FileBrowser: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"FileBrowser\"],\n SelectList: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"SelectList\"]\n },\n\n data() {\n return {\n configLoaded: false,\n checkPropersIntervalLabels: [{\n text: '24 hours',\n value: 'daily'\n }, {\n text: '4 hours',\n value: '4h'\n }, {\n text: '90 mins',\n value: '90m'\n }, {\n text: '45 mins',\n value: '45m'\n }, {\n text: '30 mins',\n value: '30m'\n }, {\n text: '15 mins',\n value: '15m'\n }],\n nzbGetPriorityOptions: [{\n text: 'Very low',\n value: -100\n }, {\n text: 'Low',\n value: -50\n }, {\n text: 'Normal',\n value: 0\n }, {\n text: 'High',\n value: 50\n }, {\n text: 'Very high',\n value: 100\n }, {\n text: 'Force',\n value: 900\n }],\n // Static clients config\n clientsConfig: {\n torrent: {\n blackhole: {\n title: 'Black hole'\n },\n utorrent: {\n title: 'uTorrent',\n description: 'URL to your uTorrent client (e.g. http://localhost:8000)',\n labelOption: true,\n labelAnimeOption: true,\n seedTimeOption: true,\n pausedOption: true,\n testStatus: 'Click below to test'\n },\n transmission: {\n title: 'Transmission',\n description: 'URL to your Transmission client (e.g. http://localhost:9091)',\n pathOption: true,\n removeFromClientOption: true,\n seedLocationOption: true,\n seedTimeOption: true,\n pausedOption: true,\n testStatus: 'Click below to test'\n },\n deluge: {\n title: 'Deluge (via WebUI)',\n shortTitle: 'Deluge',\n description: 'URL to your Deluge client (e.g. http://localhost:8112)',\n pathOption: true,\n removeFromClientOption: true,\n labelOption: true,\n labelAnimeOption: true,\n seedLocationOption: true,\n pausedOption: true,\n verifySSLOption: true,\n testStatus: 'Click below to test'\n },\n deluged: {\n title: 'Deluge (via Daemon)',\n shortTitle: 'Deluge',\n description: 'IP or Hostname of your Deluge Daemon (e.g. scgi://localhost:58846)',\n pathOption: true,\n removeFromClientOption: true,\n labelOption: true,\n labelAnimeOption: true,\n seedLocationOption: true,\n pausedOption: true,\n verifySSLOption: true,\n testStatus: 'Click below to test'\n },\n downloadstation: {\n title: 'Synology DS',\n description: 'URL to your Synology DS client (e.g. http://localhost:5000)',\n pathOption: true,\n testStatus: 'Click below to test'\n },\n rtorrent: {\n title: 'rTorrent',\n description: 'URL to your rTorrent client (e.g. scgi://localhost:5000
    or https://localhost/rutorrent/plugins/httprpc/action.php)',\n pathOption: true,\n labelOption: true,\n labelAnimeOption: true,\n verifySSLOption: true,\n testStatus: 'Click below to test'\n },\n qbittorrent: {\n title: 'qBittorrent',\n description: 'URL to your qBittorrent client (e.g. http://localhost:8080)',\n pathOption: true,\n labelOption: true,\n labelAnimeOption: true,\n pausedOption: true,\n verifySSLOption: true,\n testStatus: 'Click below to test'\n },\n mlnet: {\n title: 'MLDonkey',\n description: 'URL to your MLDonkey (e.g. http://localhost:4080)',\n verifySSLOption: true,\n testStatus: 'Click below to test'\n }\n },\n nzb: {\n blackhole: {\n title: 'Black hole'\n },\n nzbget: {\n title: 'NZBget',\n description: 'NZBget RPC host name and port number (not NZBgetweb!) (e.g. localhost:6789)',\n testStatus: 'Click below to test'\n },\n sabnzbd: {\n title: 'SABnzbd',\n description: 'URL to your SABnzbd server (e.g. http://localhost:8080/)',\n testStatus: 'Click below to test'\n }\n }\n },\n httpAuthTypes: {\n none: 'None',\n basic: 'Basic',\n digest: 'Digest'\n },\n saving: false\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])({\n clients: state => state.config.clients,\n search: state => state.config.search,\n system: state => state.config.system\n }),\n\n torrentUsernameIsDisabled() {\n const {\n clients\n } = this;\n const {\n torrents\n } = clients;\n const {\n host,\n method\n } = torrents;\n const torrentHost = host || '';\n\n if (!['rtorrent', 'deluge'].includes(method) || method === 'rtorrent' && !torrentHost.startsWith('scgi://')) {\n return false;\n }\n\n return true;\n },\n\n torrentPasswordIsDisabled() {\n const {\n clients\n } = this;\n const {\n torrents\n } = clients;\n const {\n host,\n method\n } = torrents;\n const torrentHost = host || '';\n\n if (method !== 'rtorrent' || method === 'rtorrent' && !torrentHost.startsWith('scgi://')) {\n return false;\n }\n\n return true;\n },\n\n authTypeIsDisabled() {\n const {\n clients\n } = this;\n const {\n torrents\n } = clients;\n const {\n host,\n method\n } = torrents;\n const torrentHost = host || '';\n\n if (method === 'rtorrent' && !torrentHost.startsWith('scgi://')) {\n return false;\n }\n\n return true;\n }\n\n },\n\n beforeMount() {\n // Wait for the next tick, so the component is rendered\n this.$nextTick(() => {\n $('#config-components').tabs();\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapActions\"])(['setConfig']),\n\n async testTorrentClient() {\n const {\n clients\n } = this;\n const {\n torrents\n } = clients;\n const {\n method,\n host,\n username,\n password\n } = torrents;\n this.clientsConfig.torrent[method].testStatus = MEDUSA.config.layout.loading;\n const params = {\n torrent_method: method,\n // eslint-disable-line camelcase\n host,\n username,\n password\n };\n const resp = await _api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"].get('home/testTorrent', {\n params\n });\n this.clientsConfig.torrent[method].testStatus = resp.data;\n },\n\n async testNzbget() {\n const {\n clients\n } = this;\n const {\n nzb\n } = clients;\n const {\n nzbget\n } = nzb;\n const {\n host,\n username,\n password,\n useHttps\n } = nzbget;\n this.clientsConfig.nzb.nzbget.testStatus = MEDUSA.config.layout.loading;\n const params = {\n host,\n username,\n password,\n use_https: useHttps // eslint-disable-line camelcase\n\n };\n const resp = await _api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"].get('home/testNZBget', {\n params\n });\n this.clientsConfig.nzb.nzbget.testStatus = resp.data;\n },\n\n async testSabnzbd() {\n const {\n clients\n } = this;\n const {\n nzb\n } = clients;\n const {\n sabnzbd\n } = nzb;\n const {\n host,\n username,\n password,\n apiKey\n } = sabnzbd;\n this.clientsConfig.nzb.sabnzbd.testStatus = MEDUSA.config.layout.loading;\n const params = {\n host,\n username,\n password,\n apikey: apiKey\n };\n const resp = await _api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"].get('home/testSABnzbd', {\n params\n });\n this.clientsConfig.nzb.sabnzbd.testStatus = resp.data;\n },\n\n async save() {\n const {\n clients,\n search,\n setConfig\n } = this; // Disable the save button until we're done.\n\n this.saving = true; // Clone the config into a new object\n\n const config = Object.assign({}, {\n search\n }, {\n clients\n });\n const section = 'main';\n\n try {\n await setConfig({\n section,\n config\n });\n this.$snotify.success('Saved Search config', 'Saved', {\n timeout: 5000\n });\n } catch (error) {\n this.$snotify.error('Error while trying to save search config', 'Error');\n } finally {\n this.saving = false;\n }\n }\n\n },\n watch: {\n 'clients.torrents.host'(host) {\n const {\n clients\n } = this;\n const {\n torrents\n } = clients;\n const {\n method\n } = torrents;\n\n if (method === 'rtorrent') {\n if (!host) {\n return;\n }\n\n const isMatch = host.startsWith('scgi://');\n\n if (isMatch) {\n this.clients.torrents.username = '';\n this.clients.torrents.password = '';\n this.clients.torrents.authType = 'none';\n }\n }\n\n if (method === 'deluge') {\n this.clients.torrents.username = '';\n }\n },\n\n 'clients.torrents.method'(method) {\n if (!this.clientsConfig.torrent[method].removeFromClientOption) {\n this.search.general.removeFromClient = false;\n }\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/config-search.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config.vue?vue&type=script&lang=js&": -/*!******************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config.vue?vue&type=script&lang=js& ***! - \******************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"AppLink\"]\n },\n computed: Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n system: state => state.config.system\n })\n});\n\n//# sourceURL=webpack:///./src/components/config.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/display-show.vue?vue&type=script&lang=js&": -/*!************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/display-show.vue?vue&type=script&lang=js& ***! - \************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\");\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var _mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../mixins/manage-cookie */ \"./src/mixins/manage-cookie.js\");\n/* harmony import */ var _utils_jquery__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/jquery */ \"./src/utils/jquery.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _backstretch_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./backstretch.vue */ \"./src/components/backstretch.vue\");\n/* harmony import */ var _show_header_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./show-header.vue */ \"./src/components/show-header.vue\");\n/* harmony import */ var _subtitle_search_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./subtitle-search.vue */ \"./src/components/subtitle-search.vue\");\n/* harmony import */ var _helpers_quality_pill_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./helpers/quality-pill.vue */ \"./src/components/helpers/quality-pill.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'show',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"AppLink\"],\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_6__[\"VueGoodTable\"],\n Backstretch: _backstretch_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n PlotInfo: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"PlotInfo\"],\n ShowHeader: _show_header_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n QualityPill: _helpers_quality_pill_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n },\n mixins: [Object(_mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_4__[\"manageCookieMixin\"])('displayShow')],\n\n metaInfo() {\n if (!this.show || !this.show.title) {\n return {\n title: 'Medusa'\n };\n }\n\n const {\n title\n } = this.show;\n return {\n title,\n titleTemplate: '%s | Medusa'\n };\n },\n\n props: {\n /**\n * Show indexer\n */\n showIndexer: {\n type: String\n },\n\n /**\n * Show id\n */\n showId: {\n type: Number\n }\n },\n\n data() {\n const {\n getCookie\n } = this;\n const perPageDropdown = [25, 50, 100, 250, 500];\n\n const getPaginationPerPage = () => {\n const rows = getCookie('pagination-perPage');\n\n if (!rows) {\n return 50;\n }\n\n if (!perPageDropdown.includes(rows)) {\n return 500;\n }\n\n return rows;\n };\n\n return {\n invertTable: true,\n isMobile: false,\n subtitleSearchComponents: [],\n columns: [{\n label: 'NFO',\n field: 'content.hasNfo',\n type: 'boolean',\n sortable: false,\n hidden: getCookie('NFO')\n }, {\n label: 'TBN',\n field: 'content.hasTbn',\n type: 'boolean',\n sortable: false,\n hidden: getCookie('TBN')\n }, {\n label: 'Episode',\n field: 'episode',\n type: 'number',\n hidden: getCookie('Episode')\n }, {\n label: 'Abs. #',\n field: 'absoluteNumber',\n type: 'number',\n hidden: getCookie('Abs. #')\n }, {\n label: 'Scene',\n field: row => {\n const {\n getSceneNumbering\n } = this;\n return getSceneNumbering(row);\n },\n sortable: false,\n hidden: getCookie('Scene')\n }, {\n label: 'Scene Abs. #',\n field: row => {\n const {\n getSceneAbsoluteNumbering\n } = this;\n return getSceneAbsoluteNumbering(row);\n },\n type: 'number',\n\n /**\n * Vue-good-table sort overwrite function.\n * @param {Object} x - row1 value for column.\n * @param {object} y - row2 value for column.\n * @returns {Boolean} - if we want to display this row before the next\n */\n sortFn(x, y) {\n return x < y ? -1 : x > y ? 1 : 0;\n },\n\n hidden: getCookie('Scene Abs. #')\n }, {\n label: 'Title',\n field: 'title',\n hidden: getCookie('Title')\n }, {\n label: 'File',\n field: 'file.location',\n hidden: getCookie('File')\n }, {\n label: 'Size',\n field: 'file.size',\n type: 'number',\n formatFn: _utils_core__WEBPACK_IMPORTED_MODULE_3__[\"humanFileSize\"],\n hidden: getCookie('Size')\n }, {\n // For now i'm using a custom function the parse it. As the type: date, isn't working for us.\n // But the goal is to have this user formatted (as configured in backend)\n label: 'Air date',\n field: this.parseDateFn,\n sortable: false,\n hidden: getCookie('Air date')\n }, {\n label: 'Download',\n field: 'download',\n sortable: false,\n hidden: getCookie('Download')\n }, {\n label: 'Subtitles',\n field: 'subtitles',\n sortable: false,\n hidden: getCookie('Subtitles')\n }, {\n label: 'Status',\n field: 'status',\n hidden: getCookie('Status')\n }, {\n label: 'Search',\n field: 'search',\n sortable: false,\n hidden: getCookie('Search')\n }],\n perPageDropdown,\n paginationPerPage: getPaginationPerPage(),\n selectedEpisodes: [],\n // We need to keep track of which episode where trying to search, for the vue-modal\n failedSearchEpisode: null,\n backlogSearchEpisodes: [],\n filterByOverviewStatus: false\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])({\n shows: state => state.shows.shows,\n config: state => state.config.general,\n configLoaded: state => state.config.layout.fanartBackground !== null,\n layout: state => state.config.layout,\n stateSearch: state => state.config.search\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapGetters\"])({\n show: 'getCurrentShow',\n getOverviewStatus: 'getOverviewStatus',\n fuzzyParseDateTime: 'fuzzyParseDateTime'\n }),\n\n indexer() {\n return this.showIndexer || this.$route.query.indexername;\n },\n\n id() {\n return this.showId || Number(this.$route.query.seriesid) || undefined;\n },\n\n theme() {\n const {\n layout\n } = this;\n const {\n themeName\n } = layout;\n return themeName || 'light';\n },\n\n orderSeasons() {\n const {\n filterByOverviewStatus,\n invertTable,\n show\n } = this;\n\n if (!show.seasons) {\n return [];\n }\n\n let sortedSeasons = show.seasons.sort((a, b) => a.season - b.season).filter(season => season.season !== 0); // Use the filterOverviewStatus to filter the data based on what's checked in the show-header.\n\n if (filterByOverviewStatus && filterByOverviewStatus.filter(status => status.checked).length < filterByOverviewStatus.length) {\n const filteredSortedSeasons = [];\n\n for (const season of sortedSeasons) {\n const {\n episodes,\n ...res\n } = season;\n const filteredEpisodes = episodes.filter(episode => {\n const episodeOverviewStatus = this.getOverviewStatus(episode.status, episode.quality, show.config.qualities);\n const filteredStatus = filterByOverviewStatus.find(overviewStatus => overviewStatus.name === episodeOverviewStatus);\n return !filteredStatus || filteredStatus.checked;\n });\n filteredSortedSeasons.push(Object.assign({\n episodes: filteredEpisodes\n }, res));\n }\n\n sortedSeasons = filteredSortedSeasons;\n }\n\n if (invertTable) {\n return sortedSeasons.reverse();\n }\n\n return sortedSeasons;\n },\n\n specials() {\n const {\n show\n } = this;\n\n if (!show.seasons) {\n return [];\n }\n\n return show.seasons.filter(season => season.season === 0);\n }\n\n },\n\n mounted() {\n const {\n loadShow,\n setEpisodeSceneNumbering,\n setAbsoluteSceneNumbering,\n setInputValidInvalid\n } = this;\n loadShow();\n ['load', 'resize'].map(event => {\n return window.addEventListener(event, () => {\n this.reflowLayout();\n });\n });\n $(document.body).on('click', '.seasonCheck', event => {\n const seasCheck = event.currentTarget;\n const seasNo = $(seasCheck).attr('id');\n $('#collapseSeason-' + seasNo).collapse('show');\n const seasonIdentifier = 's' + seasNo;\n $('.epCheck:visible').each((index, element) => {\n const epParts = $(element).attr('id').split('e');\n\n if (epParts[0] === seasonIdentifier) {\n element.checked = seasCheck.checked;\n }\n });\n });\n $(document.body).on('change', '.sceneSeasonXEpisode', event => {\n const target = event.currentTarget; // Strip non-numeric characters\n\n const value = $(target).val();\n $(target).val(value.replace(/[^\\dXx]*/g, ''));\n const forSeason = $(target).attr('data-for-season');\n const forEpisode = $(target).attr('data-for-episode'); // If empty reset the field\n\n if (value === '') {\n setEpisodeSceneNumbering(forSeason, forEpisode, null, null);\n return;\n }\n\n const m = $(target).val().match(/^(\\d+)x(\\d+)$/i);\n const onlyEpisode = $(target).val().match(/^(\\d+)$/i);\n let sceneSeason = null;\n let sceneEpisode = null;\n let isValid = false;\n\n if (m) {\n sceneSeason = m[1];\n sceneEpisode = m[2];\n isValid = setInputValidInvalid(true, $(target));\n } else if (onlyEpisode) {\n // For example when '5' is filled in instead of '1x5', asume it's the first season\n sceneSeason = forSeason;\n sceneEpisode = onlyEpisode[1];\n isValid = setInputValidInvalid(true, $(target));\n } else {\n isValid = setInputValidInvalid(false, $(target));\n }\n\n if (isValid) {\n setEpisodeSceneNumbering(forSeason, forEpisode, sceneSeason, sceneEpisode);\n }\n });\n $(document.body).on('change', '.sceneAbsolute', event => {\n const target = event.currentTarget; // Strip non-numeric characters\n\n $(target).val($(target).val().replace(/[^\\dXx]*/g, ''));\n const forAbsolute = $(target).attr('data-for-absolute');\n const m = $(target).val().match(/^(\\d{1,3})$/i);\n let sceneAbsolute = null;\n\n if (m) {\n sceneAbsolute = m[1];\n }\n\n setAbsoluteSceneNumbering(forAbsolute, sceneAbsolute);\n });\n },\n\n methods: {\n humanFileSize: _utils_core__WEBPACK_IMPORTED_MODULE_3__[\"humanFileSize\"],\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapActions\"])({\n getShow: 'getShow',\n // Map `this.getShow()` to `this.$store.dispatch('getShow')`\n getEpisodes: 'getEpisodes',\n setCurrentShow: 'setCurrentShow',\n setRecentShow: 'setRecentShow'\n }),\n\n loadShow() {\n const {\n setCurrentShow,\n id,\n indexer,\n getShow\n } = this; // Let's tell the store which show we currently want as current.\n\n setCurrentShow({\n indexer,\n id\n }); // We need detailed info for the xem / scene exceptions, so let's get it.\n\n getShow({\n id,\n indexer,\n detailed: true\n });\n },\n\n statusQualityUpdate(event) {\n const {\n selectedEpisodes,\n setStatus,\n setQuality\n } = this;\n\n if (event.newQuality !== null && event.newQuality !== 'Change quality to:') {\n setQuality(event.newQuality, selectedEpisodes);\n }\n\n if (event.newStatus !== null && event.newStatus !== 'Change status to:') {\n setStatus(event.newStatus, selectedEpisodes);\n }\n },\n\n setQuality(quality, episodes) {\n const {\n id,\n indexer,\n getEpisodes,\n show\n } = this;\n const patchData = {};\n episodes.forEach(episode => {\n patchData[episode.slug] = {\n quality: Number.parseInt(quality, 10)\n };\n });\n api.patch('series/' + show.id.slug + '/episodes', patchData) // eslint-disable-line no-undef\n .then(_ => {\n console.info(`patched show ${show.id.slug} with quality ${quality}`);\n [...new Set(episodes.map(episode => episode.season))].forEach(season => {\n getEpisodes({\n id,\n indexer,\n season\n });\n });\n }).catch(error => {\n console.error(String(error));\n });\n },\n\n setStatus(status, episodes) {\n const {\n id,\n indexer,\n getEpisodes,\n show\n } = this;\n const patchData = {};\n episodes.forEach(episode => {\n patchData[episode.slug] = {\n status\n };\n });\n api.patch('series/' + show.id.slug + '/episodes', patchData) // eslint-disable-line no-undef\n .then(_ => {\n console.info(`patched show ${show.id.slug} with status ${status}`);\n [...new Set(episodes.map(episode => episode.season))].forEach(season => {\n getEpisodes({\n id,\n indexer,\n season\n });\n });\n }).catch(error => {\n console.error(String(error));\n });\n\n if (status === 3) {\n this.$modal.show('query-start-backlog-search', {\n episodes\n });\n }\n },\n\n parseDateFn(row) {\n const {\n fuzzyParseDateTime\n } = this;\n return fuzzyParseDateTime(row.airDate);\n },\n\n rowStyleClassFn(row) {\n const {\n getOverviewStatus,\n show\n } = this;\n const overview = getOverviewStatus(row.status, row.quality, show.config.qualities).toLowerCase().trim();\n return overview;\n },\n\n /**\n * Add (reduce) the total episodes filesize.\n * @param {object} headerRow header row object.\n * @returns {string} - Human readable file size.\n */\n addFileSize(headerRow) {\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_3__[\"humanFileSize\"])(headerRow.episodes.reduce((a, b) => a + (b.file.size || 0), 0));\n },\n\n searchSubtitle(event, episode, lang) {\n const {\n id,\n indexer,\n getEpisodes,\n show,\n subtitleSearchComponents\n } = this;\n const SubtitleSearchClass = Vue.extend(_subtitle_search_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"]); // eslint-disable-line no-undef\n\n const instance = new SubtitleSearchClass({\n propsData: {\n show,\n episode,\n key: episode.originalIndex,\n lang\n },\n parent: this\n }); // Update the show, as we downloaded new subtitle(s)\n\n instance.$on('update', event => {\n // This could be replaced by the generic websocket updates in future.\n if (event.reason === 'new subtitles found') {\n getEpisodes({\n id,\n indexer,\n season: episode.season\n });\n }\n });\n const node = document.createElement('div');\n const subtitleRef = episode.season === 0 ? 'table-specials' : 'table-seasons';\n this.$refs[subtitleRef].$refs[`row-${episode.originalIndex}`][0].after(node);\n instance.$mount(node);\n subtitleSearchComponents.push(instance);\n },\n\n /**\n * Attaches IMDB tooltip\n */\n reflowLayout: lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default()(() => {\n console.debug('Reflowing layout');\n Object(_utils_jquery__WEBPACK_IMPORTED_MODULE_5__[\"addQTip\"])(); // eslint-disable-line no-undef\n }, 1000),\n\n setEpisodeSceneNumbering(forSeason, forEpisode, sceneSeason, sceneEpisode) {\n const {\n $snotify,\n id,\n indexer,\n show\n } = this;\n\n if (!show.config.scene) {\n $snotify.warning('To change episode scene numbering you need to enable the show option `scene` first', 'Warning', {\n timeout: 0\n });\n }\n\n if (sceneSeason === '') {\n sceneSeason = null;\n }\n\n if (sceneEpisode === '') {\n sceneEpisode = null;\n }\n\n $.getJSON('home/setSceneNumbering', {\n indexername: indexer,\n seriesid: id,\n forSeason,\n forEpisode,\n sceneSeason,\n sceneEpisode\n }, data => {\n // Set the values we get back\n if (data.sceneSeason === null || data.sceneEpisode === null) {\n $('#sceneSeasonXEpisode_' + id + '_' + forSeason + '_' + forEpisode).val('');\n } else {\n $('#sceneSeasonXEpisode_' + id + '_' + forSeason + '_' + forEpisode).val(data.sceneSeason + 'x' + data.sceneEpisode);\n }\n\n if (!data.success) {\n if (data.errorMessage) {\n alert(data.errorMessage); // eslint-disable-line no-alert\n } else {\n alert('Update failed.'); // eslint-disable-line no-alert\n }\n }\n });\n },\n\n setAbsoluteSceneNumbering(forAbsolute, sceneAbsolute) {\n const {\n $snotify,\n id,\n indexer,\n show\n } = this;\n\n if (!show.config.scene) {\n $snotify.warning('To change an anime episode scene numbering you need to enable the show option `scene` first', 'Warning', {\n timeout: 0\n });\n }\n\n if (sceneAbsolute === '') {\n sceneAbsolute = null;\n }\n\n $.getJSON('home/setSceneNumbering', {\n indexername: indexer,\n seriesid: id,\n forAbsolute,\n sceneAbsolute\n }, data => {\n // Set the values we get back\n if (data.sceneAbsolute === null) {\n $('#sceneAbsolute_' + id + '_' + forAbsolute).val('');\n } else {\n $('#sceneAbsolute_' + id + '_' + forAbsolute).val(data.sceneAbsolute);\n }\n\n if (!data.success) {\n if (data.errorMessage) {\n alert(data.errorMessage); // eslint-disable-line no-alert\n } else {\n alert('Update failed.'); // eslint-disable-line no-alert\n }\n }\n });\n },\n\n setInputValidInvalid(valid, el) {\n if (valid) {\n $(el).css({\n 'background-color': '#90EE90',\n // Green\n 'color': '#FFF',\n // eslint-disable-line quote-props\n 'font-weight': 'bold'\n });\n return true;\n }\n\n $(el).css({\n 'background-color': '#FF0000',\n // Red\n 'color': '#FFF !important',\n // eslint-disable-line quote-props\n 'font-weight': 'bold'\n });\n return false;\n },\n\n /**\n * Check if any of the episodes in this season does not have the status \"unaired\".\n * If that's the case we want to manual season search icon.\n * @param {object} season - A season object.\n * @returns {Boolean} - true if one of the seasons episodes has a status 'unaired'.\n */\n anyEpisodeNotUnaired(season) {\n return season.episodes.filter(ep => ep.status !== 'Unaired').length > 0;\n },\n\n episodesInverse(season) {\n const {\n invertTable\n } = this;\n\n if (!season.episodes) {\n return [];\n }\n\n if (invertTable) {\n return season.episodes.slice().reverse();\n }\n\n return season.episodes;\n },\n\n /**\n * Check if the season/episode combination exists in the scene numbering.\n * @param {Object} episode - object.\n * @returns {Object} with scene season and episodes mapped numbering.\n */\n getSceneNumbering(episode) {\n const {\n show\n } = this;\n const {\n sceneNumbering,\n xemNumbering\n } = show;\n\n if (!show.config.scene) {\n return {\n season: 0,\n episode: 0\n };\n } // Manually configured scene numbering\n\n\n if (sceneNumbering.length !== 0) {\n const mapped = sceneNumbering.filter(x => {\n return x.source.season === episode.season && x.source.episode === episode.episode;\n });\n\n if (mapped.length !== 0) {\n return mapped[0].destination;\n }\n } // Scene numbering downloaded from thexem.de.\n\n\n if (xemNumbering.length !== 0) {\n const mapped = xemNumbering.filter(x => {\n return x.source.season === episode.season && x.source.episode === episode.episode;\n });\n\n if (mapped.length !== 0) {\n return mapped[0].destination;\n }\n }\n\n return {\n season: episode.scene.season || 0,\n episode: episode.scene.episode || 0\n };\n },\n\n getSceneAbsoluteNumbering(episode) {\n const {\n show\n } = this;\n const {\n sceneAbsoluteNumbering,\n xemAbsoluteNumbering\n } = show;\n\n if (!show.config.anime || !show.config.scene) {\n return episode.scene.absoluteNumber;\n }\n\n if (Object.keys(sceneAbsoluteNumbering).length > 0 && sceneAbsoluteNumbering[episode.absoluteNumber]) {\n return sceneAbsoluteNumbering[episode.absoluteNumber].sceneAbsolute;\n }\n\n if (Object.keys(xemAbsoluteNumbering).length > 0 && xemAbsoluteNumbering[episode.absoluteNumber]) {\n return xemAbsoluteNumbering[episode.absoluteNumber].sceneAbsolute;\n }\n\n return episode.scene.absoluteNumber;\n },\n\n /**\n * Vue-js-modal requires a method, to pass an event to.\n * The event then can be used to assign the value of the episode.\n * @param {Object} event - vue js modal event\n */\n beforeBacklogSearchModalClose(event) {\n this.backlogSearchEpisodes = event.params.episodes;\n },\n\n /**\n * Vue-js-modal requires a method, to pass an event to.\n * The event then can be used to assign the value of the episode.\n * @param {Object} event - vue js modal event\n */\n beforeFailedSearchModalClose(event) {\n this.failedSearchEpisode = event.params.episode;\n },\n\n retryDownload(episode) {\n const {\n stateSearch\n } = this;\n return stateSearch.general.failedDownloads.enabled && ['Snatched', 'Snatched (Proper)', 'Snatched (Best)', 'Downloaded'].includes(episode.status);\n },\n\n search(episodes, searchType) {\n const {\n show\n } = this;\n let data = {};\n\n if (episodes) {\n data = {\n showSlug: show.id.slug,\n episodes: [],\n options: {}\n };\n episodes.forEach(episode => {\n data.episodes.push(episode.slug);\n this.$refs[`search-${episode.slug}`].src = 'images/loading16-dark.gif';\n });\n }\n\n api.put(`search/${searchType}`, data) // eslint-disable-line no-undef\n .then(_ => {\n if (episodes.length === 1) {\n console.info(`started search for show: ${show.id.slug} episode: ${episodes[0].slug}`);\n this.$refs[`search-${episodes[0].slug}`].src = 'images/queued.png';\n this.$refs[`search-${episodes[0].slug}`].disabled = true;\n } else {\n console.info('started a full backlog search');\n }\n }).catch(error => {\n console.error(String(error));\n episodes.forEach(episode => {\n data.episodes.push(episode.slug);\n this.$refs[`search-${episodes[0].slug}`].src = 'images/no16.png';\n });\n }).finally(() => {\n this.failedSearchEpisode = null;\n this.backlogSearchEpisodes = [];\n });\n },\n\n /**\n * Start a backlog search or failed search for the specific episode.\n * A failed search is started depending on the current episodes status.\n * @param {Object} episode - Episode object. If no episode object is passed, a backlog search is started.\n */\n queueSearch(episode) {\n const {\n $modal,\n search,\n retryDownload\n } = this;\n const episodeIdentifier = episode.slug;\n\n if (episode) {\n if (this.$refs[`search-${episodeIdentifier}`].disabled === true) {\n return;\n }\n\n if (retryDownload(episode)) {\n $modal.show('query-mark-failed-and-search', {\n episode\n });\n } else {\n search([episode], 'backlog');\n }\n }\n },\n\n showSubtitleButton(episode) {\n const {\n config,\n show\n } = this;\n return episode.season !== 0 && config.subtitles.enabled && show.config.subtitlesEnabled && !['Snatched', 'Snatched (Proper)', 'Snatched (Best)', 'Downloaded'].includes(episode.status);\n },\n\n totalSeasonEpisodeSize(season) {\n return season.episodes.filter(x => x.file && x.file.size > 0).reduce((a, b) => a + b.file.size, 0);\n },\n\n getSeasonExceptions(season) {\n const {\n show\n } = this;\n const {\n config\n } = show;\n const {\n aliases\n } = config;\n let bindData = {\n class: 'display: none'\n }; // Map the indexer season to a xem mapped season.\n // check if the season exception also exists in the xem numbering table\n\n let xemSeasons = [];\n let foundInXem = false;\n\n if (show.xemNumbering.length > 0) {\n const xemResult = show.xemNumbering.filter(x => x.source.season === season); // Create an array with unique seasons\n\n xemSeasons = [...new Set(xemResult.map(item => item.destination.season))];\n foundInXem = Boolean(xemSeasons.length);\n } // Check if there is a season exception for this season\n\n\n if (aliases.find(x => x.season === season)) {\n // If there is not a match on the xem table, display it as a medusa scene exception\n bindData = {\n id: `xem-exception-season-${foundInXem ? xemSeasons[0] : season}`,\n alt: foundInXem ? '[xem]' : '[medusa]',\n src: foundInXem ? 'images/xem.png' : 'images/ico/favicon-16.png',\n title: foundInXem ? xemSeasons.reduce((a, b) => {\n return a.concat(aliases.filter(alias => alias.season === b).map(alias => alias.title));\n }, []).join(', ') : aliases.filter(alias => alias.season === season).map(alias => alias.title).join(', ')\n };\n }\n\n return bindData;\n },\n\n updateEpisodeWatched(episode, watched) {\n const {\n id,\n indexer,\n getEpisodes,\n show\n } = this;\n const patchData = {};\n patchData[episode.slug] = {\n watched\n };\n api.patch(`series/${show.id.slug}/episodes`, patchData) // eslint-disable-line no-undef\n .then(_ => {\n console.info(`patched episode ${episode.slug} with watched set to ${watched}`);\n getEpisodes({\n id,\n indexer,\n season: episode.season\n });\n }).catch(error => {\n console.error(String(error));\n });\n episode.watched = watched;\n },\n\n updatePaginationPerPage(rows) {\n const {\n setCookie\n } = this;\n this.paginationPerPage = rows;\n setCookie('pagination-perPage', rows);\n },\n\n onPageChange(params) {\n this.loadEpisodes(params.currentPage);\n },\n\n neededSeasons(page) {\n const {\n paginationPerPage,\n show\n } = this;\n const seasons = show.seasonCount.length - 1;\n let pagesCount = 1;\n let episodeCount = 0;\n const pages = {};\n\n for (let i = seasons; i >= 0; i--) {\n const {\n season\n } = show.seasonCount[i]; // Exclude specials\n\n if (season === 0) {\n break;\n }\n\n if (pagesCount in pages) {\n pages[pagesCount].push(season);\n } else {\n pages[pagesCount] = [season];\n }\n\n episodeCount += show.seasonCount[i].episodeCount;\n\n if (episodeCount / paginationPerPage > pagesCount) {\n pagesCount++;\n pages[pagesCount] = [season];\n }\n\n if (pagesCount > page) {\n break;\n }\n }\n\n return pages[page] || [];\n },\n\n loadEpisodes(page) {\n const {\n id,\n indexer,\n getEpisodes\n } = this; // Wrap getEpisodes into an async/await function, so we can wait for the season to have been committed\n // before going on to the next one.\n\n const _getEpisodes = async (id, indexer) => {\n for (const season of this.neededSeasons(page)) {\n // We're waiting for the results by design, to give vue the chance to update the dom.\n // If we fire all the promises at once for, for example 25 seasons. We'll overload medusa's app\n // and chance is high a number of requests will timeout.\n await getEpisodes({\n id,\n indexer,\n season\n }); // eslint-disable-line no-await-in-loop\n }\n };\n\n _getEpisodes(id, indexer);\n },\n\n initializeEpisodes() {\n const {\n getEpisodes,\n id,\n indexer,\n setRecentShow,\n show\n } = this;\n\n if (!show.seasons) {\n // Load episodes for the first page.\n this.loadEpisodes(1); // Always get special episodes if available.\n\n if (show.seasonCount.length > 0 && show.seasonCount[0].season === 0) {\n getEpisodes({\n id,\n indexer,\n season: 0\n });\n }\n }\n\n if (show.id.slug) {\n // For now i'm dumping this here\n setRecentShow({\n indexerName: show.indexer,\n showId: show.id[show.indexer],\n name: show.title\n });\n }\n }\n\n },\n watch: {\n 'show.id.slug': function (slug) {\n // eslint-disable-line object-shorthand\n const {\n initializeEpisodes\n } = this; // Show's slug has changed, meaning the show's page has finished loading.\n\n if (slug) {\n // This is still technically jQuery. Meaning whe're still letting jQuery do its thing on the entire dom.\n Object(_utils_jquery__WEBPACK_IMPORTED_MODULE_5__[\"updateSearchIcons\"])(slug, this);\n initializeEpisodes();\n }\n }\n },\n\n beforeRouteEnter(to, from, next) {\n next(vm => {\n // Access to component instance via `vm`.\n // When moving from editShow to displayShow we might not have loaded the episodes yet.\n // The watch on show.id.slug will also not be triggered.\n vm.initializeEpisodes();\n });\n }\n\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/display-show.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/edit-show.vue?vue&type=script&lang=js&": -/*!*********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/edit-show.vue?vue&type=script&lang=js& ***! - \*********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-nav-tabs/dist/vue-tabs.js */ \"./node_modules/vue-nav-tabs/dist/vue-tabs.js\");\n/* harmony import */ var vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _anidb_release_group_ui_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./anidb-release-group-ui.vue */ \"./src/components/anidb-release-group-ui.vue\");\n/* harmony import */ var _backstretch_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./backstretch.vue */ \"./src/components/backstretch.vue\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var vue_multiselect__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue-multiselect */ \"./node_modules/vue-multiselect/dist/vue-multiselect.min.js\");\n/* harmony import */ var vue_multiselect__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(vue_multiselect__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var vue_multiselect_dist_vue_multiselect_min_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vue-multiselect/dist/vue-multiselect.min.css */ \"./node_modules/vue-multiselect/dist/vue-multiselect.min.css\");\n/* harmony import */ var vue_multiselect_dist_vue_multiselect_min_css__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(vue_multiselect_dist_vue_multiselect_min_css__WEBPACK_IMPORTED_MODULE_7__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'edit-show',\n components: {\n AnidbReleaseGroupUi: _anidb_release_group_ui_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"AppLink\"],\n Backstretch: _backstretch_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n ConfigSceneExceptions: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"ConfigSceneExceptions\"],\n ConfigTemplate: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"ConfigTemplate\"],\n ConfigTextboxNumber: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"ConfigTextboxNumber\"],\n ConfigToggleSlider: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"ConfigToggleSlider\"],\n FileBrowser: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"FileBrowser\"],\n LanguageSelect: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"LanguageSelect\"],\n Multiselect: (vue_multiselect__WEBPACK_IMPORTED_MODULE_6___default()),\n QualityChooser: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"QualityChooser\"],\n SelectList: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"SelectList\"],\n VueTabs: vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__[\"VueTabs\"],\n VTab: vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__[\"VTab\"]\n },\n\n metaInfo() {\n if (!this.show || !this.show.title) {\n return {\n title: 'Medusa'\n };\n }\n\n const {\n title\n } = this.show;\n return {\n title,\n titleTemplate: '%s | Medusa'\n };\n },\n\n props: {\n /**\n * Show indexer\n */\n showIndexer: {\n type: String\n },\n\n /**\n * Show id\n */\n showId: {\n type: Number\n }\n },\n\n data() {\n return {\n saving: false,\n loadError: null\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n indexers: state => state.config.indexers,\n anime: state => state.config.anime,\n layout: state => state.config.layout,\n episodeStatuses: state => state.config.consts.statuses,\n search: state => state.config.search\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n show: 'getCurrentShow',\n getStatus: 'getStatus'\n }),\n showLists: {\n get() {\n const {\n show\n } = this;\n return show.config.showLists.map(list => list.toLowerCase());\n },\n\n set(value) {\n const {\n show,\n setShowConfig\n } = this;\n setShowConfig({\n show,\n config: { ...show.config,\n showLists: value\n }\n });\n }\n\n },\n\n indexer() {\n return this.showIndexer || this.$route.query.indexername;\n },\n\n id() {\n return this.showId || Number(this.$route.query.seriesid) || undefined;\n },\n\n showLoaded() {\n return Boolean(this.show.id.slug);\n },\n\n defaultEpisodeStatusOptions() {\n if (this.episodeStatuses.length === 0) {\n return [];\n } // Get status objects, in this order\n\n\n return ['wanted', 'skipped', 'ignored'].map(key => this.getStatus({\n key\n }));\n },\n\n availableLanguages() {\n if (this.indexers.main.validLanguages) {\n return this.indexers.main.validLanguages.join(',');\n }\n\n return '';\n },\n\n combinedQualities() {\n const {\n allowed,\n preferred\n } = this.show.config.qualities;\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"combineQualities\"])(allowed, preferred);\n },\n\n saveButton() {\n return this.saving === false ? 'Save Changes' : 'Saving...';\n },\n\n globalIgnored() {\n const {\n search\n } = this;\n return search.filters.ignored.map(x => x.toLowerCase());\n },\n\n globalRequired() {\n const {\n search\n } = this;\n return search.filters.required.map(x => x.toLowerCase());\n },\n\n effectiveIgnored() {\n const {\n globalIgnored\n } = this;\n const showIgnored = this.show.config.release.ignoredWords.map(x => x.toLowerCase());\n\n if (this.show.config.release.ignoredWordsExclude) {\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"arrayExclude\"])(globalIgnored, showIgnored);\n }\n\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"arrayUnique\"])(globalIgnored.concat(showIgnored));\n },\n\n effectiveRequired() {\n const {\n globalRequired\n } = this;\n const showRequired = this.show.config.release.requiredWords.map(x => x.toLowerCase());\n\n if (this.show.config.release.requiredWordsExclude) {\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"arrayExclude\"])(globalRequired, showRequired);\n }\n\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"arrayUnique\"])(globalRequired.concat(showRequired));\n }\n\n },\n\n created() {\n this.loadShow();\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n getShow: 'getShow',\n setShow: 'setShow',\n setCurrentShow: 'setCurrentShow',\n setShowConfig: 'setShowConfig'\n }),\n\n loadShow() {\n const {\n setCurrentShow,\n id,\n indexer,\n getShow\n } = this; // Let's tell the store which show we currently want as current.\n\n setCurrentShow({\n indexer,\n id\n }); // We need detailed info for the xem / scene exceptions, so let's get it.\n\n getShow({\n id,\n indexer,\n detailed: true\n });\n },\n\n async saveShow(subject) {\n const {\n show,\n showLoaded\n } = this; // We want to wait until the page has been fully loaded, before starting to save stuff.\n\n if (!showLoaded) {\n return;\n }\n\n if (!['show', 'all'].includes(subject)) {\n return;\n } // Disable the save button until we're done.\n\n\n this.saving = true;\n const showConfig = show.config;\n const data = {\n config: {\n aliases: showConfig.aliases,\n defaultEpisodeStatus: showConfig.defaultEpisodeStatus,\n dvdOrder: showConfig.dvdOrder,\n seasonFolders: showConfig.seasonFolders,\n anime: showConfig.anime,\n scene: showConfig.scene,\n sports: showConfig.sports,\n paused: showConfig.paused,\n location: showConfig.location,\n airByDate: showConfig.airByDate,\n subtitlesEnabled: showConfig.subtitlesEnabled,\n release: {\n requiredWords: showConfig.release.requiredWords,\n ignoredWords: showConfig.release.ignoredWords,\n requiredWordsExclude: showConfig.release.requiredWordsExclude,\n ignoredWordsExclude: showConfig.release.ignoredWordsExclude\n },\n qualities: {\n preferred: showConfig.qualities.preferred,\n allowed: showConfig.qualities.allowed\n },\n airdateOffset: showConfig.airdateOffset,\n showLists: showConfig.showLists\n },\n language: show.language\n };\n\n if (data.config.anime) {\n data.config.release.blacklist = showConfig.release.blacklist;\n data.config.release.whitelist = showConfig.release.whitelist;\n }\n\n const {\n indexer,\n id,\n setShow\n } = this;\n\n try {\n await setShow({\n indexer,\n id,\n data\n });\n this.$snotify.success('You may need to \"Re-scan files\" or \"Force Full Update\".', 'Saved', {\n timeout: 5000\n });\n } catch (error) {\n this.$snotify.error(`Error while trying to save ${this.show.title}: ${error.message || 'Unknown'}`, 'Error');\n } finally {\n // Re-enable the save button.\n this.saving = false;\n }\n },\n\n onChangeIgnoredWords(items) {\n this.show.config.release.ignoredWords = items.map(item => item.value);\n },\n\n onChangeRequiredWords(items) {\n this.show.config.release.requiredWords = items.map(item => item.value);\n },\n\n onChangeReleaseGroupsAnime(groupNames) {\n this.show.config.release.whitelist = groupNames.whitelist;\n this.show.config.release.blacklist = groupNames.blacklist;\n },\n\n updateLanguage(value) {\n this.show.language = value;\n },\n\n changeFormat(value, formatOption) {\n const {\n anime\n } = this;\n this.show.config[formatOption] = value;\n\n if (value) {\n // Check each format option, disable the other options.\n ['anime', 'sports', 'airByDate'].filter(item => item !== formatOption).forEach(option => {\n this.show.config[option] = false;\n });\n }\n\n if (formatOption === 'anime' && anime.autoAnimeToList) {\n if (value) {\n // Auto anime to list is enabled. If changing the show format to anime, add 'Anime' to show lists.\n this.showLists.push('anime'); // The filter makes sure there are unique strings.\n\n this.showLists = this.showLists.filter((v, i, a) => a.indexOf(v) === i);\n } else {\n // Auto anime to list is enabled. If changing the show format to anime, add 'Anime' to show lists.\n this.showLists = this.showLists.filter(list => list !== 'anime');\n }\n }\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/edit-show.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/app-link.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/app-link.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../router */ \"./src/router/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'app-link',\n props: {\n to: [String, Object],\n href: String,\n indexerId: {\n type: String\n },\n placeholder: {\n type: String,\n default: 'indexer-to-name'\n }\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n general: state => state.config.general\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])(['indexerIdToName']),\n\n indexerName() {\n // Returns `undefined` if not found\n const {\n indexerId,\n indexerIdToName\n } = this;\n return indexerIdToName(indexerId);\n },\n\n computedBase() {\n return document.querySelector('base').getAttribute('href');\n },\n\n computedHref() {\n const {\n href,\n indexerId,\n placeholder,\n indexerName\n } = this;\n\n if (indexerId && placeholder) {\n return href.replace(placeholder, indexerName);\n }\n\n return href;\n },\n\n isIRC() {\n if (!this.computedHref) {\n return;\n }\n\n return this.computedHref.startsWith('irc://');\n },\n\n isAbsolute() {\n const href = this.computedHref;\n\n if (!href) {\n return;\n }\n\n return /^[a-z][\\d+.a-z-]*:/.test(href);\n },\n\n isExternal() {\n const base = this.computedBase;\n const href = this.computedHref;\n\n if (!href) {\n return;\n }\n\n return !href.startsWith(base) && !href.startsWith('webcal://');\n },\n\n isHashPath() {\n if (!this.computedHref) {\n return;\n }\n\n return this.computedHref.startsWith('#');\n },\n\n anonymisedHref() {\n const {\n anonRedirect\n } = this.general;\n const href = this.computedHref;\n\n if (!href) {\n return;\n }\n\n return anonRedirect ? anonRedirect + href : href;\n },\n\n matchingVueRoute() {\n const {\n isAbsolute,\n isExternal,\n computedHref\n } = this;\n\n if (isAbsolute && isExternal) {\n return;\n }\n\n const {\n route\n } = _router__WEBPACK_IMPORTED_MODULE_1__[\"default\"].resolve(_router__WEBPACK_IMPORTED_MODULE_1__[\"base\"] + computedHref);\n\n if (!route.name) {\n return;\n }\n\n return route;\n },\n\n linkProperties() {\n const {\n to,\n isIRC,\n isAbsolute,\n isExternal,\n isHashPath,\n anonymisedHref,\n matchingVueRoute\n } = this;\n const base = this.computedBase;\n const href = this.computedHref; // Return normal router-link\n\n if (to) {\n return {\n is: 'router-link',\n to\n };\n } // Just return a boring link with other attrs\n // @NOTE: This is for scroll anchors as it uses the id\n\n\n if (!href) {\n return {\n is: 'a',\n // Only tag this as a \"false-link\" if we passed a name in the props\n falseLink: Boolean(this.$attrs.name) || undefined\n };\n } // If current page and next page are both vue routes return router-link\n\n\n if (matchingVueRoute && this.$route && matchingVueRoute.meta.converted && this.$route.meta.converted) {\n // Allows us to skip when we're in a test\n if (window.loadMainApp) {\n return {\n is: 'router-link',\n to: matchingVueRoute.fullPath,\n // Add a `href` attribute to enable native mouse navigation (middle click, ctrl+click, etc.)\n href: new URL(matchingVueRoute.fullPath, base).href\n };\n }\n }\n\n return {\n is: 'a',\n target: isAbsolute && isExternal ? '_blank' : '_self',\n href: (() => {\n if (isHashPath) {\n const {\n location\n } = window;\n\n if (location.hash.length === 0) {\n // Current location might be `url#`\n const newHash = location.href.endsWith('#') ? href.slice(1) : href;\n return location.href + newHash;\n }\n\n return location.href.replace(location.hash, '') + href;\n }\n\n if (isIRC) {\n return href;\n }\n\n if (isAbsolute) {\n if (isExternal) {\n return anonymisedHref;\n }\n\n return href;\n }\n\n return new URL(href, base).href;\n })(),\n rel: isAbsolute && isExternal ? 'noreferrer' : undefined\n };\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/app-link.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/asset.vue?vue&type=script&lang=js&": -/*!*************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/asset.vue?vue&type=script&lang=js& ***! - \*************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../api */ \"./src/api.js\");\n/* harmony import */ var _app_link_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./app-link.vue */ \"./src/components/helpers/app-link.vue\");\n/* harmony import */ var _lazy_image_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lazy-image.vue */ \"./src/components/helpers/lazy-image.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'asset',\n components: {\n AppLink: _app_link_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n LazyImage: _lazy_image_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n showSlug: {\n type: String\n },\n type: {\n type: String,\n required: true\n },\n defaultSrc: {\n type: String,\n required: true\n },\n link: {\n type: Boolean,\n default: false\n },\n cls: {\n type: String\n },\n imgWidth: {\n type: Number\n },\n lazy: Boolean\n },\n\n data() {\n return {\n error: false\n };\n },\n\n computed: {\n src() {\n const {\n defaultSrc,\n error,\n showSlug,\n type\n } = this;\n\n if (error || !showSlug || !type) {\n return defaultSrc;\n }\n\n return `${_api__WEBPACK_IMPORTED_MODULE_0__[\"webRoot\"]}/api/v2/series/${showSlug}/asset/${type}?api_key=${_api__WEBPACK_IMPORTED_MODULE_0__[\"apiKey\"]}`;\n },\n\n href() {\n const {\n link,\n src\n } = this; // Compute a link to the full asset, if applicable\n\n if (link) {\n return src.replace('Thumb', '');\n }\n\n return undefined;\n },\n\n newCls() {\n const {\n cls,\n imgWidth\n } = this;\n let newClass = cls;\n\n if (imgWidth) {\n newClass += ` width-${imgWidth}`;\n }\n\n return newClass;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/asset.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-scene-exceptions.vue?vue&type=script&lang=js&": -/*!*******************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-scene-exceptions.vue?vue&type=script&lang=js& ***! - \*******************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! v-tooltip */ \"./node_modules/v-tooltip/dist/v-tooltip.esm.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-scene-exceptions',\n directives: {\n tooltip: v_tooltip__WEBPACK_IMPORTED_MODULE_1__[\"VTooltip\"]\n },\n props: {\n exceptions: {\n type: Array,\n default: () => []\n },\n show: {\n type: Object,\n default: null\n }\n },\n\n data() {\n return {\n items: [],\n newItem: '',\n selectedSeason: -1,\n warning: ''\n };\n },\n\n computed: {\n availableSeasons() {\n const {\n show\n } = this;\n return [...[{\n value: -1,\n description: 'Show Exception'\n }], ...show.seasonCount.filter(season => season.season !== 0).map(season => {\n return {\n value: season.season,\n description: `Season ${season.season}`\n };\n })];\n },\n\n unique() {\n const {\n items,\n newItem,\n selectedSeason\n } = this;\n return !items.find(exception => exception.title === newItem && exception.season === selectedSeason);\n }\n\n },\n\n mounted() {\n const {\n exceptions\n } = this;\n this.items = exceptions;\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n addSceneException: 'addSceneException',\n removeSceneException: 'removeSceneException'\n }),\n\n addException() {\n const {\n addSceneException,\n clear,\n selectedSeason,\n show,\n newItem,\n unique\n } = this;\n\n if (!unique || newItem === '') {\n return;\n }\n\n const exception = {\n title: newItem,\n season: selectedSeason,\n custom: true\n };\n addSceneException({\n show,\n exception\n });\n clear();\n },\n\n removeException(exception) {\n const {\n clear,\n removeSceneException,\n show\n } = this;\n removeSceneException({\n show,\n exception\n });\n clear();\n },\n\n clear() {\n this.newItem = '';\n this.selectedSeason = -1;\n }\n\n },\n watch: {\n exceptions(newExceptions) {\n this.items = newExceptions;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/config-scene-exceptions.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-template.vue?vue&type=script&lang=js&": -/*!***********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-template.vue?vue&type=script&lang=js& ***! - \***********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-template',\n props: {\n label: {\n type: String,\n required: true\n },\n labelFor: {\n type: String,\n required: true\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/config-template.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-textbox-number.vue?vue&type=script&lang=js&": -/*!*****************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-textbox-number.vue?vue&type=script&lang=js& ***! - \*****************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-textbox-number',\n props: {\n label: {\n type: String,\n required: true\n },\n id: {\n type: String,\n required: true\n },\n explanations: {\n type: Array,\n default: () => []\n },\n value: {\n type: Number,\n default: 10\n },\n\n /**\n * Overwrite the default configured class on the element.\n */\n inputClass: {\n type: String,\n default: 'form-control input-sm input75'\n },\n min: {\n type: Number,\n default: 10\n },\n max: {\n type: Number,\n default: null\n },\n step: {\n type: Number,\n default: 1\n },\n placeholder: {\n type: String,\n default: ''\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n\n data() {\n return {\n localValue: null\n };\n },\n\n mounted() {\n const {\n value\n } = this;\n this.localValue = value;\n },\n\n watch: {\n value() {\n const {\n value\n } = this;\n this.localValue = value;\n }\n\n },\n methods: {\n updateValue() {\n const {\n localValue\n } = this;\n this.$emit('input', Number(localValue));\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/config-textbox-number.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-textbox.vue?vue&type=script&lang=js&": -/*!**********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-textbox.vue?vue&type=script&lang=js& ***! - \**********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-textbox',\n props: {\n label: {\n type: String,\n required: true\n },\n id: {\n type: String,\n required: true\n },\n explanations: {\n type: Array,\n default: () => []\n },\n value: {\n type: String,\n default: ''\n },\n type: {\n type: String,\n default: 'text'\n },\n disabled: {\n type: Boolean,\n default: false\n },\n\n /**\n * Overwrite the default configured class on the element.\n */\n inputClass: {\n type: String,\n default: 'form-control input-sm max-input350'\n },\n placeholder: {\n type: String,\n default: ''\n }\n },\n\n data() {\n return {\n localValue: null\n };\n },\n\n mounted() {\n const {\n value\n } = this;\n this.localValue = value;\n },\n\n watch: {\n value() {\n const {\n value\n } = this;\n this.localValue = value;\n }\n\n },\n methods: {\n updateValue() {\n const {\n localValue\n } = this;\n this.$emit('input', localValue);\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/config-textbox.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-toggle-slider.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-toggle-slider.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-js-toggle-button */ \"./node_modules/vue-js-toggle-button/dist/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_0__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-toggle-slider',\n components: {\n ToggleButton: vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_0__[\"ToggleButton\"]\n },\n props: {\n label: {\n type: String,\n required: true\n },\n id: {\n type: String,\n required: true\n },\n value: {\n type: Boolean,\n default: null\n },\n disabled: {\n type: Boolean,\n default: false\n },\n explanations: {\n type: Array,\n default: () => []\n }\n },\n\n data() {\n return {\n localChecked: null\n };\n },\n\n mounted() {\n const {\n value\n } = this;\n this.localChecked = value;\n },\n\n watch: {\n value() {\n const {\n value\n } = this;\n this.localChecked = value;\n }\n\n },\n methods: {\n updateValue() {\n const {\n localChecked\n } = this;\n this.$emit('input', localChecked);\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/config-toggle-slider.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/file-browser.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/file-browser.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../api */ \"./src/api.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'file-browser',\n props: {\n // Used for form submission\n name: {\n type: String,\n default: 'proc_dir'\n },\n // Title for the dialog and the browse button\n title: {\n type: String,\n default: 'Choose Directory'\n },\n includeFiles: {\n type: Boolean,\n default: false\n },\n showBrowseButton: {\n type: Boolean,\n default: true\n },\n // Enable autocomplete on the input field\n autocomplete: {\n type: Boolean,\n default: false\n },\n localStorageKey: {\n type: String,\n default: ''\n },\n initialDir: {\n type: String,\n default: ''\n }\n },\n\n data() {\n const testLocalStorage = () => {\n try {\n Boolean(localStorage.getItem);\n return true;\n } catch (error) {\n console.log(error);\n return false;\n }\n };\n\n return {\n lock: false,\n unwatchProp: null,\n files: [],\n currentPath: this.initialDir,\n lastPath: '',\n url: 'browser/',\n autocompleteUrl: 'browser/complete',\n fileBrowserDialog: null,\n localStorageSupport: testLocalStorage()\n };\n },\n\n created() {\n /**\n * `initialDir` property might receive values originating from the API,\n * that are sometimes not available when rendering.\n * @TODO: Maybe we can remove this in the future.\n */\n this.unwatchProp = this.$watch('initialDir', newValue => {\n this.unwatchProp();\n this.lock = true;\n this.currentPath = newValue;\n this.$nextTick(() => {\n this.lock = false;\n });\n });\n },\n\n mounted() {\n // Initialize the fileBrowser.\n const {\n autocomplete,\n fileBrowser,\n storedPath,\n $refs\n } = this;\n fileBrowser($refs.locationInput, autocomplete).on('autocompleteselect', (event, ui) => {\n this.currentPath = ui.item.value;\n }); // If the text field is empty and we have the last browsed path, use it\n\n if (!this.currentPath && storedPath) {\n this.currentPath = storedPath;\n }\n },\n\n computed: {\n storedPath: {\n // Interact with localStorage, if applicable\n get() {\n const {\n localStorageSupport,\n localStorageKey\n } = this;\n\n if (!localStorageSupport || !localStorageKey) {\n return null;\n }\n\n return localStorage['fileBrowser-' + localStorageKey];\n },\n\n set(newPath) {\n const {\n localStorageSupport,\n localStorageKey\n } = this;\n\n if (!localStorageSupport || !localStorageKey) {\n return;\n }\n\n localStorage['fileBrowser-' + localStorageKey] = newPath;\n }\n\n }\n },\n methods: {\n toggleFolder(file, event) {\n if (file.isFile) {\n return;\n }\n\n const target = event.target.children[0] || event.target;\n target.classList.toggle('ui-icon-folder-open');\n target.classList.toggle('ui-icon-folder-collapsed');\n },\n\n fileClicked(file) {\n // If item clicked is file then open file and select \"ok\"\n // Otherwise browse to dir\n if (file.isFile) {\n this.currentPath = file.path;\n $(this.$el).find('.browserDialog .ui-button:contains(\"Ok\")').click();\n } else {\n this.browse(file.path);\n }\n },\n\n browse(path) {\n const {\n url,\n includeFiles,\n fileBrowserDialog\n } = this; // Close autocomplete (needed when clicking enter)\n\n $(this.$refs.fileBrowserSearchBox).autocomplete('close');\n console.debug('Browsing to ' + path);\n fileBrowserDialog.dialog('option', 'dialogClass', 'browserDialog busy');\n fileBrowserDialog.dialog('option', 'closeText', ''); // This removes the \"Close\" text\n\n const params = {\n path,\n includeFiles: Number(includeFiles)\n };\n _api__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"].get(url, {\n params\n }).then(response => {\n const {\n data\n } = response;\n this.currentPath = data.shift().currentPath;\n this.files = data;\n fileBrowserDialog.dialog('option', 'dialogClass', 'browserDialog');\n }).catch(error => {\n console.warning(`Unable to browse to: ${path}\\nError: ${error.message}`, error);\n });\n },\n\n openFileBrowser(callback) {\n const vm = this;\n const {\n browse,\n title,\n fileBrowser,\n $refs\n } = vm;\n const {\n fileBrowserSearchBox,\n fileBrowserFileList\n } = $refs;\n\n if (!vm.fileBrowserDialog) {\n // Make a fileBrowserDialog object if one doesn't exist already\n // Set up the jQuery dialog\n vm.fileBrowserDialog = $($refs.fileBrowserDialog).dialog({\n dialogClass: 'browserDialog',\n title,\n position: {\n my: 'center top',\n at: 'center top+100',\n of: window\n },\n minWidth: Math.min($(document).width() - 80, 650),\n height: Math.min($(document).height() - 120, $(window).height() - 120),\n maxHeight: Math.min($(document).height() - 120, $(window).height() - 120),\n maxWidth: $(document).width() - 80,\n modal: true,\n autoOpen: false\n });\n fileBrowserSearchBox.removeAttribute('style');\n vm.fileBrowserDialog // This is a jQuery object\n .append(fileBrowserSearchBox);\n fileBrowser(fileBrowserSearchBox, true).on('autocompleteselect', (event, ui) => {\n browse(ui.item.value);\n });\n }\n\n vm.fileBrowserDialog.dialog('option', 'buttons', [{\n text: 'Ok',\n class: 'medusa-btn',\n\n click() {\n // Store the browsed path to the associated text field\n callback(vm.currentPath);\n $(this).dialog('close');\n }\n\n }, {\n text: 'Cancel',\n class: 'medusa-btn',\n\n click() {\n // Reset currentPath to path before dialog opened\n vm.currentPath = vm.lastPath;\n $(this).dialog('close');\n }\n\n }]);\n vm.fileBrowserDialog.dialog('open');\n browse(vm.currentPath); // Set lastPath so we can reset currentPath if we cancel dialog\n\n vm.lastPath = vm.currentPath;\n fileBrowserFileList.removeAttribute('style');\n vm.fileBrowserDialog // This is a jQuery object\n .append(fileBrowserFileList);\n },\n\n fileBrowser(target, autocomplete) {\n const vm = this;\n const {\n autocompleteUrl,\n includeFiles\n } = vm; // Text field used for the result\n\n const resultField = $(target);\n\n if (autocomplete && resultField.autocomplete && autocompleteUrl) {\n let query = '';\n\n resultField.autocomplete({\n position: {\n my: 'top',\n at: 'bottom',\n collision: 'flipfit'\n },\n\n source(request, response) {\n // Keep track of user submitted search term\n query = $.ui.autocomplete.escapeRegex(request.term);\n request.includeFiles = Number(includeFiles);\n $.ajax({\n url: autocompleteUrl,\n data: request,\n dataType: 'json'\n }).done(data => {\n // Implement a startsWith filter for the results\n const matcher = new RegExp('^' + query, 'i');\n const a = $.grep(data, item => {\n return matcher.test(item);\n });\n response(a);\n });\n },\n\n open() {\n $(vm.$el).find('.ui-autocomplete li.ui-menu-item a').removeClass('ui-corner-all');\n }\n\n }).data('ui-autocomplete')._renderItem = (ul, item) => {\n // Highlight the matched search term from the item -- note that this is global and will match anywhere\n let resultItem = item.label;\n const x = new RegExp('(?![^&;]+;)(?!<[^<>]*)(' + query + ')(?![^<>]*>)(?![^&;]+;)', 'gi');\n resultItem = resultItem.replace(x, fullMatch => {\n return '' + fullMatch + '';\n });\n return $('
  • ').data('ui-autocomplete-item', item).append('' + resultItem + '').appendTo(ul);\n };\n } // Returns: jQuery element\n\n\n return resultField;\n },\n\n openDialog() {\n const {\n openFileBrowser,\n currentPath\n } = this;\n openFileBrowser(path => {\n // Store the path to remember for next time -- no ie6/7\n this.storedPath = path || currentPath;\n });\n }\n\n },\n watch: {\n currentPath() {\n if (!this.lock) {\n this.$emit('update', this.currentPath);\n }\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/helpers/file-browser.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/language-select.vue?vue&type=script&lang=js&": -/*!***********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/language-select.vue?vue&type=script&lang=js& ***! - \***********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'language-select',\n props: {\n language: {\n type: String,\n default: 'en'\n },\n available: {\n type: String,\n default: 'en'\n },\n blank: {\n type: Boolean,\n default: false\n },\n flags: {\n type: Boolean,\n default: false\n }\n },\n\n mounted() {\n const vm = this;\n $(this.$el).bfhlanguages({\n flags: this.flags,\n language: this.language,\n available: this.available,\n blank: this.blank\n });\n $(this.$el).on('change', evt => {\n vm.$emit('update-language', evt.currentTarget.value);\n });\n },\n\n watch: {\n language() {\n $(this.$el).val(this.language);\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/helpers/language-select.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/lazy-image.vue?vue&type=script&lang=js&": -/*!******************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/lazy-image.vue?vue&type=script&lang=js& ***! - \******************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lozad__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lozad */ \"./node_modules/lozad/dist/lozad.min.js\");\n/* harmony import */ var lozad__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lozad__WEBPACK_IMPORTED_MODULE_0__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'lazy-image',\n props: {\n height: {\n type: Number,\n default: null\n },\n lazySrc: {\n type: String,\n default: null\n },\n lazySrcset: {\n type: String,\n default: null\n },\n lazyDefaultSrc: {\n type: String,\n default: null\n },\n lazyCls: {\n type: String,\n default: ''\n },\n width: {\n type: Number,\n default: null\n }\n },\n\n data() {\n return {\n loading: true,\n error: false\n };\n },\n\n computed: {\n aspectRatio() {\n // Calculate the aspect ratio of the image\n // if the width and the height are given.\n if (!this.width || !this.height) {\n return null;\n }\n\n return this.height / this.width * 100;\n },\n\n style() {\n const style = {};\n\n if (this.width) {\n style.width = `${this.width}px`;\n } // If the image is still loading and an\n // aspect ratio could be calculated, we\n // apply the calculated aspect ratio by\n // using padding top.\n\n\n const applyAspectRatio = this.loading && this.aspectRatio;\n\n if (applyAspectRatio) {\n // Prevent flash of unstyled image\n // after the image is loaded.\n style.height = 0; // Scale the image container according\n // to the aspect ratio.\n\n style.paddingTop = `${this.aspectRatio}%`;\n }\n\n return style;\n }\n\n },\n\n mounted() {\n // As soon as the element triggers\n // the `load` event, the loading state is\n // set to `false`, which removes the apsect\n // ratio we've applied earlier.\n const setLoadingState = () => {\n this.loading = false;\n };\n\n this.$el.addEventListener('load', setLoadingState); // We remove the event listener as soon as\n // the component is destroyed to prevent\n // potential memory leaks.\n\n this.$once('hook:destroyed', () => {\n this.$el.removeEventListener('load', setLoadingState);\n }); // We initialize Lozad.js on the root\n // element of our component.\n\n const observer = lozad__WEBPACK_IMPORTED_MODULE_0___default()(this.$el, {\n loaded: el => {\n el.classList.add('loaded');\n const img = new Image();\n img.src = el.getAttribute('data-src');\n img.addEventListener('error', () => {\n el.classList.add('error');\n\n if (this.lazyDefaultSrc) {\n el.setAttribute('src', this.lazyDefaultSrc);\n }\n }, false);\n }\n });\n observer.observe();\n },\n\n methods: {\n observe() {\n // We initialize Lozad.js on the root\n // element of our component.\n const observer = lozad__WEBPACK_IMPORTED_MODULE_0___default()(this.$el);\n observer.observe();\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/lazy-image.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/load-progress-bar.vue?vue&type=script&lang=js&": -/*!*************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/load-progress-bar.vue?vue&type=script&lang=js& ***! - \*************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'load-progress-bar',\n props: {\n display: Boolean,\n current: Number,\n total: Number,\n description: {\n type: String,\n default: 'Shows'\n }\n },\n computed: {\n loadMsg() {\n const {\n current,\n total,\n description\n } = this;\n return `Loaded ${current} out of ${total} ${description}`;\n },\n\n styleProgress() {\n const {\n current,\n total\n } = this;\n return {\n height: '24px',\n width: `${Math.round(current / total * 100)}%`\n };\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/load-progress-bar.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/name-pattern.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/name-pattern.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var date_fns_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! date-fns/format */ \"./node_modules/date-fns/esm/format/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-js-toggle-button */ \"./node_modules/vue-js-toggle-button/dist/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../api */ \"./src/api.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'name-pattern',\n components: {\n ToggleButton: vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1__[\"ToggleButton\"]\n },\n props: {\n /**\n * Current naming pattern.\n */\n namingPattern: {\n type: String,\n default: ''\n },\n\n /**\n * An array of available preset naming patterns.\n */\n namingPresets: {\n type: Array,\n default: () => []\n },\n\n /**\n * The selected multi ep style\n */\n multiEpStyle: {\n type: Number\n },\n\n /**\n * Availale multi ep style\n */\n multiEpStyles: {\n type: Array,\n default: () => []\n },\n\n /**\n * For anime shows there are a number of variations on how the absolute episode number\n * is added to the episode.\n */\n animeNamingType: {\n type: Number,\n default: 0\n },\n\n /**\n * Provide the custom naming type. -Like sports, anime, air by date- description.\n * If none provided we asume this is the default episode naming component.\n * And that means there will be no checkbox available to enable/disable it.\n */\n type: {\n type: String,\n default: ''\n },\n\n /**\n * Used icw with the type property.\n * If a type has been passed, the `enabled` property can be used to toggle the visibilty of the name-pattern settings.\n */\n enabled: {\n type: Boolean,\n default: true\n },\n flagLoaded: {\n type: Boolean,\n default: false\n }\n },\n\n data() {\n return {\n presets: [],\n availableMultiEpStyles: [],\n pattern: '',\n customName: '',\n showLegend: false,\n namingExample: '',\n namingExampleMulti: '',\n isEnabled: false,\n selectedMultiEpStyle: 1,\n animeType: 0,\n lastSelectedPattern: ''\n };\n },\n\n methods: {\n getDateFormat(format) {\n return Object(date_fns_format__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(new Date(), format);\n },\n\n testNaming(pattern, selectedMultiEpStyle, animeType) {\n console.debug(`Test pattern ${pattern} for ${selectedMultiEpStyle ? 'multi' : 'single ep'}`);\n const params = {\n pattern,\n anime_type: animeType // eslint-disable-line camelcase\n\n };\n\n if (selectedMultiEpStyle) {\n params.multi = selectedMultiEpStyle;\n }\n\n try {\n return _api__WEBPACK_IMPORTED_MODULE_2__[\"apiRoute\"].get('config/postProcessing/testNaming', {\n params,\n timeout: 20000\n }).then(res => res.data);\n } catch (error) {\n console.warn(error);\n return '';\n }\n },\n\n updatePatternSamples() {\n // If it's a custom pattern, we need to get the custom pattern from this.customName\n // if customName if empty for whatever reason, just use the last selected preset value.\n if (!this.customName) {\n this.customName = this.lastSelectedPattern;\n }\n\n const pattern = this.isCustom ? this.customName : this.pattern; // Exiting early as we probably don't have all the properties yet.\n // updatePatternSamples() can be triggered from a watcher on pattern, this.selectedMultiEpStyle or this.animeType\n // We want to make sure that the data passed on to the component is complete before making calls to the backend.\n // If we don't check on this, it will send api requests with null data.\n\n if (!pattern || this.animeType === null || this.selectedMultiEpStyle === null) {\n return;\n } // Update single\n\n\n this.testNaming(pattern, false, this.animeType).then(result => {\n this.namingExample = result + '.ext';\n }); // Test naming\n\n this.checkNaming(pattern, false, this.animeType);\n\n if (this.isMulti) {\n this.testNaming(pattern, this.selectedMultiEpStyle, this.animeType).then(result => {\n this.namingExampleMulti = result + '.ext';\n });\n this.checkNaming(pattern, this.selectedMultiEpStyle, this.animeType);\n }\n },\n\n update() {\n if (!this.flagLoaded) {\n return;\n }\n\n this.$nextTick(() => {\n this.$emit('change', {\n pattern: this.isCustom ? this.customName : this.pattern,\n type: this.type,\n multiEpStyle: this.selectedMultiEpStyle,\n custom: this.isCustom,\n enabled: this.isEnabled,\n animeNamingType: Number(this.animeType)\n });\n });\n },\n\n checkNaming(pattern, selectedMultiEpStyle, animeType) {\n if (!pattern) {\n return;\n }\n\n const params = {\n pattern,\n anime_type: animeType // eslint-disable-line camelcase\n\n };\n\n if (selectedMultiEpStyle) {\n params.multi = selectedMultiEpStyle;\n }\n\n const {\n $el\n } = this;\n const el = $($el);\n _api__WEBPACK_IMPORTED_MODULE_2__[\"apiRoute\"].get('config/postProcessing/isNamingValid', {\n params,\n timeout: 20000\n }).then(result => {\n if (result.data === 'invalid') {\n el.find('#naming_pattern').qtip('option', {\n 'content.text': 'This pattern is invalid.',\n 'style.classes': 'qtip-rounded qtip-shadow qtip-red'\n });\n el.find('#naming_pattern').qtip('toggle', true);\n el.find('#naming_pattern').css('background-color', '#FFDDDD');\n } else if (result.data === 'seasonfolders') {\n el.find('#naming_pattern').qtip('option', {\n 'content.text': 'This pattern would be invalid without the folders, using it will force \"Flatten\" off for all shows.',\n 'style.classes': 'qtip-rounded qtip-shadow qtip-red'\n });\n el.find('#naming_pattern').qtip('toggle', true);\n el.find('#naming_pattern').css('background-color', '#FFFFDD');\n } else {\n el.find('#naming_pattern').qtip('option', {\n 'content.text': 'This pattern is valid.',\n 'style.classes': 'qtip-rounded qtip-shadow qtip-green'\n });\n el.find('#naming_pattern').qtip('toggle', false);\n el.find('#naming_pattern').css('background-color', '#FFFFFF');\n }\n }).catch(error => {\n console.warn(error);\n });\n },\n\n updateCustomName() {\n // Store the custom naming pattern.\n if (!this.presetsPatterns.includes(this.pattern)) {\n this.customName = this.pattern;\n } // If the custom name is empty, let's use the last selected pattern.\n // We'd prefer to cache the last configured custom pattern.\n\n\n if (!this.customName) {\n this.customName = this.lastSelectedPattern;\n }\n }\n\n },\n computed: {\n isCustom() {\n if (this.pattern) {\n return !this.presetsPatterns.includes(this.pattern) || this.pattern === 'Custom...';\n }\n\n return false;\n },\n\n selectedNamingPattern: {\n get() {\n const filterPattern = () => {\n const foundPattern = this.presets.filter(preset => preset.pattern === this.pattern);\n\n if (foundPattern.length > 0) {\n return foundPattern[0].example;\n }\n\n return false;\n };\n\n return this.isCustom ? 'Custom...' : filterPattern();\n },\n\n set(example) {\n // We need to convert the selected example back to a pattern\n this.pattern = this.presets.filter(preset => preset.example === example)[0].pattern;\n }\n\n },\n\n presetsPatterns() {\n return this.presets.map(preset => preset.pattern);\n },\n\n isMulti() {\n return Boolean(this.multiEpStyle);\n }\n\n },\n\n mounted() {\n this.pattern = this.namingPattern; // Add Custom... as an option to the presets.\n\n this.presets = this.namingPresets.concat({\n pattern: 'Custom...',\n example: 'Custom...'\n }); // Update the custom name\n\n this.updateCustomName(); // Pass properties into local variables\n\n this.availableMultiEpStyles = this.multiEpStyles;\n this.selectedMultiEpStyle = this.multiEpStyle;\n this.animeType = this.animeNamingType; // If type is falsy, we asume it's the default name pattern. And thus enabled by default.\n\n this.isEnabled = this.type ? false : this.enabled; // Update the pattern samples\n\n this.updatePatternSamples();\n },\n\n watch: {\n // Update local variables when properties are updated\n enabled() {\n this.isEnabled = this.enabled;\n },\n\n namingPattern(newPattern, oldPattern) {\n this.lastSelectedPattern = newPattern || oldPattern;\n this.pattern = this.namingPattern;\n this.updateCustomName();\n this.updatePatternSamples();\n },\n\n namingPresets() {\n this.presets = this.namingPresets;\n },\n\n multiEpStyle() {\n this.selectedMultiEpStyle = this.multiEpStyle;\n this.updatePatternSamples();\n },\n\n multiEpStyles() {\n this.availableMultiEpStyles = this.multiEpStyles;\n },\n\n animeNamingType() {\n this.animeType = this.animeNamingType;\n this.updatePatternSamples();\n },\n\n type() {\n this.isEnabled = this.type ? false : this.enabled;\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/helpers/name-pattern.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/plot-info.vue?vue&type=script&lang=js&": -/*!*****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/plot-info.vue?vue&type=script&lang=js& ***! - \*****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! v-tooltip */ \"./node_modules/v-tooltip/dist/v-tooltip.esm.js\");\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'plot-info',\n directives: {\n tooltip: v_tooltip__WEBPACK_IMPORTED_MODULE_0__[\"VTooltip\"]\n },\n props: {\n description: {\n type: String,\n required: true\n }\n },\n computed: {\n plotInfoClass() {\n return this.description === '' ? 'plotInfoNone' : 'plotInfo';\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/plot-info.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/poster-size-slider.vue?vue&type=script&lang=js&": -/*!**************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/poster-size-slider.vue?vue&type=script&lang=js& ***! - \**************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'poster-size-slider',\n props: {\n min: {\n type: Number,\n default: 75\n },\n max: {\n type: Number,\n default: 250\n }\n },\n\n mounted() {\n const {\n setLayoutLocal,\n min,\n max\n } = this; // Get poster size from localStorage\n\n let slidePosterSize;\n\n if (typeof Storage !== 'undefined') {\n slidePosterSize = Number.parseInt(localStorage.getItem('posterSize'), 10);\n }\n\n if (typeof slidePosterSize !== 'number' || Number.isNaN(slidePosterSize)) {\n slidePosterSize = 188;\n } // Update poster size to store\n\n\n setLayoutLocal({\n key: 'posterSize',\n value: slidePosterSize\n });\n $(this.$el).find('#posterSizeSlider').slider({\n min,\n max,\n value: slidePosterSize,\n\n change(e, ui) {\n // Save to localStorage\n if (typeof Storage !== 'undefined') {\n localStorage.setItem('posterSize', ui.value);\n } // Save to store\n\n\n setLayoutLocal({\n key: 'posterSize',\n value: ui.value\n });\n }\n\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n setLayoutLocal: 'setLayoutLocal'\n })\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/helpers/poster-size-slider.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/progress-bar.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/progress-bar.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n text: String,\n title: String,\n percentage: [String, Number]\n },\n computed: {\n normalisedPercentage() {\n const percentage = Number(this.percentage);\n\n if (percentage === 100) {\n return 100;\n }\n\n if (percentage > 80) {\n return 80;\n }\n\n if (percentage > 60) {\n return 60;\n }\n\n if (percentage > 40) {\n return 40;\n }\n\n return 20;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/progress-bar.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/quality-chooser.vue?vue&type=script&lang=js&": -/*!***********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/quality-chooser.vue?vue&type=script&lang=js& ***! - \***********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../api */ \"./src/api.js\");\n/* harmony import */ var _app_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app-link */ \"./src/components/helpers/app-link.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'quality-chooser',\n components: {\n AppLink: _app_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n overallQuality: {\n type: Number,\n default: window.qualityChooserInitialQuality\n },\n keep: {\n type: String,\n default: null,\n validator: value => ['keep', 'show'].includes(value)\n },\n showSlug: {\n type: String\n }\n },\n\n data() {\n return {\n // eslint-disable-next-line no-warning-comments\n lock: false,\n // FIXME: Remove this hack, see `watch.overallQuality` below\n allowedQualities: [],\n preferredQualities: [],\n curQualityPreset: null,\n archive: false,\n archivedStatus: '',\n archiveButton: {\n text: 'Archive episodes',\n disabled: false\n }\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n qualityValues: state => state.config.consts.qualities.values,\n qualityPresets: state => state.config.consts.qualities.presets,\n defaultQuality: state => state.config.general.showDefaults.quality\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])(['getQualityPreset', 'splitQuality']),\n\n initialQuality() {\n return this.overallQuality === undefined ? this.defaultQuality : this.overallQuality;\n },\n\n selectedQualityPreset: {\n get() {\n return this.curQualityPreset;\n },\n\n set(newValue) {\n const {\n curQualityPreset,\n setQualityFromPreset\n } = this; // If an array was provided - initial or update from parent: [newPreset, oldPreset]\n // If a single value was provided - updated using select box: [newPreset, currentPreset]\n\n const [newPreset, currentPreset] = Array.isArray(newValue) ? newValue : [newValue, curQualityPreset];\n setQualityFromPreset(newPreset, currentPreset);\n this.curQualityPreset = newPreset;\n }\n\n },\n\n explanation() {\n const {\n allowedQualities,\n preferredQualities,\n qualityValues\n } = this;\n return qualityValues.reduce((result, {\n value,\n name\n }) => {\n const isPreferred = preferredQualities.includes(value); // If this quality is preferred but not allowed, add it to allowed\n\n if (allowedQualities.includes(value) || isPreferred) {\n result.allowed.push(name);\n }\n\n if (isPreferred) {\n result.preferred.push(name);\n }\n\n return result;\n }, {\n allowed: [],\n preferred: []\n });\n },\n\n validQualities() {\n return this.qualityValues.filter(({\n key\n }) => key !== 'na');\n }\n\n },\n asyncComputed: {\n async backloggedEpisodes() {\n const {\n showSlug,\n allowedQualities,\n preferredQualities\n } = this; // Skip if no showSlug, as that means we're on a addShow page\n\n if (!showSlug) {\n return null;\n } // Skip if no qualities are selected\n\n\n if (allowedQualities.length + preferredQualities.length === 0) {\n return null;\n }\n\n const url = `series/${showSlug}/legacy/backlogged`;\n const params = {\n allowed: allowedQualities.join(','),\n preferred: preferredQualities.join(',')\n };\n let status = false; // Set to `false` for red text, `true` for normal color\n\n let response;\n\n try {\n response = await _api__WEBPACK_IMPORTED_MODULE_1__[\"api\"].get(url, {\n params\n });\n } catch (error) {\n return {\n status,\n html: 'Failed to get backlog prediction
    ' + String(error)\n };\n }\n\n const newBacklogged = response.data.new;\n const existingBacklogged = response.data.existing;\n const variation = Math.abs(newBacklogged - existingBacklogged);\n let html = 'Current backlog: ' + existingBacklogged + ' episodes
    ';\n\n if (newBacklogged === -1 || existingBacklogged === -1) {\n html = 'No qualities selected';\n } else if (newBacklogged === existingBacklogged) {\n html += \"This change won't affect your backlogged episodes\";\n status = true;\n } else {\n html += '
    New backlog: ' + newBacklogged + ' episodes';\n html += '

    ';\n let change = '';\n\n if (newBacklogged > existingBacklogged) {\n html += 'WARNING: ';\n change = 'increase'; // Only show the archive action div if we have backlog increase\n\n this.archive = true;\n } else {\n change = 'decrease';\n }\n\n html += 'Backlog will ' + change + ' by ' + variation + ' episodes.';\n }\n\n return {\n status,\n html\n };\n }\n\n },\n\n mounted() {\n this.setInitialPreset(this.initialQuality);\n },\n\n methods: {\n isQualityPreset(quality) {\n return this.getQualityPreset({\n value: quality\n }) !== undefined;\n },\n\n setInitialPreset(preset) {\n const {\n isQualityPreset,\n keep\n } = this;\n const newPreset = keep === 'keep' ? 'keep' : isQualityPreset(preset) ? preset : 0;\n this.selectedQualityPreset = [newPreset, preset];\n },\n\n async archiveEpisodes() {\n this.archivedStatus = 'Archiving...';\n const url = `series/${this.showSlug}/operation`;\n const response = await _api__WEBPACK_IMPORTED_MODULE_1__[\"api\"].post(url, {\n type: 'ARCHIVE_EPISODES'\n });\n\n if (response.status === 201) {\n this.archivedStatus = 'Successfully archived episodes'; // Recalculate backlogged episodes after we archive it\n\n this.$asyncComputed.backloggedEpisodes.update();\n } else if (response.status === 204) {\n this.archivedStatus = 'No episodes to be archived';\n } // Restore button text\n\n\n this.archiveButton.text = 'Finished';\n this.archiveButton.disabled = true;\n },\n\n setQualityFromPreset(preset, oldPreset) {\n // If empty skip\n if (preset === undefined || preset === null) {\n return;\n } // [Mass Edit] If changing to/from `keep`, restore the original value\n\n\n if ([preset, oldPreset].some(val => val === 'keep')) {\n preset = this.initialQuality; // If preset is custom, set to last preset (provided it's not null)\n } else if ((preset === 0 || !this.isQualityPreset(preset)) && oldPreset !== null) {\n preset = oldPreset;\n }\n\n const {\n allowed,\n preferred\n } = this.splitQuality(preset);\n this.allowedQualities = allowed;\n this.preferredQualities = preferred;\n }\n\n },\n watch: {\n // eslint-disable-next-line no-warning-comments\n\n /*\n FIXME: Remove this watch and the `this.lock` hack.\n This is causing the preset selector to change from `Custom` to a preset,\n when the correct qualities for that preset are selected.\n */\n overallQuality(newValue) {\n if (!this.lock) {\n this.setInitialPreset(newValue);\n }\n },\n\n /* eslint-disable no-warning-comments */\n allowedQualities(newQuality) {\n // Deselecting all allowed qualities clears the preferred selection\n if (newQuality.length === 0 && this.preferredQualities.length > 0) {\n this.preferredQualities = [];\n }\n\n this.lock = true; // FIXME: Remove this hack, see above\n\n this.$emit('update:quality:allowed', newQuality); // FIXME: Remove this hack, see above\n\n this.$nextTick(() => {\n this.lock = false;\n });\n },\n\n preferredQualities(newQuality) {\n this.lock = true; // FIXME: Remove this hack, see above\n\n this.$emit('update:quality:preferred', newQuality); // FIXME: Remove this hack, see above\n\n this.$nextTick(() => {\n this.lock = false;\n });\n }\n /* eslint-enable no-warning-comments */\n\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/quality-chooser.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/quality-pill.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/quality-pill.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/core */ \"./src/utils/core.js\");\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'quality-pill',\n props: {\n allowed: {\n type: Array\n },\n preferred: {\n type: Array\n },\n quality: {\n type: Number,\n validator: value => value >>> 0 >= 0 // Unsigned int\n\n },\n showTitle: {\n type: Boolean,\n default: false\n },\n override: {\n type: Object,\n default: () => ({}),\n validator: value => {\n return Object.keys(value).every(key => ['class', 'title', 'text', 'style'].includes(key));\n }\n }\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n qualityValues: state => state.config.consts.qualities.values\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])(['getQuality', 'getQualityAnySet', 'getQualityPreset', 'splitQuality']),\n\n qualities() {\n const {\n allowed,\n preferred,\n quality,\n splitQuality\n } = this; // Used for Vueified pages as they have the arrays already split\n\n if (allowed && preferred) {\n return {\n allowed,\n preferred\n };\n }\n\n return splitQuality(quality);\n },\n\n title() {\n const {\n override,\n qualities,\n getQuality,\n showTitle\n } = this;\n\n if (override.title) {\n return override.title;\n }\n\n if (!showTitle) {\n return undefined;\n }\n\n const getQualityName = value => getQuality({\n value\n }).name;\n\n let title = '';\n title += 'Allowed Qualities:\\n';\n\n if (qualities.allowed.length === 0) {\n title += ' None';\n } else {\n title += qualities.allowed.map(curQual => ` ${getQualityName(curQual)}`).join('\\n');\n }\n\n title += '\\n\\nPreferred Qualities:\\n';\n\n if (qualities.preferred.length === 0) {\n title += ' None';\n } else {\n title += qualities.preferred.map(curQual => ` ${getQualityName(curQual)}`).join('\\n');\n }\n\n return title;\n },\n\n pill() {\n let {\n quality,\n allowed,\n preferred\n } = this; // Combine allowed & preferred qualities\n\n if (allowed && preferred) {\n quality = Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"combineQualities\"])(allowed, preferred);\n } // If allowed and preferred qualities are the same, show pill as allowed quality\n\n\n const sumAllowed = (quality & 0xFFFF) >>> 0; // Unsigned int\n\n const sumPreferred = quality >> 16 >>> 0; // Unsigned int\n\n if (sumAllowed === sumPreferred) {\n quality = sumAllowed;\n }\n\n const matched = // Is quality a preset?\n this.getQualityPreset({\n value: quality\n }) || // Is quality an 'anySet'? (any HDTV, any WEB-DL, any BluRay)\n this.getQualityAnySet({\n value: quality\n }) || // Is quality a specific quality? (720p HDTV, 1080p WEB-DL, etc.)\n this.getQuality({\n value: quality\n });\n\n if (matched !== undefined) {\n return matched;\n }\n\n const customQualitySets = [// All sources are HDTV\n {\n name: 'HDTV',\n key: 'anyhdtv',\n elements: ['hdtv', 'rawhdtv', 'fullhdtv', 'uhd4ktv', 'uhd8ktv']\n }, // All sources are WEB-DL\n {\n name: 'WEB-DL',\n key: 'anywebdl',\n elements: ['hdwebdl', 'fullhdwebdl', 'uhd4kwebdl', 'uhd8kwebdl']\n }, // All sources are BluRay\n {\n name: 'BluRay',\n key: 'anybluray',\n elements: ['hdbluray', 'fullhdbluray', 'uhd4kbluray', 'uhd8kbluray']\n }, // All resolutions are 720p\n {\n name: '720p',\n key: 'hd720p',\n elements: ['hdtv', 'rawhdtv', 'hdwebdl', 'hdbluray']\n }, // All resolutions are 1080p\n {\n name: '1080p',\n key: 'hd1080p',\n elements: ['fullhdtv', 'fullhdwebdl', 'fullhdbluray']\n }, // All resolutions are 4K UHD\n {\n name: 'UHD-4K',\n key: 'anyuhd4k',\n elements: ['uhd4ktv', 'uhd4kwebdl', 'uhd4kbluray']\n }, // All resolutions are 8K UHD\n {\n name: 'UHD-8K',\n key: 'anyuhd8k',\n elements: ['uhd8ktv', 'uhd8kwebdl', 'uhd8kbluray']\n }];\n const {\n isSubsetOf,\n qualities,\n makeQualitySet\n } = this;\n\n for (const {\n name,\n key,\n elements\n } of customQualitySets) {\n const qualitySet = makeQualitySet(elements); // Check if both quality lists match the set.\n\n if (isSubsetOf(qualities.allowed, qualitySet) && isSubsetOf(qualities.preferred, qualitySet)) {\n return {\n name,\n key\n };\n }\n } // These are the fallback values, if none of the checks above matched\n\n\n return {\n key: 'custom',\n name: 'Custom'\n };\n }\n\n },\n methods: {\n /**\n * Make a quality set.\n * @param {string[]} keys - An array of quality keys to add their values to the set.\n * @returns {number[]} An array of the quality values.\n */\n makeQualitySet(keys) {\n return this.qualityValues.reduce((result, {\n key,\n value\n }) => {\n if (keys.includes(key)) {\n return result.concat(value);\n }\n\n return result;\n }, []);\n },\n\n /**\n * Check if all the items of `set1` are items of `set2`.\n * Note that when `set1` is empty, it returns `true`.\n * Assumption: Each array contains unique items only.\n * Source: https://stackoverflow.com/a/48211214/7597273\n *\n * @param {(Number[]|String[])} set1 - Array to be compared against `set2`.\n * @param {(Number[]|String[])} set2 - Array to compare `set1` against.\n * @returns {Boolean} - Whether or not `set1` is a subset of `set2`\n */\n isSubsetOf(set1, set2) {\n return set1.every(value => set2.includes(value));\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/quality-pill.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/scroll-buttons.vue?vue&type=script&lang=js&": -/*!**********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/scroll-buttons.vue?vue&type=script&lang=js& ***! - \**********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'scroll-buttons',\n\n data() {\n return {\n showToTop: false,\n showLeftRight: false\n };\n },\n\n methods: {\n scrollTop() {\n const {\n scrollTo\n } = this;\n scrollTo($('body'));\n },\n\n scrollLeft() {\n $('div.horizontal-scroll').animate({\n scrollLeft: '-=153'\n }, 1000, 'easeOutQuad');\n },\n\n scrollRight() {\n $('div.horizontal-scroll').animate({\n scrollLeft: '+=153'\n }, 1000, 'easeOutQuad');\n },\n\n scrollTo(dest) {\n $('html, body').animate({\n scrollTop: $(dest).offset().top\n }, 500, 'linear');\n },\n\n /**\n * Make an attempt to detect if there are currently scroll bars visible for divs with the horizontal-scroll class.\n *\n * If scroll bars are visible the fixed left and right buttons become visible on that page.\n */\n initHorizontalScroll() {\n const scrollDiv = $('div.horizontal-scroll').get();\n\n if (scrollDiv.length === 0) {\n return;\n }\n\n const scrollbarVisible = scrollDiv.map(el => {\n return el.scrollWidth > el.clientWidth;\n }).indexOf(true);\n\n if (scrollbarVisible >= 0) {\n this.showLeftRight = true;\n } else {\n this.showLeftRight = false;\n }\n }\n\n },\n\n mounted() {\n const {\n initHorizontalScroll\n } = this;\n initHorizontalScroll();\n $(window).on('resize', () => {\n initHorizontalScroll();\n });\n $(document).on('scroll', () => {\n if ($(window).scrollTop() > 100) {\n this.showToTop = true;\n } else {\n this.showToTop = false;\n }\n });\n }\n\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/helpers/scroll-buttons.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/select-list.vue?vue&type=script&lang=js&": -/*!*******************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/select-list.vue?vue&type=script&lang=js& ***! - \*******************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'select-list',\n props: {\n listItems: {\n type: Array,\n default: () => [],\n required: true\n },\n unique: {\n type: Boolean,\n default: true,\n required: false\n },\n csvEnabled: {\n type: Boolean,\n default: false,\n required: false\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n\n data() {\n return {\n editItems: [],\n newItem: '',\n indexCounter: 0,\n csv: '',\n csvMode: this.csvEnabled\n };\n },\n\n mounted() {\n this.editItems = this.sanitize(this.listItems);\n this.csv = this.editItems.map(item => item.value).join(', ');\n },\n\n created() {\n /**\n * ListItems property might receive values originating from the API,\n * that are sometimes not available when rendering.\n * @TODO: This is not ideal! Maybe we can remove this in the future.\n */\n const unwatchProp = this.$watch('listItems', () => {\n unwatchProp();\n this.editItems = this.sanitize(this.listItems);\n this.csv = this.editItems.map(item => item.value).join(', ');\n });\n },\n\n methods: {\n addItem(item) {\n if (this.unique && this.editItems.find(i => i.value === item)) {\n return;\n }\n\n this.editItems.push({\n id: this.indexCounter,\n value: item\n });\n this.indexCounter += 1;\n },\n\n addNewItem() {\n const {\n newItem,\n editItems\n } = this;\n\n if (this.newItem === '') {\n return;\n }\n\n this.addItem(newItem);\n this.newItem = '';\n this.$emit('change', editItems);\n },\n\n deleteItem(item) {\n this.editItems = this.editItems.filter(e => e !== item);\n this.$refs.newItemInput.focus();\n this.$emit('change', this.editItems);\n },\n\n removeEmpty(item) {\n return item.value === '' ? this.deleteItem(item) : false;\n },\n\n /**\n * Initially an array of strings is passed, which we'd like to translate to an array of object.\n * Where the index has been added.\n * @param {string[]} values - Array of strings.\n * @returns {Object[]} - An array of objects with the index and value.\n */\n sanitize(values) {\n if (!values) {\n return [];\n }\n\n return values.map(value => {\n if (typeof value === 'string') {\n this.indexCounter += 1;\n return {\n id: this.indexCounter - 1,\n value\n };\n }\n\n return value;\n });\n },\n\n /**\n * Depending on which option is selected, sync the data to the other.\n * Sync from editItems to a csv (comma separated) field.\n * Or from csv to editItems.\n */\n syncValues() {\n if (this.csvMode) {\n this.editItems = [];\n this.csv.split(',').forEach(value => {\n // Omit empty strings\n if (value.trim()) {\n this.addItem(value.trim());\n }\n });\n this.$emit('change', this.editItems);\n } else {\n this.csv = this.editItems.map(item => item.value).join(', ');\n }\n },\n\n /**\n * When switching between a list of inputs and a csv input\n * whe're making sure that 1. the data is updated in editItems (which is the source of truth)\n * and this.csv, which keeps track of the csv.\n */\n switchFields() {\n this.syncValues();\n this.csvMode = !this.csvMode;\n }\n\n },\n watch: {\n csv() {\n this.syncValues();\n },\n\n listItems() {\n this.editItems = this.sanitize(this.listItems);\n this.newItem = '';\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/select-list.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/show-selector.vue?vue&type=script&lang=js&": -/*!*********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/show-selector.vue?vue&type=script&lang=js& ***! - \*********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'show-selector',\n props: {\n showSlug: String,\n followSelection: {\n type: Boolean,\n default: false\n },\n placeholder: String,\n selectClass: {\n type: String,\n default: 'select-show form-control input-sm-custom'\n }\n },\n\n data() {\n const selectedShowSlug = this.showSlug || this.placeholder;\n return {\n selectedShowSlug\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n layout: state => state.config.layout,\n shows: state => state.shows.shows\n }),\n\n showLists() {\n const {\n layout,\n shows\n } = this;\n const {\n animeSplitHome,\n sortArticle\n } = layout;\n const lists = [{\n type: 'Shows',\n shows: []\n }, {\n type: 'Anime',\n shows: []\n }]; // We're still loading\n\n if (shows.length === 0) {\n return;\n }\n\n shows.forEach(show => {\n const type = Number(animeSplitHome && show.config.anime);\n lists[type].shows.push(show);\n });\n\n const sortKey = title => (sortArticle ? title : title.replace(/^((?:the|a|an)\\s)/i, '')).toLowerCase();\n\n lists.forEach(list => {\n list.shows.sort((showA, showB) => {\n const titleA = sortKey(showA.title);\n const titleB = sortKey(showB.title);\n\n if (titleA < titleB) {\n return -1;\n }\n\n if (titleA > titleB) {\n return 1;\n }\n\n return 0;\n });\n });\n return lists;\n },\n\n whichList() {\n const {\n showLists\n } = this;\n const shows = showLists[0].shows.length !== 0;\n const anime = showLists[1].shows.length !== 0;\n\n if (shows && anime) {\n return -1;\n }\n\n if (anime) {\n return 1;\n }\n\n return 0;\n },\n\n showForRoutes() {\n const {\n $route\n } = this;\n return ['show', 'editShow'].includes($route.name);\n }\n\n },\n watch: {\n showSlug(newSlug) {\n this.selectedShowSlug = newSlug;\n },\n\n selectedShowSlug(newSlug) {\n if (!this.followSelection) {\n return;\n }\n\n const {\n $store,\n shows\n } = this;\n const selectedShow = shows.find(show => show.id.slug === newSlug);\n\n if (!selectedShow) {\n return;\n }\n\n const indexerName = selectedShow.indexer;\n const seriesId = selectedShow.id[indexerName]; // TODO: Make sure the correct show, has been set as current show.\n\n console.debug(`Setting current show to ${selectedShow.title}`);\n $store.commit('currentShow', {\n indexer: indexerName,\n id: seriesId\n }); // To make it complete, make sure to switch route.\n\n this.$router.push({\n query: {\n indexername: indexerName,\n seriesid: String(seriesId)\n }\n });\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/show-selector.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/sorted-select-list.vue?vue&type=script&lang=js&": -/*!**************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/sorted-select-list.vue?vue&type=script&lang=js& ***! - \**************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuedraggable */ \"./node_modules/vuedraggable/dist/vuedraggable.common.js\");\n/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _fortawesome_vue_fontawesome__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @fortawesome/vue-fontawesome */ \"./node_modules/@fortawesome/vue-fontawesome/index.es.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'sorted-select-list',\n components: {\n Draggable: (vuedraggable__WEBPACK_IMPORTED_MODULE_0___default()),\n FontAwesomeIcon: _fortawesome_vue_fontawesome__WEBPACK_IMPORTED_MODULE_1__[\"FontAwesomeIcon\"]\n },\n props: {\n listItems: {\n type: Array,\n default: () => [],\n required: true\n },\n unique: {\n type: Boolean,\n default: true\n },\n disabled: Boolean,\n sorted: Boolean\n },\n\n data() {\n return {\n editItems: [],\n newItem: '',\n indexCounter: 0,\n dragging: false\n };\n },\n\n mounted() {\n this.editItems = this.sanitize(this.listItems);\n },\n\n created() {\n /**\n * ListItems property might receive values originating from the API,\n * that are sometimes not available when rendering.\n * @TODO: This is not ideal! Maybe we can remove this in the future.\n */\n const unwatchProp = this.$watch('listItems', () => {\n unwatchProp();\n this.editItems = this.sanitize(this.listItems);\n });\n },\n\n methods: {\n addItem(item) {\n if (this.unique && this.editItems.find(i => i.value === item)) {\n return;\n }\n\n this.editItems.push({\n id: this.indexCounter,\n value: item\n });\n this.indexCounter += 1;\n },\n\n addNewItem() {\n const {\n newItem,\n editItems\n } = this;\n\n if (this.newItem === '') {\n return;\n }\n\n this.addItem(newItem);\n this.newItem = '';\n this.$emit('change', editItems);\n },\n\n deleteItem(item) {\n this.editItems = this.editItems.filter(e => e !== item);\n this.$refs.newItemInput.focus();\n this.$emit('change', this.editItems);\n },\n\n removeEmpty(item) {\n return item.value === '' ? this.deleteItem(item) : false;\n },\n\n /**\n * Initially an array of strings is passed, which we'd like to translate to an array of object.\n * Where the index has been added.\n * @param {string[]} values - Array of strings.\n * @returns {Object[]} - An array of objects with the index and value.\n */\n sanitize(values) {\n if (!values) {\n return [];\n }\n\n return values.map(value => {\n if (typeof value === 'string') {\n this.indexCounter += 1;\n return {\n id: this.indexCounter - 1,\n value\n };\n }\n\n return value;\n });\n }\n\n },\n watch: {\n listItems() {\n this.editItems = this.sanitize(this.listItems);\n this.newItem = '';\n },\n\n dragging(value) {\n const {\n editItems\n } = this;\n\n if (!value) {\n this.$emit('change', editItems);\n }\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/sorted-select-list.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/state-switch.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/state-switch.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'state-switch',\n props: {\n /**\n * Theme for loading spinner\n */\n theme: {\n type: String,\n default: 'dark',\n validator: theme => ['dark', 'light'].includes(theme)\n },\n\n /**\n * Loading, yes or no\n * null, true or false\n */\n state: {\n required: true,\n validator: state => ['yes', 'no', 'loading', 'true', 'false', 'null'].includes(String(state))\n }\n },\n computed: {\n src() {\n const {\n theme,\n realState: state\n } = this;\n return state === 'loading' ? `images/loading16-${theme || 'dark'}.gif` : `images/${state}16.png`;\n },\n\n alt() {\n const {\n realState: state\n } = this;\n return state.charAt(0).toUpperCase() + state.slice(1);\n },\n\n realState() {\n const {\n state\n } = this;\n\n if (['null', 'true', 'false'].includes(String(state))) {\n return {\n null: 'loading',\n true: 'yes',\n false: 'no'\n }[String(state)];\n }\n\n return state;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/state-switch.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/history.vue?vue&type=script&lang=js&": -/*!*******************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/history.vue?vue&type=script&lang=js& ***! - \*******************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'history',\n template: '#history-template',\n\n data() {\n return {\n layoutOptions: [{\n value: 'compact',\n text: 'Compact'\n }, {\n value: 'detailed',\n text: 'Detailed'\n }]\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n // Renamed because of the computed property 'layout'.\n stateLayout: state => state.config.layout\n }),\n historyLayout: {\n get() {\n const {\n stateLayout\n } = this;\n return stateLayout.history;\n },\n\n set(layout) {\n const {\n setLayout\n } = this;\n const page = 'history';\n setLayout({\n page,\n layout\n });\n }\n\n }\n },\n\n mounted() {\n const unwatch = this.$watch('stateLayout.history', () => {\n unwatch();\n const {\n historyLayout: layout,\n config\n } = this;\n $('#historyTable:has(tbody tr)').tablesorter({\n widgets: ['saveSort', 'zebra', 'filter'],\n sortList: [[0, 1]],\n textExtraction: function () {\n if (layout === 'detailed') {\n return {\n // 0: Time, 1: Episode, 2: Action, 3: Provider, 4: Quality\n 0: node => $(node).find('time').attr('datetime'),\n 1: node => $(node).find('a').text(),\n 4: node => $(node).attr('quality')\n };\n } // 0: Time, 1: Episode, 2: Snatched, 3: Downloaded\n\n\n const compactExtract = {\n 0: node => $(node).find('time').attr('datetime'),\n 1: node => $(node).find('a').text(),\n 2: node => $(node).find('img').attr('title') === undefined ? '' : $(node).find('img').attr('title'),\n 3: node => $(node).text()\n };\n\n if (config.subtitles.enabled) {\n // 4: Subtitled, 5: Quality\n compactExtract[4] = node => $(node).find('img').attr('title') === undefined ? '' : $(node).find('img').attr('title');\n\n compactExtract[5] = node => $(node).attr('quality');\n } else {\n // 4: Quality\n compactExtract[4] = node => $(node).attr('quality');\n }\n\n return compactExtract;\n }(),\n headers: function () {\n if (layout === 'detailed') {\n return {\n 0: {\n sorter: 'realISODate'\n }\n };\n }\n\n return {\n 0: {\n sorter: 'realISODate'\n },\n 2: {\n sorter: 'text'\n }\n };\n }()\n });\n });\n $('#history_limit').on('change', function () {\n window.location.href = $('base').attr('href') + 'history/?limit=' + $(this).val();\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n setLayout: 'setLayout'\n })\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/history.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/home.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/home.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var _show_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./show-list */ \"./src/components/show-list/index.js\");\n/* harmony import */ var vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue-nav-tabs/dist/vue-tabs.js */ \"./node_modules/vue-nav-tabs/dist/vue-tabs.js\");\n/* harmony import */ var vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuedraggable */ \"./node_modules/vuedraggable/dist/vuedraggable.common.js\");\n/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _backstretch_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./backstretch.vue */ \"./src/components/backstretch.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'home',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"AppLink\"],\n Backstretch: _backstretch_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n ShowList: _show_list__WEBPACK_IMPORTED_MODULE_2__[\"ShowList\"],\n VueTabs: vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_3__[\"VueTabs\"],\n VTab: vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_3__[\"VTab\"],\n Draggable: (vuedraggable__WEBPACK_IMPORTED_MODULE_4___default())\n },\n\n data() {\n return {\n layoutOptions: [{\n value: 'poster',\n text: 'Poster'\n }, {\n value: 'small',\n text: 'Small Poster'\n }, {\n value: 'banner',\n text: 'Banner'\n }, {\n value: 'simple',\n text: 'Simple'\n }],\n selectedRootDir: 0\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n indexers: state => state.config.indexers,\n // Renamed because of the computed property 'layout'.\n stateLayout: state => state.config.layout,\n stats: state => state.stats\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n showsWithStats: 'showsWithStats',\n showsInLists: 'showsInLists'\n }),\n layout: {\n get() {\n const {\n stateLayout\n } = this;\n return stateLayout.home;\n },\n\n set(layout) {\n const {\n setLayout\n } = this;\n const page = 'home';\n setLayout({\n page,\n layout\n });\n }\n\n },\n filterByName: {\n get() {\n const {\n local\n } = this.stateLayout;\n const {\n showFilterByName\n } = local;\n return showFilterByName;\n },\n\n set(value) {\n const {\n setLayoutLocal\n } = this;\n setLayoutLocal({\n key: 'showFilterByName',\n value\n });\n }\n\n },\n showList: {\n get() {\n const {\n stateLayout\n } = this;\n const {\n show\n } = stateLayout;\n return show.showListOrder;\n },\n\n set(value) {\n const {\n stateLayout,\n setLayoutShow\n } = this;\n const mergedShowLayout = { ...stateLayout.show,\n showListOrder: value.map(item => item.value)\n };\n setLayoutShow(mergedShowLayout);\n }\n\n },\n\n selectedRootIndexOptions() {\n const {\n config\n } = this;\n const {\n rootDirs\n } = config;\n return [...[{\n value: -1,\n text: 'All Folders'\n }], ...rootDirs.slice(1).map((item, idx) => ({\n text: item,\n value: idx\n }))];\n }\n\n },\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n setLayout: 'setLayout',\n setConfig: 'setConfig',\n setLayoutShow: 'setLayoutShow',\n setStoreLayout: 'setStoreLayout',\n setLayoutLocal: 'setLayoutLocal',\n getShows: 'getShows',\n getStats: 'getStats'\n }),\n\n async changePosterSortBy() {\n // Patch new posterSOrtBy value\n const {\n $snotify,\n posterSortby,\n setPosterSortBy\n } = this;\n\n try {\n await setPosterSortBy({\n section: 'layout',\n config: {\n posterSortby\n }\n });\n } catch (error) {\n $snotify.error('Error while trying to change poster sort option', 'Error');\n }\n },\n\n saveSelectedRootDir(value) {\n const {\n setStoreLayout\n } = this;\n setStoreLayout({\n key: 'selectedRootIndex',\n value\n });\n },\n\n tabChange(tabIndex) {\n const {\n setLayoutLocal\n } = this;\n setLayoutLocal({\n key: 'currentShowTab',\n tabIndex\n });\n }\n\n },\n\n mounted() {\n const {\n getStats\n } = this;\n getStats('show');\n }\n\n});\n\n//# sourceURL=webpack:///./src/components/home.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/http/404.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/http/404.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'not-found'\n});\n\n//# sourceURL=webpack:///./src/components/http/404.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/irc.vue?vue&type=script&lang=js&": -/*!***************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/irc.vue?vue&type=script&lang=js& ***! - \***************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'irc',\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n configLoaded: state => state.config.system.pythonVersion !== null,\n gitUsername: state => state.config.general.git.username\n }),\n\n frameSrc() {\n const {\n configLoaded,\n gitUsername\n } = this;\n\n if (!configLoaded) {\n return undefined;\n }\n\n const username = gitUsername || 'MedusaUI|?';\n return `https://kiwiirc.com/client/irc.freenode.net/?nick=${username}&theme=basic#pymedusa`;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/irc.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/login.vue?vue&type=script&lang=js&": -/*!*****************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/login.vue?vue&type=script&lang=js& ***! - \*****************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'login'\n});\n\n//# sourceURL=webpack:///./src/components/login.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/logs.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/logs.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\");\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../api */ \"./src/api.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var _backstretch_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./backstretch.vue */ \"./src/components/backstretch.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'logs',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"AppLink\"],\n Backstretch: _backstretch_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n },\n\n data() {\n return {\n minLevel: 'INFO',\n threadFilter: '',\n periodFilter: 'one_day',\n searchQuery: '',\n logLines: [],\n autoUpdate: true,\n autoUpdateTimer: null,\n filters: [{\n value: 'BACKLOG',\n title: 'Backlog'\n }, {\n value: 'CHECKVERSION',\n title: 'Check Version'\n }, {\n value: 'DAILYSEARCHER',\n title: 'Daily Searcher'\n }, {\n value: 'ERROR',\n title: 'Error'\n }, {\n value: 'EVENT',\n title: 'Event'\n }, {\n value: 'FINDPROPERS',\n title: 'Find Propers'\n }, {\n value: 'FINDSUBTITLES',\n title: 'Find Subtitles'\n }, {\n value: 'MAIN',\n title: 'Main'\n }, {\n value: 'POSTPROCESSOR',\n title: 'PostProcessor'\n }, {\n value: 'SEARCHQUEUE',\n title: 'Search Queue (All)'\n }, {\n value: 'SEARCHQUEUE-BACKLOG',\n title: 'Search Queue (Backlog)'\n }, {\n value: 'SEARCHQUEUE-DAILY-SEARCH',\n title: 'Search Queue (Daily Searcher)'\n }, {\n value: 'SEARCHQUEUE-FORCED',\n title: 'Search Queue (Forced)'\n }, {\n value: 'SEARCHQUEUE-MANUAL',\n title: 'Search Queue (Manual)'\n }, {\n value: 'SEARCHQUEUE-RETRY',\n title: 'Search Queue (Retry/Failed)'\n }, {\n value: 'SEARCHQUEUE-RSS',\n title: 'Search Queue (RSS)'\n }, {\n value: 'SHOWQUEUE',\n title: 'Show Queue (All)'\n }, {\n value: 'SHOWQUEUE-REFRESH',\n title: 'Show Queue (Refresh)'\n }, {\n value: 'SHOWQUEUE-SEASON-UPDATE',\n title: 'Show Season Queue (Update)'\n }, {\n value: 'SHOWQUEUE-UPDATE',\n title: 'Show Queue (Update)'\n }, {\n value: 'SHOWUPDATER',\n title: 'Show Updater'\n }, {\n value: 'Thread',\n title: 'Thread'\n }, {\n value: 'TORNADO',\n title: 'Tornado'\n }, {\n value: 'TORRENTCHECKER',\n title: 'Torrent Checker'\n }, {\n value: 'TRAKTCHECKER',\n title: 'Trakt Checker'\n }]\n };\n },\n\n filters: {\n formatLine(line) {\n let result = '';\n result += line.timestamp.replace('T', ' ').replace('Z', '');\n result += ` ${line.level}`;\n result += `\\t${line.thread}`;\n\n if (line.threadId) {\n result += `-${line.threadId}`;\n }\n\n result += ' :: ';\n\n if (line.extra) {\n result += `${line.extra} :: `;\n }\n\n if (line.commit) {\n result += `[${line.commit}] `;\n }\n\n result += line.message;\n\n if (line.traceback) {\n result += line.traceback.reduce((str, tbLine) => str.concat('\\n', tbLine), '');\n }\n\n return result;\n }\n\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])({\n config: state => state.config.general,\n layout: state => state.config.layout\n }),\n\n rawViewLink() {\n const qs = new URLSearchParams();\n qs.set('level', this.minLevel);\n qs.set('thread', this.threadFilter);\n qs.set('period', this.periodFilter);\n qs.set('query', this.searchQuery);\n qs.set('limit', 1000);\n qs.set('api_key', _api__WEBPACK_IMPORTED_MODULE_2__[\"apiKey\"]);\n qs.set('raw', 'true');\n return `${_api__WEBPACK_IMPORTED_MODULE_2__[\"api\"].defaults.baseURL}log?${qs}`;\n },\n\n levels() {\n const {\n debug,\n dbDebug,\n loggingLevels\n } = this.config.logs;\n return Object.entries(loggingLevels).sort((a, b) => a[1] - b[1]) // Sort by level in ascending order\n .reduce((result, level) => {\n const key = level[0];\n\n if (key === 'debug' && !debug || key === 'db' && !dbDebug) {\n return result;\n }\n\n const levelName = key.length <= 2 ? key.toUpperCase() : key.charAt(0).toUpperCase() + key.slice(1);\n return result.concat(levelName);\n }, []);\n }\n\n },\n\n mounted() {\n const {\n query\n } = this.$route; // Map values from URL query\n\n this.minLevel = query.minLevel === undefined ? this.minLevel : query.minLevel;\n this.threadFilter = query.threadFilter === undefined ? this.threadFilter : query.threadFilter;\n this.periodFilter = query.periodFilter === undefined ? this.periodFilter : query.periodFilter;\n this.searchQuery = query.searchQuery === undefined ? this.searchQuery : query.searchQuery;\n\n if (this.autoUpdate) {\n this.autoUpdateTask();\n } else {\n this.fetchLogs(false, true);\n }\n\n this.fetchLogsDebounced = lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default()(this.fetchLogs, 500);\n },\n\n destroyed() {\n if (this.autoUpdateTimer) {\n clearTimeout(this.autoUpdateTimer);\n }\n },\n\n methods: {\n async fetchLogs(pushState = true, cursor = true) {\n const {\n minLevel,\n threadFilter,\n periodFilter,\n searchQuery\n } = this;\n\n if (cursor) {\n document.body.style.cursor = 'wait';\n }\n\n const params = {\n level: minLevel,\n thread: threadFilter,\n period: periodFilter,\n query: searchQuery,\n limit: 1000\n };\n\n try {\n const resp = await _api__WEBPACK_IMPORTED_MODULE_2__[\"api\"].get('log', {\n params\n });\n this.logLines = resp.data;\n return true;\n } catch (error) {\n console.error(error);\n return false;\n } finally {\n if (cursor) {\n document.body.style.cursor = 'default';\n }\n\n if (pushState) {\n this.$router.push({\n query: {\n minLevel,\n threadFilter,\n periodFilter,\n searchQuery\n }\n });\n }\n }\n },\n\n async autoUpdateTask(errors = 0) {\n if (this.autoUpdate) {\n const result = await this.fetchLogs(false, false); // Increment if false\n\n errors += Number(!result); // Stop after 5 network errors\n\n if (errors < 5) {\n this.autoUpdateTimer = setTimeout(this.autoUpdateTask, 1500, errors);\n } else {\n this.autoUpdate = false;\n this.autoUpdateTimer = null;\n }\n } else {\n this.autoUpdateTimer = null;\n }\n }\n\n },\n watch: {\n autoUpdate() {\n this.autoUpdateTask();\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/logs.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/manual-post-process.vue?vue&type=script&lang=js&": -/*!*******************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/manual-post-process.vue?vue&type=script&lang=js& ***! - \*******************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'manual-post-process',\n template: '#manual-post-process-template',\n\n mounted() {\n $('#episodeDir').fileBrowser({\n title: 'Select Unprocessed Episode Folder',\n key: 'postprocessPath'\n });\n }\n\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/manual-post-process.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/root-dirs.vue?vue&type=script&lang=js&": -/*!*********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/root-dirs.vue?vue&type=script&lang=js& ***! - \*********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/**\n * An object representing a root dir\n * @typedef {Object} rootDir\n * @property {string} path - Root dir path\n * @property {boolean} selected - Is this root dir selected?\n * @property {boolean} default - Is this the default root dir?\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'root-dirs',\n inheritAttrs: false,\n\n data() {\n return {\n rootDirs: []\n };\n },\n\n beforeMount() {\n const {\n rawRootDirs,\n transformRaw\n } = this;\n this.rootDirs = transformRaw(rawRootDirs);\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n rawRootDirs: state => state.config.general.rootDirs\n }),\n\n paths() {\n return this.rootDirs.map(rd => rd.path);\n },\n\n selectedRootDir: {\n get() {\n const {\n rootDirs\n } = this;\n const selectedDir = rootDirs.find(rd => rd.selected);\n\n if (!selectedDir || rootDirs.length === 0) {\n return null;\n }\n\n return selectedDir.path;\n },\n\n set(newRootDir) {\n const {\n rootDirs\n } = this;\n this.rootDirs = rootDirs.map(rd => {\n rd.selected = rd.path === newRootDir;\n return rd;\n });\n }\n\n },\n defaultRootDir: {\n get() {\n const {\n rootDirs\n } = this;\n const defaultDir = rootDirs.find(rd => rd.default);\n\n if (!defaultDir || rootDirs.length === 0) {\n return null;\n }\n\n return defaultDir.path;\n },\n\n set(newRootDir) {\n const {\n rootDirs\n } = this;\n this.rootDirs = rootDirs.map(rd => {\n rd.default = rd.path === newRootDir;\n return rd;\n });\n }\n\n }\n },\n filters: {\n /**\n * Prefix the default root dir path with '* '\n * @param {rootDir} rootDir - Current root dir object\n * @returns {string} - Modified root dir path\n */\n markDefault(rootDir) {\n if (rootDir.default) {\n return `* ${rootDir.path}`;\n }\n\n return rootDir.path;\n }\n\n },\n methods: {\n /**\n * Transform raw root dirs to an array of objects\n * @param {string[]} rawRootDirs - [defaultIndex, rootDir0, rootDir1, ...]\n * @return {rootDir[]} - Root dir objects\n */\n transformRaw(rawRootDirs) {\n if (rawRootDirs.length < 2) {\n return [];\n } // Transform raw root dirs in the form of an array, to an array of objects\n\n\n const defaultDir = Number.parseInt(rawRootDirs[0], 10);\n return rawRootDirs.slice(1).map((path, index) => {\n return {\n path,\n default: index === defaultDir,\n selected: index === defaultDir\n };\n });\n },\n\n /**\n * Add a new root dir\n */\n add() {\n const {\n $el,\n rootDirs,\n selectedRootDir,\n defaultRootDir,\n saveRootDirs\n } = this;\n $($el).nFileBrowser(path => {\n if (path.length === 0) {\n return;\n } // If the path is already a root dir, select it\n\n\n const found = rootDirs.find(rd => rd.path === path);\n\n if (found && found.path !== selectedRootDir) {\n this.selectedRootDir = path;\n return;\n } // If this the first root dir, set it as default and select it\n\n\n const isFirst = defaultRootDir === null;\n rootDirs.push({\n path,\n default: isFirst,\n selected: isFirst\n });\n saveRootDirs();\n });\n },\n\n /**\n * Edit the selected root dir's path\n */\n edit() {\n const {\n $el,\n rootDirs,\n selectedRootDir,\n saveRootDirs\n } = this;\n $($el).nFileBrowser(path => {\n if (path.length === 0) {\n return;\n } // If the path is already a root dir, select it and remove the one being edited\n\n\n const found = rootDirs.find(rd => rd.path === path);\n\n if (found && found.path !== selectedRootDir) {\n const wasDefault = found.default;\n this.rootDirs = rootDirs.reduce((accumlator, rd) => {\n if (rd.path === selectedRootDir) {\n return accumlator;\n }\n\n const isNewRootDir = rd.path === path;\n rd.selected = isNewRootDir;\n rd.default = wasDefault && isNewRootDir;\n accumlator.push(rd);\n return accumlator;\n }, []);\n return;\n } // Update selected root dir path and select it\n\n\n rootDirs.find(rd => rd.selected).path = path;\n this.selectedRootDir = path;\n saveRootDirs();\n }, {\n initialDir: selectedRootDir\n });\n },\n\n /**\n * Remove the selected root dir\n */\n remove() {\n const {\n rootDirs,\n selectedRootDir,\n defaultRootDir,\n saveRootDirs\n } = this;\n const oldDirIndex = rootDirs.findIndex(rd => rd.selected);\n const oldDirPath = selectedRootDir; // What would the list be like without the root dir we're removing?\n\n const filteredRootDirs = rootDirs.filter(rd => !rd.selected); // Pick a new selection, or null\n\n if (filteredRootDirs.length > 0) {\n const newSelected = oldDirIndex > 0 ? oldDirIndex - 1 : 0;\n this.selectedRootDir = filteredRootDirs[newSelected].path;\n } else {\n this.selectedRootDir = null;\n } // If we're deleting the current default root dir, pick a new default, or null\n\n\n if (this.defaultRootDir !== null && oldDirPath === defaultRootDir) {\n this.defaultRootDir = selectedRootDir;\n } // Finally, remove the root dir from the list\n\n\n this.rootDirs = filteredRootDirs;\n saveRootDirs();\n },\n\n /**\n * Set the selected root dir as default\n */\n setDefault() {\n const {\n selectedRootDir,\n defaultRootDir,\n saveRootDirs\n } = this;\n\n if (selectedRootDir === defaultRootDir) {\n return;\n }\n\n this.defaultRootDir = selectedRootDir;\n saveRootDirs();\n },\n\n /**\n * Save the root dirs\n * @returns {Promise} - The axios Promise from the store action.\n */\n saveRootDirs() {\n const {\n $store,\n paths,\n defaultRootDir\n } = this;\n const rootDirs = paths.slice();\n\n if (defaultRootDir !== null && paths.length !== 0) {\n const defaultIndex = rootDirs.findIndex(path => path === defaultRootDir);\n rootDirs.splice(0, 0, defaultIndex.toString());\n }\n\n return $store.dispatch('setConfig', {\n section: 'main',\n config: {\n rootDirs\n }\n });\n }\n\n },\n watch: {\n rawRootDirs(newValue) {\n const {\n transformRaw\n } = this;\n this.rootDirs = transformRaw(newValue);\n },\n\n rootDirs: {\n handler(newValue) {\n this.$emit('update', newValue);\n this.$nextTick(() => {\n // @FIXME: Temporarily trigger a regular event as well\n $(this.$refs.rootDirs).trigger('change');\n });\n },\n\n deep: true,\n immediate: false\n },\n\n paths(newValue, oldValue) {\n if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {\n this.$emit('update:paths', newValue);\n }\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/root-dirs.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/schedule.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/schedule.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'schedule',\n template: '#schedule-template',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"AppLink\"]\n },\n\n data() {\n return {\n layoutOptions: [{\n value: 'poster',\n text: 'Poster'\n }, {\n value: 'calendar',\n text: 'Calendar'\n }, {\n value: 'banner',\n text: 'Banner'\n }, {\n value: 'list',\n text: 'List'\n }]\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n // Renamed because of the computed property 'layout'.\n stateLayout: state => state.config.layout\n }),\n\n header() {\n return this.$route.meta.header;\n },\n\n scheduleLayout: {\n get() {\n const {\n stateLayout\n } = this;\n return stateLayout.schedule;\n },\n\n set(layout) {\n const {\n setLayout\n } = this;\n const page = 'schedule';\n setLayout({\n page,\n layout\n });\n }\n\n },\n\n themeSpinner() {\n const {\n stateLayout\n } = this;\n return stateLayout.themeName === 'dark' ? '-dark' : '';\n }\n\n },\n\n mounted() {\n // $store.dispatch('getShows');\n this.$root.$once('loaded', () => {\n const {\n scheduleLayout,\n stateLayout,\n themeSpinner\n } = this;\n const {\n comingEps\n } = stateLayout;\n\n if (scheduleLayout === 'list') {\n const sortCodes = {\n date: 0,\n show: 2,\n network: 5\n };\n const {\n sort\n } = comingEps;\n const sortList = sort in sortCodes ? [[sortCodes[sort], 0]] : [[0, 0]];\n $('#showListTable:has(tbody tr)').tablesorter({\n widgets: ['stickyHeaders', 'filter', 'columnSelector', 'saveSort'],\n sortList,\n textExtraction: {\n 0: node => $(node).find('time').attr('datetime'),\n 1: node => $(node).find('time').attr('datetime'),\n 7: node => $(node).find('span').text().toLowerCase(),\n 8: node => $(node).find('a[data-indexer-name]').attr('data-indexer-name')\n },\n headers: {\n 0: {\n sorter: 'realISODate'\n },\n 1: {\n sorter: 'realISODate'\n },\n 2: {\n sorter: 'loadingNames'\n },\n 4: {\n sorter: 'loadingNames'\n },\n 7: {\n sorter: 'quality'\n },\n 8: {\n sorter: 'text'\n },\n 9: {\n sorter: false,\n filter: false\n }\n },\n widgetOptions: {\n filter_columnFilters: true,\n // eslint-disable-line camelcase\n filter_hideFilters: true,\n // eslint-disable-line camelcase\n filter_saveFilters: true,\n // eslint-disable-line camelcase\n columnSelector_mediaquery: false // eslint-disable-line camelcase\n\n }\n });\n $.ajaxEpSearch();\n }\n\n if (['banner', 'poster'].includes(scheduleLayout)) {\n $.ajaxEpSearch({\n size: 16,\n loadingImage: `loading16${themeSpinner}.gif`\n });\n $('.ep_summary').hide();\n $('.ep_summaryTrigger').on('click', function () {\n $(this).next('.ep_summary').slideToggle('normal', function () {\n $(this).prev('.ep_summaryTrigger').prop('src', function (i, src) {\n return $(this).next('.ep_summary').is(':visible') ? src.replace('plus', 'minus') : src.replace('minus', 'plus');\n });\n });\n });\n }\n\n $('#popover').popover({\n placement: 'bottom',\n html: true,\n // Required if content has HTML\n content: '
    '\n }).on('shown.bs.popover', () => {\n // Bootstrap popover event triggered when the popover opens\n // call this function to copy the column selection code into the popover\n $.tablesorter.columnSelector.attachTo($('#showListTable'), '#popover-target');\n });\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n setLayout: 'setLayout'\n })\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/schedule.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-header.vue?vue&type=script&lang=js&": -/*!***********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-header.vue?vue&type=script&lang=js& ***! - \***********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue_truncate_collapsed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-truncate-collapsed */ \"./node_modules/vue-truncate-collapsed/dist/vue-truncate-collapsed.es.js\");\n/* harmony import */ var country_language__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! country-language */ \"./node_modules/country-language/index.js\");\n/* harmony import */ var country_language__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(country_language__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue_scrollto__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-scrollto */ \"./node_modules/vue-scrollto/vue-scrollto.js\");\n/* harmony import */ var vue_scrollto__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue_scrollto__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../api */ \"./src/api.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var _utils_jquery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/jquery */ \"./src/utils/jquery.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/**\n * Return the first item of `values` that is not `null`, `undefined` or `NaN`.\n * @param {...any} values - Values to check.\n * @returns {any} - The first item that fits the criteria, `undefined` otherwise.\n */\n\nconst resolveToValue = (...values) => {\n return values.find(value => {\n return !Number.isNaN(value) && value !== null && value !== undefined;\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'show-header',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_7__[\"AppLink\"],\n Asset: _helpers__WEBPACK_IMPORTED_MODULE_7__[\"Asset\"],\n QualityPill: _helpers__WEBPACK_IMPORTED_MODULE_7__[\"QualityPill\"],\n StateSwitch: _helpers__WEBPACK_IMPORTED_MODULE_7__[\"StateSwitch\"],\n Truncate: vue_truncate_collapsed__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n props: {\n /**\n * Page type: show or snatch-selection\n */\n type: {\n type: String,\n default: 'show',\n validator: value => ['show', 'snatch-selection'].includes(value)\n },\n\n /**\n * Show indexer\n */\n showIndexer: {\n type: String\n },\n\n /**\n * Show id\n */\n showId: {\n type: Number\n },\n\n /**\n * Season\n */\n showSeason: {\n type: Number\n },\n\n /**\n * Episode\n */\n showEpisode: {\n type: Number\n },\n\n /**\n * Manual Search Type (snatch-selection)\n */\n manualSearchType: {\n type: String\n }\n },\n\n data() {\n return {\n jumpToSeason: 'jump',\n selectedStatus: 'Change status to:',\n selectedQuality: 'Change quality to:',\n overviewStatus: [{\n id: 'wanted',\n checked: true,\n name: 'Wanted'\n }, {\n id: 'allowed',\n checked: true,\n name: 'Allowed'\n }, {\n id: 'preferred',\n checked: true,\n name: 'Preferred'\n }, {\n id: 'skipped',\n checked: true,\n name: 'Skipped'\n }, {\n id: 'snatched',\n checked: true,\n name: 'Snatched'\n }]\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_3__[\"mapState\"])({\n config: state => state.config.general,\n layout: state => state.config.layout,\n shows: state => state.shows.shows,\n indexers: state => state.config.indexers,\n indexerConfig: state => state.config.indexers.indexers,\n displaySpecials: state => state.config.layout.show.specials,\n qualities: state => state.config.consts.qualities.values,\n statuses: state => state.config.consts.statuses,\n search: state => state.config.search,\n configLoaded: state => state.config.layout.fanartBackground !== null\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_3__[\"mapGetters\"])({\n show: 'getCurrentShow',\n getEpisode: 'getEpisode',\n getOverviewStatus: 'getOverviewStatus',\n getQualityPreset: 'getQualityPreset',\n getStatus: 'getStatus'\n }),\n\n indexer() {\n return this.showIndexer || this.$route.query.indexername;\n },\n\n id() {\n return this.showId || Number(this.$route.query.seriesid) || undefined;\n },\n\n season() {\n return resolveToValue(this.showSeason, Number(this.$route.query.season));\n },\n\n episode() {\n return resolveToValue(this.showEpisode, Number(this.$route.query.episode));\n },\n\n showIndexerUrl() {\n const {\n show,\n indexerConfig\n } = this;\n\n if (!show.indexer) {\n return;\n }\n\n const id = show.id[show.indexer];\n const indexerUrl = indexerConfig[show.indexer].showUrl;\n return `${indexerUrl}${id}`;\n },\n\n activeShowQueueStatuses() {\n const {\n showQueueStatus\n } = this.show;\n\n if (!showQueueStatus) {\n return [];\n }\n\n return showQueueStatus.filter(status => status.active === true);\n },\n\n showGenres() {\n const {\n show,\n dedupeGenres\n } = this;\n const {\n imdbInfo\n } = show;\n const {\n genres\n } = imdbInfo;\n let result = [];\n\n if (genres) {\n result = dedupeGenres(genres.split('|'));\n }\n\n return result;\n },\n\n episodeSummary() {\n const {\n getOverviewStatus,\n show\n } = this;\n const {\n seasons\n } = show;\n const summary = {\n Unaired: 0,\n Skipped: 0,\n Wanted: 0,\n Snatched: 0,\n Preferred: 0,\n Allowed: 0\n };\n seasons.forEach(season => {\n season.episodes.forEach(episode => {\n summary[getOverviewStatus(episode.status, episode.quality, show.config.qualities)] += 1;\n });\n });\n return summary;\n },\n\n changeStatusOptions() {\n const {\n search,\n getStatus,\n statuses\n } = this;\n const {\n general\n } = search;\n\n if (statuses.length === 0) {\n return [];\n } // Get status objects, in this order\n\n\n const defaultOptions = ['wanted', 'skipped', 'ignored', 'downloaded', 'archived'].map(key => getStatus({\n key\n }));\n\n if (general.failedDownloads.enabled) {\n defaultOptions.push(getStatus({\n key: 'failed'\n }));\n }\n\n return defaultOptions;\n },\n\n combinedQualities() {\n const {\n allowed,\n preferred\n } = this.show.config.qualities;\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_5__[\"combineQualities\"])(allowed, preferred);\n },\n\n seasons() {\n const {\n show\n } = this; // Only return an array with seasons (integers)\n\n return show.seasonCount.map(season => season.season);\n },\n\n episodeTitle() {\n const {\n getEpisode,\n show,\n season,\n episode\n } = this;\n\n if (!(show.id.slug && season && episode)) {\n return '';\n }\n\n const curEpisode = getEpisode({\n showSlug: show.id.slug,\n season,\n episode\n });\n\n if (curEpisode) {\n return curEpisode.title;\n }\n\n return '';\n }\n\n },\n\n mounted() {\n ['load', 'resize'].map(event => {\n return window.addEventListener(event, () => {\n this.$nextTick(() => this.reflowLayout());\n });\n });\n this.$watch('show', function (slug) {\n // eslint-disable-line object-shorthand\n // Show has changed. Meaning we should reflow the layout.\n if (slug) {\n const {\n reflowLayout\n } = this;\n this.$nextTick(() => reflowLayout());\n }\n }, {\n deep: true\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_3__[\"mapActions\"])(['setSpecials']),\n combineQualities: _utils_core__WEBPACK_IMPORTED_MODULE_5__[\"combineQualities\"],\n humanFileSize: _utils_core__WEBPACK_IMPORTED_MODULE_5__[\"humanFileSize\"],\n\n changeStatusClicked() {\n const {\n changeStatusOptions,\n changeQualityOptions,\n selectedStatus,\n selectedQuality\n } = this;\n this.$emit('update', {\n newStatus: selectedStatus,\n newQuality: selectedQuality,\n statusOptions: changeStatusOptions,\n qualityOptions: changeQualityOptions\n });\n },\n\n toggleSpecials() {\n const {\n setSpecials\n } = this;\n setSpecials(!this.displaySpecials);\n },\n\n reverse(array) {\n return array ? array.slice().reverse() : [];\n },\n\n dedupeGenres(genres) {\n return genres ? [...new Set(genres.slice(0).map(genre => genre.replace('-', ' ')))] : [];\n },\n\n getCountryISO2ToISO3(country) {\n return Object(country_language__WEBPACK_IMPORTED_MODULE_1__[\"getLanguage\"])(country).iso639_2en;\n },\n\n toggleConfigOption(option) {\n const {\n show\n } = this;\n const {\n config\n } = show;\n this.show.config[option] = !this.show.config[option];\n const data = {\n config: {\n [option]: config[option]\n }\n };\n _api__WEBPACK_IMPORTED_MODULE_4__[\"api\"].patch('series/' + show.id.slug, data).then(_ => {\n this.$snotify.success(`${data.config[option] ? 'enabled' : 'disabled'} show option ${option}`, 'Saved', {\n timeout: 5000\n });\n }).catch(error => {\n this.$snotify.error('Error while trying to save \"' + show.title + '\": ' + error.message || false, 'Error');\n });\n },\n\n reflowLayout() {\n Object(_utils_jquery__WEBPACK_IMPORTED_MODULE_6__[\"attachImdbTooltip\"])(); // eslint-disable-line no-undef\n }\n\n },\n watch: {\n jumpToSeason(season) {\n // Don't jump until an option is selected\n if (season !== 'jump') {\n // Calculate duration\n let duration = (this.seasons.length - season) * 50;\n duration = Math.max(500, Math.min(duration, 2000)); // Limit to (500ms <= duration <= 2000ms)\n // Calculate offset\n\n let offset = -50; // Navbar\n // Needs extra offset when the sub menu is \"fixed\".\n\n offset -= window.matchMedia('(min-width: 1281px)').matches ? 40 : 0;\n const name = `season-${season}`;\n console.debug(`Jumping to #${name} (${duration}ms)`);\n Object(vue_scrollto__WEBPACK_IMPORTED_MODULE_2__[\"scrollTo\"])(`[name=\"${name}\"]`, duration, {\n container: 'body',\n easing: 'ease-in-out',\n offset\n }); // Update URL hash\n\n window.location.hash = name; // Reset jump\n\n this.jumpToSeason = 'jump';\n }\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-header.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-history.vue?vue&type=script&lang=js&": -/*!************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-history.vue?vue&type=script&lang=js& ***! - \************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var _mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../mixins/manage-cookie */ \"./src/mixins/manage-cookie.js\");\n/* harmony import */ var _helpers_quality_pill_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helpers/quality-pill.vue */ \"./src/components/helpers/quality-pill.vue\");\n/* harmony import */ var _utils_jquery__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/jquery */ \"./src/utils/jquery.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'show-history',\n components: {\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_1__[\"VueGoodTable\"],\n QualityPill: _helpers_quality_pill_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n },\n mixins: [Object(_mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_3__[\"manageCookieMixin\"])('showHistory')],\n props: {\n show: {\n type: Object,\n required: true\n },\n season: {\n type: Number,\n required: true\n },\n episode: {\n type: Number,\n required: false\n }\n },\n\n data() {\n const {\n getCookie\n } = this;\n const columns = [{\n label: 'Date',\n field: 'actionDate',\n dateInputFormat: 'yyyyMMddHHmmss',\n // E.g. 07-09-2017 19:16:25\n dateOutputFormat: 'yyyy-MM-dd HH:mm:ss',\n type: 'date',\n hidden: getCookie('Date')\n }, {\n label: 'Status',\n field: 'statusName',\n hidden: getCookie('Status')\n }, {\n label: 'Quality',\n field: 'quality',\n type: 'number',\n hidden: getCookie('Quality')\n }, {\n label: 'Provider/Group',\n field: 'provider.id',\n hidden: getCookie('Provider/Group')\n }, {\n label: 'Release',\n field: 'resource',\n hidden: getCookie('Release')\n }, {\n label: 'Season',\n field: 'season',\n type: 'number',\n hidden: getCookie('Season')\n }, {\n label: 'Episode',\n field: 'episode',\n type: 'number',\n hidden: getCookie('Episode')\n }, {\n label: 'Size',\n field: 'size',\n formatFn: _utils_core__WEBPACK_IMPORTED_MODULE_2__[\"humanFileSize\"],\n type: 'number',\n hidden: getCookie('Size')\n }];\n\n if (this.episode) {\n columns.find(column => column.label === 'Season').hidden = true;\n columns.find(column => column.label === 'Episode').hidden = true;\n }\n\n return {\n columns,\n loading: false,\n loadingMessage: '',\n history: [],\n hideHistory: true\n };\n },\n\n mounted() {\n const {\n getHistory\n } = this;\n getHistory();\n Object(_utils_jquery__WEBPACK_IMPORTED_MODULE_5__[\"addQTip\"])();\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n layout: state => state.config.layout,\n showHistory: state => state.history.showHistory,\n episodeHistory: state => state.history.episodeHistory\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n getEpisodeHistory: 'getEpisodeHistory',\n getSeasonHistory: 'getSeasonHistory',\n fuzzyParseDateTime: 'fuzzyParseDateTime'\n })\n },\n methods: {\n humanFileSize: _utils_core__WEBPACK_IMPORTED_MODULE_2__[\"humanFileSize\"],\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n getShowEpisodeHistory: 'getShowEpisodeHistory',\n getShowHistory: 'getHistory'\n }),\n\n close() {\n this.$emit('close'); // Destroy the vue listeners, etc\n\n this.$destroy(); // Remove the element from the DOM\n\n this.$el.remove();\n },\n\n getHistory() {\n const {\n getShowHistory,\n getShowEpisodeHistory,\n show,\n episode,\n season,\n updateHistory\n } = this;\n\n if (show.id.slug) {\n if (episode) {\n // Use apiv2 to get latest episode history\n getShowEpisodeHistory({\n showSlug: show.id.slug,\n episodeSlug: Object(_utils_core__WEBPACK_IMPORTED_MODULE_2__[\"episodeToSlug\"])(season, episode)\n });\n } else {\n getShowHistory(show.id.slug);\n }\n } // Update the local history array with store data.\n\n\n updateHistory();\n },\n\n updateHistory() {\n const {\n getEpisodeHistory,\n getSeasonHistory,\n show,\n episode,\n season\n } = this;\n\n if (!show.id.slug) {\n return;\n }\n\n if (episode) {\n this.history = getEpisodeHistory({\n showSlug: show.id.slug,\n episodeSlug: Object(_utils_core__WEBPACK_IMPORTED_MODULE_2__[\"episodeToSlug\"])(season, episode)\n });\n } else {\n // As this is not an episode search, we're returning all results for the specific season.\n this.history = getSeasonHistory({\n showSlug: show.id.slug,\n season\n });\n }\n },\n\n rowStyleClassFn(row) {\n return row.statusName.toLowerCase() || 'skipped';\n }\n\n },\n watch: {\n episodeHistory: {\n handler() {\n const {\n show,\n updateHistory\n } = this;\n\n if (show.id.slug) {\n updateHistory();\n }\n },\n\n deep: true,\n immediate: false\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-history.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/banner.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/banner.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/manage-cookie */ \"./src/mixins/manage-cookie.js\");\n/* harmony import */ var _mixins_show_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/show-list */ \"./src/mixins/show-list.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'banner',\n components: {\n Asset: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Asset\"],\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"AppLink\"],\n ProgressBar: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"ProgressBar\"],\n QualityPill: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"QualityPill\"],\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_1__[\"VueGoodTable\"]\n },\n mixins: [Object(_mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_2__[\"manageCookieMixin\"])('home-banner'), _mixins_show_list__WEBPACK_IMPORTED_MODULE_3__[\"showlistTableMixin\"]],\n props: {\n layout: {\n validator: val => val === null || typeof val === 'string',\n required: true\n },\n shows: {\n type: Array,\n required: true\n },\n listTitle: {\n type: String\n },\n header: {\n type: Boolean\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-list/banner.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/index.vue?vue&type=script&lang=js&": -/*!***************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/index.vue?vue&type=script&lang=js& ***! - \***************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _banner_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./banner.vue */ \"./src/components/show-list/banner.vue\");\n/* harmony import */ var _simple_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./simple.vue */ \"./src/components/show-list/simple.vue\");\n/* harmony import */ var _poster_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./poster.vue */ \"./src/components/show-list/poster.vue\");\n/* harmony import */ var _smallposter_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./smallposter.vue */ \"./src/components/show-list/smallposter.vue\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'show-list',\n components: {\n Banner: _banner_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Simple: _simple_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Poster: _poster_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n PosterSizeSlider: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"PosterSizeSlider\"],\n Smallposter: _smallposter_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n StateSwitch: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"StateSwitch\"]\n },\n props: {\n layout: {\n validator: layout => [null, '', 'poster', 'banner', 'simple', 'small'].includes(layout),\n required: true\n },\n shows: {\n type: Array,\n required: true\n },\n listTitle: {\n type: String\n },\n header: {\n type: Boolean\n }\n },\n\n data() {\n return {\n postSortDirOptions: [{\n value: '0',\n text: 'Descending'\n }, {\n value: '1',\n text: 'Ascending'\n }],\n posterSortByOptions: [{\n text: 'Name',\n value: 'name'\n }, {\n text: 'Next episode',\n value: 'date'\n }, {\n text: 'Network',\n value: 'network'\n }, {\n text: 'Progress',\n value: 'progress'\n }, {\n text: 'Indexer',\n value: 'indexer'\n }]\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n stateLayout: state => state.config.layout,\n showsLoading: state => state.shows.loading\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n showsInLists: 'showsInLists'\n }),\n\n mappedLayout() {\n const {\n layout\n } = this;\n\n if (layout === 'small') {\n return 'smallposter';\n }\n\n return layout;\n },\n\n posterUiSortBy: {\n get() {\n const {\n stateLayout\n } = this;\n const {\n posterSortby\n } = stateLayout;\n return posterSortby;\n },\n\n set(value) {\n const {\n setPosterSortBy\n } = this;\n setPosterSortBy({\n value\n });\n }\n\n },\n posterUiSortDir: {\n get() {\n const {\n stateLayout\n } = this;\n const {\n posterSortdir\n } = stateLayout;\n return posterSortdir;\n },\n\n set(value) {\n const {\n setPosterSortDir\n } = this;\n setPosterSortDir({\n value\n });\n }\n\n }\n },\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n setPosterSortBy: 'setPosterSortBy',\n setPosterSortDir: 'setPosterSortDir'\n })\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-list/index.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/poster.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/poster.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var pretty_bytes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pretty-bytes */ \"./node_modules/pretty-bytes/index.js\");\n/* harmony import */ var pretty_bytes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(pretty_bytes__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var vueisotope__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vueisotope */ \"./node_modules/vueisotope/dist/vue_isotope.min.js\");\n/* harmony import */ var vueisotope__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vueisotope__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var vue_images_loaded__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vue-images-loaded */ \"./node_modules/vue-images-loaded/dist/vueimagesloaded.js\");\n/* harmony import */ var vue_images_loaded__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(vue_images_loaded__WEBPACK_IMPORTED_MODULE_4__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'poster',\n directives: {\n imagesLoaded: (vue_images_loaded__WEBPACK_IMPORTED_MODULE_4___default())\n },\n components: {\n Asset: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Asset\"],\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"AppLink\"],\n ProgressBar: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ProgressBar\"],\n QualityPill: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"QualityPill\"],\n Isotope: (vueisotope__WEBPACK_IMPORTED_MODULE_3___default())\n },\n props: {\n layout: {\n validator: val => val === null || typeof val === 'string',\n required: true\n },\n shows: {\n type: Array,\n required: true\n },\n listTitle: {\n type: String\n },\n header: {\n type: Boolean\n }\n },\n\n data() {\n return {\n // Isotope stuff\n itemSelector: '.show-container',\n selected: null,\n option: {\n getSortData: {\n id: row => row.id.slug,\n name: row => {\n const {\n stateLayout\n } = this;\n const {\n sortArticle\n } = stateLayout;\n\n if (!sortArticle) {\n return row.title;\n }\n\n return row.title.replace(/^((?:a(?!\\s+to)n?)|the)\\s/i, '').toLowerCase();\n },\n date: row => {\n const {\n maxNextAirDate\n } = this;\n\n if (row.nextAirDate && Date.parse(row.nextAirDate) > Date.now()) {\n return Date.parse(row.nextAirDate) - Date.now();\n }\n\n if (row.prevAirDate) {\n return maxNextAirDate + Date.now() - Date.parse(row.prevAirDate);\n }\n\n return Date.now();\n },\n network: 'network',\n progress: row => {\n if (!row.stats) {\n return 0;\n }\n\n return Math.round(row.stats.episodes.downloaded / row.stats.episodes.total * 100);\n },\n indexer: row => {\n const {\n indexers\n } = this;\n return indexers.indexers[row.indexer].id;\n }\n },\n sortBy: () => this.posterSortBy,\n layoutMode: 'fitRows',\n sortAscending: () => this.posterSortDir\n },\n fontSize: null,\n logoWidth: null,\n borderRadius: null,\n borderWidth: null,\n isotopeLoaded: false,\n imgLazyLoad: null\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n stateLayout: state => state.config.layout,\n indexers: state => state.config.indexers,\n // Need to map these computed, as we need them in the $watch.\n posterSortBy: state => state.config.layout.posterSortby,\n posterSortDir: state => state.config.layout.posterSortdir,\n posterSize: state => state.config.layout.local.posterSize,\n currentShowTab: state => state.config.layout.local.currentShowTab\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n fuzzyParseDateTime: 'fuzzyParseDateTime'\n }),\n\n showsReady() {\n const {\n shows,\n maxNextAirDate\n } = this;\n\n if (shows.length === 0 || !maxNextAirDate) {\n return [];\n }\n\n return shows;\n },\n\n showContainerStyle() {\n const {\n posterSize,\n borderWidth,\n borderRadius\n } = this;\n return {\n width: posterSize + 'px',\n borderWidth: borderWidth + 'px',\n borderRadius: borderRadius + 'px'\n };\n },\n\n maxNextAirDate() {\n const {\n shows\n } = this;\n return Math.max(...shows.filter(show => show.nextAirDate).map(show => Date.parse(show.nextAirDate)));\n }\n\n },\n methods: {\n prettyBytes: bytes => pretty_bytes__WEBPACK_IMPORTED_MODULE_1___default()(bytes),\n\n showIndexerUrl(show) {\n const {\n indexers\n } = this;\n\n if (!show.indexer) {\n return;\n }\n\n const id = show.id[show.indexer];\n const indexerUrl = indexers.indexers[show.indexer].showUrl;\n return `${indexerUrl}${id}`;\n },\n\n parsePrevDateFn(row) {\n const {\n fuzzyParseDateTime\n } = this;\n\n if (row.prevAirDate) {\n console.log(`Calculating time for show ${row.title} prev date: ${row.prevAirDate}`);\n return fuzzyParseDateTime(row.prevAirDate);\n }\n\n return '';\n },\n\n parseNextDateFn(row) {\n const {\n fuzzyParseDateTime\n } = this;\n\n if (row.nextAirDate) {\n console.log(`Calculating time for show ${row.title} next date: ${row.nextAirDate}`);\n return fuzzyParseDateTime(row.nextAirDate);\n }\n\n return '';\n },\n\n calculateSize() {\n const {\n posterSize\n } = this;\n\n if (posterSize < 125) {\n // Small\n this.fontSize = null;\n this.borderRadius = 3;\n this.borderWidth = 4;\n } else if (posterSize < 175) {\n // Medium\n this.fontSize = 9;\n this.logoWidth = 40;\n this.borderRadius = 4;\n this.borderWidth = 5;\n } else {\n // Large\n this.fontSize = 11;\n this.logoWidth = 50;\n this.borderRadius = 6;\n this.borderWidth = 6;\n }\n },\n\n updateLayout() {\n const {\n calculateSize,\n listTitle,\n posterSortBy,\n posterSortDir\n } = this;\n this.isotopeLoaded = true;\n calculateSize(); // Render layout (for sizing)\n\n this.$refs[`isotope-${listTitle}`].layout(); // Arrange & Sort\n\n this.$refs[`isotope-${listTitle}`].arrange({\n sortBy: posterSortBy,\n sortAscending: posterSortDir\n });\n console.log('isotope Layout loaded');\n },\n\n dateOrStatus(show) {\n if (show.nextAirDate) {\n const {\n fuzzyParseDateTime\n } = this;\n return fuzzyParseDateTime(show.nextAirDate);\n }\n\n if (!show.status.includes('nded') && show.config.paused) {\n return 'Paused';\n }\n\n return show.status;\n }\n\n },\n watch: {\n posterSortBy(key) {\n const {\n listTitle\n } = this;\n this.$refs[`isotope-${listTitle}`].sort(key);\n },\n\n posterSortDir(value) {\n const {\n listTitle,\n posterSortBy\n } = this;\n this.$refs[`isotope-${listTitle}`].arrange({\n sortBy: posterSortBy,\n sortAscending: value\n });\n },\n\n posterSize(oldSize, newSize) {\n const {\n calculateSize,\n isotopeLoaded,\n listTitle\n } = this;\n\n if (!isotopeLoaded || oldSize === newSize) {\n return;\n }\n\n calculateSize();\n this.$nextTick(() => {\n this.$refs[`isotope-${listTitle}`].arrange();\n });\n },\n\n currentShowTab() {\n const {\n isotopeLoaded,\n listTitle\n } = this;\n\n if (!isotopeLoaded) {\n return;\n }\n\n this.$nextTick(() => {\n this.$refs[`isotope-${listTitle}`].arrange();\n });\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-list/poster.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/simple.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/simple.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/manage-cookie */ \"./src/mixins/manage-cookie.js\");\n/* harmony import */ var _mixins_show_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/show-list */ \"./src/mixins/show-list.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'simple',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"AppLink\"],\n ProgressBar: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"ProgressBar\"],\n QualityPill: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"QualityPill\"],\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_1__[\"VueGoodTable\"]\n },\n mixins: [Object(_mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_2__[\"manageCookieMixin\"])('home-simple'), _mixins_show_list__WEBPACK_IMPORTED_MODULE_3__[\"showlistTableMixin\"]],\n props: {\n layout: {\n validator: val => val === null || typeof val === 'string',\n required: true\n },\n shows: {\n type: Array,\n required: true\n },\n listTitle: {\n type: String\n },\n header: {\n type: Boolean\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-list/simple.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/smallposter.vue?vue&type=script&lang=js&": -/*!*********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/smallposter.vue?vue&type=script&lang=js& ***! - \*********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/manage-cookie */ \"./src/mixins/manage-cookie.js\");\n/* harmony import */ var _mixins_show_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/show-list */ \"./src/mixins/show-list.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'smallposter',\n components: {\n Asset: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Asset\"],\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"AppLink\"],\n ProgressBar: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"ProgressBar\"],\n QualityPill: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"QualityPill\"],\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_1__[\"VueGoodTable\"]\n },\n mixins: [Object(_mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_2__[\"manageCookieMixin\"])('home-small-poster'), _mixins_show_list__WEBPACK_IMPORTED_MODULE_3__[\"showlistTableMixin\"]],\n props: {\n layout: {\n validator: val => val === null || typeof val === 'string',\n required: true\n },\n shows: {\n type: Array,\n required: true\n },\n listTitle: {\n type: String\n },\n header: {\n type: Boolean\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-list/smallposter.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-results.vue?vue&type=script&lang=js&": -/*!************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-results.vue?vue&type=script&lang=js& ***! - \************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../api */ \"./src/api.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../mixins/manage-cookie */ \"./src/mixins/manage-cookie.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var _helpers_quality_pill_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./helpers/quality-pill.vue */ \"./src/components/helpers/quality-pill.vue\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var _utils_jquery__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/jquery */ \"./src/utils/jquery.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'show-results',\n components: {\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_2__[\"VueGoodTable\"],\n StateSwitch: _helpers__WEBPACK_IMPORTED_MODULE_4__[\"StateSwitch\"],\n QualityPill: _helpers_quality_pill_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n mixins: [Object(_mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_3__[\"manageCookieMixin\"])('showResults')],\n props: {\n show: {\n type: Object,\n required: true\n },\n season: {\n type: Number,\n required: true\n },\n episode: {\n type: Number,\n required: false\n },\n searchType: {\n type: String,\n default: 'episode'\n }\n },\n\n data() {\n const {\n getCookie\n } = this;\n return {\n columns: [{\n label: 'Release',\n field: 'release',\n tdClass: 'release',\n hidden: getCookie('Release')\n }, {\n label: 'Group',\n field: 'releaseGroup',\n hidden: getCookie('Group')\n }, {\n label: 'Provider',\n field: 'provider.name',\n hidden: getCookie('Provider')\n }, {\n label: 'Quality',\n field: 'quality',\n type: 'number',\n hidden: getCookie('Quality')\n }, {\n label: 'Seeds',\n field: 'seeders',\n type: 'number',\n hidden: getCookie('Seeds')\n }, {\n label: 'Peers',\n field: 'leechers',\n type: 'number',\n hidden: getCookie('Peers')\n }, {\n label: 'Size',\n field: 'size',\n formatFn: _utils_core__WEBPACK_IMPORTED_MODULE_6__[\"humanFileSize\"],\n type: 'number',\n hidden: getCookie('Size')\n }, {\n label: 'Added',\n field: 'dateAdded',\n type: 'date',\n sortable: true,\n dateInputFormat: 'yyyy-MM-dd\\'T\\'HH:mm:ss',\n // E.g. 07-09-2017 19:16:25\n dateOutputFormat: 'yyyy/MM/dd HH:mm:ss',\n hidden: getCookie('Added')\n }, {\n label: 'Published',\n field: 'pubdate',\n type: 'date',\n sortable: true,\n dateInputFormat: 'yyyy-MM-dd\\'T\\'HH:mm:ssXXX',\n dateOutputFormat: 'yyyy-MM-dd HH:mm:ss',\n hidden: getCookie('Published')\n }, {\n label: 'Updated',\n field: 'time',\n type: 'date',\n sortable: true,\n dateInputFormat: 'yyyy-MM-dd\\'T\\'HH:mm:ss',\n dateOutputFormat: 'yyyy/MM/dd HH:mm:ss',\n hidden: getCookie('Updated')\n }, {\n label: 'Snatch',\n field: 'snatch',\n sortable: false\n }],\n loading: false,\n loadingMessage: ''\n };\n },\n\n async mounted() {\n const {\n forceSearch,\n getProviders,\n getProviderCacheResults,\n show,\n season,\n episode\n } = this;\n await getProviders();\n const result = await getProviderCacheResults({\n showSlug: show.id.slug,\n season,\n episode\n }); // TODO: put a modal in between\n\n if (result.providersSearched > 0 && result.totalSearchResults.length === 0) {\n forceSearch();\n }\n\n Object(_utils_jquery__WEBPACK_IMPORTED_MODULE_7__[\"addQTip\"])();\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])({\n config: state => state.config.general,\n layout: state => state.config.layout,\n search: state => state.config.search,\n providers: state => state.provider.providers,\n queueitems: state => state.search.queueitems,\n history: state => state.history.episodeHistory\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapGetters\"])({\n fuzzyParseDateTime: 'fuzzyParseDateTime',\n effectiveIgnored: 'effectiveIgnored',\n effectiveRequired: 'effectiveRequired'\n }),\n\n combinedResults() {\n const {\n episode,\n episodeHistory,\n providers,\n season,\n show\n } = this;\n let results = [];\n\n const getLastHistoryStatus = result => {\n const sortedHistory = episodeHistory.sort(item => item.actionDate).reverse();\n\n for (const historyRow of sortedHistory) {\n if (historyRow.resource === result.release && historyRow.size === result.size) {\n return historyRow.statusName.toLocaleLowerCase();\n }\n }\n\n return 'skipped';\n };\n\n for (const provider of Object.values(providers).filter(provider => provider.config.enabled)) {\n if (provider.cache && provider.cache.length > 0) {\n results = [...results, ...provider.cache.filter(searchResult => {\n if (episode) {\n return searchResult.showSlug === show.id.slug && searchResult.season === season && searchResult.episodes.includes(episode);\n }\n\n return searchResult.showSlug === show.id.slug && searchResult.season === season && searchResult.seasonPack;\n }).map(result => {\n return { ...result,\n status: getLastHistoryStatus(result)\n };\n })];\n }\n }\n\n return results;\n },\n\n /**\n * Helper to get the current episode or season slug.\n * @returns {string} episode slug.\n */\n episodeSlug() {\n const {\n season,\n episode\n } = this;\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_6__[\"episodeToSlug\"])(season, episode);\n },\n\n /**\n * Helper to check if showSlug and season/episode slug exist.\n * @returns {array} history for episode or empty array.\n */\n episodeHistory() {\n const {\n episodeSlug,\n history,\n show\n } = this;\n\n if (!history[show.id.slug] || !history[show.id.slug][episodeSlug]) {\n return [];\n }\n\n return history[show.id.slug][episodeSlug];\n }\n\n },\n methods: {\n humanFileSize: _utils_core__WEBPACK_IMPORTED_MODULE_6__[\"humanFileSize\"],\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapActions\"])({\n getProviders: 'getProviders',\n getProviderCacheResults: 'getProviderCacheResults',\n getShowEpisodeHistory: 'getShowEpisodeHistory'\n }),\n\n close() {\n this.$emit('close'); // Destroy the vue listeners, etc\n\n this.$destroy(); // Remove the element from the DOM\n\n this.$el.remove();\n },\n\n getProviderResults() {\n const {\n episode,\n getProviderCacheResults,\n season,\n show\n } = this;\n getProviderCacheResults({\n showSlug: show.id.slug,\n season,\n episode\n });\n },\n\n forceSearch() {\n const {\n episode,\n episodeSlug,\n season,\n show\n } = this;\n let data = {};\n data = {\n showSlug: show.id.slug,\n options: {},\n [episode ? 'episodes' : 'season']: [episodeSlug]\n };\n this.loading = true;\n this.loadingMessage = 'Queue search...';\n api.put('search/manual', data) // eslint-disable-line no-undef\n .then(() => {\n console.info(`Queued search for show: ${show.id.slug} season: ${season}, episode: ${episode}`);\n this.loadingMessage = 'Queued search...';\n }).catch(error => {\n console.error(String(error));\n });\n },\n\n rowStyleClassFn(row) {\n const {\n effectiveIgnored,\n effectiveRequired,\n search,\n show\n } = this;\n const classes = [row.status || 'skipped'];\n\n const getReleaseNameClasses = name => {\n const classes = [];\n\n if (effectiveIgnored(show).map(word => {\n return name.toLowerCase().includes(word.toLowerCase());\n }).filter(x => x === true).length > 0) {\n classes.push('global-ignored');\n }\n\n if (effectiveRequired(show).map(word => {\n return name.toLowerCase().includes(word.toLowerCase());\n }).filter(x => x === true).length > 0) {\n classes.push('global-required');\n }\n\n if (search.filters.undesired.map(word => {\n return name.toLowerCase().includes(word.toLowerCase());\n }).filter(x => x === true).length > 0) {\n classes.push('global-undesired');\n }\n\n return classes;\n };\n\n return [...classes, ...getReleaseNameClasses(row.release)].join(' ');\n },\n\n async snatchResult(evt, result) {\n const {\n layout\n } = this;\n evt.target.src = `images/loading16-${layout.themeName}.gif`;\n\n try {\n const response = await Object(_api__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/pickManualSearch', {\n params: {\n provider: result.provider.id,\n identifier: result.identifier\n }\n });\n\n if (response.data.result === 'success') {\n evt.target.src = 'images/save.png';\n } else {\n evt.target.src = 'images/no16.png';\n }\n } catch (error) {\n console.error(String(error));\n evt.target.src = 'images/no16.png';\n }\n }\n\n },\n watch: {\n queueitems: {\n async handler(queue) {\n // Check for manual searches\n const queueForThisEpisode = queue.filter(q => ['MANUAL-SEARCH'].includes(q.name) && q.segment.length && q.segment.find(ep => ep.season === this.season && ep.episode === this.episode));\n const [last] = queueForThisEpisode.slice(-1);\n\n if (last) {\n const searchStatus = last.success === null ? 'running' : 'finished';\n\n if (searchStatus === 'running') {\n this.loading = true;\n this.loadingMessage = 'Started searching providers...';\n } else {\n this.loadingMessage = 'Finished manual search';\n setTimeout(() => {\n this.loading = false;\n this.loadingMessage = '';\n }, 5000);\n }\n } // Check for snach selection\n\n\n const snatchedForThisEpisode = queue.filter(q => q.name === 'SNATCH-RESULT' && q.segment.length && q.segment.find(ep => ep.season === this.season && ep.episode === this.episode));\n const [lastSnatch] = snatchedForThisEpisode.slice(-1);\n\n if (lastSnatch && lastSnatch.success === true) {\n const {\n getProviderCacheResults,\n getShowEpisodeHistory,\n show,\n season,\n episode,\n episodeSlug\n } = this; // Something changed, let's get a new batch of provider results.\n\n await getShowEpisodeHistory({\n showSlug: show.id.slug,\n episodeSlug\n });\n await getProviderCacheResults({\n showSlug: show.id.slug,\n season,\n episode\n });\n } // Update qTip\n\n\n Object(_utils_jquery__WEBPACK_IMPORTED_MODULE_7__[\"addQTip\"])();\n },\n\n deep: true,\n immediate: false\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-results.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/snatch-selection.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/snatch-selection.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _show_header_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./show-header.vue */ \"./src/components/show-header.vue\");\n/* harmony import */ var _show_history_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./show-history.vue */ \"./src/components/show-history.vue\");\n/* harmony import */ var _show_results_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./show-results.vue */ \"./src/components/show-results.vue\");\n/* harmony import */ var _backstretch_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./backstretch.vue */ \"./src/components/backstretch.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'snatch-selection',\n template: '#snatch-selection-template',\n components: {\n Backstretch: _backstretch_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n ShowHeader: _show_header_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ShowHistory: _show_history_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ShowResults: _show_results_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n\n metaInfo() {\n if (!this.show || !this.show.title) {\n return {\n title: 'Medusa'\n };\n }\n\n const {\n title\n } = this.show;\n return {\n title,\n titleTemplate: '%s | Medusa'\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n shows: state => state.shows.shows,\n config: state => state.config.general,\n search: state => state.config.search,\n history: state => state.history\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n show: 'getCurrentShow',\n effectiveIgnored: 'effectiveIgnored',\n effectiveRequired: 'effectiveRequired',\n getShowHistoryBySlug: 'getShowHistoryBySlug',\n getEpisode: 'getEpisode'\n }),\n\n indexer() {\n return this.$route.query.indexername;\n },\n\n id() {\n return Number(this.$route.query.seriesid);\n },\n\n season() {\n return Number(this.$route.query.season);\n },\n\n episode() {\n if (this.$route.query.manual_search_type === 'season') {\n return;\n }\n\n return Number(this.$route.query.episode);\n },\n\n manualSearchType() {\n return this.$route.query.manual_search_type;\n }\n\n },\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n getShow: 'getShow',\n // Map `this.getShow()` to `this.$store.dispatch('getShow')`\n getHistory: 'getHistory'\n }),\n\n // TODO: Move this to show-results!\n getReleaseNameClasses(name) {\n const {\n effectiveIgnored,\n effectiveRequired,\n search,\n show\n } = this;\n const classes = [];\n\n if (effectiveIgnored(show).map(word => {\n return name.toLowerCase().includes(word.toLowerCase());\n }).filter(x => x === true).length > 0) {\n classes.push('global-ignored');\n }\n\n if (effectiveRequired(show).map(word => {\n return name.toLowerCase().includes(word.toLowerCase());\n }).filter(x => x === true).length > 0) {\n classes.push('global-required');\n }\n\n if (search.filters.undesired.map(word => {\n return name.toLowerCase().includes(word.toLowerCase());\n }).filter(x => x === true).length > 0) {\n classes.push('global-undesired');\n }\n\n return classes.join(' ');\n }\n\n },\n\n mounted() {\n const {\n indexer,\n id,\n show,\n getShow,\n $store\n } = this; // Let's tell the store which show we currently want as current.\n\n $store.commit('currentShow', {\n indexer,\n id\n }); // We need the show info, so let's get it.\n\n if (!show || !show.id.slug) {\n getShow({\n id,\n indexer,\n detailed: false\n });\n }\n }\n\n});\n\n//# sourceURL=webpack:///./src/components/snatch-selection.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/status.vue?vue&type=script&lang=js&": -/*!******************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/status.vue?vue&type=script&lang=js& ***! - \******************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'status',\n template: '#status-template',\n computed: Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config\n }),\n\n mounted() {\n $('#schedulerStatusTable').tablesorter({\n widgets: ['saveSort', 'zebra'],\n textExtraction: {\n 5(node) {\n return $(node).data('seconds');\n },\n\n 6(node) {\n return $(node).data('seconds');\n }\n\n },\n headers: {\n 5: {\n sorter: 'digit'\n },\n 6: {\n sorter: 'digit'\n }\n }\n });\n $('#queueStatusTable').tablesorter({\n widgets: ['saveSort', 'zebra'],\n sortList: [[3, 0], [4, 0], [2, 1]]\n });\n }\n\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/status.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/sub-menu.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/sub-menu.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'sub-menu',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"AppLink\"],\n ShowSelector: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"ShowSelector\"]\n },\n computed: {\n subMenu() {\n const {\n $route\n } = this;\n let subMenu = $route.meta.subMenu || [];\n\n if (typeof subMenu === 'function') {\n subMenu = subMenu(this);\n } // Filters `requires = false` and reverses the array\n\n\n const reducer = (arr, item) => item.requires === undefined || item.requires ? arr.concat(item) : arr;\n\n return subMenu.reduceRight(reducer, []);\n },\n\n curShowSlug() {\n const {\n $route\n } = this;\n const {\n indexername,\n seriesid\n } = $route.query;\n\n if (indexername && seriesid) {\n return indexername + seriesid;\n }\n\n return '';\n }\n\n },\n methods: {\n clickEventCond(menuItem) {\n return menuItem.confirm ? 'click' : null;\n },\n\n confirmDialog(event, action) {\n const options = {\n confirmButton: 'Yes',\n cancelButton: 'Cancel',\n dialogClass: 'modal-dialog',\n post: false,\n button: $(event.currentTarget),\n\n confirm($element) {\n window.location.href = $element[0].href;\n }\n\n };\n\n if (action === 'removeshow') {\n const showName = document.querySelector('#showtitle').dataset.showname;\n options.title = 'Remove Show';\n options.text = `Are you sure you want to remove ${showName} from the database?

    \n Check to delete files as well. IRREVERSIBLE`;\n\n options.confirm = $element => {\n window.location.href = $element[0].href + (document.querySelector('#deleteFiles').checked ? '&full=1' : '');\n };\n } else if (action === 'clearhistory') {\n options.title = 'Clear History';\n options.text = 'Are you sure you want to clear all download history?';\n } else if (action === 'trimhistory') {\n options.title = 'Trim History';\n options.text = 'Are you sure you want to trim all download history older than 30 days?';\n } else if (action === 'submiterrors') {\n options.title = 'Submit Errors';\n options.text = `Are you sure you want to submit these errors?

    \n Make sure Medusa is updated and trigger
    \n this error with debug enabled before submitting
    `;\n } else {\n return;\n }\n\n $.confirm(options, event);\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/sub-menu.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/subtitle-search.vue?vue&type=script&lang=js&": -/*!***************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/subtitle-search.vue?vue&type=script&lang=js& ***! - \***************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../api */ \"./src/api.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'subtitle-search',\n components: {\n StateSwitch: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"StateSwitch\"],\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_1__[\"VueGoodTable\"]\n },\n props: {\n show: {\n type: Object,\n required: true\n },\n episode: {\n type: Object,\n required: true\n },\n lang: {\n type: String,\n required: false\n }\n },\n\n data() {\n return {\n columns: [{\n label: 'Filename',\n field: 'filename'\n }, {\n label: 'Language',\n field: 'lang'\n }, {\n label: 'Provider',\n field: 'provider'\n }, {\n label: 'Score',\n field: 'score',\n type: 'number'\n }, {\n label: 'Sub Score',\n field: 'sub_score',\n type: 'number'\n }, {\n label: 'Missing Matches',\n field: rowObj => {\n if (rowObj.missing_guess) {\n return rowObj.missing_guess.join(', ');\n }\n },\n type: 'array'\n }, {\n label: 'Download',\n field: 'download',\n sortable: false\n }],\n subtitles: [],\n displayQuestion: false,\n searchType: null,\n loading: false,\n loadingMessage: ''\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n general: state => state.config.general\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n getLastReleaseName: 'getLastReleaseName'\n }),\n\n releaseName() {\n const {\n episode,\n getLastReleaseName,\n show\n } = this;\n const lastKnownReleaseName = getLastReleaseName({\n showSlug: show.id.slug,\n episodeSlug: episode.slug\n });\n\n if (lastKnownReleaseName) {\n return `Select subtitle for release: ${lastKnownReleaseName}`;\n }\n\n return 'Could not get a downloaded release name from the history table';\n },\n\n subtitleParams() {\n const {\n episode,\n show\n } = this;\n const params = {\n indexername: show.indexer,\n seriesid: show.id[show.indexer],\n season: episode.season,\n episode: episode.episode\n };\n return params;\n }\n\n },\n\n mounted() {\n this.displayQuestion = true;\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])(['getShowEpisodeHistory']),\n\n autoSearch() {\n this.searchType = 'auto';\n const {\n lang,\n subtitleParams\n } = this;\n const params = subtitleParams;\n\n if (lang !== undefined) {\n params.lang = lang;\n }\n\n this.displayQuestion = false;\n this.loadingMessage = 'Searching for subtitles and downloading if available... ';\n this.loading = true;\n Object(_api__WEBPACK_IMPORTED_MODULE_2__[\"apiRoute\"])('home/searchEpisodeSubtitles', {\n params\n }).then(response => {\n if (response.data.result !== 'failure') {\n // Update the show, as we have new information (subtitles)\n // Let's emit an event, telling the displayShow component, to update the show using the api/store.\n this.$emit('update', {\n reason: 'new subtitles found',\n codes: response.data.subtitles,\n languages: response.data.languages\n });\n }\n }).catch(error => {\n console.log(`Error trying to search for subtitles. Error: ${error}`);\n }).finally(() => {\n // Cleanup\n this.loadingMessage = '';\n this.loading = false;\n this.close();\n });\n },\n\n manualSearch() {\n this.searchType = 'manual';\n const {\n episode,\n getShowEpisodeHistory,\n show,\n subtitleParams\n } = this;\n this.displayQuestion = false;\n this.loading = true;\n this.loadingMessage = 'Searching for subtitles... ';\n Object(_api__WEBPACK_IMPORTED_MODULE_2__[\"apiRoute\"])('home/manualSearchSubtitles', {\n params: subtitleParams\n }).then(response => {\n if (response.data.result === 'success') {\n this.subtitles.push(...response.data.subtitles); // Load episode history if we have subtitles.\n\n getShowEpisodeHistory({\n showSlug: show.id.slug,\n episodeSlug: episode.slug\n });\n }\n }).catch(error => {\n console.log(`Error trying to search for subtitles. Error: ${error}`);\n }).finally(() => {\n this.loading = false;\n });\n },\n\n redownloadLang() {\n const {\n subtitleParams\n } = this;\n Object(_api__WEBPACK_IMPORTED_MODULE_2__[\"apiRoute\"])('home/searchEpisodeSubtitles', {\n params: subtitleParams\n }).then(response => {\n if (response.data.result !== 'failure') {\n // Update the show, as we have new information (subtitles)\n // Let's emit an event, telling the displayShow component, to update the show using the api/store.\n this.$emit('update', {\n reason: 'new subtitles found',\n codes: response.data.subtitles,\n languages: response.data.languages\n });\n }\n }).catch(error => {\n console.log(`Error trying to search for subtitles. Error: ${error}`);\n }).finally(() => {\n // Cleanup\n this.loadingMessage = '';\n this.loading = false;\n this.close();\n });\n },\n\n pickSubtitle(subtitleId) {\n // Download and save this subtitle with the episode.\n const {\n subtitleParams\n } = this;\n const params = { ...subtitleParams,\n picked_id: subtitleId // eslint-disable-line camelcase\n\n };\n this.displayQuestion = false;\n this.loadingMessage = 'downloading subtitle... ';\n this.loading = true;\n Object(_api__WEBPACK_IMPORTED_MODULE_2__[\"apiRoute\"])('home/manualSearchSubtitles', {\n params\n }).then(response => {\n if (response.data.result === 'success') {\n // Update the show, as we have new information (subtitles)\n // Let's emit an event, telling the displayShow component, to update the show using the api/store.\n this.$emit('update', {\n reason: 'new subtitles found',\n codes: response.data.subtitles,\n languages: response.data.languages\n });\n }\n }).catch(error => {\n console.log(`Error trying to search for subtitles. Error: ${error}`);\n }).finally(() => {\n // Cleanup\n this.loadingMessage = '';\n this.loading = false;\n this.close();\n });\n },\n\n close() {\n this.$emit('close'); // Destroy the vue listeners, etc\n\n this.$destroy(); // Remove the element from the DOM\n\n this.$el.remove();\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/subtitle-search.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/anidb-release-group-ui.vue?vue&type=style&index=0&id=662b9a4b&scoped=true&lang=css&": -/*!*************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/anidb-release-group-ui.vue?vue&type=style&index=0&id=662b9a4b&scoped=true&lang=css& ***! - \*************************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\ndiv.anidb-release-group-ui-wrapper[data-v-662b9a4b] {\\n clear: both;\\n margin-bottom: 20px;\\n}\\ndiv.anidb-release-group-ui-wrapper ul[data-v-662b9a4b] {\\n border-style: solid;\\n border-width: thin;\\n padding: 5px 2px 2px 5px;\\n list-style: none;\\n}\\ndiv.anidb-release-group-ui-wrapper li.active[data-v-662b9a4b] {\\n background-color: cornflowerblue;\\n}\\ndiv.anidb-release-group-ui-wrapper div.arrow img[data-v-662b9a4b] {\\n cursor: pointer;\\n height: 32px;\\n width: 32px;\\n}\\ndiv.anidb-release-group-ui-wrapper img.deleteFromWhitelist[data-v-662b9a4b],\\ndiv.anidb-release-group-ui-wrapper img.deleteFromBlacklist[data-v-662b9a4b] {\\n float: right;\\n}\\ndiv.anidb-release-group-ui-wrapper #add-new-release-group p > img[data-v-662b9a4b] {\\n height: 16px;\\n width: 16px;\\n background-color: rgb(204, 204, 204);\\n}\\ndiv.anidb-release-group-ui-wrapper.placeholder[data-v-662b9a4b] {\\n height: 32px;\\n}\\ndiv.anidb-release-group-ui-wrapper.max-width[data-v-662b9a4b] {\\n max-width: 960px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/anidb-release-group-ui.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/app-header.vue?vue&type=style&index=0&lang=css&": -/*!*************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/app-header.vue?vue&type=style&index=0&lang=css& ***! - \*************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.floating-badge {\\n position: absolute;\\n top: -5px;\\n right: -8px;\\n padding: 0 4px;\\n background-color: #777;\\n border: 2px solid #959595;\\n border-radius: 100px;\\n font-size: 12px;\\n font-weight: bold;\\n text-decoration: none;\\n color: white;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/app-header.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/config-general.vue?vue&type=style&index=0&lang=css&": -/*!*****************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-general.vue?vue&type=style&index=0&lang=css& ***! - \*****************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.display-inline {\\n display: inline;\\n}\\n.radio-item {\\n display: block;\\n}\\n.multiselect {\\n margin-bottom: 10px;\\n}\\n.margin-bottom-5 {\\n margin-bottom: 5px;\\n}\\n.plotInfo {\\n cursor: help;\\n float: right;\\n position: relative;\\n top: 2px;\\n}\\n.plotInfoNone {\\n cursor: help;\\n float: right;\\n position: relative;\\n top: 2px;\\n opacity: 0.4;\\n}\\n.v-popover {\\n display: inline;\\n}\\n.tooltip-base {\\n position: relative;\\n display: inline-block !important;\\n z-index: 999;\\n max-width: 276px;\\n padding: 1px;\\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\\n font-style: normal;\\n font-weight: 400;\\n font-size: 14px;\\n line-height: 1.42857143;\\n line-break: auto;\\n text-align: start;\\n text-decoration: none;\\n text-shadow: none;\\n text-transform: none;\\n letter-spacing: normal;\\n word-break: normal;\\n word-spacing: normal;\\n word-wrap: normal;\\n white-space: normal;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n border-radius: 6px;\\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\\n}\\n.tooltip-base.tooltip-themed-dark {\\n background-color: rgb(51, 51, 51);\\n border-color: #111;\\n}\\n.tooltip-base .tooltip-inner {\\n background-color: inherit;\\n color: inherit;\\n text-align: inherit;\\n max-width: inherit;\\n padding: 0;\\n border-radius: 6px;\\n}\\n.tooltip-title {\\n padding: 8px 14px;\\n margin: 0;\\n border-radius: 5px 5px 0 0;\\n}\\n.tooltip-content {\\n padding: 9px 14px;\\n margin: 0;\\n}\\n.tooltip-themed-dark .tooltip-title {\\n background-color: rgb(35, 35, 35);\\n border-bottom-color: #111;\\n}\\n.tooltip-themed-light .tooltip-title {\\n padding: 8px 14px;\\n margin: 0;\\n font-size: 14px;\\n background-color: #f7f7f7;\\n border-bottom: 1px solid #ebebeb;\\n border-radius: 5px 5px 0 0;\\n}\\n.tooltip-base[x-placement^=\\\"left\\\"]::after,\\n.tooltip-base[x-placement^=\\\"left\\\"]::before {\\n left: 100%;\\n top: 50%;\\n border: solid transparent;\\n content: \\\" \\\";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none;\\n}\\n.tooltip-base[x-placement^=\\\"left\\\"]::after {\\n border-color: rgba(255, 255, 255, 0);\\n border-left-color: #fff;\\n border-width: 11px;\\n margin-top: -11px;\\n content: \\\" \\\";\\n}\\n.tooltip-base[x-placement^=\\\"left\\\"]::before {\\n border-color: rgba(0, 0, 0, 0);\\n border-left-color: rgba(0, 0, 0, 0.2);\\n border-width: 12px;\\n margin-top: -12px;\\n content: \\\" \\\";\\n}\\n.tooltip-base[x-placement^=\\\"right\\\"]::after,\\n.tooltip-base[x-placement^=\\\"right\\\"]::before {\\n right: 100%;\\n top: 50%;\\n border: solid transparent;\\n content: \\\" \\\";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none;\\n}\\n.tooltip-base[x-placement^=\\\"right\\\"]::after {\\n border-color: rgba(255, 255, 255, 0);\\n border-right-color: #fff;\\n border-width: 11px;\\n margin-top: -11px;\\n content: \\\" \\\";\\n}\\n.tooltip-base[x-placement^=\\\"right\\\"]::before {\\n border-color: rgba(0, 0, 0, 0);\\n border-right-color: rgba(0, 0, 0, 0.2);\\n border-width: 12px;\\n margin-top: -12px;\\n content: \\\" \\\";\\n}\\n\\n/* The background of the arrow, the outline */\\n.tooltip-themed-dark[x-placement^=\\\"left\\\"]::before {\\n border-left-color: #000 !important;\\n}\\n\\n/* The background of the arrow, the outline */\\n.tooltip-themed-dark[x-placement^=\\\"right\\\"]::before {\\n border-right-color: #000 !important;\\n}\\n\\n/* The foreground of the arrow, the filling */\\n.tooltip-themed-dark[x-placement^=\\\"left\\\"]::after {\\n border-left-color: rgb(51, 51, 51) !important;\\n}\\n\\n/* The foreground of the arrow, the filling */\\n.tooltip-themed-dark[x-placement^=\\\"right\\\"]::after {\\n border-right-color: rgb(51, 51, 51) !important;\\n}\\n.tooltip-arrow {\\n display: none;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/config-general.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/config.vue?vue&type=style&index=0&id=b286475c&scoped=true&lang=css&": -/*!*********************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config.vue?vue&type=style&index=0&id=b286475c&scoped=true&lang=css& ***! - \*********************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.infoTable tr td[data-v-b286475c]:first-child {\\n vertical-align: top;\\n}\\npre[data-v-b286475c] {\\n padding: 5px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/config.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/display-show.vue?vue&type=style&index=0&id=6dfe8938&scoped=true&lang=css&": -/*!***************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/display-show.vue?vue&type=style&index=0&id=6dfe8938&scoped=true&lang=css& ***! - \***************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.vgt-global-search__input.vgt-pull-left[data-v-6dfe8938] {\\n float: left;\\n height: 40px;\\n}\\n.vgt-input[data-v-6dfe8938] {\\n border: 1px solid #ccc;\\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;\\n height: 30px;\\n padding: 5px 10px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 3px;\\n}\\ndiv.vgt-responsive > table tbody > tr > th.vgt-row-header > span[data-v-6dfe8938] {\\n font-size: 24px;\\n margin-top: 20px;\\n margin-bottom: 10px;\\n}\\n.defaultTable.displayShow[data-v-6dfe8938] {\\n clear: both;\\n}\\n.displayShowTable.displayShow[data-v-6dfe8938] {\\n clear: both;\\n}\\n.fanartBackground.displayShow[data-v-6dfe8938] {\\n clear: both;\\n opacity: 0.9;\\n}\\n.fanartBackground table[data-v-6dfe8938] {\\n table-layout: auto;\\n width: 100%;\\n border-collapse: collapse;\\n border-spacing: 0;\\n text-align: center;\\n border: none;\\n empty-cells: show;\\n color: rgb(0, 0, 0) !important;\\n}\\n.summaryFanArt[data-v-6dfe8938] {\\n opacity: 0.9;\\n}\\n.fanartBackground > table th.vgt-row-header[data-v-6dfe8938] {\\n border: none !important;\\n background-color: transparent !important;\\n color: rgb(255, 255, 255) !important;\\n padding-top: 15px !important;\\n text-align: left !important;\\n}\\n.fanartBackground td.col-search[data-v-6dfe8938] {\\n text-align: center;\\n}\\n\\n/* Trying to migrate this from tablesorter */\\n\\n/* =======================================================================\\ntablesorter.css\\n========================================================================== */\\n.displayShow[data-v-6dfe8938] .vgt-table {\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n color: rgb(0, 0, 0);\\n text-align: left;\\n border-spacing: 0;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table th,\\n.displayShow[data-v-6dfe8938] .vgt-table td {\\n padding: 4px;\\n border-top: rgb(34, 34, 34) 1px solid;\\n border-left: rgb(34, 34, 34) 1px solid;\\n vertical-align: middle;\\n}\\n\\n/* remove extra border from left edge */\\n.displayShow[data-v-6dfe8938] .vgt-table th:first-child,\\n.displayShow[data-v-6dfe8938] .vgt-table td:first-child {\\n border-left: none;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table th {\\n /* color: rgb(255, 255, 255); */\\n text-align: center;\\n text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);\\n background-color: rgb(51, 51, 51);\\n border-collapse: collapse;\\n font-weight: normal;\\n white-space: nowrap;\\n color: rgb(255, 255, 255);\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table span.break-word {\\n word-wrap: break-word;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table thead th.sorting.sorting-desc {\\n background-color: rgb(85, 85, 85);\\n background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table thead th.sorting.sorting-asc {\\n background-color: rgb(85, 85, 85);\\n background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);\\n background-position-x: right;\\n background-position-y: bottom;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table thead th.sorting {\\n background-repeat: no-repeat;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table thead th {\\n background-image: none;\\n padding: 4px;\\n cursor: default;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table input.tablesorter-filter {\\n width: 98%;\\n height: auto;\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table tr.tablesorter-filter-row,\\n.displayShow[data-v-6dfe8938] .vgt-table tr.tablesorter-filter-row td {\\n text-align: center;\\n}\\n\\n/* optional disabled input styling */\\n.displayShow[data-v-6dfe8938] .vgt-table input.tablesorter-filter-row .disabled {\\n display: none;\\n}\\n.tablesorter-header-inner[data-v-6dfe8938] {\\n padding: 0 2px;\\n text-align: center;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table tfoot tr {\\n color: rgb(255, 255, 255);\\n text-align: center;\\n text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);\\n background-color: rgb(51, 51, 51);\\n border-collapse: collapse;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table tfoot a {\\n color: rgb(255, 255, 255);\\n text-decoration: none;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table th.vgt-row-header {\\n text-align: left;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table .season-header {\\n display: inline;\\n margin-left: 5px;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table tr.spacer {\\n height: 25px;\\n}\\n.displayShow[data-v-6dfe8938] .unaired {\\n background-color: rgb(245, 241, 228);\\n}\\n.displayShow[data-v-6dfe8938] .skipped {\\n background-color: rgb(190, 222, 237);\\n}\\n.displayShow[data-v-6dfe8938] .preferred {\\n background-color: rgb(195, 227, 200);\\n}\\n.displayShow[data-v-6dfe8938] .archived {\\n background-color: rgb(195, 227, 200);\\n}\\n.displayShow[data-v-6dfe8938] .allowed {\\n background-color: rgb(255, 218, 138);\\n}\\n.displayShow[data-v-6dfe8938] .wanted {\\n background-color: rgb(255, 176, 176);\\n}\\n.displayShow[data-v-6dfe8938] .snatched {\\n background-color: rgb(235, 193, 234);\\n}\\n.displayShow[data-v-6dfe8938] .downloaded {\\n background-color: rgb(255, 218, 138);\\n}\\n.displayShow[data-v-6dfe8938] .failed {\\n background-color: rgb(255, 153, 153);\\n}\\n.displayShow[data-v-6dfe8938] span.unaired {\\n color: rgb(88, 75, 32);\\n}\\n.displayShow[data-v-6dfe8938] span.skipped {\\n color: rgb(29, 80, 104);\\n}\\n.displayShow[data-v-6dfe8938] span.preffered {\\n color: rgb(41, 87, 48);\\n}\\n.displayShow[data-v-6dfe8938] span.allowed {\\n color: rgb(118, 81, 0);\\n}\\n.displayShow[data-v-6dfe8938] span.wanted {\\n color: rgb(137, 0, 0);\\n}\\n.displayShow[data-v-6dfe8938] span.snatched {\\n color: rgb(101, 33, 100);\\n}\\n.displayShow[data-v-6dfe8938] span.unaired b,\\n.displayShow[data-v-6dfe8938] span.skipped b,\\n.displayShow[data-v-6dfe8938] span.preferred b,\\n.displayShow[data-v-6dfe8938] span.allowed b,\\n.displayShow[data-v-6dfe8938] span.wanted b,\\n.displayShow[data-v-6dfe8938] span.snatched b {\\n color: rgb(0, 0, 0);\\n font-weight: 800;\\n}\\ntd.col-footer[data-v-6dfe8938] {\\n text-align: left !important;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-wrap__footer {\\n color: rgb(255, 255, 255);\\n padding: 1em;\\n background-color: rgb(51, 51, 51);\\n margin-bottom: 1em;\\n display: flex;\\n justify-content: space-between;\\n}\\n.displayShow[data-v-6dfe8938] .footer__row-count,\\n.displayShow[data-v-6dfe8938] .footer__navigation__page-info {\\n display: inline;\\n}\\n.displayShow[data-v-6dfe8938] .footer__row-count__label {\\n margin-right: 1em;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-wrap__footer .footer__navigation {\\n font-size: 14px;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-pull-right {\\n float: right !important;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-wrap__footer .footer__navigation__page-btn .chevron {\\n width: 24px;\\n height: 24px;\\n border-radius: 15%;\\n position: relative;\\n margin: 0 8px;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-wrap__footer .footer__navigation__info,\\n.displayShow[data-v-6dfe8938] .vgt-wrap__footer .footer__navigation__page-info {\\n display: inline-flex;\\n color: #909399;\\n margin: 0 16px;\\n margin-top: 0;\\n margin-right: 16px;\\n margin-bottom: 0;\\n margin-left: 16px;\\n}\\n.select-info span[data-v-6dfe8938] {\\n margin-left: 5px;\\n line-height: 40px;\\n}\\n\\n/** Style the modal. This should be saved somewhere, where we create one modal template with slots, and style that. */\\n.modal-container[data-v-6dfe8938] {\\n border: 1px solid rgb(17, 17, 17);\\n box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.175);\\n border-radius: 0;\\n}\\n.modal-header[data-v-6dfe8938] {\\n padding: 9px 15px;\\n border-bottom: none;\\n border-radius: 0;\\n background-color: rgb(55, 55, 55);\\n}\\n.modal-content[data-v-6dfe8938] {\\n background: rgb(34, 34, 34);\\n border-radius: 0;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\\n color: white;\\n}\\n.modal-body[data-v-6dfe8938] {\\n background: rgb(34, 34, 34);\\n overflow-y: auto;\\n}\\n.modal-footer[data-v-6dfe8938] {\\n border-top: none;\\n text-align: center;\\n}\\n.subtitles > div[data-v-6dfe8938] {\\n float: left;\\n}\\n.subtitles > div[data-v-6dfe8938]:not(:last-child) {\\n margin-right: 2px;\\n}\\n.align-center[data-v-6dfe8938] {\\n display: flex;\\n justify-content: center;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-dropdown-menu {\\n position: absolute;\\n z-index: 1000;\\n float: left;\\n min-width: 160px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n font-size: 14px;\\n text-align: left;\\n list-style: none;\\n background-clip: padding-box;\\n border-radius: 4px;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-dropdown-menu > li > span {\\n display: block;\\n padding: 3px 20px;\\n clear: both;\\n font-weight: 400;\\n line-height: 1.42857143;\\n white-space: nowrap;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/display-show.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/app-link.vue?vue&type=style&index=0&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/app-link.vue?vue&type=style&index=0&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/*\\n@NOTE: This fixes the header blocking elements when using a hash link\\ne.g. displayShow?indexername=tvdb&seriesid=83462#season-5\\n*/\\n[false-link]::before {\\n content: '';\\n display: block;\\n position: absolute;\\n height: 100px;\\n margin-top: -100px;\\n z-index: -100;\\n}\\n.router-link,\\n.router-link-active {\\n cursor: pointer;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/app-link.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/asset.vue?vue&type=style&index=0&id=77ce7ff4&scoped=true&lang=css&": -/*!****************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/asset.vue?vue&type=style&index=0&id=77ce7ff4&scoped=true&lang=css& ***! - \****************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.width-40[data-v-77ce7ff4] {\\n width: 40px;\\n}\\n.width-50[data-v-77ce7ff4] {\\n width: 50px;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/asset.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-scene-exceptions.vue?vue&type=style&index=0&id=1c188ea6&scoped=true&lang=css&": -/*!**********************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-scene-exceptions.vue?vue&type=style&index=0&id=1c188ea6&scoped=true&lang=css& ***! - \**********************************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\ndiv.select-list ul[data-v-1c188ea6] {\\n padding-left: 0;\\n}\\ndiv.select-list li[data-v-1c188ea6] {\\n list-style-type: none;\\n display: flex;\\n}\\ndiv.select-list .new-item[data-v-1c188ea6] {\\n display: flex;\\n}\\ndiv.select-list .new-item-help[data-v-1c188ea6] {\\n font-weight: bold;\\n padding-top: 5px;\\n}\\ndiv.select-list input[data-v-1c188ea6],\\ndiv.select-list img[data-v-1c188ea6] {\\n display: inline-block;\\n box-sizing: border-box;\\n}\\ndiv.select-list.max-width[data-v-1c188ea6] {\\n max-width: 450px;\\n}\\ndiv.select-list .switch-input[data-v-1c188ea6] {\\n left: -8px;\\n top: 4px;\\n position: absolute;\\n z-index: 10;\\n opacity: 0.6;\\n}\\n.form-inline[data-v-1c188ea6] {\\n display: contents;\\n}\\n.select-season[data-v-1c188ea6] {\\n height: 30px;\\n padding: 0 3px 0 2px;\\n}\\n.select-season[disabled=disabled][data-v-1c188ea6] {\\n background-color: #eee;\\n}\\n.external-scene-exception[data-v-1c188ea6] {\\n display: table-cell;\\n width: 4.5px;\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n background-color: #fff;\\n border-color: #ccc;\\n}\\n.external-scene-exception div[data-v-1c188ea6] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 40px;\\n height: 30px;\\n border: 1px solid #ccc;\\n border-top-left-radius: 0;\\n border-top-right-radius: 4px;\\n border-bottom-left-radius: 0;\\n border-bottom-right-radius: 4px;\\n z-index: 2;\\n margin-left: -1px;\\n}\\n.external-scene-exception > img[data-v-1c188ea6] {\\n display: block;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.external-scene-exception:last-child > .div[data-v-1c188ea6] {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n/* We still need to move this to some sort of css import */\\n.tooltip-wrapper[data-v-1c188ea6] {\\n float: left;\\n min-width: 340px;\\n}\\n.invalid[data-v-1c188ea6] {\\n background-color: #ff5b5b;\\n}\\n.tooltip[data-v-1c188ea6] {\\n display: block !important;\\n z-index: 10000;\\n}\\n.tooltip .tooltip-inner[data-v-1c188ea6] {\\n background: #ffef93;\\n color: #555;\\n border-radius: 16px;\\n padding: 5px 10px 4px;\\n border: 1px solid #f1d031;\\n -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n}\\n.tooltip .tooltip-arrow[data-v-1c188ea6] {\\n width: 0;\\n height: 0;\\n position: absolute;\\n margin: 5px;\\n border: 1px solid #ffef93;\\n z-index: 1;\\n}\\n.tooltip[x-placement^='top'][data-v-1c188ea6] {\\n margin-bottom: 5px;\\n}\\n.tooltip[x-placement^='top'] .tooltip-arrow[data-v-1c188ea6] {\\n border-width: 5px 5px 0 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n bottom: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.tooltip[x-placement^='bottom'][data-v-1c188ea6] {\\n margin-top: 5px;\\n}\\n.tooltip[x-placement^='bottom'] .tooltip-arrow[data-v-1c188ea6] {\\n border-width: 0 5px 5px 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-top-color: transparent !important;\\n top: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.tooltip[x-placement^='right'][data-v-1c188ea6] {\\n margin-left: 5px;\\n}\\n.tooltip[x-placement^='right'] .tooltip-arrow[data-v-1c188ea6] {\\n border-width: 5px 5px 5px 0;\\n border-left-color: transparent !important;\\n border-top-color: transparent !important;\\n border-bottom-color: transparent !important;\\n left: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n}\\n.tooltip[x-placement^='left'][data-v-1c188ea6] {\\n margin-right: 5px;\\n}\\n.tooltip[x-placement^='left'] .tooltip-arrow[data-v-1c188ea6] {\\n border-width: 5px 0 5px 5px;\\n border-top-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n right: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n}\\n.tooltip.popover .popover-inner[data-v-1c188ea6] {\\n background: #ffef93;\\n color: #555;\\n padding: 24px;\\n border-radius: 5px;\\n box-shadow: 0 5px 30px rgba(black, 0.1);\\n}\\n.tooltip.popover .popover-arrow[data-v-1c188ea6] {\\n border-color: #ffef93;\\n}\\n.tooltip[aria-hidden='true'][data-v-1c188ea6] {\\n visibility: hidden;\\n opacity: 0;\\n transition: opacity 0.15s, visibility 0.15s;\\n}\\n.tooltip[aria-hidden='false'][data-v-1c188ea6] {\\n visibility: visible;\\n opacity: 1;\\n transition: opacity 0.15s;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-scene-exceptions.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-textbox-number.vue?vue&type=style&index=0&lang=css&": -/*!********************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-textbox-number.vue?vue&type=style&index=0&lang=css& ***! - \********************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.form-control {\\n color: rgb(0, 0, 0);\\n}\\n.input75 {\\n width: 75px;\\n margin-top: -4px;\\n}\\n.input250 {\\n width: 250px;\\n margin-top: -4px;\\n}\\n.input350 {\\n width: 350px;\\n margin-top: -4px;\\n}\\n.input450 {\\n width: 450px;\\n margin-top: -4px;\\n}\\ninput {\\n margin-bottom: 5px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-textbox-number.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-textbox.vue?vue&type=style&index=0&lang=css&": -/*!*************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-textbox.vue?vue&type=style&index=0&lang=css& ***! - \*************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.input75 {\\n width: 75px;\\n margin-top: -4px;\\n}\\n.input250 {\\n width: 250px;\\n margin-top: -4px;\\n}\\n.input350 {\\n width: 350px;\\n margin-top: -4px;\\n}\\n.input450 {\\n width: 450px;\\n margin-top: -4px;\\n}\\ninput {\\n margin-bottom: 5px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-textbox.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-toggle-slider.vue?vue&type=style&index=0&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-toggle-slider.vue?vue&type=style&index=0&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.input75 {\\n width: 75px;\\n margin-top: -4px;\\n}\\n.input250 {\\n width: 250px;\\n margin-top: -4px;\\n}\\n.input350 {\\n width: 350px;\\n margin-top: -4px;\\n}\\n.input450 {\\n width: 450px;\\n margin-top: -4px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-toggle-slider.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/file-browser.vue?vue&type=style&index=0&id=e1171a9e&scoped=true&lang=css&": -/*!***********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/file-browser.vue?vue&type=style&index=0&id=e1171a9e&scoped=true&lang=css& ***! - \***********************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\ndiv.file-browser.max-width[data-v-e1171a9e] {\\n max-width: 450px;\\n}\\ndiv.file-browser .input-group-no-btn[data-v-e1171a9e] {\\n display: flex;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/file-browser.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/lazy-image.vue?vue&type=style&index=0&id=2a36af9c&scoped=true&lang=css&": -/*!*********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/lazy-image.vue?vue&type=style&index=0&id=2a36af9c&scoped=true&lang=css& ***! - \*********************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.app-image[data-v-2a36af9c] {\\n max-width: 100%;\\n max-height: 100%;\\n width: auto;\\n height: auto;\\n vertical-align: middle;\\n}\\nimg[data-v-2a36af9c]:not([src]) {\\n visibility: hidden;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/lazy-image.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/load-progress-bar.vue?vue&type=style&index=0&lang=css&": -/*!****************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/load-progress-bar.vue?vue&type=style&index=0&lang=css& ***! - \****************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.load-progress-bar-container {\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n}\\n.border {\\n box-sizing: border-box;\\n height: 26px;\\n text-size-adjust: 100%;\\n width: 382px;\\n perspective-origin: 191px 13px;\\n transform-origin: 191px 13px;\\n border: 1px solid #ccc;\\n border-radius: 5px;\\n}\\n@media (max-width: 767px) {\\n.border {\\n width: 100%;\\n}\\n.load-progress-bar-container {\\n width: 100%;\\n}\\n}\\n.progress {\\n box-sizing: border-box;\\n height: 24px;\\n text-size-adjust: 100%;\\n width: 76px;\\n perspective-origin: 38px 12px;\\n transform-origin: 38px 12px;\\n background: rgba(99, 177, 137, 0.63) none repeat scroll 0% 0% / auto padding-box border-box;\\n}\\n.msg {\\n position: absolute;\\n padding: 3px 5px 0 5px;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/load-progress-bar.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/plot-info.vue?vue&type=style&index=0&lang=css&": -/*!********************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/plot-info.vue?vue&type=style&index=0&lang=css& ***! - \********************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.plotInfo {\\n cursor: help;\\n float: right;\\n position: relative;\\n top: 2px;\\n}\\n.plotInfoNone {\\n cursor: help;\\n float: right;\\n position: relative;\\n top: 2px;\\n opacity: 0.4;\\n}\\n.tooltip {\\n display: block !important;\\n z-index: 10000;\\n}\\n.tooltip .tooltip-inner {\\n background: #ffef93;\\n color: #555;\\n border-radius: 16px;\\n padding: 5px 10px 4px;\\n border: 1px solid #f1d031;\\n -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n}\\n.tooltip .tooltip-arrow {\\n width: 0;\\n height: 0;\\n position: absolute;\\n margin: 5px;\\n border: 1px solid #ffef93;\\n z-index: 1;\\n}\\n.tooltip[x-placement^=\\\"top\\\"] {\\n margin-bottom: 5px;\\n}\\n.tooltip[x-placement^=\\\"top\\\"] .tooltip-arrow {\\n border-width: 5px 5px 0 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n bottom: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.tooltip[x-placement^=\\\"bottom\\\"] {\\n margin-top: 5px;\\n}\\n.tooltip[x-placement^=\\\"bottom\\\"] .tooltip-arrow {\\n border-width: 0 5px 5px 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-top-color: transparent !important;\\n top: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.tooltip[x-placement^=\\\"right\\\"] {\\n margin-left: 5px;\\n}\\n.tooltip[x-placement^=\\\"right\\\"] .tooltip-arrow {\\n border-width: 5px 5px 5px 0;\\n border-left-color: transparent !important;\\n border-top-color: transparent !important;\\n border-bottom-color: transparent !important;\\n left: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n}\\n.tooltip[x-placement^=\\\"left\\\"] {\\n margin-right: 5px;\\n}\\n.tooltip[x-placement^=\\\"left\\\"] .tooltip-arrow {\\n border-width: 5px 0 5px 5px;\\n border-top-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n right: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n}\\n.tooltip.popover .popover-inner {\\n background: #ffef93;\\n color: #555;\\n padding: 24px;\\n border-radius: 5px;\\n box-shadow: 0 5px 30px rgba(black, 0.1);\\n}\\n.tooltip.popover .popover-arrow {\\n border-color: #ffef93;\\n}\\n.tooltip[aria-hidden='true'] {\\n visibility: hidden;\\n opacity: 0;\\n transition: opacity 0.15s, visibility 0.15s;\\n}\\n.tooltip[aria-hidden='false'] {\\n visibility: visible;\\n opacity: 1;\\n transition: opacity 0.15s;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/plot-info.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/progress-bar.vue?vue&type=style&index=0&id=df985d66&scoped=true&lang=css&": -/*!***********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/progress-bar.vue?vue&type=style&index=0&id=df985d66&scoped=true&lang=css& ***! - \***********************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.progressbar[data-v-df985d66] {\\n position: relative;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/progress-bar.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/quality-chooser.vue?vue&type=style&index=0&id=5aba68fa&scoped=true&lang=css&": -/*!**************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/quality-chooser.vue?vue&type=style&index=0&id=5aba68fa&scoped=true&lang=css& ***! - \**************************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Put both custom quality selectors in the same row */\\n#customQualityWrapper > div[data-v-5aba68fa] {\\n display: inline-block;\\n text-align: left;\\n}\\n\\n/* Put some distance between the two selectors */\\n#customQualityWrapper > div[data-v-5aba68fa]:first-of-type {\\n padding-right: 30px;\\n}\\n.backlog-link[data-v-5aba68fa] {\\n color: blue;\\n text-decoration: underline;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/quality-chooser.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/quality-pill.vue?vue&type=style&index=0&id=259b1c21&scoped=true&lang=css&": -/*!***********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/quality-pill.vue?vue&type=style&index=0&id=259b1c21&scoped=true&lang=css& ***! - \***********************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Base class */\\n.quality[data-v-259b1c21] {\\n font: 12px/13px \\\"Open Sans\\\", verdana, sans-serif;\\n background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25));\\n background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25));\\n background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25));\\n background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25));\\n box-shadow: inset 0 1px rgba(255, 255, 255, 0.1), inset 0 -1px 3px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.08), 0 1px 2px rgba(0, 0, 0, 0.15);\\n text-shadow: 0 1px rgba(0, 0, 0, 0.8);\\n color: rgb(255, 255, 255);\\n display: inline-block;\\n padding: 2px 4px;\\n text-align: center;\\n vertical-align: baseline;\\n border-radius: 4px;\\n white-space: nowrap;\\n}\\n\\n/* Custom */\\n.custom[data-v-259b1c21] {\\n background-color: rgb(98, 25, 147);\\n}\\n\\n/* HD-720p + FHD-1080p */\\n.hd[data-v-259b1c21], \\n.anyhdtv[data-v-259b1c21], \\n.anywebdl[data-v-259b1c21], \\n.anybluray[data-v-259b1c21] { /* AnySet */\\n background-color: rgb(38, 114, 182);\\n background-image:\\n repeating-linear-gradient(\\n -45deg,\\n rgb(38, 114, 182),\\n rgb(38, 114, 182) 10px,\\n rgb(91, 153, 13) 10px,\\n rgb(91, 153, 13) 20px\\n );\\n}\\n\\n/* HD-720p */\\n.hd720p[data-v-259b1c21], \\n.hdtv[data-v-259b1c21],\\n.hdwebdl[data-v-259b1c21],\\n.hdbluray[data-v-259b1c21] {\\n background-color: rgb(91, 153, 13);\\n}\\n\\n/* FHD-1080p */\\n.hd1080p[data-v-259b1c21], \\n.fullhdtv[data-v-259b1c21],\\n.fullhdwebdl[data-v-259b1c21],\\n.fullhdbluray[data-v-259b1c21] {\\n background-color: rgb(38, 114, 182);\\n}\\n\\n/* UHD-4K + UHD-8K */\\n.uhd[data-v-259b1c21] { /* Preset */\\n background-color: rgb(117, 0, 255);\\n background-image:\\n repeating-linear-gradient(\\n -45deg,\\n rgb(117, 0, 255),\\n rgb(117, 0, 255) 10px,\\n rgb(65, 0, 119) 10px,\\n rgb(65, 0, 119) 20px\\n );\\n}\\n\\n/* UHD-4K */\\n.uhd4k[data-v-259b1c21], \\n.anyuhd4k[data-v-259b1c21], \\n.uhd4ktv[data-v-259b1c21],\\n.uhd4kwebdl[data-v-259b1c21],\\n.uhd4kbluray[data-v-259b1c21] {\\n background-color: rgb(117, 0, 255);\\n}\\n\\n/* UHD-8K */\\n.uhd8k[data-v-259b1c21], \\n.anyuhd8k[data-v-259b1c21], \\n.uhd8ktv[data-v-259b1c21],\\n.uhd8kwebdl[data-v-259b1c21],\\n.uhd8kbluray[data-v-259b1c21] {\\n background-color: rgb(65, 0, 119);\\n}\\n\\n/* RawHD/RawHDTV */\\n.rawhdtv[data-v-259b1c21] {\\n background-color: rgb(205, 115, 0);\\n}\\n\\n/* SD */\\n.sd[data-v-259b1c21], \\n.sdtv[data-v-259b1c21],\\n.sddvd[data-v-259b1c21] {\\n background-color: rgb(190, 38, 37);\\n}\\n\\n/* Any */\\n.any[data-v-259b1c21] { /* Preset */\\n background-color: rgb(102, 102, 102);\\n}\\n\\n/* Unknown */\\n.unknown[data-v-259b1c21] {\\n background-color: rgb(153, 153, 153);\\n}\\n\\n/* Proper (used on History page) */\\n.proper[data-v-259b1c21] {\\n background-color: rgb(63, 127, 0);\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/quality-pill.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/scroll-buttons.vue?vue&type=style&index=0&lang=css&": -/*!*************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/scroll-buttons.vue?vue&type=style&index=0&lang=css& ***! - \*************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.scroll-wrapper {\\n position: fixed;\\n opacity: 0;\\n visibility: hidden;\\n overflow: hidden;\\n text-align: center;\\n font-size: 20px;\\n z-index: 999;\\n background-color: #777;\\n color: #eee;\\n width: 50px;\\n height: 48px;\\n line-height: 48px;\\n right: 30px;\\n bottom: 30px;\\n padding-top: 2px;\\n border-radius: 10px;\\n -webkit-transition: all 0.5s ease-in-out;\\n -moz-transition: all 0.5s ease-in-out;\\n -ms-transition: all 0.5s ease-in-out;\\n -o-transition: all 0.5s ease-in-out;\\n transition: all 0.5s ease-in-out;\\n}\\n.scroll-wrapper.show {\\n visibility: visible;\\n cursor: pointer;\\n opacity: 1;\\n}\\n.scroll-wrapper.left {\\n position: fixed;\\n right: 150px;\\n}\\n.scroll-wrapper.right {\\n position: fixed;\\n right: 90px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/scroll-buttons.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/select-list.vue?vue&type=style&index=0&id=466bd1e5&scoped=true&lang=css&": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/select-list.vue?vue&type=style&index=0&id=466bd1e5&scoped=true&lang=css& ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\ndiv.select-list ul[data-v-466bd1e5] {\\n padding-left: 0;\\n}\\ndiv.select-list li[data-v-466bd1e5] {\\n list-style-type: none;\\n display: flex;\\n}\\ndiv.select-list .new-item[data-v-466bd1e5] {\\n display: flex;\\n}\\ndiv.select-list .new-item-help[data-v-466bd1e5] {\\n font-weight: bold;\\n padding-top: 5px;\\n}\\ndiv.select-list input[data-v-466bd1e5],\\ndiv.select-list img[data-v-466bd1e5] {\\n display: inline-block;\\n box-sizing: border-box;\\n}\\ndiv.select-list.max-width[data-v-466bd1e5] {\\n max-width: 450px;\\n}\\ndiv.select-list .switch-input[data-v-466bd1e5] {\\n left: -8px;\\n top: 4px;\\n position: absolute;\\n z-index: 10;\\n opacity: 0.6;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/select-list.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/show-selector.vue?vue&type=style&index=0&lang=css&": -/*!************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/show-selector.vue?vue&type=style&index=0&lang=css& ***! - \************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\nselect.select-show {\\n display: inline-block;\\n height: 25px;\\n padding: 1px;\\n min-width: 200px;\\n}\\n.show-selector {\\n height: 31px;\\n display: table-cell;\\n left: 20px;\\n margin-bottom: 5px;\\n}\\n@media (max-width: 767px) and (min-width: 341px) {\\n.select-show-group,\\n .select-show {\\n width: 100%;\\n}\\n}\\n@media (max-width: 340px) {\\n.select-show-group {\\n width: 100%;\\n}\\n}\\n@media (max-width: 767px) {\\n.show-selector {\\n float: left;\\n width: 100%;\\n}\\n.select-show {\\n width: 100%;\\n}\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/show-selector.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/sorted-select-list.vue?vue&type=style&index=0&id=74e96919&scoped=true&lang=css&": -/*!*****************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/sorted-select-list.vue?vue&type=style&index=0&id=74e96919&scoped=true&lang=css& ***! - \*****************************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\ndiv.select-list ul[data-v-74e96919] {\\n padding-left: 0;\\n}\\ndiv.select-list li[data-v-74e96919] {\\n list-style-type: none;\\n display: flex;\\n}\\ndiv.select-list .new-item[data-v-74e96919] {\\n display: flex;\\n}\\ndiv.select-list .new-item-help[data-v-74e96919] {\\n font-weight: bold;\\n padding-top: 5px;\\n}\\ndiv.select-list input[data-v-74e96919],\\ndiv.select-list img[data-v-74e96919] {\\n display: inline-block;\\n box-sizing: border-box;\\n}\\ndiv.select-list.max-width[data-v-74e96919] {\\n max-width: 450px;\\n}\\ndiv.select-list .switch-input[data-v-74e96919] {\\n left: -8px;\\n top: 4px;\\n position: absolute;\\n z-index: 10;\\n opacity: 0.6;\\n}\\n.draggable-list[data-v-74e96919] {\\n list-style: none;\\n}\\n.draggable-input-group[data-v-74e96919] {\\n display: inline-flex;\\n width: 300px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/sorted-select-list.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/home.vue?vue&type=style&index=0&id=957c9522&scoped=true&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/home.vue?vue&type=style&index=0&id=957c9522&scoped=true&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\nul.list-group > li[data-v-957c9522] {\\n list-style: none;\\n}\\n.home-filter-option[data-v-957c9522] {\\n margin-left: 10px;\\n line-height: 40px;\\n}\\n@media (max-width: 768px) {\\n.show-option[data-v-957c9522] {\\n width: 100%;\\n display: inline-block;\\n}\\n.show-option-layout > span[data-v-957c9522] {\\n display: none;\\n}\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/home.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/irc.vue?vue&type=style&index=0&id=15ee697a&scoped=true&lang=css&": -/*!******************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/irc.vue?vue&type=style&index=0&id=15ee697a&scoped=true&lang=css& ***! - \******************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.irc-frame[data-v-15ee697a] {\\n width: 100%;\\n height: 500px;\\n border: 1px #000 solid;\\n}\\n.loading-spinner[data-v-15ee697a] {\\n background-position: center center;\\n background-repeat: no-repeat;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/irc.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/logs.vue?vue&type=style&index=0&id=4b4e9e3f&scoped=true&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/logs.vue?vue&type=style&index=0&id=4b4e9e3f&scoped=true&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\npre[data-v-4b4e9e3f] {\\n overflow: auto;\\n word-wrap: normal;\\n white-space: pre;\\n min-height: 65px;\\n}\\ndiv.notepad[data-v-4b4e9e3f] {\\n position: absolute;\\n right: 15px;\\n opacity: 0.1;\\n zoom: 1;\\n -webkit-filter: grayscale(100%);\\n filter: grayscale(100%);\\n -webkit-transition: opacity 0.5s; /* Safari */\\n transition: opacity 0.5s;\\n}\\ndiv.notepad[data-v-4b4e9e3f]:hover {\\n opacity: 0.4;\\n}\\ndiv.notepad img[data-v-4b4e9e3f] {\\n width: 50px;\\n}\\n.logging-filter-control[data-v-4b4e9e3f] {\\n padding-top: 24px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/logs.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/root-dirs.vue?vue&type=style&index=0&lang=css&": -/*!************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/root-dirs.vue?vue&type=style&index=0&lang=css& ***! - \************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.root-dirs-selectbox,\\n.root-dirs-selectbox select,\\n.root-dirs-controls {\\n width: 100%;\\n max-width: 430px;\\n}\\n.root-dirs-selectbox {\\n padding: 0 0 5px;\\n}\\n.root-dirs-controls {\\n text-align: center;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/root-dirs.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/schedule.vue?vue&type=style&index=0&lang=css&": -/*!***********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/schedule.vue?vue&type=style&index=0&lang=css& ***! - \***********************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Also defined in style.css and dark.css, but i'm overwriting for light and dark, because the schedule table has coloring. */\\ntd.tvShow a {\\n color: rgb(0, 0, 0);\\n text-decoration: none;\\n}\\ntd.tvShow a:hover {\\n cursor: pointer;\\n color: rgb(66, 139, 202);\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/schedule.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/show-header.vue?vue&type=style&index=0&id=2465ca06&scoped=true&lang=css&": -/*!**************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-header.vue?vue&type=style&index=0&id=2465ca06&scoped=true&lang=css& ***! - \**************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.summaryTable[data-v-2465ca06] {\\n overflow: hidden;\\n}\\n.summaryTable tr td[data-v-2465ca06] {\\n word-break: break-word;\\n}\\n.ver-spacer[data-v-2465ca06] {\\n width: 15px;\\n}\\n#showtitle[data-v-2465ca06] {\\n float: none;\\n}\\n#show-specials-and-seasons[data-v-2465ca06] {\\n bottom: 5px;\\n right: 15px;\\n position: absolute;\\n}\\n.episode-info span[data-v-2465ca06] {\\n display: block;\\n}\\nspan.required[data-v-2465ca06] {\\n color: green;\\n}\\nspan.preferred[data-v-2465ca06] {\\n color: rgb(41, 87, 48);\\n}\\nspan.undesired[data-v-2465ca06] {\\n color: orange;\\n}\\nspan.ignored[data-v-2465ca06] {\\n color: red;\\n}\\n.shadow-background[data-v-2465ca06] {\\n padding: 10px;\\n}\\n#col-show-summary[data-v-2465ca06] {\\n display: table;\\n}\\n#col-show-summary[data-v-2465ca06] img.show-image {\\n width: 180px;\\n}\\n.show-poster-container[data-v-2465ca06] {\\n margin-right: 10px;\\n display: table-cell;\\n width: 180px;\\n}\\n.show-info-container[data-v-2465ca06] {\\n overflow: hidden;\\n display: table-cell;\\n}\\n.showLegend[data-v-2465ca06] {\\n padding-right: 6px;\\n padding-bottom: 1px;\\n width: 150px;\\n}\\n.invalid-value[data-v-2465ca06] {\\n color: rgb(255, 0, 0);\\n}\\n@media (min-width: 768px) {\\n.display-specials[data-v-2465ca06],\\n .display-seasons[data-v-2465ca06] {\\n top: -60px;\\n}\\n}\\n@media (max-width: 767px) {\\n.show-poster-container[data-v-2465ca06] {\\n display: inline-block;\\n width: 100%;\\n margin: 0 auto;\\n border-style: none;\\n}\\n.show-poster-container[data-v-2465ca06] img {\\n display: block;\\n margin: 0 auto;\\n max-width: 280px !important;\\n}\\n.show-info-container[data-v-2465ca06] {\\n display: block;\\n padding-top: 5px;\\n width: 100%;\\n}\\n#showtitle[data-v-2465ca06] {\\n margin-bottom: 40px;\\n}\\n#show-specials-and-seasons[data-v-2465ca06] {\\n bottom: -40px;\\n left: 15px;\\n}\\n}\\n@media (max-width: 991px) and (min-width: 768px) {\\n.show-poster-container[data-v-2465ca06] {\\n float: left;\\n display: inline-block;\\n width: 100%;\\n border-style: none;\\n}\\n.show-info-container[data-v-2465ca06] {\\n display: block;\\n width: 100%;\\n}\\n#col-show-summary[data-v-2465ca06] img.show-image {\\n width: 280px;\\n}\\n}\\n.unaired[data-v-2465ca06] {\\n background-color: rgb(245, 241, 228);\\n}\\n.skipped[data-v-2465ca06] {\\n background-color: rgb(190, 222, 237);\\n}\\n.preferred[data-v-2465ca06] {\\n background-color: rgb(195, 227, 200);\\n}\\n.archived[data-v-2465ca06] {\\n background-color: rgb(195, 227, 200);\\n}\\n.allowed[data-v-2465ca06] {\\n background-color: rgb(255, 218, 138);\\n}\\n.wanted[data-v-2465ca06] {\\n background-color: rgb(255, 176, 176);\\n}\\n.snatched[data-v-2465ca06] {\\n background-color: rgb(235, 193, 234);\\n}\\n.downloaded[data-v-2465ca06] {\\n background-color: rgb(195, 227, 200);\\n}\\n.failed[data-v-2465ca06] {\\n background-color: rgb(255, 153, 153);\\n}\\nspan.unaired[data-v-2465ca06] {\\n color: rgb(88, 75, 32);\\n}\\nspan.skipped[data-v-2465ca06] {\\n color: rgb(29, 80, 104);\\n}\\nspan.preffered[data-v-2465ca06] {\\n color: rgb(41, 87, 48);\\n}\\nspan.allowed[data-v-2465ca06] {\\n color: rgb(118, 81, 0);\\n}\\nspan.wanted[data-v-2465ca06] {\\n color: rgb(137, 0, 0);\\n}\\nspan.snatched[data-v-2465ca06] {\\n color: rgb(101, 33, 100);\\n}\\nspan.unaired b[data-v-2465ca06],\\nspan.skipped b[data-v-2465ca06],\\nspan.preferred b[data-v-2465ca06],\\nspan.allowed b[data-v-2465ca06],\\nspan.wanted b[data-v-2465ca06],\\nspan.snatched b[data-v-2465ca06] {\\n color: rgb(0, 0, 0);\\n font-weight: 800;\\n}\\nspan.global-filter[data-v-2465ca06] {\\n font-style: italic;\\n}\\n.show-status[data-v-2465ca06] {\\n font-size: 11px;\\n text-align: left;\\n display: block;\\n}\\n#stored-by-indexer[data-v-2465ca06] {\\n position: absolute;\\n bottom: -3px;\\n right: -3px;\\n}\\n#indexer-wrapper[data-v-2465ca06] {\\n display: inline;\\n position: relative;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/show-header.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/show-history.vue?vue&type=style&index=0&id=c645b858&scoped=true&lang=css&": -/*!***************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-history.vue?vue&type=style&index=0&id=c645b858&scoped=true&lang=css& ***! - \***************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Make some room for the Select columns ul / dropdown. */\\n.component-margin[data-v-c645b858] {\\n margin-bottom: 50px;\\n}\\n.show-history-wrapper[data-v-c645b858] table.subtitle-table tr {\\n background-color: rgb(190, 222, 237);\\n}\\n.show-history-wrapper > td[data-v-c645b858] {\\n padding: 0;\\n}\\n.search-question[data-v-c645b858],\\n.loading-message[data-v-c645b858] {\\n background-color: rgb(51, 51, 51);\\n color: rgb(255, 255, 255);\\n padding: 10px;\\n line-height: 55px;\\n}\\nspan.subtitle-name[data-v-c645b858] {\\n color: rgb(0, 0, 0);\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/show-history.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/index.vue?vue&type=style&index=0&id=3df39291&scoped=true&lang=css&": -/*!******************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/index.vue?vue&type=style&index=0&id=3df39291&scoped=true&lang=css& ***! - \******************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/** Use this as table styling for all table layouts */\\n.table-layout[data-v-3df39291] .vgt-table {\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n text-align: left;\\n border-spacing: 0;\\n}\\n.table-layout[data-v-3df39291] .vgt-table th,\\n.table-layout[data-v-3df39291] .vgt-table td {\\n padding: 4px;\\n vertical-align: middle;\\n}\\n\\n/* remove extra border from left edge */\\n.table-layout[data-v-3df39291] .vgt-table th:first-child,\\n.table-layout[data-v-3df39291] .vgt-table td:first-child {\\n border-left: none;\\n}\\n.table-layout[data-v-3df39291] .vgt-table th {\\n text-align: center;\\n border-collapse: collapse;\\n font-weight: normal;\\n}\\n.table-layout[data-v-3df39291] .vgt-table span.break-word {\\n word-wrap: break-word;\\n}\\n.table-layout[data-v-3df39291] .vgt-table thead th.sorting.sorting-asc {\\n background-position-x: right;\\n background-position-y: bottom;\\n}\\n.table-layout[data-v-3df39291] .vgt-table thead th.sorting {\\n background-repeat: no-repeat;\\n}\\n.table-layout[data-v-3df39291] .vgt-table thead th {\\n padding: 4px;\\n cursor: default;\\n}\\n.table-layout[data-v-3df39291] .vgt-table input.tablesorter-filter {\\n width: 98%;\\n height: auto;\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.table-layout[data-v-3df39291] .vgt-table tr.tablesorter-filter-row,\\n.table-layout[data-v-3df39291] .vgt-table tr.tablesorter-filter-row td {\\n text-align: center;\\n}\\n\\n/* optional disabled input styling */\\n.table-layout[data-v-3df39291] .vgt-table input.tablesorter-filter-row .disabled {\\n display: none;\\n}\\n.tablesorter-header-inner[data-v-3df39291] {\\n padding: 0 2px;\\n text-align: center;\\n}\\n.table-layout[data-v-3df39291] .vgt-table tfoot tr {\\n text-align: center;\\n border-collapse: collapse;\\n}\\n.table-layout[data-v-3df39291] .vgt-table tfoot a {\\n text-decoration: none;\\n}\\n.table-layout[data-v-3df39291] .vgt-table th.vgt-row-header {\\n text-align: left;\\n}\\n.table-layout[data-v-3df39291] .vgt-table .season-header {\\n display: inline;\\n margin-left: 5px;\\n}\\n.table-layout[data-v-3df39291] .vgt-table tr.spacer {\\n height: 25px;\\n}\\n.table-layout[data-v-3df39291] .vgt-dropdown-menu {\\n position: absolute;\\n z-index: 1000;\\n float: left;\\n min-width: 160px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n font-size: 14px;\\n text-align: left;\\n list-style: none;\\n background-clip: padding-box;\\n border-radius: 4px;\\n}\\n.table-layout[data-v-3df39291] .vgt-dropdown-menu > li > span {\\n display: block;\\n padding: 3px 20px;\\n clear: both;\\n font-weight: 400;\\n line-height: 1.42857143;\\n white-space: nowrap;\\n}\\n.table-layout[data-v-3df39291] .align-center {\\n display: flex;\\n justify-content: center;\\n}\\n.table-layout[data-v-3df39291] .indexer-image :not(:last-child) {\\n margin-right: 5px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/show-list/index.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/poster.vue?vue&type=style&index=0&id=54b453c4&scoped=true&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/poster.vue?vue&type=style&index=0&id=54b453c4&scoped=true&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.show-container[data-v-54b453c4] {\\n display: inline-block;\\n margin: 4px;\\n border-width: 5px;\\n border-style: solid;\\n overflow: hidden;\\n box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.31);\\n}\\n.show-dlstats[data-v-54b453c4] {\\n font-size: 11px;\\n text-align: left;\\n display: block;\\n margin-left: 4px;\\n}\\n.show-quality[data-v-54b453c4] {\\n font-size: 11px;\\n text-align: right;\\n display: block;\\n margin-right: 4px;\\n}\\n.posterview[data-v-54b453c4] {\\n margin: 0 auto;\\n position: relative;\\n}\\n\\n/* Used by isotope scaling */\\n.show-image[data-v-54b453c4] {\\n max-width: 100%;\\n overflow: hidden;\\n border: 1px solid rgb(136, 136, 136);\\n}\\n.background-image img[data-v-54b453c4] {\\n width: 100%;\\n overflow: hidden;\\n}\\n.poster-overlay[data-v-54b453c4] {\\n position: absolute;\\n}\\n.show-container .ui-progressbar[data-v-54b453c4] {\\n height: 7px !important;\\n top: -2px;\\n}\\n.show-container .ui-corner-all[data-v-54b453c4],\\n.ui-corner-bottom[data-v-54b453c4],\\n.ui-corner-right[data-v-54b453c4],\\n.ui-corner-br[data-v-54b453c4] {\\n border-bottom-right-radius: 0;\\n}\\n.show-container .ui-corner-all[data-v-54b453c4],\\n.ui-corner-bottom[data-v-54b453c4],\\n.ui-corner-left[data-v-54b453c4],\\n.ui-corner-bl[data-v-54b453c4] {\\n border-bottom-left-radius: 0;\\n}\\n.show-container .ui-corner-all[data-v-54b453c4],\\n.ui-corner-top[data-v-54b453c4],\\n.ui-corner-right[data-v-54b453c4],\\n.ui-corner-tr[data-v-54b453c4] {\\n border-top-right-radius: 0;\\n}\\n.show-container .ui-corner-all[data-v-54b453c4],\\n.ui-corner-top[data-v-54b453c4],\\n.ui-corner-left[data-v-54b453c4],\\n.ui-corner-tl[data-v-54b453c4] {\\n border-top-left-radius: 0;\\n}\\n.show-container .ui-widget-content[data-v-54b453c4] {\\n border-top: 1px solid rgb(17, 17, 17);\\n border-bottom: 1px solid rgb(17, 17, 17);\\n border-left: 0;\\n border-right: 0;\\n}\\n.ui-progressbar .progress-20[data-v-54b453c4] {\\n border: none;\\n}\\n.show-container .progress-20[data-v-54b453c4],\\n.show-container .progress-40[data-v-54b453c4],\\n.show-container .progress-60[data-v-54b453c4],\\n.show-container .progress-80[data-v-54b453c4] {\\n border-radius: 0;\\n height: 7px;\\n}\\n.overlay-container[data-v-54b453c4] {\\n display: flex;\\n align-items: baseline;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/show-list/poster.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/snatch-selection.vue?vue&type=style&index=0&id=0ad4c7fc&scoped=true&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/snatch-selection.vue?vue&type=style&index=0&id=0ad4c7fc&scoped=true&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/** Use this as table styling for all table layouts */\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table {\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n text-align: left;\\n border-spacing: 0;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table th,\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table td {\\n padding: 4px;\\n vertical-align: middle;\\n}\\n\\n/* remove extra border from left edge */\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table th:first-child,\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table td:first-child {\\n border-left: none;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table th {\\n text-align: center;\\n border-collapse: collapse;\\n font-weight: normal;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table span.break-word {\\n word-wrap: break-word;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table thead th.sorting.sorting-asc {\\n background-position-x: right;\\n background-position-y: bottom;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table thead th.sorting {\\n background-repeat: no-repeat;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table thead th {\\n padding: 4px;\\n cursor: default;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table input.tablesorter-filter {\\n width: 98%;\\n height: auto;\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table tr.tablesorter-filter-row,\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table tr.tablesorter-filter-row td {\\n text-align: center;\\n}\\n\\n/* optional disabled input styling */\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table input.tablesorter-filter-row .disabled {\\n display: none;\\n}\\n.tablesorter-header-inner[data-v-0ad4c7fc] {\\n padding: 0 2px;\\n text-align: center;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table tfoot tr {\\n text-align: center;\\n border-collapse: collapse;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table tfoot a {\\n text-decoration: none;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table th.vgt-row-header {\\n text-align: left;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table .season-header {\\n display: inline;\\n margin-left: 5px;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table tr.spacer {\\n height: 25px;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-dropdown-menu {\\n position: absolute;\\n z-index: 1000;\\n float: left;\\n min-width: 160px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n font-size: 14px;\\n text-align: left;\\n list-style: none;\\n background-clip: padding-box;\\n border-radius: 4px;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-dropdown-menu > li > span {\\n display: block;\\n padding: 3px 20px;\\n clear: both;\\n font-weight: 400;\\n line-height: 1.42857143;\\n white-space: nowrap;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .align-center {\\n display: flex;\\n justify-content: center;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .indexer-image :not(:last-child) {\\n margin-right: 5px;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .button-row {\\n width: 100%;\\n display: inline-block;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .fanartBackground {\\n clear: both;\\n opacity: 0.9;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .fanartBackground table {\\n table-layout: auto;\\n width: 100%;\\n border-collapse: collapse;\\n border-spacing: 0;\\n text-align: center;\\n border: none;\\n empty-cells: show;\\n color: rgb(0, 0, 0) !important;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .fanartBackground > table th.vgt-row-header {\\n border: none !important;\\n background-color: transparent !important;\\n color: rgb(255, 255, 255) !important;\\n padding-top: 15px !important;\\n text-align: left !important;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .fanartBackground td.col-search {\\n text-align: center;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .skipped {\\n background-color: rgb(190, 222, 237);\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .snatched {\\n background-color: rgb(235, 193, 234);\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .downloaded {\\n background-color: rgb(255, 218, 138);\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .failed {\\n background-color: rgb(255, 153, 153);\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .subtitled {\\n background-color: rgb(190, 222, 237);\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .global-ignored td.release span {\\n color: red;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .show-ignored td.release span {\\n color: red;\\n font-style: italic;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .global-required td.release span {\\n color: green;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .show-required td.release span {\\n color: green;\\n font-style: italic;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .global-undesired td.release span {\\n color: orange;\\n}\\n.show-history[data-v-0ad4c7fc] {\\n margin-bottom: 10px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/snatch-selection.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/sub-menu.vue?vue&type=style&index=0&id=0f7fe6dc&scoped=true&lang=css&": -/*!***********************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/sub-menu.vue?vue&type=style&index=0&id=0f7fe6dc&scoped=true&lang=css& ***! - \***********************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Theme-specific styling adds the rest */\\n#sub-menu-container[data-v-0f7fe6dc] {\\n z-index: 550;\\n min-height: 41px;\\n}\\n#sub-menu[data-v-0f7fe6dc] {\\n font-size: 12px;\\n padding-top: 2px;\\n}\\n#sub-menu > a[data-v-0f7fe6dc] {\\n float: right;\\n margin-left: 4px;\\n}\\n@media (min-width: 1281px) {\\n#sub-menu-container[data-v-0f7fe6dc] {\\n position: fixed;\\n width: 100%;\\n top: 51px;\\n}\\n}\\n@media (max-width: 1281px) {\\n#sub-menu-container[data-v-0f7fe6dc] {\\n position: relative;\\n margin-top: -24px;\\n}\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/sub-menu.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/subtitle-search.vue?vue&type=style&index=0&id=49da16c6&scoped=true&lang=css&": -/*!******************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/subtitle-search.vue?vue&type=style&index=0&id=49da16c6&scoped=true&lang=css& ***! - \******************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.subtitle-search-wrapper[data-v-49da16c6] {\\n display: table-row;\\n column-span: all;\\n}\\n.subtitle-search-wrapper[data-v-49da16c6] table.subtitle-table tr {\\n background-color: rgb(190, 222, 237);\\n}\\n.subtitle-search-wrapper > td[data-v-49da16c6] {\\n padding: 0;\\n}\\n.search-question[data-v-49da16c6],\\n.loading-message[data-v-49da16c6] {\\n background-color: rgb(51, 51, 51);\\n color: rgb(255, 255, 255);\\n padding: 10px;\\n line-height: 55px;\\n}\\nspan.subtitle-name[data-v-49da16c6] {\\n color: rgb(0, 0, 0);\\n}\\nspan.release-name[data-v-49da16c6] {\\n text-align: left;\\n width: 100%;\\n display: block;\\n background-color: rgb(51, 51, 51);\\n color: rgb(255, 255, 255);\\n padding: 4px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/subtitle-search.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/add-recommended.vue?vue&type=template&id=24d1d1cf&": -/*!*********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/add-recommended.vue?vue&type=template&id=24d1d1cf& ***! - \*********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"addShowPortal\" } },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: {\n href: \"addShows/trendingShows/?traktList=anticipated\",\n id: \"btnNewShow\"\n }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addtrakt\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add From Trakt Lists\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"For shows that you haven't downloaded yet, this option lets you choose from a show from one of the Trakt lists to add to Medusa .\"\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/popularShows/\", id: \"btnNewShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addimdb\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add From IMDB's Popular Shows\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"View IMDB's list of the most popular shows. This feature uses IMDB's MOVIEMeter algorithm to identify popular TV Shows.\"\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/popularAnime/\", id: \"btnNewShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addanime\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add From Anidb's Hot Anime list\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n 'View Anidb\\'s list of the most popular anime shows. Anidb provides lists for Popular Anime, using the \"Hot Anime\" list.'\n )\n ])\n ])\n ]\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/add-recommended.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/add-show-options.vue?vue&type=template&id=5b660eec&": -/*!**********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/add-show-options.vue?vue&type=template&id=5b660eec& ***! - \**********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"add-show-options-content\" } }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"quality-chooser\", {\n attrs: { \"overall-quality\": _vm.defaultConfig.quality },\n on: {\n \"update:quality:allowed\": function($event) {\n _vm.quality.allowed = $event\n },\n \"update:quality:preferred\": function($event) {\n _vm.quality.preferred = $event\n }\n }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.subtitlesEnabled\n ? _c(\n \"div\",\n { attrs: { id: \"use-subtitles\" } },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Subtitles\",\n id: \"subtitles\",\n value: _vm.selectedSubtitleEnabled,\n explanations: [\"Download subtitles for this show?\"]\n },\n on: {\n input: function($event) {\n _vm.selectedSubtitleEnabled = $event\n }\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedStatus,\n expression: \"selectedStatus\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: { id: \"defaultStatus\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedStatus = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.defaultEpisodeStatusOptions, function(option) {\n return _c(\n \"option\",\n { key: option.value, domProps: { value: option.value } },\n [_vm._v(_vm._s(option.name))]\n )\n }),\n 0\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedStatusAfter,\n expression: \"selectedStatusAfter\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: { id: \"defaultStatusAfter\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedStatusAfter = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.defaultEpisodeStatusOptions, function(option) {\n return _c(\n \"option\",\n { key: option.value, domProps: { value: option.value } },\n [_vm._v(_vm._s(option.name))]\n )\n }),\n 0\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Season Folders\",\n id: \"season_folders\",\n value: _vm.selectedSeasonFoldersEnabled,\n disabled: _vm.namingForceFolders,\n explanations: [\"Group episodes by season folders?\"]\n },\n on: {\n input: function($event) {\n _vm.selectedSeasonFoldersEnabled = $event\n }\n }\n }),\n _vm._v(\" \"),\n _vm.enableAnimeOptions\n ? _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Anime\",\n id: \"anime\",\n value: _vm.selectedAnimeEnabled,\n explanations: [\"Is this show an Anime?\"]\n },\n on: {\n input: function($event) {\n _vm.selectedAnimeEnabled = $event\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.enableAnimeOptions && _vm.selectedAnimeEnabled\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm._m(3),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"anidb-release-group-ui\", {\n staticClass: \"max-width\",\n attrs: { \"show-name\": _vm.showName },\n on: { change: _vm.onChangeReleaseGroupsAnime }\n })\n ],\n 1\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Scene Numbering\",\n id: \"scene\",\n value: _vm.selectedSceneEnabled,\n explanations: [\"Is this show scene numbered?\"]\n },\n on: {\n input: function($event) {\n _vm.selectedSceneEnabled = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm._m(4),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n disabled: _vm.saving || _vm.saveDefaultsDisabled\n },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.saveDefaults($event)\n }\n }\n },\n [_vm._v(\"Save Defaults\")]\n )\n ])\n ])\n ])\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"customQuality\" }\n },\n [_c(\"span\", [_vm._v(\"Quality\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"defaultStatus\" }\n },\n [_c(\"span\", [_vm._v(\"Status for previously aired episodes\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"defaultStatusAfter\" }\n },\n [_c(\"span\", [_vm._v(\"Status for all future episodes\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"anidbReleaseGroup\" }\n },\n [_c(\"span\", [_vm._v(\"Release Groups\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"saveDefaultsButton\" }\n },\n [_c(\"span\", [_vm._v(\"Use current values as the defaults\")])]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/add-show-options.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/add-shows.vue?vue&type=template&id=a104cfec&": -/*!***************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/add-shows.vue?vue&type=template&id=a104cfec& ***! - \***************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"addShowPortal\" } },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/newShow/\", id: \"btnNewShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addnewshow\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add New Show\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"For shows that you haven't downloaded yet, this option finds a show on your preferred indexer, creates a directory for it's episodes, and adds it to Medusa.\"\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/existingShows/\", id: \"btnExistingShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addexistingshow\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add Existing Shows\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Use this option to add shows that already have a folder created on your hard drive. Medusa will scan your existing metadata/episodes and add the show accordingly.\"\n )\n ])\n ])\n ]\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/add-shows.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/anidb-release-group-ui.vue?vue&type=template&id=662b9a4b&scoped=true&": -/*!****************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/anidb-release-group-ui.vue?vue&type=template&id=662b9a4b&scoped=true& ***! - \****************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"anidb-release-group-ui-wrapper top-10 max-width\" },\n [\n _vm.fetchingGroups\n ? [\n _c(\"state-switch\", {\n attrs: { state: \"loading\", theme: _vm.layout.themeName }\n }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(\"Fetching release groups...\")])\n ]\n : _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-sm-4 left-whitelist\" }, [\n _c(\"span\", [_vm._v(\"Whitelist\")]),\n _vm.showDeleteFromWhitelist\n ? _c(\"img\", {\n staticClass: \"deleteFromWhitelist\",\n attrs: { src: \"images/no16.png\" },\n on: {\n click: function($event) {\n return _vm.deleteFromList(\"whitelist\")\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsWhitelist, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n return _vm.moveToList(\"whitelist\")\n }\n }\n },\n [\n _c(\"img\", {\n attrs: { src: \"images/curved-arrow-left.png\" }\n })\n ]\n )\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-4 center-available\" }, [\n _c(\"span\", [_vm._v(\"Release groups\")]),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsReleaseGroups, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n staticClass: \"initial\",\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n return _vm.moveToList(\"releasegroups\")\n }\n }\n },\n [\n _c(\"img\", {\n attrs: { src: \"images/curved-arrow-left.png\" }\n })\n ]\n )\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-4 right-blacklist\" }, [\n _c(\"span\", [_vm._v(\"Blacklist\")]),\n _vm.showDeleteFromBlacklist\n ? _c(\"img\", {\n staticClass: \"deleteFromBlacklist\",\n attrs: { src: \"images/no16.png\" },\n on: {\n click: function($event) {\n return _vm.deleteFromList(\"blacklist\")\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsBlacklist, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n return _vm.moveToList(\"blacklist\")\n }\n }\n },\n [\n _c(\"img\", {\n attrs: { src: \"images/curved-arrow-left.png\" }\n })\n ]\n )\n ],\n 2\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\", attrs: { id: \"add-new-release-group\" } },\n [\n _c(\"div\", { staticClass: \"col-md-4\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newGroup,\n expression: \"newGroup\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\", placeholder: \"add custom group\" },\n domProps: { value: _vm.newGroup },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.newGroup = $event.target.value\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _vm._m(0)\n ]\n )\n ],\n 2\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"col-md-8\" }, [\n _c(\"p\", [\n _vm._v(\n \"Use the input to add custom whitelist / blacklist release groups. Click on the \"\n ),\n _c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } }),\n _vm._v(\" to add it to the correct list.\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/anidb-release-group-ui.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/app-footer.vue?vue&type=template&id=844e7d52&scoped=true&": -/*!****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/app-footer.vue?vue&type=template&id=844e7d52&scoped=true& ***! - \****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"footer\", [\n _c(\n \"div\",\n { staticClass: \"footer clearfix\" },\n [\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.stats.overall.shows.total))\n ]),\n _vm._v(\" Shows (\"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.stats.overall.shows.active))\n ]),\n _vm._v(\" Active)\\n | \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.stats.overall.episodes.downloaded))\n ]),\n _vm._v(\" \"),\n _vm.stats.overall.episodes.snatched\n ? [\n _c(\n \"span\",\n { staticClass: \"footerhighlight\" },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"manage/episodeStatuses?whichStatus=\" +\n _vm.snatchedStatus,\n title: \"View overview of snatched episodes\"\n }\n },\n [_vm._v(\"+\" + _vm._s(_vm.stats.overall.episodes.snatched))]\n )\n ],\n 1\n ),\n _vm._v(\"\\n Snatched\\n \")\n ]\n : _vm._e(),\n _vm._v(\"\\n / \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.stats.overall.episodes.total))\n ]),\n _vm._v(\" Episodes Downloaded \"),\n _vm.episodePercentage\n ? _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(\"(\" + _vm._s(_vm.episodePercentage) + \")\")\n ])\n : _vm._e(),\n _vm._v(\"\\n | Daily Search: \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.schedulerNextRun(\"dailySearch\")))\n ]),\n _vm._v(\"\\n | Backlog Search: \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.schedulerNextRun(\"backlog\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _vm.system.memoryUsage\n ? [\n _vm._v(\"\\n Memory used: \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.system.memoryUsage))\n ]),\n _vm._v(\" |\\n \")\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _vm._v(\"\\n Branch: \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.system.branch || \"Unknown\"))\n ]),\n _vm._v(\" |\\n Now: \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.nowInUserPreset))\n ])\n ],\n 2\n )\n ],\n 2\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/app-footer.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/app-header.vue?vue&type=template&id=41e9b56e&": -/*!****************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/app-header.vue?vue&type=template&id=41e9b56e& ***! - \****************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"nav\",\n {\n staticClass: \"navbar navbar-default navbar-fixed-top hidden-print\",\n attrs: { role: \"navigation\" }\n },\n [\n _c(\"div\", { staticClass: \"container-fluid\" }, [\n _c(\n \"div\",\n { staticClass: \"navbar-header\" },\n [\n _c(\n \"button\",\n {\n staticClass: \"navbar-toggle collapsed\",\n attrs: {\n type: \"button\",\n \"data-toggle\": \"collapse\",\n \"data-target\": \"#main_nav\"\n }\n },\n [\n _vm.toolsBadgeCount > 0\n ? _c(\n \"span\",\n { class: \"floating-badge\" + _vm.toolsBadgeClass },\n [_vm._v(_vm._s(_vm.toolsBadgeCount))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"sr-only\" }, [\n _vm._v(\"Toggle navigation\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"navbar-brand\",\n attrs: { href: \"home/\", title: \"Medusa\" }\n },\n [\n _c(\"img\", {\n staticClass: \"img-responsive pull-left\",\n staticStyle: { height: \"50px\" },\n attrs: { alt: \"Medusa\", src: \"images/medusa.png\" }\n })\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.isAuthenticated\n ? _c(\n \"div\",\n {\n staticClass: \"collapse navbar-collapse\",\n attrs: { id: \"main_nav\" }\n },\n [\n _c(\"ul\", { staticClass: \"nav navbar-nav navbar-right\" }, [\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"home\" },\n attrs: { id: \"NAVhome\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"home/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", [_vm._v(\"Shows\")]),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"dropdown-menu\" },\n [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"home/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-home\" }),\n _vm._v(\" Show List\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"addShows/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-addshow\" }),\n _vm._v(\" Add Shows\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"addRecommended/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-addshow\" }),\n _vm._v(\" Add Recommended Shows\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/postprocess/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-postprocess\"\n }),\n _vm._v(\" Manual Post-Processing\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.recentShows.length > 0\n ? _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.recentShows, function(recentShow) {\n return _c(\n \"li\",\n { key: recentShow.link },\n [\n _c(\n \"app-link\",\n { attrs: { href: recentShow.link } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-addshow\"\n }),\n _vm._v(\n \" \" +\n _vm._s(recentShow.name) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split\",\n class: { active: _vm.topMenu === \"schedule\" },\n attrs: { id: \"NAVschedule\" }\n },\n [\n _c(\"app-link\", { attrs: { href: \"schedule/\" } }, [\n _vm._v(\"Schedule\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split\",\n class: { active: _vm.topMenu === \"history\" },\n attrs: { id: \"NAVhistory\" }\n },\n [\n _c(\"app-link\", { attrs: { href: \"history/\" } }, [\n _vm._v(\"History\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"manage\" },\n attrs: { id: \"NAVmanage\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"manage/episodeStatuses/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", [_vm._v(\"Manage\")]),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"manage/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-manage\" }),\n _vm._v(\" Mass Update\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/backlogOverview/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog-view\"\n }),\n _vm._v(\" Backlog Overview\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/manageSearches/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-manage-searches\"\n }),\n _vm._v(\" Manage Searches\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/episodeStatuses/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-manage2\" }),\n _vm._v(\" Episode Status Management\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.linkVisible.plex\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updatePLEX/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-plex\" }),\n _vm._v(\" Update PLEX\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.kodi\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updateKODI/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-kodi\" }),\n _vm._v(\" Update KODI\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.emby\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updateEMBY/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-emby\" }),\n _vm._v(\" Update Emby\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.manageTorrents\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"manage/manageTorrents/\",\n target: \"_blank\"\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-bittorrent\"\n }),\n _vm._v(\" Manage Torrents\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.failedDownloads\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"manage/failedDownloads/\" }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-failed-download\"\n }),\n _vm._v(\" Failed Downloads\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.subtitleMissed\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/subtitleMissed/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog\"\n }),\n _vm._v(\" Missed Subtitle Management\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.subtitleMissedPP\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"manage/subtitleMissedPP/\" }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog\"\n }),\n _vm._v(\n \" Missed Subtitle in Post-Process folder\"\n )\n ]\n )\n ],\n 1\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"config\" },\n attrs: { id: \"NAVconfig\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"config/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", { staticClass: \"visible-xs-inline\" }, [\n _vm._v(\"Config\")\n ]),\n _c(\"img\", {\n staticClass: \"navbaricon hidden-xs\",\n attrs: { src: \"images/menu/system18.png\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"config/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-help\" }),\n _vm._v(\" Help & Info\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/general/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-config\" }),\n _vm._v(\" General\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/backuprestore/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-backup\" }),\n _vm._v(\" Backup & Restore\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/search/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-manage-searches\"\n }),\n _vm._v(\" Search Settings\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/providers/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-provider\" }),\n _vm._v(\" Search Providers\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/subtitles/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-backlog\" }),\n _vm._v(\" Subtitles Settings\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/postProcessing/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-postprocess\"\n }),\n _vm._v(\" Post-Processing\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/notifications/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-notification\"\n }),\n _vm._v(\" Notifications\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/anime/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-anime\" }),\n _vm._v(\" Anime\")\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"system\" },\n attrs: { id: \"NAVsystem\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"padding-right-15 dropdown-toggle\",\n attrs: {\n href: \"home/status/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", { staticClass: \"visible-xs-inline\" }, [\n _vm._v(\"Tools\")\n ]),\n _c(\"img\", {\n staticClass: \"navbaricon hidden-xs\",\n attrs: { src: \"images/menu/system18-2.png\" }\n }),\n _vm._v(\" \"),\n _vm.toolsBadgeCount > 0\n ? _c(\n \"span\",\n { class: \"badge\" + _vm.toolsBadgeClass },\n [_vm._v(_vm._s(_vm.toolsBadgeCount))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"news/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-news\" }),\n _vm._v(\" News \"),\n _vm.system.news.unread > 0\n ? _c(\"span\", { staticClass: \"badge\" }, [\n _vm._v(_vm._s(_vm.system.news.unread))\n ])\n : _vm._e()\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"IRC/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-irc\" }),\n _vm._v(\" IRC\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"changes/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-changelog\" }),\n _vm._v(\" Changelog\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: _vm.config.donationsUrl } },\n [\n _c(\"i\", { staticClass: \"menu-icon-support\" }),\n _vm._v(\" Support Medusa\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _vm.config.logs.numErrors > 0\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"errorlogs/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-error\" }),\n _vm._v(\" View Errors \"),\n _c(\n \"span\",\n { staticClass: \"badge btn-danger\" },\n [\n _vm._v(\n _vm._s(_vm.config.logs.numErrors)\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.config.logs.numWarnings > 0\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"errorlogs/?level=\" + _vm.warningLevel\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-viewlog-errors\"\n }),\n _vm._v(\" View Warnings \"),\n _c(\n \"span\",\n { staticClass: \"badge btn-warning\" },\n [\n _vm._v(\n _vm._s(_vm.config.logs.numWarnings)\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"errorlogs/viewlog/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-viewlog\" }),\n _vm._v(\" View Log\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/updateCheck?pid=\" + _vm.system.pid\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-update\" }),\n _vm._v(\" Check For Updates\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/restart/?pid=\" + _vm.system.pid\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n return _vm.confirmDialog($event, \"restart\")\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-restart\" }),\n _vm._v(\" Restart\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/shutdown/?pid=\" + _vm.system.pid\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n return _vm.confirmDialog($event, \"shutdown\")\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-shutdown\" }),\n _vm._v(\" Shutdown\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.username\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"logout\" },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n return _vm.confirmDialog(\n $event,\n \"logout\"\n )\n }\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-shutdown\"\n }),\n _vm._v(\" Logout\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/status/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-info\" }),\n _vm._v(\" Server Status\")\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n )\n ])\n ]\n )\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/app-header.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-anime.vue?vue&type=template&id=149731b9&": -/*!******************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-anime.vue?vue&type=template&id=149731b9& ***! - \******************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config\" } }, [\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n attrs: { id: \"configForm\", method: \"post\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.save()\n }\n }\n },\n [\n _c(\n \"vue-tabs\",\n [\n _c(\n \"v-tab\",\n { key: \"anidb_settings\", attrs: { title: \"AnimeDB Settings\" } },\n [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-anime\",\n attrs: { title: \"AniDB\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://anidb.info\" } },\n [_vm._v(\"AniDB\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"AniDB is non-profit database of anime information that is freely open to the public\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"Use AniDB\", id: \"use_anidb\" },\n model: {\n value: _vm.anime.anidb.enabled,\n callback: function($$v) {\n _vm.$set(_vm.anime.anidb, \"enabled\", $$v)\n },\n expression: \"anime.anidb.enabled\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\"Should Medusa use data from AniDB?\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.anime.anidb.enabled\n ? _c(\n \"div\",\n { attrs: { id: \"content_use_anidb\" } },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"AniDB Username\",\n id: \"anidb_username\"\n },\n model: {\n value: _vm.anime.anidb.username,\n callback: function($$v) {\n _vm.$set(\n _vm.anime.anidb,\n \"username\",\n $$v\n )\n },\n expression: \"anime.anidb.username\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\"Username of your AniDB account\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"AniDB Password\",\n id: \"anidb_password\"\n },\n model: {\n value: _vm.anime.anidb.password,\n callback: function($$v) {\n _vm.$set(\n _vm.anime.anidb,\n \"password\",\n $$v\n )\n },\n expression: \"anime.anidb.password\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\"Password of your AniDB account\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"AniDB MyList\",\n id: \"anidb_use_my_list\"\n },\n model: {\n value: _vm.anime.anidb.useMyList,\n callback: function($$v) {\n _vm.$set(\n _vm.anime.anidb,\n \"useMyList\",\n $$v\n )\n },\n expression: \"anime.anidb.useMyList\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"Do you want to add the PostProcessed Episodes to the MyList ?\"\n )\n ])\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"v-tab\",\n { key: \"look_and_feel\", attrs: { title: \"Look & Feel\" } },\n [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-look\",\n attrs: { title: \"look\" }\n }),\n _vm._v(\" \"),\n _c(\"h3\", [_c(\"a\", [_vm._v(\"Look and Feel\")])]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"How should the anime functions show and behave.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Connect anime to Anime list\",\n id: \"auto_anime_to_list\"\n },\n model: {\n value: _vm.anime.autoAnimeToList,\n callback: function($$v) {\n _vm.$set(_vm.anime, \"autoAnimeToList\", $$v)\n },\n expression: \"anime.autoAnimeToList\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"Connect every show marked as anime, to the 'Anime' show list?\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n },\n on: { click: _vm.save }\n })\n ],\n 1\n )\n ])\n ])\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/config-anime.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-general.vue?vue&type=template&id=429e2e26&": -/*!********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-general.vue?vue&type=template&id=429e2e26& ***! - \********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-genaral\" } }, [\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n attrs: { id: \"configForm\", method: \"post\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.save()\n }\n }\n },\n [\n _c(\"div\", { attrs: { id: \"config-components\" } }, [\n _c(\"ul\", [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#misc\" } }, [_vm._v(\"Misc\")])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#interface\" } }, [\n _vm._v(\"Interface\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#advanced-settings\" } }, [\n _vm._v(\"Advanced Settings\")\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"misc\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Launch browser\",\n id: \"launch_browser\"\n },\n model: {\n value: _vm.general.launchBrowser,\n callback: function($$v) {\n _vm.$set(_vm.general, \"launchBrowser\", $$v)\n },\n expression: \"general.launchBrowser\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\"open the Medusa home page on startup\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"default_page\",\n label: \"Initial page\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.general.defaultPage,\n expression: \"general.defaultPage\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"default_page\",\n name: \"default_page\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.general,\n \"defaultPage\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.defaultPageOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"when launching Medusa interface\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"trash_remove_show\",\n label: \"Send to trash for actions\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"nextline-block\",\n attrs: { for: \"trash_remove_show\" }\n },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"trash_remove_show\",\n name: \"trash_remove_show\",\n sync: \"\"\n },\n model: {\n value: _vm.general.trashRemoveShow,\n callback: function($$v) {\n _vm.$set(\n _vm.general,\n \"trashRemoveShow\",\n $$v\n )\n },\n expression: \"general.trashRemoveShow\"\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n 'when using show \"Remove\" and delete files'\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n staticClass: \"nextline-block\",\n attrs: { for: \"trash_rotate_logs\" }\n },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"trash_rotate_logs\",\n name: \"trash_rotate_logs\",\n sync: \"\"\n },\n model: {\n value: _vm.general.trashRotateLogs,\n callback: function($$v) {\n _vm.$set(\n _vm.general,\n \"trashRotateLogs\",\n $$v\n )\n },\n expression: \"general.trashRotateLogs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"on scheduled deletes of the oldest log files\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"selected actions use trash (recycle bin) instead of the default permanent delete\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Location for Log files\",\n id: \"log_id\"\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.general.logs.actualLogDir,\n callback: function($$v) {\n _vm.$set(_vm.general.logs, \"actualLogDir\", $$v)\n },\n expression: \"general.logs.actualLogDir\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Number of Log files saved\",\n id: \"log_nr\",\n min: 1,\n step: 1\n },\n model: {\n value: _vm.general.logs.nr,\n callback: function($$v) {\n _vm.$set(_vm.general.logs, \"nr\", $$v)\n },\n expression: \"general.logs.nr\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"number of log files saved when rotating logs (default: 5) \"\n ),\n _c(\"b\", [_vm._v(\"(REQUIRES RESTART)\")])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Size of Log files saved\",\n id: \"log_size\",\n min: 0.5,\n step: 0.1\n },\n model: {\n value: _vm.general.logs.size,\n callback: function($$v) {\n _vm.$set(_vm.general.logs, \"size\", $$v)\n },\n expression: \"general.logs.size\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"maximum size in MB of the log file (default: 1MB) \"\n ),\n _c(\"b\", [_vm._v(\"(REQUIRES RESTART)\")])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"show_root_dir\",\n label: \"Show root directories\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\"where the files of shows are located\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"These changes are automatically saved!\")\n ]),\n _vm._v(\" \"),\n _c(\"root-dirs\")\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"show_root_dir\",\n label: \"Default Indexer Language\"\n }\n },\n [\n _c(\"language-select\", {\n ref: \"indexerLanguage\",\n staticClass:\n \"form-control form-control-inline input-sm\",\n attrs: {\n language: _vm.general.indexerDefaultLanguage,\n available: _vm.indexers.main.validLanguages.join(\n \",\"\n )\n },\n on: {\n \"update-language\": function($event) {\n _vm.general.indexerDefaultLanguage = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"for adding shows and metadata providers\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Choose hour to update shows\",\n id: \"showupdate_hour\",\n min: 0,\n max: 23,\n step: 1\n },\n model: {\n value: _vm.general.showUpdateHour,\n callback: function($$v) {\n _vm.$set(_vm.general, \"showUpdateHour\", $$v)\n },\n expression: \"general.showUpdateHour\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"with information such as next air dates, show ended, etc. Use 15 for 3pm, 4 for 4am etc.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" minutes are randomized each time Medusa is started\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Timeout show indexer at\",\n id: \"indexer_timeout\",\n min: 10,\n step: 1\n },\n model: {\n value: _vm.general.indexerTimeout,\n callback: function($$v) {\n _vm.$set(_vm.general, \"indexerTimeout\", $$v)\n },\n expression: \"general.indexerTimeout\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"seconds of inactivity when finding new shows (default:20)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"indexer_default\",\n label: \"Use initial indexer set to\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.indexerDefault,\n expression: \"indexerDefault\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"indexer_default\",\n name: \"indexer_default\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.indexerDefault = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.indexerListOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Enable fallback to plex\",\n id: \"fallback_plex_enable\"\n },\n model: {\n value: _vm.general.plexFallBack.enable,\n callback: function($$v) {\n _vm.$set(_vm.general.plexFallBack, \"enable\", $$v)\n },\n expression: \"general.plexFallBack.enable\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Plex provides a tvdb mirror, that can be utilized when Tvdb's api is unavailable.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Enable fallback notifications\",\n id: \"fallback_plex_notifications\"\n },\n model: {\n value: _vm.general.plexFallBack.notifications,\n callback: function($$v) {\n _vm.$set(\n _vm.general.plexFallBack,\n \"notifications\",\n $$v\n )\n },\n expression: \"general.plexFallBack.notifications\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"When this settings has been enabled, you may receive frequent notifications when falling back to the plex mirror.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Timeout show indexer at\",\n id: \"Fallback duration\",\n min: 1,\n step: 1\n },\n model: {\n value: _vm.general.plexFallBack.timeout,\n callback: function($$v) {\n _vm.$set(_vm.general.plexFallBack, \"timeout\", $$v)\n },\n expression: \"general.plexFallBack.timeout\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Amount of hours after we try to revert back to the thetvdb.com api url (default:3).\"\n )\n ])\n ]\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Check software updates\",\n id: \"version_notify\"\n },\n model: {\n value: _vm.general.versionNotify,\n callback: function($$v) {\n _vm.$set(_vm.general, \"versionNotify\", $$v)\n },\n expression: \"general.versionNotify\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"and display notifications when updates are available.\\n Checks are run on startup and at the frequency set below*\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Automatically update\",\n id: \"auto_update\"\n },\n model: {\n value: _vm.general.autoUpdate,\n callback: function($$v) {\n _vm.$set(_vm.general, \"autoUpdate\", $$v)\n },\n expression: \"general.autoUpdate\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"fetch and install software updates.\\n Updates are run on startup and in the background at the frequency set below*\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Check the server every*\",\n id: \"update_frequency duration\",\n min: 1,\n step: 1\n },\n model: {\n value: _vm.general.updateFrequency,\n callback: function($$v) {\n _vm.$set(_vm.general, \"updateFrequency\", $$v)\n },\n expression: \"general.updateFrequency\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\"hours for software updates (default:1)\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Notify on software update\",\n id: \"notify_on_update\"\n },\n model: {\n value: _vm.general.notifyOnUpdate,\n callback: function($$v) {\n _vm.$set(_vm.general, \"notifyOnUpdate\", $$v)\n },\n expression: \"general.notifyOnUpdate\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"send a message to all enabled notifiers when Medusa has been updated\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"interface\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(3),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"theme_name\",\n label: \"Display theme\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.layout.themeName,\n expression: \"layout.themeName\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"theme_name\", name: \"theme_name\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.layout,\n \"themeName\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n },\n function($event) {\n return _vm.changeTheme(_vm.layout.themeName)\n }\n ]\n }\n },\n _vm._l(_vm.availableThemesOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Use wider layout\",\n id: \"layout_wide\"\n },\n model: {\n value: _vm.layout.wide,\n callback: function($$v) {\n _vm.$set(_vm.layout, \"wide\", $$v)\n },\n expression: \"layout.wide\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\"uses all available space in the page\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Show fanart in the background\",\n id: \"fanart_background\"\n },\n model: {\n value: _vm.layout.fanartBackground,\n callback: function($$v) {\n _vm.$set(_vm.layout, \"fanartBackground\", $$v)\n },\n expression: \"layout.fanartBackground\"\n }\n },\n [_c(\"p\", [_vm._v(\"on the show summary page\")])]\n ),\n _vm._v(\" \"),\n _vm.layout.fanartBackground\n ? _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Fanart transparency\",\n id: \"fanart_background_opacity duration\",\n step: 0.1,\n min: 0.1,\n max: 1.0\n },\n model: {\n value: _vm.layout.fanartBackgroundOpacity,\n callback: function($$v) {\n _vm.$set(\n _vm.layout,\n \"fanartBackgroundOpacity\",\n $$v\n )\n },\n expression: \"layout.fanartBackgroundOpacity\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Transparency of the fanart in the background\"\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Sort with 'The' 'A', 'An'\",\n id: \"sort_article\"\n },\n model: {\n value: _vm.layout.sortArticle,\n callback: function($$v) {\n _vm.$set(_vm.layout, \"sortArticle\", $$v)\n },\n expression: \"layout.sortArticle\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n 'include articles (\"The\", \"A\", \"An\") when sorting show lists'\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"show_list_order\",\n label: \"show lists\"\n }\n },\n [\n _c(\"sorted-select-list\", {\n attrs: {\n \"list-items\": _vm.layout.show.showListOrder\n },\n on: { change: _vm.saveShowListOrder }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Create and order different categories for your shows.\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Split home in tabs\",\n id: \"split_home_in_tabs\"\n },\n model: {\n value: _vm.layout.splitHomeInTabs,\n callback: function($$v) {\n _vm.$set(_vm.layout, \"splitHomeInTabs\", $$v)\n },\n expression: \"layout.splitHomeInTabs\"\n }\n },\n [\n _c(\"span\", { staticClass: \"component-desc\" }, [\n _vm._v(\"Use tabs when splitting show lists\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Missed episodes range\",\n id: \"coming_eps_missed_range duration\",\n step: 1,\n min: 7\n },\n model: {\n value: _vm.layout.comingEps.missedRange,\n callback: function($$v) {\n _vm.$set(_vm.layout.comingEps, \"missedRange\", $$v)\n },\n expression: \"layout.comingEps.missedRange\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Set the range in days of the missed episodes in the Schedule page\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Display fuzzy dates\",\n id: \"fuzzy_dating\"\n },\n model: {\n value: _vm.layout.fuzzyDating,\n callback: function($$v) {\n _vm.$set(_vm.layout, \"fuzzyDating\", $$v)\n },\n expression: \"layout.fuzzyDating\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n 'move absolute dates into tooltips and display e.g. \"Last Thu\", \"On Tue\"'\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Trim zero padding\",\n id: \"trim_zero\"\n },\n model: {\n value: _vm.layout.trimZero,\n callback: function($$v) {\n _vm.$set(_vm.layout, \"trimZero\", $$v)\n },\n expression: \"layout.trimZero\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n 'remove the leading number \"0\" shown on hour of day, and date of month'\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"date_preset\",\n label: \"Date style\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.layout.dateStyle,\n expression: \"layout.dateStyle\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"date_preset\", name: \"date_preset\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.layout,\n \"dateStyle\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.datePresetOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"time_preset\",\n label: \"Time style\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.layout.timeStyle,\n expression: \"layout.timeStyle\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"time_preset\", name: \"time_preset\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.layout,\n \"timeStyle\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.timePresetOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" seconds are only shown on the History page\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"timezone_display\",\n label: \"Timezone\"\n }\n },\n [\n _c(\"div\", { staticClass: \"radio-item\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.layout.timezoneDisplay,\n expression: \"layout.timezoneDisplay\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"timezone_display_local\",\n id: \"timezone_display_local\",\n value: \"local\"\n },\n domProps: {\n checked: _vm._q(\n _vm.layout.timezoneDisplay,\n \"local\"\n )\n },\n on: {\n change: function($event) {\n return _vm.$set(\n _vm.layout,\n \"timezoneDisplay\",\n \"local\"\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"one\" } }, [\n _vm._v(\"local\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"radio-item\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.layout.timezoneDisplay,\n expression: \"layout.timezoneDisplay\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"timezone_display_network\",\n id: \"timezone_display_network\",\n value: \"network\"\n },\n domProps: {\n checked: _vm._q(\n _vm.layout.timezoneDisplay,\n \"network\"\n )\n },\n on: {\n change: function($event) {\n return _vm.$set(\n _vm.layout,\n \"timezoneDisplay\",\n \"network\"\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"one\" } }, [\n _vm._v(\"network\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"display dates and times in either your timezone or the shows network timezone\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" Use local timezone to start searching for episodes minutes after show ends (depends on your dailysearch frequency)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: { label: \"Download url\", id: \"download_url\" },\n model: {\n value: _vm.general.downloadUrl,\n callback: function($$v) {\n _vm.$set(_vm.general, \"downloadUrl\", $$v)\n },\n expression: \"general.downloadUrl\"\n }\n },\n [\n _c(\"span\", { staticClass: \"component-desc\" }, [\n _vm._v(\"URL where the shows can be downloaded.\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Use table pagination\",\n id: \"show_pagination\"\n },\n model: {\n value: _vm.layout.show.pagination.enable,\n callback: function($$v) {\n _vm.$set(_vm.layout.show.pagination, \"enable\", $$v)\n },\n expression: \"layout.show.pagination.enable\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(4),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"API key\",\n id: \"api_key\",\n readonly: \"readonly\"\n },\n model: {\n value: _vm.general.webInterface.apiKey,\n callback: function($$v) {\n _vm.$set(_vm.general.webInterface, \"apiKey\", $$v)\n },\n expression: \"general.webInterface.apiKey\"\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n id: \"generate_new_apikey\",\n value: \"Generate\"\n },\n on: { click: _vm.generateApiKey }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"used to give 3rd party programs limited access to Medusa\"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"p\",\n [\n _vm._v(\n \"you can try all the features of the legacy API (v1) \"\n ),\n _c(\n \"app-link\",\n { attrs: { href: \"apibuilder/\" } },\n [_vm._v(\"here\")]\n )\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"HTTP logs\", id: \"web_log\" },\n model: {\n value: _vm.general.webInterface.log,\n callback: function($$v) {\n _vm.$set(_vm.general.webInterface, \"log\", $$v)\n },\n expression: \"general.webInterface.log\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"enable logs from the internal Tornado web server\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"HTTP username\",\n id: \"web_username\",\n autocomplete: \"no\"\n },\n model: {\n value: _vm.general.webInterface.username,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"username\",\n $$v\n )\n },\n expression: \"general.webInterface.username\"\n }\n },\n [_c(\"p\", [_vm._v(\"set blank for no login\")])]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"HTTP password\",\n id: \"web_password\",\n type: \"password\",\n autocomplete: \"no\"\n },\n model: {\n value: _vm.general.webInterface.password,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"password\",\n $$v\n )\n },\n expression: \"general.webInterface.password\"\n }\n },\n [_c(\"p\", [_vm._v(\"blank = no authentication\")])]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"HTTP port\",\n id: \"web_port\",\n min: 1,\n step: 1\n },\n model: {\n value: _vm.general.webInterface.port,\n callback: function($$v) {\n _vm.$set(_vm.general.webInterface, \"port\", $$v)\n },\n expression: \"general.webInterface.port\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"web port to browse and access Medusa (default:8081)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Notify on login\",\n id: \"notify_on_login\"\n },\n model: {\n value: _vm.general.webInterface.notifyOnLogin,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"notifyOnLogin\",\n $$v\n )\n },\n expression: \"general.webInterface.notifyOnLogin\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"enable to be notified when a new login happens in webserver\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"Listen on IPv6\", id: \"web_ipv6\" },\n model: {\n value: _vm.general.webInterface.ipv6,\n callback: function($$v) {\n _vm.$set(_vm.general.webInterface, \"ipv6\", $$v)\n },\n expression: \"general.webInterface.ipv6\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"enable to be notified when a new login happens in webserver\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"Enable HTTPS\", id: \"enable_https\" },\n model: {\n value: _vm.general.webInterface.httpsEnable,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"httpsEnable\",\n $$v\n )\n },\n expression: \"general.webInterface.httpsEnable\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"enable access to the web interface using a HTTPS address\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.general.webInterface.httpsEnable\n ? _c(\n \"div\",\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"HTTPS certificate\",\n id: \"https_cert\"\n },\n model: {\n value: _vm.general.webInterface.httpsCert,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"httpsCert\",\n $$v\n )\n },\n expression: \"general.webInterface.httpsCert\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"file name or path to HTTPS certificate\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"HTTPS key\",\n id: \"https_key\"\n },\n model: {\n value: _vm.general.webInterface.httpsKey,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"httpsKey\",\n $$v\n )\n },\n expression: \"general.webInterface.httpsKey\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\"file name or path to HTTPS key\")\n ])\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Reverse proxy headers\",\n id: \"handle_reverse_proxy\"\n },\n model: {\n value: _vm.general.webInterface.handleReverseProxy,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"handleReverseProxy\",\n $$v\n )\n },\n expression:\n \"general.webInterface.handleReverseProxy\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"accept the following reverse proxy headers (advanced)...\"\n ),\n _c(\"br\"),\n _vm._v(\n \"(X-Forwarded-For, X-Forwarded-Host, and X-Forwarded-Proto)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"HTTP web root\",\n id: \"web_root\",\n autocomplete: \"no\"\n },\n model: {\n value: _vm.general.webRoot,\n callback: function($$v) {\n _vm.$set(_vm.general, \"webRoot\", $$v)\n },\n expression: \"general.webRoot\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Set a base URL, for use in reverse proxies.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"blank = disabled\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" Must restart to have effect. Keep in mind that any previously configured base URLs won't work, after this change.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"advanced-settings\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(5),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"cpu_presets\",\n label: \"CPU throttling\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.general.cpuPreset,\n expression: \"general.cpuPreset\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"cpu_presets\", name: \"cpu_presets\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.general,\n \"cpuPreset\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.cpuPresetOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Normal (default). High is lower and Low is higher CPU use\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"Anonymous redirect\",\n id: \"anon_redirect\"\n },\n model: {\n value: _vm.general.anonRedirect,\n callback: function($$v) {\n _vm.$set(_vm.general, \"anonRedirect\", $$v)\n },\n expression: \"general.anonRedirect\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n 'backlink protection via anonymizer service, must end in \"?\"'\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Verify SSL Certs\",\n id: \"ssl_verify\"\n },\n model: {\n value: _vm.general.sslVerify,\n callback: function($$v) {\n _vm.$set(_vm.general, \"sslVerify\", $$v)\n },\n expression: \"general.sslVerify\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Verify SSL Certificates (Disable this for broken SSL installs (Like QNAP))\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"SSL CA Bundle\",\n id: \"ssl_ca_bundle\"\n },\n model: {\n value: _vm.general.sslCaBundle,\n callback: function($$v) {\n _vm.$set(_vm.general, \"sslCaBundle\", $$v)\n },\n expression: \"general.sslCaBundle\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Path to an SSL CA Bundle. Will replace default bundle(certifi) with the one specified.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" This only apply to call made using Medusa's Requests implementation.\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"No Restart\", id: \"no_restart\" },\n model: {\n value: _vm.general.noRestart,\n callback: function($$v) {\n _vm.$set(_vm.general, \"noRestart\", $$v)\n },\n expression: \"general.noRestart\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Only shutdown when restarting Medusa.\\n Only select this when you have external software restarting Medusa automatically when it stops (like FireDaemon)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Encrypt passwords\",\n id: \"encryption_version\"\n },\n model: {\n value: _vm.general.encryptionVersion,\n callback: function($$v) {\n _vm.$set(_vm.general, \"encryptionVersion\", $$v)\n },\n expression: \"general.encryptionVersion\"\n }\n },\n [\n _c(\n \"p\",\n [\n _vm._v(\"in the \"),\n _c(\"code\", [_vm._v(\"config.ini\")]),\n _vm._v(\n \" file.\\n \"\n ),\n _c(\"b\", [_vm._v(\"Warning:\")]),\n _vm._v(\" Passwords must only contain \"),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters\"\n }\n },\n [_vm._v(\"ASCII characters\")]\n )\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Unprotected calendar\",\n id: \"calendar_unprotected\"\n },\n model: {\n value: _vm.general.calendarUnprotected,\n callback: function($$v) {\n _vm.$set(_vm.general, \"calendarUnprotected\", $$v)\n },\n expression: \"general.calendarUnprotected\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"allow subscribing to the calendar without user and password.\\n Some services like Google Calendar only work this way\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Google Calendar Icons\",\n id: \"calendar_icons\"\n },\n model: {\n value: _vm.general.calendarIcons,\n callback: function($$v) {\n _vm.$set(_vm.general, \"calendarIcons\", $$v)\n },\n expression: \"general.calendarIcons\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"show an icon next to exported calendar events in Google Calendar.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: { label: \"Proxy host\", id: \"proxy_setting\" },\n model: {\n value: _vm.general.proxySetting,\n callback: function($$v) {\n _vm.$set(_vm.general, \"proxySetting\", $$v)\n },\n expression: \"general.proxySetting\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"blank to disable or proxy to use when connecting to providers\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.general.proxySetting !== \"\"\n ? _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Use proxy for indexers\",\n id: \"proxy_indexers\"\n },\n model: {\n value: _vm.general.proxyIndexers,\n callback: function($$v) {\n _vm.$set(_vm.general, \"proxyIndexers\", $$v)\n },\n expression: \"general.proxyIndexers\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"use proxy host for connecting to indexers (thetvdb)\"\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Skip Remove Detection\",\n id: \"skip_removed_files\"\n },\n model: {\n value: _vm.general.skipRemovedFiles,\n callback: function($$v) {\n _vm.$set(_vm.general, \"skipRemovedFiles\", $$v)\n },\n expression: \"general.skipRemovedFiles\"\n }\n },\n [\n _c(\"span\", [\n _c(\"p\", [\n _vm._v(\n \"Skip detection of removed files. If disabled the episode will be set to the default deleted status\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" This may mean Medusa misses renames as well\\n \"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"ep_default_deleted_status\",\n label: \"Default deleted episode status\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.general.epDefaultDeletedStatus,\n expression: \"general.epDefaultDeletedStatus\"\n }\n ],\n staticClass:\n \"form-control input-sm margin-bottom-5\",\n attrs: {\n id: \"ep_default_deleted_status\",\n name: \"ep_default_deleted_status\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.general,\n \"epDefaultDeletedStatus\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n [\n _c(\n \"option\",\n { attrs: { disabled: \"\", value: \"\" } },\n [_vm._v(\"Please select a default status\")]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.defaultDeletedEpOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Define the status to be set for media file that has been deleted.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" Archived option will keep previous downloaded quality\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Example: Downloaded (1080p WEB-DL) ==> Archived (1080p WEB-DL)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"Enable debug\", id: \"debug\" },\n model: {\n value: _vm.general.logs.debug,\n callback: function($$v) {\n _vm.$set(_vm.general.logs, \"debug\", $$v)\n },\n expression: \"general.logs.debug\"\n }\n },\n [_c(\"p\", [_vm._v(\"Enable debug logs\")])]\n ),\n _vm._v(\" \"),\n _vm.general.developer\n ? _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Enable DB debug\",\n id: \"dbdebug\"\n },\n model: {\n value: _vm.general.logs.dbDebug,\n callback: function($$v) {\n _vm.$set(_vm.general.logs, \"dbDebug\", $$v)\n },\n expression: \"general.logs.dbDebug\"\n }\n },\n [_c(\"p\", [_vm._v(\"Enable DB debug logs\")])]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Subliminal logs\",\n id: \"subliminal_log\"\n },\n model: {\n value: _vm.general.logs.subliminalLog,\n callback: function($$v) {\n _vm.$set(_vm.general.logs, \"subliminalLog\", $$v)\n },\n expression: \"general.logs.subliminalLog\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"enable logs from subliminal library (subtitles)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"privacy_level\",\n label: \"Privacy\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.general.logs.privacyLevel,\n expression: \"general.logs.privacyLevel\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"privacy_level\",\n name: \"privacy_level\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.general.logs,\n \"privacyLevel\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.privacyLevelOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"\\n Set the level of log-filtering.\\n Normal (default).\\n \"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(7),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"github_remote_branches\",\n label: \"Branch version\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.system.branch,\n expression: \"system.branch\"\n }\n ],\n staticClass:\n \"form-control input-sm margin-bottom-5\",\n attrs: {\n id: \"github_remote_branches\",\n name: \"github_remote_branches\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.system,\n \"branch\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n [\n _c(\n \"option\",\n { attrs: { disabled: \"\", value: \"\" } },\n [_vm._v(\"Please select a branch\")]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.githubRemoteBranchesOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n staticStyle: { \"margin-left\": \"6px\" },\n attrs: {\n disabled: !_vm.githubBranches.length > 0,\n type: \"button\",\n id: \"branchCheckout\",\n value: \"Checkout Branch\"\n }\n }),\n _vm._v(\" \"),\n !_vm.githubBranches.length > 0\n ? _c(\n \"span\",\n { staticStyle: { color: \"rgb(255, 0, 0)\" } },\n [_c(\"p\", [_vm._v(\"Error: No branches found.\")])]\n )\n : _c(\"p\", [\n _vm._v(\n \"select branch to use (restart required)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"date_presets\",\n label: \"GitHub authentication type\"\n }\n },\n [\n _c(\"div\", { staticClass: \"radio-item\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.general.git.authType,\n expression: \"general.git.authType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"git_auth_type_basic\",\n id: \"git_auth_type_basic\"\n },\n domProps: {\n value: 0,\n checked: _vm._q(_vm.general.git.authType, 0)\n },\n on: {\n change: function($event) {\n return _vm.$set(\n _vm.general.git,\n \"authType\",\n 0\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"one\" } }, [\n _vm._v(\"Username and password\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"radio-item\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.general.git.authType,\n expression: \"general.git.authType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"git_auth_type_token\",\n id: \"git_auth_type_token\"\n },\n domProps: {\n value: 1,\n checked: _vm._q(_vm.general.git.authType, 1)\n },\n on: {\n change: function($event) {\n return _vm.$set(\n _vm.general.git,\n \"authType\",\n 1\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"one\" } }, [\n _vm._v(\"Personal access token\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n 'You must use a personal access token if you\\'re using \"two-factor authentication\" on GitHub.'\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.general.git.authType === 0,\n expression: \"general.git.authType === 0\"\n }\n ]\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"GitHub username\",\n id: \"git_username\"\n },\n model: {\n value: _vm.general.git.username,\n callback: function($$v) {\n _vm.$set(_vm.general.git, \"username\", $$v)\n },\n expression: \"general.git.username\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"*** (REQUIRED FOR SUBMITTING ISSUES) ***\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"GitHub password\",\n id: \"git_password\",\n type: \"password\"\n },\n model: {\n value: _vm.general.git.password,\n callback: function($$v) {\n _vm.$set(_vm.general.git, \"password\", $$v)\n },\n expression: \"general.git.password\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"*** (REQUIRED FOR SUBMITTING ISSUES) ***\"\n )\n ])\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.general.git.authType !== 0,\n expression: \"general.git.authType !== 0\"\n }\n ]\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"GitHub personal access token\",\n id: \"git_token\",\n \"input-class\": \"display-inline margin-bottom-5\"\n },\n nativeOn: {\n focus: function($event) {\n return $event.target.select()\n }\n },\n model: {\n value: _vm.general.git.token,\n callback: function($$v) {\n _vm.$set(_vm.general.git, \"token\", $$v)\n },\n expression: \"general.git.token\"\n }\n },\n [\n _vm.general.git.token === \"\"\n ? [\n _c(\n \"v-popover\",\n {\n attrs: {\n trigger: \"click\",\n offset: \"16\",\n placement: \"right\",\n popoverBaseClass: \"tooltip-base\",\n popoverClass:\n \"tooltip-themed\" +\n (_vm.layout.themeName === \"dark\"\n ? \"-dark\"\n : \"-light\")\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n id: \"create_access_token\",\n value: \"Generate Token\"\n }\n }),\n _vm._v(\" \"),\n _c(\"template\", { slot: \"popover\" }, [\n _c(\n \"div\",\n { staticClass: \"tooltip-title\" },\n [_vm._v(\"Github Token\")]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"tooltip-content\" },\n [\n _c(\"p\", [\n _vm._v(\n \"Copy the generated token and paste it in the token input box.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\n \"a\",\n {\n attrs: {\n href:\n (_vm.general\n .anonRedirect || \"\") +\n \"https://github.com/settings/tokens/new?description=Medusa&scopes=gist,public_repo\",\n target: \"_blank\"\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value:\n \"Continue to Github...\"\n }\n })\n ]\n )\n ]),\n _c(\"br\")\n ]\n )\n ])\n ],\n 2\n )\n ]\n : [\n _c(\n \"a\",\n {\n attrs: {\n href:\n (_vm.general.anonRedirect || \"\") +\n \"https://github.com/settings/tokens\",\n target: \"_blank\"\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n id: \"manage_tokens\",\n value: \"Manage Tokens\"\n }\n })\n ]\n )\n ],\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"*** (REQUIRED FOR SUBMITTING ISSUES) ***\"\n )\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"GitHub remote for branch\",\n id: \"git_remote\"\n },\n model: {\n value: _vm.general.git.remote,\n callback: function($$v) {\n _vm.$set(_vm.general.git, \"remote\", $$v)\n },\n expression: \"general.git.remote\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"default:origin. Access repo configured remotes (save then refresh browser)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"Git executable path\",\n id: \"git_path\"\n },\n model: {\n value: _vm.general.git.path,\n callback: function($$v) {\n _vm.$set(_vm.general.git, \"path\", $$v)\n },\n expression: \"general.git.path\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"only needed if OS is unable to locate git from env\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.general.developer\n ? _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"Git reset\", id: \"git_reset\" },\n model: {\n value: _vm.general.git.reset,\n callback: function($$v) {\n _vm.$set(_vm.general.git, \"reset\", $$v)\n },\n expression: \"general.git.reset\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"removes untracked files and performs a hard reset on git branch automatically to help resolve update issues\"\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.general.developer\n ? _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"git_reset_branches\",\n label: \"Branches to reset\"\n }\n },\n [\n _c(\"multiselect\", {\n attrs: {\n multiple: true,\n options: _vm.githubBranches\n },\n model: {\n value: _vm.general.git.resetBranches,\n callback: function($$v) {\n _vm.$set(\n _vm.general.git,\n \"resetBranches\",\n $$v\n )\n },\n expression: \"general.git.resetBranches\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n staticStyle: { \"margin-left\": \"6px\" },\n attrs: {\n type: \"button\",\n id: \"branch_force_update\",\n value: \"Update Branches\"\n },\n on: { click: _vm.githubBranchForceUpdate }\n }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"component-desc\" }, [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" Empty selection means that any branch could be reset.\"\n )\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"h6\", { staticClass: \"pull-right\" }, [\n _c(\"b\", [\n _vm._v(\"All non-absolute folder locations are relative to \"),\n _c(\"span\", { staticClass: \"path\" }, [\n _vm._v(_vm._s(_vm.system.dataDir))\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa pull-left config_submitter button\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ])\n ]\n )\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Misc\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Startup options. Indexer options. Log and show file locations.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [\n _vm._v(\"Some options may require a manual restart to take effect.\")\n ])\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Indexer\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Options for controlling the show indexers.\")])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Updates\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Options for software updates.\")])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"User Interface\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Options for visual appearance.\")])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Web Interface\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"It is recommended that you enable a username and password to secure Medusa from being tampered with remotely.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [\n _vm._v(\"These options require a manual restart to take effect.\")\n ])\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [_c(\"h3\", [_vm._v(\"Advanced Settings\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [_c(\"h3\", [_vm._v(\"Logging\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"GitHub\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Options for github related features.\")])\n ]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/config-general.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-notifications.vue?vue&type=template&id=aafa21a6&": -/*!**************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-notifications.vue?vue&type=template&id=aafa21a6& ***! - \**************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"config-notifications\" } },\n [\n _c(\"vue-snotify\"),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"config\" } }, [\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n attrs: { id: \"configForm\", method: \"post\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.save()\n }\n }\n },\n [\n _c(\"div\", { attrs: { id: \"config-components\" } }, [\n _c(\"ul\", [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#home-theater-nas\" } }, [\n _vm._v(\"Home Theater / NAS\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#devices\" } }, [\n _vm._v(\"Devices\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#social\" } }, [\n _vm._v(\"Social\")\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"home-theater-nas\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-kodi\",\n attrs: { title: \"KODI\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://kodi.tv\" } },\n [_vm._v(\"KODI\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"A free and open source cross-platform media center and home entertainment system software with a 10-foot user interface designed for the living-room TV.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_kodi\",\n explanations: [\"Send KODI commands?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.kodi, \"enabled\", $$v)\n },\n expression: \"notifiers.kodi.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.kodi.enabled,\n expression: \"notifiers.kodi.enabled\"\n }\n ],\n attrs: { id: \"content-use-kodi\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Always on\",\n id: \"kodi_always_on\",\n explanations: [\"log errors when unreachable?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.alwaysOn,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"alwaysOn\",\n $$v\n )\n },\n expression: \"notifiers.kodi.alwaysOn\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"kodi_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.kodi.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"kodi_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression: \"notifiers.kodi.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"kodi_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.kodi.notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.kodi.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Update library\",\n id: \"kodi_update_library\",\n explanations: [\n \"update KODI library when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.update.library,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi.update,\n \"library\",\n $$v\n )\n },\n expression: \"notifiers.kodi.update.library\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Full library update\",\n id: \"kodi_update_full\",\n explanations: [\n \"perform a full library update if update per-show fails?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.update.full,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi.update,\n \"full\",\n $$v\n )\n },\n expression: \"notifiers.kodi.update.full\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Clean library\",\n id: \"kodi_clean_library\",\n explanations: [\n \"clean KODI library when replaces a already downloaded episode?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.cleanLibrary,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"cleanLibrary\",\n $$v\n )\n },\n expression: \"notifiers.kodi.cleanLibrary\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Only update first host\",\n id: \"kodi_update_onlyfirst\",\n explanations: [\n \"only send library updates/clean to the first active host?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.update.onlyFirst,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi.update,\n \"onlyFirst\",\n $$v\n )\n },\n expression: \"notifiers.kodi.update.onlyFirst\"\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"kodi_host\",\n id: \"kodi_host\",\n \"list-items\": _vm.notifiers.kodi.host\n },\n on: {\n change: function($event) {\n _vm.notifiers.kodi.host = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"host running KODI (eg. 192.168.1.100:8080)\"\n )\n ])\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Username\",\n id: \"kodi_username\",\n explanations: [\n \"username for your KODI server (blank for none)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.username,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"username\",\n $$v\n )\n },\n expression: \"notifiers.kodi.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"Password\",\n id: \"kodi_password\",\n explanations: [\n \"password for your KODI server (blank for none)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.password,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"password\",\n $$v\n )\n },\n expression: \"notifiers.kodi.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testKODI-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test KODI\",\n id: \"testKODI\"\n },\n on: { click: _vm.testKODI }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-plex\",\n attrs: { title: \"Plex Media Server\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://plex.tv\" } },\n [_vm._v(\"Plex Media Server\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Experience your media on a visually stunning, easy to use interface on your Mac connected to your TV. Your media library has never looked this good!\"\n )\n ]),\n _vm._v(\" \"),\n _vm.notifiers.plex.server.enabled\n ? _c(\"p\", { staticClass: \"plexinfo\" }, [\n _vm._v(\n \"For sending notifications to Plex Home Theater (PHT) clients, use the KODI notifier with port \"\n ),\n _c(\"b\", [_vm._v(\"3005\")]),\n _vm._v(\".\")\n ])\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_plex_server\",\n explanations: [\"Send Plex server notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.server.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.server,\n \"enabled\",\n $$v\n )\n },\n expression: \"notifiers.plex.server.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.plex.server.enabled,\n expression: \"notifiers.plex.server.enabled\"\n }\n ],\n attrs: { id: \"content-use-plex-server\" }\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"Plex Media Server Auth Token\",\n id: \"plex_server_token\"\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.server.token,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.server,\n \"token\",\n $$v\n )\n },\n expression: \"notifiers.plex.server.token\"\n }\n },\n [\n _c(\"p\", [_vm._v(\"Auth Token used by plex\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\n \"span\",\n [\n _vm._v(\"See: \"),\n _c(\n \"app-link\",\n {\n staticClass: \"wiki\",\n attrs: {\n href:\n \"https://support.plex.tv/hc/en-us/articles/204059436-Finding-your-account-token-X-Plex-Token\"\n }\n },\n [\n _c(\"strong\", [\n _vm._v(\n \"Finding your account token\"\n )\n ])\n ]\n )\n ],\n 1\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Username\",\n id: \"plex_server_username\",\n explanations: [\"blank = no authentication\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.server.username,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.server,\n \"username\",\n $$v\n )\n },\n expression: \"notifiers.plex.server.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"Password\",\n id: \"plex_server_password\",\n explanations: [\"blank = no authentication\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.server.password,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.server,\n \"password\",\n $$v\n )\n },\n expression: \"notifiers.plex.server.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Update Library\",\n id: \"plex_update_library\",\n explanations: [\"log errors when unreachable?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.plex.server.updateLibrary,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.server,\n \"updateLibrary\",\n $$v\n )\n },\n expression:\n \"notifiers.plex.server.updateLibrary\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"plex_server_host\",\n label: \"Plex Media Server IP:Port\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"plex_server_host\",\n id: \"plex_server_host\",\n \"list-items\":\n _vm.notifiers.plex.server.host\n },\n on: {\n change: function($event) {\n _vm.notifiers.plex.server.host = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"one or more hosts running Plex Media Server\"\n ),\n _c(\"br\"),\n _vm._v(\n \"(eg. 192.168.1.1:32400, 192.168.1.2:32400)\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"HTTPS\",\n id: \"plex_server_https\",\n explanations: [\n \"use https for plex media server requests?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.server.https,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.server,\n \"https\",\n $$v\n )\n },\n expression: \"notifiers.plex.server.https\"\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"field-pair\" }, [\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testPMS-result\" }\n },\n [\n _vm._v(\n \"Click below to test Plex Media Server(s)\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Plex Media Server\",\n id: \"testPMS\"\n },\n on: { click: _vm.testPMS }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"clear-left\" }, [\n _vm._v(\" \")\n ])\n ])\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-plexth\",\n attrs: { title: \"Plex Media Client\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://plex.tv\" } },\n [_vm._v(\"Plex Home Theater\")]\n )\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_plex_client\",\n explanations: [\n \"Send Plex Home Theater notifications?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.client.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.client,\n \"enabled\",\n $$v\n )\n },\n expression: \"notifiers.plex.client.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.plex.client.enabled,\n expression: \"notifiers.plex.client.enabled\"\n }\n ],\n attrs: { id: \"content-use-plex-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"plex_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.plex.client.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.client,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.plex.client.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"plex_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.plex.client.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.client,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.plex.client.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"plex_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.plex.client\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.client,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.plex.client.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"plex_client_host\",\n label: \"Plex Home Theater IP:Port\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"plex_client_host\",\n id: \"plex_client_host\",\n \"list-items\":\n _vm.notifiers.plex.client.host\n },\n on: {\n change: function($event) {\n _vm.notifiers.plex.client.host = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"one or more hosts running Plex Home Theater\"\n ),\n _c(\"br\"),\n _vm._v(\n \"(eg. 192.168.1.100:3000, 192.168.1.101:3000)\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Username\",\n id: \"plex_client_username\",\n explanations: [\"blank = no authentication\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.client.username,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.client,\n \"username\",\n $$v\n )\n },\n expression: \"notifiers.plex.client.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"Password\",\n id: \"plex_client_password\",\n explanations: [\"blank = no authentication\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.client.password,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.client,\n \"password\",\n $$v\n )\n },\n expression: \"notifiers.plex.client.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"field-pair\" }, [\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testPHT-result\" }\n },\n [\n _vm._v(\n \"Click below to test Plex Home Theater(s)\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Plex Home Theater\",\n id: \"testPHT\"\n },\n on: { click: _vm.testPHT }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _vm._m(1)\n ])\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-emby\",\n attrs: { title: \"Emby\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://emby.media\" } },\n [_vm._v(\"Emby\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"A home media server built using other popular open source technologies.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_emby\",\n explanations: [\"Send update commands to Emby?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.emby.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.emby, \"enabled\", $$v)\n },\n expression: \"notifiers.emby.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.emby.enabled,\n expression: \"notifiers.emby.enabled\"\n }\n ],\n attrs: { id: \"content_use_emby\" }\n },\n [\n _c(\"config-textbox\", {\n attrs: {\n label: \"Emby IP:Port\",\n id: \"emby_host\",\n explanations: [\n \"host running Emby (eg. 192.168.1.100:8096)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.emby.host,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.emby, \"host\", $$v)\n },\n expression: \"notifiers.emby.host\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: { label: \"Api Key\", id: \"emby_apikey\" },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.emby.apiKey,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.emby, \"apiKey\", $$v)\n },\n expression: \"notifiers.emby.apiKey\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testEMBY-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Emby\",\n id: \"testEMBY\"\n },\n on: { click: _vm.testEMBY }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-nmj\",\n attrs: { title: \"Networked Media Jukebox\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"http://www.popcornhour.com/\" }\n },\n [_vm._v(\"NMJ\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The Networked Media Jukebox, or NMJ, is the official media jukebox interface made available for the Popcorn Hour 200-series.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_nmj\",\n explanations: [\"Send update commands to NMJ?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmj.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.nmj, \"enabled\", $$v)\n },\n expression: \"notifiers.nmj.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.nmj.enabled,\n expression: \"notifiers.nmj.enabled\"\n }\n ],\n attrs: { id: \"content-use-nmj\" }\n },\n [\n _c(\"config-textbox\", {\n attrs: {\n label: \"Popcorn IP address\",\n id: \"nmj_host\",\n explanations: [\n \"IP address of Popcorn 200-series (eg. 192.168.1.100)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmj.host,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.nmj, \"host\", $$v)\n },\n expression: \"notifiers.nmj.host\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"settingsNMJ\",\n label: \"Get settings\"\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n value: \"Get Settings\",\n id: \"settingsNMJ\"\n },\n on: { click: _vm.settingsNMJ }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"the Popcorn Hour device must be powered on and NMJ running.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"NMJ database\",\n id: \"nmj_database\",\n explanations: [\n \"automatically filled via the 'Get Settings' button.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmj.database,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.nmj, \"database\", $$v)\n },\n expression: \"notifiers.nmj.database\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"NMJ mount\",\n id: \"nmj_mount\",\n explanations: [\n \"automatically filled via the 'Get Settings' button.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmj.mount,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.nmj, \"mount\", $$v)\n },\n expression: \"notifiers.nmj.mount\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testNMJ-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test NMJ\",\n id: \"testNMJ\"\n },\n on: { click: _vm.testNMJ }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-nmj\",\n attrs: { title: \"Networked Media Jukebox v2\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"http://www.popcornhour.com/\" }\n },\n [_vm._v(\"NMJv2\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The Networked Media Jukebox, or NMJv2, is the official media jukebox interface made available for the Popcorn Hour 300 & 400-series.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_nmjv2\",\n explanations: [\n \"Send popcorn hour (nmjv2) notifications?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmjv2.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.nmjv2, \"enabled\", $$v)\n },\n expression: \"notifiers.nmjv2.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.nmjv2.enabled,\n expression: \"notifiers.nmjv2.enabled\"\n }\n ],\n attrs: { id: \"content-use-nmjv2\" }\n },\n [\n _c(\"config-textbox\", {\n attrs: {\n label: \"Popcorn IP address\",\n id: \"nmjv2_host\",\n explanations: [\n \"IP address of Popcorn 300/400-series (eg. 192.168.1.100)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmjv2.host,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.nmjv2, \"host\", $$v)\n },\n expression: \"notifiers.nmjv2.host\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"nmjv2_database_location\",\n label: \"Database location\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"space-right\",\n attrs: { for: \"NMJV2_DBLOC_A\" }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.notifiers.nmjv2.dbloc,\n expression: \"notifiers.nmjv2.dbloc\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"nmjv2_dbloc\",\n VALUE: \"local\",\n id: \"NMJV2_DBLOC_A\"\n },\n domProps: {\n checked: _vm._q(\n _vm.notifiers.nmjv2.dbloc,\n null\n )\n },\n on: {\n change: function($event) {\n return _vm.$set(\n _vm.notifiers.nmjv2,\n \"dbloc\",\n null\n )\n }\n }\n }),\n _vm._v(\n \"\\n PCH Local Media\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: \"NMJV2_DBLOC_B\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.notifiers.nmjv2.dbloc,\n expression: \"notifiers.nmjv2.dbloc\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"nmjv2_dbloc\",\n VALUE: \"network\",\n id: \"NMJV2_DBLOC_B\"\n },\n domProps: {\n checked: _vm._q(\n _vm.notifiers.nmjv2.dbloc,\n null\n )\n },\n on: {\n change: function($event) {\n return _vm.$set(\n _vm.notifiers.nmjv2,\n \"dbloc\",\n null\n )\n }\n }\n }),\n _vm._v(\n \"\\n PCH Network Media\\n \"\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"nmjv2_database_instance\",\n label: \"Database instance\"\n }\n },\n [\n _c(\n \"select\",\n {\n staticClass: \"form-control input-sm\",\n attrs: { id: \"NMJv2db_instance\" }\n },\n [\n _c(\"option\", { attrs: { value: \"0\" } }, [\n _vm._v(\"#1 \")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"1\" } }, [\n _vm._v(\"#2 \")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"2\" } }, [\n _vm._v(\"#3 \")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"3\" } }, [\n _vm._v(\"#4 \")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"4\" } }, [\n _vm._v(\"#5 \")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"5\" } }, [\n _vm._v(\"#6 \")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"6\" } }, [\n _vm._v(\"#7 \")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"adjust this value if the wrong database is selected.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"get_nmjv2_find_database\",\n label: \"Find database\"\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n value: \"Find Database\",\n id: \"settingsNMJv2\"\n },\n on: { click: _vm.settingsNMJv2 }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"the Popcorn Hour device must be powered on.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"NMJv2 database\",\n id: \"nmjv2_database\",\n explanations: [\n \"automatically filled via the 'Find Database' buttons.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmjv2.database,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.nmjv2,\n \"database\",\n $$v\n )\n },\n expression: \"notifiers.nmjv2.database\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testNMJv2-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test NMJv2\",\n id: \"testNMJv2\"\n },\n on: { click: _vm.testNMJv2 }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-syno1\",\n attrs: { title: \"Synology\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://synology.com/\" } },\n [_vm._v(\"Synology\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"The Synology DiskStation NAS.\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Synology Indexer is the daemon running on the Synology NAS to build its media database.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"HTTPS\",\n id: \"use_synoindex\",\n explanations: [\n \"Note: requires Medusa to be running on your Synology NAS.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.synologyIndex.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.synologyIndex,\n \"enabled\",\n $$v\n )\n },\n expression: \"notifiers.synologyIndex.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.synologyIndex.enabled,\n expression: \"notifiers.synologyIndex.enabled\"\n }\n ],\n attrs: { id: \"content_use_synoindex\" }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ]\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-syno2\",\n attrs: { title: \"Synology Indexer\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://synology.com/\" } },\n [_vm._v(\"Synology Notifier\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Synology Notifier is the notification system of Synology DSM\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_synologynotifier\",\n explanations: [\n \"Send notifications to the Synology Notifier?\",\n \"Note: requires Medusa to be running on your Synology DSM.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.synology.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.synology, \"enabled\", $$v)\n },\n expression: \"notifiers.synology.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.synology.enabled,\n expression: \"notifiers.synology.enabled\"\n }\n ],\n attrs: { id: \"content-use-synology-notifier\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.synology.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.synology,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.synology.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"synology_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.synology.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.synology,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.synology.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"synology_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.synology\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.synology,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.synology.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-pytivo\",\n attrs: { title: \"pyTivo\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://pytivo.sourceforge.net/wiki/index.php/PyTivo\"\n }\n },\n [_vm._v(\"pyTivo\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"pyTivo is both an HMO and GoBack server. This notifier will load the completed downloads to your Tivo.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_pytivo\",\n explanations: [\"Send notifications to pyTivo?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pyTivo.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.pyTivo, \"enabled\", $$v)\n },\n expression: \"notifiers.pyTivo.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.pyTivo.enabled,\n expression: \"notifiers.pyTivo.enabled\"\n }\n ],\n attrs: { id: \"content-use-pytivo\" }\n },\n [\n _c(\"config-textbox\", {\n attrs: {\n label: \"pyTivo IP:Port\",\n id: \"pytivo_host\",\n explanations: [\n \"host running pyTivo (eg. 192.168.1.1:9032)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pyTivo.host,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.pyTivo, \"host\", $$v)\n },\n expression: \"notifiers.pyTivo.host\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"pyTivo share name\",\n id: \"pytivo_name\",\n explanations: [\n \"(Messages & Settings > Account & System Information > System Information > DVR name)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pyTivo.shareName,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pyTivo,\n \"shareName\",\n $$v\n )\n },\n expression: \"notifiers.pyTivo.shareName\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Tivo name\",\n id: \"pytivo_tivo_name\",\n explanations: [\n \"value used in pyTivo Web Configuration to name the share.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pyTivo.name,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.pyTivo, \"name\", $$v)\n },\n expression: \"notifiers.pyTivo.name\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"devices\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-growl\",\n attrs: { title: \"Growl\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://growl.info/\" } },\n [_vm._v(\"Growl\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"A cross-platform unobtrusive global notification system.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_growl_client\",\n explanations: [\"Send Growl notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.growl.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.growl, \"enabled\", $$v)\n },\n expression: \"notifiers.growl.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.growl.enabled,\n expression: \"notifiers.growl.enabled\"\n }\n ],\n attrs: { id: \"content-use-growl-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"growl_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.growl.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.growl,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.growl.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"growl_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.growl.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.growl,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression: \"notifiers.growl.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"growl_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.growl\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.growl,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.growl.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Growl IP:Port\",\n id: \"growl_host\",\n explanations: [\n \"host running Growl (eg. 192.168.1.100:23053)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.growl.host,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.growl, \"host\", $$v)\n },\n expression: \"notifiers.growl.host\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"Password\",\n id: \"growl_password\",\n explanations: [\n \"may leave blank if Medusa is on the same host.\",\n \"otherwise Growl requires a password to be used.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.growl.password,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.growl,\n \"password\",\n $$v\n )\n },\n expression: \"notifiers.growl.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testGrowl-result\" }\n },\n [\n _vm._v(\n \"Click below to register and test Growl, this is required for Growl notifications to work.\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Register Growl\",\n id: \"testGrowl\"\n },\n on: { click: _vm.testGrowl }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-prowl\",\n attrs: { title: \"Prowl\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://www.prowlapp.com/\" } },\n [_vm._v(\"Prowl\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"A Growl client for iOS.\")])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_prowl\",\n explanations: [\"Send Prowl notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.prowl.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.prowl, \"enabled\", $$v)\n },\n expression: \"notifiers.prowl.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.prowl.enabled,\n expression: \"notifiers.prowl.enabled\"\n }\n ],\n attrs: { id: \"content-use-prowl\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"prowl_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.prowl.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.prowl,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.prowl.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"prowl_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.prowl.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.prowl,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression: \"notifiers.prowl.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"prowl_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.prowl\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.prowl,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.prowl.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Prowl Message Title\",\n id: \"prowl_message_title\"\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.prowl.messageTitle,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.prowl,\n \"messageTitle\",\n $$v\n )\n },\n expression: \"notifiers.prowl.messageTitle\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"prowl_api\",\n label: \"Api\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"prowl_api\",\n id: \"prowl_api\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.notifiers.prowl.api\n },\n on: { change: _vm.onChangeProwlApi }\n }),\n _vm._v(\" \"),\n _c(\n \"span\",\n [\n _vm._v(\n \"Prowl API(s) listed here, will receive notifications for \"\n ),\n _c(\"b\", [_vm._v(\"all\")]),\n _vm._v(\n \" shows.\\n Your Prowl API key is available at:\\n \"\n ),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://www.prowlapp.com/api_settings.php\"\n }\n },\n [\n _vm._v(\n \"\\n https://www.prowlapp.com/api_settings.php\"\n )\n ]\n ),\n _c(\"br\"),\n _vm._v(\n \"\\n (This field may be blank except when testing.)\\n \"\n )\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"prowl_show_notification_list\",\n label: \"Show notification list\"\n }\n },\n [\n _c(\"show-selector\", {\n attrs: {\n \"select-class\":\n \"form-control input-sm max-input350\",\n placeholder: \"-- Select a Show --\"\n },\n on: {\n change: function($event) {\n return _vm.prowlUpdateApiKeys($event)\n }\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n {\n staticClass:\n \"offset-sm-2 col-sm-offset-2 col-sm-10 content\"\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"prowl-show-list\",\n id: \"prowl-show-list\",\n \"list-items\":\n _vm.prowlSelectedShowApiKeys\n },\n on: {\n change: function($event) {\n return _vm.savePerShowNotifyList(\n \"prowl\",\n $event\n )\n }\n }\n }),\n _vm._v(\n \"\\n Configure per-show notifications here by entering Prowl API key(s), after selecting a show in the drop-down box.\\n Be sure to activate the 'Save for this show' button below after each entry.\\n \"\n ),\n _c(\"span\", [\n _vm._v(\n \"The values are automatically saved when adding the api key.\"\n )\n ])\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"prowl_priority\",\n label: \"Prowl priority\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.notifiers.prowl.priority,\n expression: \"notifiers.prowl.priority\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"prowl_priority\",\n name: \"prowl_priority\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.notifiers.prowl,\n \"priority\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.prowlPriorityOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"priority of Prowl messages from Medusa.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testProwl-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Prowl\",\n id: \"testProwl\"\n },\n on: { click: _vm.testProwl }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-libnotify\",\n attrs: { title: \"Libnotify\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://library.gnome.org/devel/libnotify/\"\n }\n },\n [_vm._v(\"Libnotify\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"p\",\n [\n _vm._v(\n \"The standard desktop notification API for Linux/*nix systems. This notifier will only function if the pynotify module is installed (Ubuntu/Debian package \"\n ),\n _c(\n \"app-link\",\n { attrs: { href: \"apt:python-notify\" } },\n [_vm._v(\"python-notify\")]\n ),\n _vm._v(\").\")\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_libnotify_client\",\n explanations: [\"Send Libnotify notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.libnotify.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.libnotify,\n \"enabled\",\n $$v\n )\n },\n expression: \"notifiers.libnotify.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.libnotify.enabled,\n expression: \"notifiers.libnotify.enabled\"\n }\n ],\n attrs: { id: \"content-use-libnotify\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"libnotify_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.libnotify.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.libnotify,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.libnotify.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"libnotify_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.libnotify.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.libnotify,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.libnotify.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"libnotify_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.libnotify\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.libnotify,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.libnotify.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testLibnotify-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Libnotify\",\n id: \"testLibnotify\"\n },\n on: { click: _vm.testLibnotify }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-pushover\",\n attrs: { title: \"Pushover\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://pushover.net/\" } },\n [_vm._v(\"Pushover\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Pushover makes it easy to send real-time notifications to your Android and iOS devices.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_pushover_client\",\n explanations: [\"Send Pushover notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushover.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.pushover, \"enabled\", $$v)\n },\n expression: \"notifiers.pushover.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.pushover.enabled,\n expression: \"notifiers.pushover.enabled\"\n }\n ],\n attrs: { id: \"content-use-pushover\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"pushover_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushover.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushover,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.pushover.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"pushover_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushover.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushover,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.pushover.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"pushover_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushover\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushover,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.pushover.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Pushover User Key\",\n id: \"pushover_userkey\",\n explanations: [\n \"User Key of your Pushover account\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushover.userKey,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushover,\n \"userKey\",\n $$v\n )\n },\n expression: \"notifiers.pushover.userKey\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"Pushover API Key\",\n id: \"pushover_apikey\"\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushover.apiKey,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushover,\n \"apiKey\",\n $$v\n )\n },\n expression: \"notifiers.pushover.apiKey\"\n }\n },\n [\n _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://pushover.net/apps/build/\"\n }\n },\n [_c(\"b\", [_vm._v(\"Click here\")])]\n ),\n _vm._v(\" to create a Pushover API key\")\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"pushover_device\",\n label: \"Pushover Devices\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"pushover_device\",\n id: \"pushover_device\",\n \"list-items\":\n _vm.notifiers.pushover.device\n },\n on: {\n change: function($event) {\n _vm.notifiers.pushover.device = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"List of pushover devices you want to send notifications to\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"pushover_sound\",\n label: \"Pushover notification sound\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.notifiers.pushover.sound,\n expression: \"notifiers.pushover.sound\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"pushover_sound\",\n name: \"pushover_sound\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.notifiers.pushover,\n \"sound\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.pushoverSoundOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Choose notification sound to use\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"pushover_priority\",\n label: \"Pushover notification priority\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.notifiers.pushover.priority,\n expression:\n \"notifiers.pushover.priority\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"pushover_priority\",\n name: \"pushover_priority\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.notifiers.pushover,\n \"priority\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(\n _vm.pushoverPriorityOptions,\n function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }\n ),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"priority of Pushover messages from Medusa\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testPushover-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Pushover\",\n id: \"testPushover\"\n },\n on: { click: _vm.testPushover }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-boxcar2\",\n attrs: { title: \"Boxcar 2\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://new.boxcar.io/\" } },\n [_vm._v(\"Boxcar 2\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Read your messages where and when you want them!\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_boxcar2\",\n explanations: [\"Send boxcar2 notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.boxcar2.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.boxcar2, \"enabled\", $$v)\n },\n expression: \"notifiers.boxcar2.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.boxcar2.enabled,\n expression: \"notifiers.boxcar2.enabled\"\n }\n ],\n attrs: { id: \"content-use-boxcar2-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"boxcar2_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.boxcar2.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.boxcar2,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.boxcar2.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"boxcar2_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.boxcar2.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.boxcar2,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.boxcar2.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"boxcar2_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.boxcar2\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.boxcar2,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.boxcar2.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Boxcar2 Access token\",\n id: \"boxcar2_accesstoken\",\n explanations: [\n \"access token for your Boxcar account.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.boxcar2.accessToken,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.boxcar2,\n \"accessToken\",\n $$v\n )\n },\n expression: \"notifiers.boxcar2.accessToken\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testBoxcar2-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Boxcar\",\n id: \"testBoxcar2\"\n },\n on: { click: _vm.testBoxcar2 }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-pushalot\",\n attrs: { title: \"Pushalot\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://pushalot.com\" } },\n [_vm._v(\"Pushalot\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Pushalot is a platform for receiving custom push notifications to connected devices running Windows Phone or Windows 8.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_pushalot\",\n explanations: [\"Send Pushalot notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushalot.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.pushalot, \"enabled\", $$v)\n },\n expression: \"notifiers.pushalot.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.pushalot.enabled,\n expression: \"notifiers.pushalot.enabled\"\n }\n ],\n attrs: { id: \"content-use-pushalot-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"pushalot_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushalot.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushalot,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.pushalot.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"pushalot_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushalot.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushalot,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.pushalot.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"pushalot_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushalot\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushalot,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.pushalot.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Pushalot authorization token\",\n id: \"pushalot_authorizationtoken\",\n explanations: [\n \"authorization token of your Pushalot account.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushalot.authToken,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushalot,\n \"authToken\",\n $$v\n )\n },\n expression: \"notifiers.pushalot.authToken\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testPushalot-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Pushalot\",\n id: \"testPushalot\"\n },\n on: { click: _vm.testPushalot }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-pushbullet\",\n attrs: { title: \"Pushbullet\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://www.pushbullet.com\" } },\n [_vm._v(\"Pushbullet\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Pushbullet is a platform for receiving custom push notifications to connected devices running Android and desktop Chrome browsers.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_pushbullet\",\n explanations: [\"Send pushbullet notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushbullet.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushbullet,\n \"enabled\",\n $$v\n )\n },\n expression: \"notifiers.pushbullet.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.pushbullet.enabled,\n expression: \"notifiers.pushbullet.enabled\"\n }\n ],\n attrs: { id: \"content-use-pushbullet-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"pushbullet_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushbullet.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushbullet,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.pushbullet.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"pushbullet_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushbullet.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushbullet,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.pushbullet.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"pushbullet_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushbullet\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushbullet,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.pushbullet.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Pushbullet API key\",\n id: \"pushbullet_api\",\n explanations: [\n \"API key of your Pushbullet account.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushbullet.api,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushbullet,\n \"api\",\n $$v\n )\n },\n expression: \"notifiers.pushbullet.api\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"pushbullet_device_list\",\n label: \"Pushbullet devices\"\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n value: \"Update device list\",\n id: \"get-pushbullet-devices\"\n },\n on: {\n click: _vm.getPushbulletDeviceOptions\n }\n }),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.notifiers.pushbullet.device,\n expression:\n \"notifiers.pushbullet.device\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"pushbullet_device_list\",\n name: \"pushbullet_device_list\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.notifiers.pushbullet,\n \"device\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(\n _vm.pushbulletDeviceOptions,\n function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value },\n on: {\n change: function($event) {\n _vm.pushbulletTestInfo =\n \"Don't forget to save your new pushbullet settings.\"\n }\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }\n ),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"select device you wish to push to.\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testPushbullet-resultsfsf\" }\n },\n [_vm._v(_vm._s(_vm.pushbulletTestInfo))]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Pushbullet\",\n id: \"testPushbullet\"\n },\n on: { click: _vm.testPushbulletApi }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-join\",\n attrs: { title: \"Join\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://joaoapps.com/join/\" } },\n [_vm._v(\"Join\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Join is a platform for receiving custom push notifications to connected devices running Android and desktop Chrome browsers.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_join\",\n explanations: [\"Send join notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.join.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.join, \"enabled\", $$v)\n },\n expression: \"notifiers.join.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.join.enabled,\n expression: \"notifiers.join.enabled\"\n }\n ],\n attrs: { id: \"content-use-join-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"join_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.join.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.join,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.join.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"join_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.join.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.join,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression: \"notifiers.join.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"join_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.join.notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.join,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.join.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Join API key\",\n id: \"join_api\",\n explanations: [\n \"API key of your Join account.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.join.api,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.join, \"api\", $$v)\n },\n expression: \"notifiers.join.api\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Join Device ID(s) key\",\n id: \"join_device\",\n explanations: [\n \"Enter DeviceID of the device(s) you wish to send notifications to, comma separated if using multiple.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.join.device,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.join, \"device\", $$v)\n },\n expression: \"notifiers.join.device\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testJoin-result\" }\n },\n [_vm._v(_vm._s(_vm.joinTestInfo))]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Join\",\n id: \"testJoin\"\n },\n on: { click: _vm.testJoinApi }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-freemobile\",\n attrs: { title: \"Free Mobile\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://mobile.free.fr/\" } },\n [_vm._v(\"Free Mobile\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Free Mobile is a famous French cellular network provider. It provides to their customer a free SMS API.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_freemobile\",\n explanations: [\"Send SMS notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.freemobile.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.freemobile,\n \"enabled\",\n $$v\n )\n },\n expression: \"notifiers.freemobile.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.freemobile.enabled,\n expression: \"notifiers.freemobile.enabled\"\n }\n ],\n attrs: { id: \"content-use-freemobile-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"freemobile_notify_onsnatch\",\n explanations: [\n \"send an SMS when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.freemobile.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.freemobile,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.freemobile.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"freemobile_notify_ondownload\",\n explanations: [\n \"send an SMS when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.freemobile.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.freemobile,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.freemobile.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"freemobile_notify_onsubtitledownload\",\n explanations: [\n \"send an SMS when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.freemobile\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.freemobile,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.freemobile.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Free Mobile customer ID\",\n id: \"freemobile_id\",\n explanations: [\n \"It's your Free Mobile customer ID (8 digits)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.freemobile.id,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.freemobile,\n \"id\",\n $$v\n )\n },\n expression: \"notifiers.freemobile.id\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Free Mobile API Key\",\n id: \"freemobile_apikey\",\n explanations: [\n \"Find your API Key in your customer portal.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.freemobile.api,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.freemobile,\n \"api\",\n $$v\n )\n },\n expression: \"notifiers.freemobile.api\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testFreeMobile-result\" }\n },\n [_vm._v(\"Click below to test your settings.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test SMS\",\n id: \"testFreeMobile\"\n },\n on: { click: _vm.testFreeMobile }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-telegram\",\n attrs: { title: \"Telegram\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://telegram.org/\" } },\n [_vm._v(\"Telegram\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Telegram is a cloud-based instant messaging service.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_telegram\",\n explanations: [\"Send Telegram notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.telegram.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.telegram, \"enabled\", $$v)\n },\n expression: \"notifiers.telegram.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.telegram.enabled,\n expression: \"notifiers.telegram.enabled\"\n }\n ],\n attrs: { id: \"content-use-telegram-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"telegram_notify_onsnatch\",\n explanations: [\n \"Send a message when a download starts??\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.telegram.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.telegram,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.telegram.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"telegram_notify_ondownload\",\n explanations: [\n \"send a message when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.telegram.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.telegram,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.telegram.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"telegram_notify_onsubtitledownload\",\n explanations: [\n \"send a message when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.telegram\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.telegram,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.telegram.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"User/group ID\",\n id: \"telegram_id\",\n explanations: [\n \"Contact @myidbot on Telegram to get an ID\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.telegram.id,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.telegram, \"id\", $$v)\n },\n expression: \"notifiers.telegram.id\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Bot API token\",\n id: \"telegram_apikey\",\n explanations: [\n \"Contact @BotFather on Telegram to set up one\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.telegram.api,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.telegram, \"api\", $$v)\n },\n expression: \"notifiers.telegram.api\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testTelegram-result\" }\n },\n [_vm._v(\"Click below to test your settings.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Telegram\",\n id: \"testTelegram\"\n },\n on: { click: _vm.testTelegram }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-discord\",\n attrs: { title: \"Discord\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://discordapp.com/\" } },\n [_vm._v(\"Discord\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Discord is a cloud-based All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone..\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_discord\",\n explanations: [\"Send Discord notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.discord.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.discord, \"enabled\", $$v)\n },\n expression: \"notifiers.discord.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.discord.enabled,\n expression: \"notifiers.discord.enabled\"\n }\n ],\n attrs: { id: \"content-use-discord-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"discord_notify_onsnatch\",\n explanations: [\n \"Send a message when a download starts??\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.discord.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.discord,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.discord.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"discord_notify_ondownload\",\n explanations: [\n \"send a message when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.discord.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.discord,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.discord.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"discord_notify_onsubtitledownload\",\n explanations: [\n \"send a message when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.discord\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.discord,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.discord.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Channel webhook\",\n id: \"discord_webhook\",\n explanations: [\n \"Add a webhook to a channel, use the returned url here\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.discord.webhook,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.discord,\n \"webhook\",\n $$v\n )\n },\n expression: \"notifiers.discord.webhook\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Text to speech\",\n id: \"discord_tts\",\n explanations: [\n \"Use discord text to speech feature\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.discord.tts,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.discord, \"tts\", $$v)\n },\n expression: \"notifiers.discord.tts\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Bot username\",\n id: \"discord_name\",\n explanations: [\n \"Create a username for the Discord Bot to use\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.discord.name,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.discord, \"name\", $$v)\n },\n expression: \"notifiers.discord.name\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testDiscord-result\" }\n },\n [_vm._v(\"Click below to test your settings.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Discord\",\n id: \"testDiscord\"\n },\n on: { click: _vm.testDiscord }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"social\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-twitter\",\n attrs: { title: \"Twitter\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://www.twitter.com\" } },\n [_vm._v(\"Twitter\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"A social networking and microblogging service, enabling its users to send and read other users' messages called tweets.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_twitter\",\n explanations: [\n \"Should Medusa post tweets on Twitter?\",\n \"Note: you may want to use a secondary account.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.twitter.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.twitter, \"enabled\", $$v)\n },\n expression: \"notifiers.twitter.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.twitter.enabled,\n expression: \"notifiers.twitter.enabled\"\n }\n ],\n attrs: { id: \"content-use-twitter\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"twitter_notify_onsnatch\",\n explanations: [\n \"send an SMS when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.twitter.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.twitter,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.twitter.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"twitter_notify_ondownload\",\n explanations: [\n \"send an SMS when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.twitter.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.twitter,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.twitter.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"twitter_notify_onsubtitledownload\",\n explanations: [\n \"send an SMS when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.twitter\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.twitter,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.twitter.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Send direct message\",\n id: \"twitter_usedm\",\n explanations: [\n \"send a notification via Direct Message, not via status update\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.twitter.directMessage,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.twitter,\n \"directMessage\",\n $$v\n )\n },\n expression: \"notifiers.twitter.directMessage\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Send DM to\",\n id: \"twitter_dmto\",\n explanations: [\n \"Twitter account to send Direct Messages to (must follow you)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.twitter.dmto,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.twitter, \"dmto\", $$v)\n },\n expression: \"notifiers.twitter.dmto\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"twitterStep1\",\n label: \"Step 1\"\n }\n },\n [\n _c(\n \"span\",\n { staticStyle: { \"font-size\": \"11px\" } },\n [\n _vm._v(\n 'Click the \"Request Authorization\" button. '\n ),\n _c(\"br\"),\n _vm._v(\n \"This will open a new page containing an auth key. \"\n ),\n _c(\"br\"),\n _vm._v(\n \"Note: if nothing happens check your popup blocker.\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Request Authorization\",\n id: \"twitter-step-1\"\n },\n on: {\n click: function($event) {\n return _vm.twitterStep1($event)\n }\n }\n })\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"twitterStep2\",\n label: \"Step 2\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.twitterKey,\n expression: \"twitterKey\"\n }\n ],\n staticClass:\n \"form-control input-sm max-input350\",\n staticStyle: { display: \"inline\" },\n attrs: {\n type: \"text\",\n id: \"twitter_key\",\n placeholder:\n \"Enter the key Twitter gave you, and click 'Verify Key'\"\n },\n domProps: { value: _vm.twitterKey },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.twitterKey = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n value: \"Verify Key\",\n id: \"twitter-step-2\"\n },\n on: {\n click: function($event) {\n return _vm.twitterStep2($event)\n }\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"testNotification\",\n attrs: { id: \"testTwitter-result\" },\n domProps: {\n innerHTML: _vm._s(_vm.twitterTestInfo)\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Twitter\",\n id: \"testTwitter\"\n },\n on: { click: _vm.twitterTest }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-trakt\",\n attrs: { title: \"Trakt\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://trakt.tv/\" } },\n [_vm._v(\"Trakt\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"trakt helps keep a record of what TV shows and movies you are watching. Based on your favorites, trakt recommends additional shows and movies you'll enjoy!\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_trakt\",\n explanations: [\"Send Trakt.tv notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.trakt.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.trakt, \"enabled\", $$v)\n },\n expression: \"notifiers.trakt.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.trakt.enabled,\n expression: \"notifiers.trakt.enabled\"\n }\n ],\n attrs: { id: \"content-use-trakt-client\" }\n },\n [\n _c(\"config-textbox\", {\n attrs: {\n label: \"Username\",\n id: \"trakt_username\",\n explanations: [\n \"username of your Trakt account.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.trakt.username,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"username\",\n $$v\n )\n },\n expression: \"notifiers.trakt.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"trakt_pin\",\n label: \"Trakt PIN\"\n }\n },\n [\n _c(\"input\", {\n staticClass:\n \"form-control input-sm max-input250\",\n staticStyle: { display: \"inline\" },\n attrs: {\n type: \"text\",\n name: \"trakt_pin\",\n id: \"trakt_pin\",\n value: \"\",\n disabled: _vm.notifiers.trakt.accessToken\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: _vm.traktNewTokenMessage,\n id: \"TraktGetPin\"\n },\n on: { click: _vm.TraktGetPin }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa hide\",\n attrs: {\n type: \"button\",\n value: \"Authorize Medusa\",\n id: \"authTrakt\"\n },\n on: { click: _vm.authTrakt }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"PIN code to authorize Medusa to access Trakt on your behalf.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n attrs: {\n label: \"API Timeout\",\n id: \"trakt_timeout\",\n explanations: [\n \"Seconds to wait for Trakt API to respond. (Use 0 to wait forever)\"\n ]\n },\n model: {\n value: _vm.notifiers.trakt.timeout,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"timeout\",\n $$v\n )\n },\n expression: \"notifiers.trakt.timeout\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"trakt_default_indexer\",\n label: \"Default indexer\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.notifiers.trakt.defaultIndexer,\n expression:\n \"notifiers.trakt.defaultIndexer\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"trakt_default_indexer\",\n name: \"trakt_default_indexer\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.notifiers.trakt,\n \"defaultIndexer\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.traktIndexersOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.key,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Sync libraries\",\n id: \"trakt_sync\",\n explanations: [\n \"Sync your Medusa show library with your Trakt collection.\",\n \"Note: Don't enable this setting if you use the Trakt addon for Kodi or any other script that syncs your library.\",\n \"Kodi detects that the episode was deleted and removes from collection which causes Medusa to re-add it. This causes a loop between Medusa and Kodi adding and deleting the episode.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.trakt.sync,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.trakt, \"sync\", $$v)\n },\n expression: \"notifiers.trakt.sync\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.trakt.sync,\n expression: \"notifiers.trakt.sync\"\n }\n ],\n attrs: { id: \"content-use-trakt-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Remove Episodes From Collection\",\n id: \"trakt_remove_watchlist\",\n explanations: [\n \"Remove an Episode from your Trakt Collection if it is not in your Medusa Library.\",\n \"Note:Don't enable this setting if you use the Trakt addon for Kodi or any other script that syncs your library.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.trakt.removeWatchlist,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"removeWatchlist\",\n $$v\n )\n },\n expression:\n \"notifiers.trakt.removeWatchlist\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Sync watchlist\",\n id: \"trakt_sync_watchlist\",\n explanations: [\n \"Sync your Medusa library with your Trakt Watchlist (either Show and Episode).\",\n \"Episode will be added on watch list when wanted or snatched and will be removed when downloaded\",\n \"Note: By design, Trakt automatically removes episodes and/or shows from watchlist as soon you have watched them.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.trakt.syncWatchlist,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"syncWatchlist\",\n $$v\n )\n },\n expression: \"notifiers.trakt.syncWatchlist\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.trakt.syncWatchlist,\n expression:\n \"notifiers.trakt.syncWatchlist\"\n }\n ],\n attrs: { id: \"content-use-trakt-client\" }\n },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"trakt_default_indexer\",\n label: \"Watchlist add method\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.notifiers.trakt.methodAdd,\n expression:\n \"notifiers.trakt.methodAdd\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"trakt_method_add\",\n name: \"trakt_method_add\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.notifiers.trakt,\n \"methodAdd\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.traktMethodOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.key,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"method in which to download episodes for new shows.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Remove episode\",\n id: \"trakt_remove_watchlist\",\n explanations: [\n \"remove an episode from your watchlist after it's downloaded.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.trakt.removeWatchlist,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"removeWatchlist\",\n $$v\n )\n },\n expression:\n \"notifiers.trakt.removeWatchlist\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Remove series\",\n id: \"trakt_remove_serieslist\",\n explanations: [\n \"remove the whole series from your watchlist after any download.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.trakt.removeSerieslist,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"removeSerieslist\",\n $$v\n )\n },\n expression:\n \"notifiers.trakt.removeSerieslist\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Remove watched show\",\n id: \"trakt_remove_show_from_application\",\n explanations: [\n \"remove the show from Medusa if it's ended and completely watched\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.trakt\n .removeShowFromApplication,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"removeShowFromApplication\",\n $$v\n )\n },\n expression:\n \"notifiers.trakt.removeShowFromApplication\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Start paused\",\n id: \"trakt_start_paused\",\n explanations: [\n \"shows grabbed from your trakt watchlist start paused.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.trakt.startPaused,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"startPaused\",\n $$v\n )\n },\n expression: \"notifiers.trakt.startPaused\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Trakt blackList name\",\n id: \"trakt_blacklist_name\",\n explanations: [\n \"Name(slug) of List on Trakt for blacklisting show on 'Add Trending Show' & 'Add Recommended Shows' pages\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.trakt.blacklistName,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"blacklistName\",\n $$v\n )\n },\n expression: \"notifiers.trakt.blacklistName\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testTrakt-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Trakt\",\n id: \"testTrakt\"\n },\n on: { click: _vm.testTrakt }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Force Sync\",\n id: \"forceSync\"\n },\n on: { click: _vm.traktForceSync }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n attrs: { type: \"hidden\", id: \"trakt_pin_url\" },\n domProps: { value: _vm.notifiers.trakt.pinUrl }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-email\",\n attrs: { title: \"Email\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://en.wikipedia.org/wiki/Comparison_of_webmail_providers\"\n }\n },\n [_vm._v(\"Email\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Allows configuration of email notifications on a per show basis.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_email\",\n explanations: [\"Send email notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.email, \"enabled\", $$v)\n },\n expression: \"notifiers.email.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.email.enabled,\n expression: \"notifiers.email.enabled\"\n }\n ],\n attrs: { id: \"content-use-email\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"email_notify_onsnatch\",\n explanations: [\n \"Send a message when a download starts??\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.email,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.email.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"email_notify_ondownload\",\n explanations: [\n \"send a message when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.email,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression: \"notifiers.email.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"email_notify_onsubtitledownload\",\n explanations: [\n \"send a message when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.email\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.email,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.email.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"SMTP host\",\n id: \"email_host\",\n explanations: [\n \"hostname of your SMTP email server.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.host,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.email, \"host\", $$v)\n },\n expression: \"notifiers.email.host\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n attrs: {\n min: 1,\n step: 1,\n label: \"SMTP port\",\n id: \"email_port\",\n explanations: [\n \"port number used to connect to your SMTP host.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.port,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.email, \"port\", $$v)\n },\n expression: \"notifiers.email.port\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"SMTP from\",\n id: \"email_from\",\n explanations: [\n \"sender email address, some hosts require a real address.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.from,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.email, \"from\", $$v)\n },\n expression: \"notifiers.email.from\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Use TLS\",\n id: \"email_tls\",\n explanations: [\"check to use TLS encryption.\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.tls,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.email, \"tls\", $$v)\n },\n expression: \"notifiers.email.tls\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"SMTP username\",\n id: \"email_username\",\n explanations: [\n \"(optional) your SMTP server username.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.username,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.email,\n \"username\",\n $$v\n )\n },\n expression: \"notifiers.email.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"SMTP password\",\n id: \"email_password\",\n explanations: [\n \"(optional) your SMTP server password.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.password,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.email,\n \"password\",\n $$v\n )\n },\n expression: \"notifiers.email.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"email_list\",\n label: \"Global email list\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"email_list\",\n id: \"email_list\",\n \"list-items\":\n _vm.notifiers.email.addressList\n },\n on: { change: _vm.emailUpdateAddressList }\n }),\n _vm._v(\n \"\\n Email addresses listed here, will receive notifications for \"\n ),\n _c(\"b\", [_vm._v(\"all\")]),\n _vm._v(\" shows.\"),\n _c(\"br\"),\n _vm._v(\n \"\\n (This field may be blank except when testing.)\\n \"\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Email Subject\",\n id: \"email_subject\",\n explanations: [\n \"Use a custom subject for some privacy protection?\",\n \"(Leave blank for the default Medusa subject)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.subject,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.email,\n \"subject\",\n $$v\n )\n },\n expression: \"notifiers.email.subject\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"email_show\",\n label: \"Show notification list\"\n }\n },\n [\n _c(\"show-selector\", {\n attrs: {\n \"select-class\":\n \"form-control input-sm max-input350\",\n placeholder: \"-- Select a Show --\"\n },\n on: {\n change: function($event) {\n return _vm.emailUpdateShowEmail($event)\n }\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n {\n staticClass:\n \"offset-sm-2 col-sm-offset-2 col-sm-10 content\"\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"email_list\",\n id: \"email_list\",\n \"list-items\":\n _vm.emailSelectedShowAdresses\n },\n on: {\n change: function($event) {\n return _vm.savePerShowNotifyList(\n \"email\",\n $event\n )\n }\n }\n }),\n _vm._v(\n \"\\n Email addresses listed here, will receive notifications for \"\n ),\n _c(\"b\", [_vm._v(\"all\")]),\n _vm._v(\" shows.\"),\n _c(\"br\"),\n _vm._v(\n \"\\n (This field may be blank except when testing.)\\n \"\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testEmail-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Email\",\n id: \"testEmail\"\n },\n on: { click: _vm.testEmail }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-slack\",\n attrs: { title: \"Slack\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://slack.com\" } },\n [_vm._v(\"Slack\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Slack is a messaging app for teams.\")])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_slack_client\",\n explanations: [\"Send Slack notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.slack.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.slack, \"enabled\", $$v)\n },\n expression: \"notifiers.slack.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.slack.enabled,\n expression: \"notifiers.slack.enabled\"\n }\n ],\n attrs: { id: \"content-use-slack-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"slack_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.slack.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.slack,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.slack.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"slack_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.slack.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.slack,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression: \"notifiers.slack.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"slack_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.slack\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.slack,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.slack.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"Slack Incoming Webhook\",\n id: \"slack_webhook\",\n explanations: [\n \"Create an incoming webhook, to communicate with your slack channel.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.slack.webhook,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.slack,\n \"webhook\",\n $$v\n )\n },\n expression: \"notifiers.slack.webhook\"\n }\n },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://my.slack.com/services/new/incoming-webhook\"\n }\n },\n [\n _vm._v(\n \"https://my.slack.com/services/new/incoming-webhook/\"\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testSlack-result\" }\n },\n [_vm._v(\"Click below to test your settings.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Slack\",\n id: \"testSlack\"\n },\n on: { click: _vm.testSlack }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _c(\"br\")\n ])\n ]\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"clearfix\" })\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"kodi_host\" } },\n [_c(\"span\", [_vm._v(\"KODI IP:Port\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\" some Plex Home Theaters \"),\n _c(\"b\", { staticClass: \"boldest\" }, [_vm._v(\"do not\")]),\n _vm._v(\" support notifications e.g. Plexapp for Samsung TVs\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/config-notifications.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-post-processing.vue?vue&type=template&id=bd17f536&": -/*!****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-post-processing.vue?vue&type=template&id=bd17f536& ***! - \****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config\" } }, [\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n staticClass: \"form-horizontal\",\n attrs: { id: \"configForm\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.save()\n }\n }\n },\n [\n _c(\"div\", { attrs: { id: \"config-components\" } }, [\n _c(\"ul\", [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#post-processing\" } }, [\n _vm._v(\"Post-Processing\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#episode-naming\" } }, [\n _vm._v(\"Episode Naming\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#metadata\" } }, [\n _vm._v(\"Metadata\")\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"post-processing\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\"fieldset\", { staticClass: \"component-group-list\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"process_automatically\",\n name: \"process_automatically\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.processAutomatically,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"processAutomatically\",\n $$v\n )\n },\n expression: \"postprocessing.processAutomatically\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.postprocessing.processAutomatically,\n expression: \"postprocessing.processAutomatically\"\n }\n ],\n attrs: { id: \"post-process-toggle-wrapper\" }\n },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(4),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"file-browser\", {\n attrs: {\n id: \"tv_download_dir\",\n name: \"tv_download_dir\",\n title: \"Select series download location\",\n \"initial-dir\":\n _vm.postprocessing.showDownloadDir\n },\n on: {\n update: function($event) {\n _vm.postprocessing.showDownloadDir = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"clear-left\" }, [\n _vm._v(\n \"The folder where your download client puts the completed TV downloads.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(5)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.postprocessing.processMethod,\n expression: \"postprocessing.processMethod\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"naming_multi_ep\",\n name: \"naming_multi_ep\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.postprocessing,\n \"processMethod\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.processMethods, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"What method should be used to put files into the library?\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm.postprocessing.processMethod == \"reflink\"\n ? _c(\n \"p\",\n [\n _vm._v(\"To use reference linking, the \"),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://www.dereferer.org/?https://pypi.python.org/pypi/reflink/0.1.4\"\n }\n },\n [_vm._v(\"reflink package\")]\n ),\n _vm._v(\" needs to be installed.\")\n ],\n 1\n )\n : _vm._e()\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(8),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model.number\",\n value:\n _vm.postprocessing\n .autoPostprocessorFrequency,\n expression:\n \"postprocessing.autoPostprocessorFrequency\",\n modifiers: { number: true }\n }\n ],\n staticClass: \"form-control input-sm input75\",\n attrs: {\n type: \"number\",\n min: \"10\",\n step: \"1\",\n name: \"autopostprocessor_frequency\",\n id: \"autopostprocessor_frequency\"\n },\n domProps: {\n value:\n _vm.postprocessing.autoPostprocessorFrequency\n },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.postprocessing,\n \"autoPostprocessorFrequency\",\n _vm._n($event.target.value)\n )\n },\n blur: function($event) {\n return _vm.$forceUpdate()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Time in minutes to check for new files to auto post-process (min 10)\"\n )\n ])\n ])\n ])\n ]\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(9),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\"fieldset\", { staticClass: \"component-group-list\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(10),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"postpone_if_sync_files\",\n name: \"postpone_if_sync_files\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.postponeIfSyncFiles,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"postponeIfSyncFiles\",\n $$v\n )\n },\n expression: \"postprocessing.postponeIfSyncFiles\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Wait to process a folder if sync files are present.\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(11),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"sync_files\",\n id: \"sync_files\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postprocessing.syncFiles\n },\n on: { change: _vm.onChangeSyncFiles }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Comma separated list of extensions or filename globs Medusa ignores when post-processing\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(12),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"postpone_if_no_subs\",\n name: \"postpone_if_no_subs\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.postponeIfNoSubs,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"postponeIfNoSubs\",\n $$v\n )\n },\n expression: \"postprocessing.postponeIfNoSubs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Wait to process a file until subtitles are present\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Language names are allowed in subtitle filename (en.srt, pt-br.srt, ita.srt, etc.)\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(13),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"If you have any active show with subtitle search disabled, you must enable Automatic post-processor.\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(14),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"rename_episodes\",\n name: \"rename_episodes\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.renameEpisodes,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"renameEpisodes\",\n $$v\n )\n },\n expression: \"postprocessing.renameEpisodes\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Rename episode using the Episode Naming settings?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(15),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"create_missing_show_dirs\",\n name: \"create_missing_show_dirs\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.createMissingShowDirs,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"createMissingShowDirs\",\n $$v\n )\n },\n expression: \"postprocessing.createMissingShowDirs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Create missing show directories when they get deleted\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(16),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"add_shows_wo_dir\",\n name: \"add_shows_wo_dir\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.addShowsWithoutDir,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"addShowsWithoutDir\",\n $$v\n )\n },\n expression: \"postprocessing.addShowsWithoutDir\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Add shows without creating a directory (not recommended)\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(17),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"move_associated_files\",\n name: \"move_associated_files\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.moveAssociatedFiles,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"moveAssociatedFiles\",\n $$v\n )\n },\n expression: \"postprocessing.moveAssociatedFiles\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Delete srt/srr/sfv/etc files while post-processing?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(18),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"allowed_extensions\",\n id: \"allowed_extensions\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postprocessing.allowedExtensions\n },\n on: { change: _vm.onChangeAllowedExtensions }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Comma separated list of associated file extensions Medusa should keep while post-processing.\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Leaving it empty means all associated files will be deleted\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(19),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"nfo_rename\",\n name: \"nfo_rename\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.nfoRename,\n callback: function($$v) {\n _vm.$set(_vm.postprocessing, \"nfoRename\", $$v)\n },\n expression: \"postprocessing.nfoRename\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Rename the original .nfo file to .nfo-orig to avoid conflicts?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(20),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"airdate_episodes\",\n name: \"airdate_episodes\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.airdateEpisodes,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"airdateEpisodes\",\n $$v\n )\n },\n expression: \"postprocessing.airdateEpisodes\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Set last modified filedate to the date that the episode aired?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(21),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.postprocessing.fileTimestampTimezone,\n expression:\n \"postprocessing.fileTimestampTimezone\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"file_timestamp_timezone\",\n name: \"file_timestamp_timezone\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.postprocessing,\n \"fileTimestampTimezone\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.timezoneOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"What timezone should be used to change File Date?\"\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(22),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"unpack\",\n name: \"unpack\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.unpack,\n callback: function($$v) {\n _vm.$set(_vm.postprocessing, \"unpack\", $$v)\n },\n expression: \"postprocessing.unpack\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(23),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(24)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(25),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"del_rar_contents\",\n name: \"del_rar_contents\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.deleteRarContent,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"deleteRarContent\",\n $$v\n )\n },\n expression: \"postprocessing.deleteRarContent\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Delete content of RAR files, even if Process Method not set to move?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(26),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"no_delete\",\n name: \"no_delete\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.noDelete,\n callback: function($$v) {\n _vm.$set(_vm.postprocessing, \"noDelete\", $$v)\n },\n expression: \"postprocessing.noDelete\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Leave empty folders when post-processing?\")\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(27)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(28),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"extra_scripts\",\n id: \"extra_scripts\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postprocessing.extraScripts\n },\n on: { change: _vm.onChangeExtraScripts }\n }),\n _vm._v(\" \"),\n _c(\n \"span\",\n [\n _vm._v(\"See \"),\n _c(\n \"app-link\",\n {\n staticClass: \"wikie\",\n attrs: {\n href: _vm.postprocessing.extraScriptsUrl\n }\n },\n [_c(\"strong\", [_vm._v(\"Wiki\")])]\n ),\n _vm._v(\n \" for script arguments description and usage.\"\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"episode-naming\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(29),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n \"naming-pattern\": _vm.postprocessing.naming.pattern,\n \"naming-presets\": _vm.presets,\n \"multi-ep-style\": _vm.postprocessing.naming.multiEp,\n \"multi-ep-styles\": _vm.multiEpStringsSelect,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNaming }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postprocessing.naming.enableCustomNamingSports,\n \"naming-pattern\":\n _vm.postprocessing.naming.patternSports,\n \"naming-presets\": _vm.presets,\n type: \"sports\",\n \"enabled-naming-custom\":\n _vm.postprocessing.naming.enableCustomNamingSports,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingSports }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postprocessing.naming\n .enableCustomNamingAirByDate,\n \"naming-pattern\":\n _vm.postprocessing.naming.patternAirByDate,\n \"naming-presets\": _vm.presets,\n type: \"airs by date\",\n \"enabled-naming-custom\":\n _vm.postprocessing.naming\n .enableCustomNamingAirByDate,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingAbd }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postprocessing.naming.enableCustomNamingAnime,\n \"naming-pattern\":\n _vm.postprocessing.naming.patternAnime,\n \"naming-presets\": _vm.presets,\n type: \"anime\",\n \"multi-ep-style\":\n _vm.postprocessing.naming.animeMultiEp,\n \"multi-ep-styles\": _vm.multiEpStringsSelect,\n \"anime-naming-type\":\n _vm.postprocessing.naming.animeNamingType,\n \"enabled-naming-custom\":\n _vm.postprocessing.naming.enableCustomNamingAnime,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingAnime }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group component-item\" }, [\n _vm._m(30),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"naming_strip_year\",\n name: \"naming_strip_year\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.naming.stripYear,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing.naming,\n \"stripYear\",\n $$v\n )\n },\n expression: \"postprocessing.naming.stripYear\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Remove the TV show's year when renaming the file?\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only applies to shows that have year inside parentheses\"\n )\n ])\n ],\n 1\n )\n ])\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"metadata\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(31),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.metadataProviderSelected,\n expression: \"metadataProviderSelected\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"metadataType\",\n name: \"metadataType\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.metadataProviderSelected = $event.target\n .multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.metadata.metadataProviders, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.id,\n domProps: { value: option.id }\n },\n [_vm._v(_vm._s(option.name))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _vm._m(33)\n ])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.metadata.metadataProviders, function(\n provider\n ) {\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n provider.id === _vm.metadataProviderSelected,\n expression:\n \"provider.id === metadataProviderSelected\"\n }\n ],\n key: provider.id,\n staticClass: \"metadataDiv\",\n attrs: { id: \"provider.id\" }\n },\n [\n _c(\n \"div\",\n { staticClass: \"metadata_options_wrapper\" },\n [\n _c(\"h4\", [_vm._v(\"Create:\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"metadata_options\" }, [\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_show_metadata\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.showMetadata,\n expression: \"provider.showMetadata\"\n }\n ],\n staticClass: \"metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_show_metadata\"\n },\n domProps: {\n checked: Array.isArray(\n provider.showMetadata\n )\n ? _vm._i(\n provider.showMetadata,\n null\n ) > -1\n : provider.showMetadata\n },\n on: {\n change: function($event) {\n var $$a = provider.showMetadata,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"showMetadata\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"showMetadata\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"showMetadata\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Show Metadata\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_metadata\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.episodeMetadata,\n expression:\n \"provider.episodeMetadata\"\n }\n ],\n staticClass: \"metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_episode_metadata\",\n disabled: provider.example.episodeMetadata.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.episodeMetadata\n )\n ? _vm._i(\n provider.episodeMetadata,\n null\n ) > -1\n : provider.episodeMetadata\n },\n on: {\n change: function($event) {\n var $$a = provider.episodeMetadata,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Episode Metadata\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_fanart\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.fanart,\n expression: \"provider.fanart\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_fanart\",\n disabled: provider.example.fanart.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.fanart\n )\n ? _vm._i(provider.fanart, null) > -1\n : provider.fanart\n },\n on: {\n change: function($event) {\n var $$a = provider.fanart,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"fanart\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"fanart\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"fanart\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Fanart\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_poster\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.poster,\n expression: \"provider.poster\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_poster\",\n disabled: provider.example.poster.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.poster\n )\n ? _vm._i(provider.poster, null) > -1\n : provider.poster\n },\n on: {\n change: function($event) {\n var $$a = provider.poster,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"poster\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"poster\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"poster\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Poster\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_banner\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.banner,\n expression: \"provider.banner\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_banner\",\n disabled: provider.example.banner.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.banner\n )\n ? _vm._i(provider.banner, null) > -1\n : provider.banner\n },\n on: {\n change: function($event) {\n var $$a = provider.banner,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"banner\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"banner\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"banner\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Banner\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_thumbnails\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.episodeThumbnails,\n expression:\n \"provider.episodeThumbnails\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_episode_thumbnails\",\n disabled: provider.example.episodeThumbnails.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.episodeThumbnails\n )\n ? _vm._i(\n provider.episodeThumbnails,\n null\n ) > -1\n : provider.episodeThumbnails\n },\n on: {\n change: function($event) {\n var $$a =\n provider.episodeThumbnails,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Episode Thumbnails\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_posters\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonPosters,\n expression: \"provider.seasonPosters\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_season_posters\",\n disabled: provider.example.seasonPosters.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonPosters\n )\n ? _vm._i(\n provider.seasonPosters,\n null\n ) > -1\n : provider.seasonPosters\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonPosters,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season Posters\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_banners\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonBanners,\n expression: \"provider.seasonBanners\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_season_banners\",\n disabled: provider.example.seasonBanners.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonBanners\n )\n ? _vm._i(\n provider.seasonBanners,\n null\n ) > -1\n : provider.seasonBanners\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonBanners,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season Banners\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_poster\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonAllPoster,\n expression:\n \"provider.seasonAllPoster\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_season_all_poster\",\n disabled: provider.example.seasonAllPoster.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonAllPoster\n )\n ? _vm._i(\n provider.seasonAllPoster,\n null\n ) > -1\n : provider.seasonAllPoster\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonAllPoster,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season All Poster\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_banner\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonAllBanner,\n expression:\n \"provider.seasonAllBanner\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_season_all_banner\",\n disabled: provider.example.seasonAllBanner.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonAllBanner\n )\n ? _vm._i(\n provider.seasonAllBanner,\n null\n ) > -1\n : provider.seasonAllBanner\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonAllBanner,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season All Banner\")\n ]\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"metadata_example_wrapper\" },\n [\n _c(\"h4\", [_vm._v(\"Results:\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"metadata_example\" }, [\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_show_metadata\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.showMetadata\n },\n attrs: {\n id:\n provider.id + \"_eg_show_metadata\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .showMetadata +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_metadata\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.episodeMetadata\n },\n attrs: {\n id:\n provider.id +\n \"_eg_episode_metadata\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .episodeMetadata +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_fanart\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.fanart },\n attrs: {\n id: provider.id + \"_eg_fanart\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.fanart +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_poster\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.poster },\n attrs: {\n id: provider.id + \"_eg_poster\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.poster +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_banner\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.banner },\n attrs: {\n id: provider.id + \"_eg_banner\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.banner +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_thumbnails\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.episodeThumbnails\n },\n attrs: {\n id:\n provider.id +\n \"_eg_episode_thumbnails\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .episodeThumbnails +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_posters\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonPosters\n },\n attrs: {\n id:\n provider.id + \"_eg_season_posters\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonPosters +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_banners\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonBanners\n },\n attrs: {\n id:\n provider.id + \"_eg_season_banners\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonBanners +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_poster\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonAllPoster\n },\n attrs: {\n id:\n provider.id +\n \"_eg_season_all_poster\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonAllPoster +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_banner\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonAllBanner\n },\n attrs: {\n id:\n provider.id +\n \"_eg_season_all_banner\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonAllBanner +\n \"\"\n )\n }\n })\n ]\n )\n ]\n )\n ])\n ]\n )\n ]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"h6\", { staticClass: \"pull-right\" }, [\n _c(\"b\", [\n _vm._v(\"All non-absolute folder locations are relative to \"),\n _c(\"span\", { staticClass: \"path\" }, [\n _vm._v(_vm._s(_vm.system.dataDir))\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa pull-left config_submitter button\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ])\n ]\n )\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Scheduled Post-Processing\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Settings that dictate how Medusa should process completed downloads.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The scheduled post-processor will periodically scan a folder for media to process.\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"process_automatically\" }\n },\n [_c(\"span\", [_vm._v(\"Scheduled Post-Processor\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"Enable the scheduled post-processor to scan and process any files in your \"\n ),\n _c(\"i\", [_vm._v(\"Post-Processing Dir\")]),\n _vm._v(\"?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\" Do not use if you use an external post-processing script\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"tv_download_dir\" }\n },\n [_c(\"span\", [_vm._v(\"Post-Processing Dir\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" Please use separate downloading and completed folders in your download client if possible.\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"process_method\" }\n },\n [_c(\"span\", [_vm._v(\"Processing Method\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" If you keep seeding torrents after they finish, please avoid the 'move' processing method to prevent errors.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"autopostprocessor_frequency\" }\n },\n [_c(\"span\", [_vm._v(\"Auto Post-Processing Frequency\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"General Post-Processing\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Generic post-processing settings that apply both to the scheduled post-processor as external scripts\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"postpone_if_sync_files\" }\n },\n [_c(\"span\", [_vm._v(\"Postpone post-processing\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"sync_files\" } },\n [_c(\"span\", [_vm._v(\"Sync File Extensions\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"postpone_if_no_subs\" }\n },\n [_c(\"span\", [_vm._v(\"Postpone if no subtitle\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" Automatic post-processor should be disabled to avoid files with pending subtitles being processed over and over.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"rename_episodes\" }\n },\n [_c(\"span\", [_vm._v(\"Rename Episodes\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"create_missing_show_dirs\" }\n },\n [_c(\"span\", [_vm._v(\"Create missing show directories\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"add_shows_wo_dir\" }\n },\n [_c(\"span\", [_vm._v(\"Add shows without directory\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"move_associated_files\" }\n },\n [_c(\"span\", [_vm._v(\"Delete associated files\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\"Keep associated file extensions\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"nfo_rename\" } },\n [_c(\"span\", [_vm._v(\"Rename .nfo file\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"airdate_episodes\" }\n },\n [_c(\"span\", [_vm._v(\"Change File Date\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"file_timestamp_timezone\" }\n },\n [_c(\"span\", [_vm._v(\"Timezone for File Date:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"unpack\" } },\n [_c(\"span\", [_vm._v(\"Unpack\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _vm._v(\"Unpack any TV releases in your \"),\n _c(\"i\", [_vm._v(\"TV Download Dir\")]),\n _vm._v(\"?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\" Only working with RAR archive\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"del_rar_contents\" }\n },\n [_c(\"span\", [_vm._v(\"Delete RAR contents\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"no_delete\" } },\n [_c(\"span\", [_vm._v(\"Don't delete empty folders\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\" Can be overridden using manual post-processing\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\"Extra Scripts\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Episode Naming\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"How Medusa will name and sort your episodes.\")])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_strip_year\" }\n },\n [_c(\"span\", [_vm._v(\"Strip Show Year\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Metadata\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The data associated to the data. These are files associated to a TV show in the form of images and text that, when supported, will enhance the viewing experience.\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"metadataType\" } },\n [_c(\"span\", [_vm._v(\"Metadata Type\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"d-block\" }, [\n _vm._v(\"Toggle the metadata options that you wish to be created. \"),\n _c(\"b\", [_vm._v(\"Multiple targets may be used.\")])\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/config-post-processing.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-search.vue?vue&type=template&id=3e2dc133&": -/*!*******************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-search.vue?vue&type=template&id=3e2dc133& ***! - \*******************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"config-search\" } },\n [\n _c(\"vue-snotify\"),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n attrs: { id: \"configForm\", method: \"post\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.save()\n }\n }\n },\n [\n _c(\"div\", { attrs: { id: \"config-components\" } }, [\n _c(\"ul\", [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#episode-search\" } }, [\n _vm._v(\"Episode Search\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#nzb-search\" } }, [\n _vm._v(\"NZB Search\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#torrent-search\" } }, [\n _vm._v(\"Torrent Search\")\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"episode-search\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"General Search Settings\")]),\n _vm._v(\" \"),\n _c(\n \"p\",\n [\n _vm._v(\"How to manage searching with \"),\n _c(\n \"app-link\",\n { attrs: { href: \"config/providers\" } },\n [_vm._v(\"providers\")]\n ),\n _vm._v(\".\")\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Randomize Providers\",\n id: \"randomize_providers\",\n explanations: [\n \"randomize the provider search order instead of going in order of placement\"\n ]\n },\n model: {\n value: _vm.search.general.randomizeProviders,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"randomizeProviders\",\n $$v\n )\n },\n expression: \"search.general.randomizeProviders\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Download propers\",\n id: \"download_propers\",\n explanations: [\n \"replace original download with 'Proper' or 'Repack' if nuked\"\n ]\n },\n model: {\n value: _vm.search.general.downloadPropers,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"downloadPropers\",\n $$v\n )\n },\n expression: \"search.general.downloadPropers\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.search.general.downloadPropers,\n expression: \"search.general.downloadPropers\"\n }\n ]\n },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n label: \"Check propers every\",\n \"label-for\": \"check_propers_interval\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.search.general\n .checkPropersInterval,\n expression:\n \"search.general.checkPropersInterval\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"check_propers_interval\",\n name: \"check_propers_interval\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(\n o\n ) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.search.general,\n \"checkPropersInterval\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(\n _vm.checkPropersIntervalLabels,\n function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }\n ),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n attrs: {\n min: 2,\n max: 7,\n step: 1,\n label: \"Proper search days\",\n id: \"propers_search_days\",\n explanations: [\n \"how many days to keep searching for propers since episode airdate (default: 2 days)\"\n ]\n },\n model: {\n value: _vm.search.general.propersSearchDays,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"propersSearchDays\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.propersSearchDays\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n attrs: {\n min: 1,\n step: 1,\n label: \"Forced backlog search day(s)\",\n id: \"backlog_days\",\n explanations: [\n \"how many days to search in the past for a forced backlog search (default: 7 days)\"\n ]\n },\n model: {\n value: _vm.search.general.backlogDays,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"backlogDays\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.backlogDays\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n min: _vm.search.general.minBacklogFrequency,\n step: 1,\n label: \"Backlog search interval\",\n id: \"backlog_frequency\"\n },\n model: {\n value: _vm.search.general.backlogFrequency,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"backlogFrequency\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.backlogFrequency\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"time in minutes between searches (min. \" +\n _vm._s(\n _vm.search.general.minBacklogFrequency\n ) +\n \")\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n min: _vm.search.general.minDailySearchFrequency,\n step: 1,\n label: \"Daily search interval\",\n id: \"daily_frequency\"\n },\n model: {\n value: _vm.search.general.dailySearchFrequency,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"dailySearchFrequency\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.dailySearchFrequency\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"time in minutes between searches (min. \" +\n _vm._s(\n _vm.search.general.minDailySearchFrequency\n ) +\n \")\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.clientsConfig.torrent[_vm.clients.torrents.method]\n ? _c(\n \"config-toggle-slider\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].removeFromClientOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].removeFromClientOption\"\n }\n ],\n attrs: {\n label: \"Remove torrents from client\",\n id: \"remove_from_client\"\n },\n model: {\n value: _vm.search.general.removeFromClient,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"removeFromClient\",\n $$v\n )\n },\n expression: \"search.general.removeFromClient\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Remove torrent from client (also torrent data) when provider ratio is reached\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" For now only Transmission and Deluge are supported\"\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.search.general.removeFromClient,\n expression: \"search.general.removeFromClient\"\n }\n ],\n attrs: {\n min: _vm.search.general.minTorrentCheckerFrequency,\n step: 1,\n label: \"Frequency to check torrents ratio\",\n id: \"torrent_checker_frequency\",\n explanations: [\n \"Frequency in minutes to check torrent's ratio (default: 60)\"\n ]\n },\n model: {\n value: _vm.search.general.torrentCheckerFrequency,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"torrentCheckerFrequency\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.torrentCheckerFrequency\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n attrs: {\n min: 1,\n step: 1,\n label: \"Usenet retention\",\n id: \"usenet_retention\",\n explanations: [\n \"age limit in days for usenet articles to be used (e.g. 500)\"\n ]\n },\n model: {\n value: _vm.search.general.usenetRetention,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"usenetRetention\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.usenetRetention\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"trackers_list\",\n label: \"Trackers list\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"trackers_list\",\n id: \"trackers_list\",\n \"list-items\": _vm.search.general.trackersList\n },\n on: {\n change: function($event) {\n _vm.search.general.trackersList = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\n \"\\n Trackers that will be added to magnets without trackers\"\n ),\n _c(\"br\"),\n _vm._v(\n '\\n separate trackers with a comma, e.g. \"tracker1, tracker2, tracker3\"\\n '\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Allow high priority\",\n id: \"allow_high_priority\",\n explanations: [\n \"set downloads of recently aired episodes to high priority\"\n ]\n },\n model: {\n value: _vm.search.general.allowHighPriority,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"allowHighPriority\",\n $$v\n )\n },\n expression: \"search.general.allowHighPriority\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Use Failed Downloads\",\n id: \"use_failed_downloads\"\n },\n model: {\n value: _vm.search.general.failedDownloads.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general.failedDownloads,\n \"enabled\",\n $$v\n )\n },\n expression:\n \"search.general.failedDownloads.enabled\"\n }\n },\n [\n _c(\"p\", [_vm._v(\"Use Failed Download Handling?\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Will only work with snatched/downloaded episodes after enabling this\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.search.general.failedDownloads.enabled,\n expression:\n \"search.general.failedDownloads.enabled\"\n }\n ],\n attrs: {\n label: \"Delete Failed\",\n id: \"delete_failed\"\n },\n model: {\n value:\n _vm.search.general.failedDownloads.deleteFailed,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general.failedDownloads,\n \"deleteFailed\",\n $$v\n )\n },\n expression:\n \"search.general.failedDownloads.deleteFailed\"\n }\n },\n [\n _vm._v(\n \"\\n Delete files left over from a failed download?\"\n ),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" This only works if Use Failed Downloads is enabled.\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Cache Trimming\",\n id: \"cache_trimming\",\n explanations: [\"Enable trimming of provider cache\"]\n },\n model: {\n value: _vm.search.general.cacheTrimming,\n callback: function($$v) {\n _vm.$set(_vm.search.general, \"cacheTrimming\", $$v)\n },\n expression: \"search.general.cacheTrimming\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.search.general.cacheTrimming,\n expression: \"search.general.cacheTrimming\"\n }\n ],\n attrs: {\n min: 1,\n step: 1,\n label: \"Cache Retention\",\n id: \"max_cache_age\",\n explanations: [\n \"Number of days to retain results in cache. Results older than this will be removed if cache trimming is enabled.\"\n ]\n },\n model: {\n value: _vm.search.general.maxCacheAge,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"maxCacheAge\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.maxCacheAge\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"ignore_words\",\n label: \"Ignore words\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"ignore_words\",\n id: \"ignore_words\",\n \"list-items\": _vm.search.filters.ignored\n },\n on: {\n change: function($event) {\n _vm.search.filters.ignored = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\n \"\\n results with any words from this list will be ignored\\n \"\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"undesired_words\",\n label: \"Undesired words\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"undesired_words\",\n id: \"undesired_words\",\n \"list-items\": _vm.search.filters.undesired\n },\n on: {\n change: function($event) {\n _vm.search.filters.undesired = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\n \"\\n results with words from this list will only be selected as a last resort\\n \"\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"preferred_words\",\n label: \"Preferred words\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"preferred_words\",\n id: \"preferred_words\",\n \"list-items\": _vm.search.filters.preferred\n },\n on: {\n change: function($event) {\n _vm.search.filters.preferred = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\n \"\\n results with one or more word from this list will be chosen over others\\n \"\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"require_words\",\n label: \"Require words\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"require_words\",\n id: \"require_words\",\n \"list-items\": _vm.search.filters.required\n },\n on: {\n change: function($event) {\n _vm.search.filters.required = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\n \"\\n results must include at least one word from this list\\n \"\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"ignored_subs_list\",\n label: \"Ignore language names in subbed results\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"ignored_subs_list\",\n id: \"ignored_subs_list\",\n \"list-items\": _vm.search.filters.ignoredSubsList\n },\n on: {\n change: function($event) {\n _vm.search.filters.ignoredSubsList = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\n \"\\n Ignore subbed releases based on language names \"\n ),\n _c(\"br\"),\n _vm._v(\n '\\n Example: \"dk\" will ignore words: dksub, dksubs, dksubbed, dksubed '\n ),\n _c(\"br\")\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Ignore unknown subbed releases\",\n id: \"ignore_und_subs\",\n explanations: [\n \"Ignore subbed releases without language names\",\n \"Filter words: subbed, subpack, subbed, subs, etc.)\"\n ]\n },\n model: {\n value: _vm.search.filters.ignoreUnknownSubs,\n callback: function($$v) {\n _vm.$set(\n _vm.search.filters,\n \"ignoreUnknownSubs\",\n $$v\n )\n },\n expression: \"search.filters.ignoreUnknownSubs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"nzb-search\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"NZB Search\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"How to handle NZB search results.\")]),\n _vm._v(\" \"),\n _c(\"div\", {\n class: \"add-client-icon-\" + _vm.clients.nzb.method,\n attrs: { id: \"nzb_method_icon\" }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Search NZBs\",\n id: \"use_nzbs\",\n explanations: [\"enable NZB search providers\"]\n },\n model: {\n value: _vm.clients.nzb.enabled,\n callback: function($$v) {\n _vm.$set(_vm.clients.nzb, \"enabled\", $$v)\n },\n expression: \"clients.nzb.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.clients.nzb.enabled,\n expression: \"clients.nzb.enabled\"\n }\n ]\n },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"nzb_method\",\n label: \"Send .nzb files to\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.clients.nzb.method,\n expression: \"clients.nzb.method\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n name: \"nzb_method\",\n id: \"nzb_method\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(\n o\n ) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.clients.nzb,\n \"method\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.clientsConfig.nzb, function(\n client,\n name\n ) {\n return _c(\n \"option\",\n { key: name, domProps: { value: name } },\n [_vm._v(_vm._s(client.title))]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.nzb.method === \"blackhole\",\n expression:\n \"clients.nzb.method === 'blackhole'\"\n }\n ],\n attrs: {\n id: \"blackhole_settings\",\n \"label-for\": \"nzb_dir\",\n label: \"Black hole folder location\"\n }\n },\n [\n _c(\"file-browser\", {\n attrs: {\n name: \"nzb_dir\",\n title: \"Select .nzb black hole location\",\n \"initial-dir\": _vm.clients.nzb.dir\n },\n on: {\n update: function($event) {\n _vm.clients.nzb.dir = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\".nzb\")]),\n _vm._v(\n \" files are stored at this location for external software to find and use\"\n )\n ])\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.clients.nzb.method\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.nzb.method === \"sabnzbd\",\n expression:\n \"clients.nzb.method === 'sabnzbd'\"\n }\n ],\n attrs: { id: \"sabnzbd_settings\" }\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"SABnzbd server URL\",\n id: \"sab_host\",\n explanations: [\n \"username for your KODI server (blank for none)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.clients.nzb.sabnzbd.host,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"host\",\n $$v\n )\n },\n expression: \"clients.nzb.sabnzbd.host\"\n }\n },\n [\n _c(\n \"div\",\n { staticClass: \"clear-left\" },\n [\n _c(\"p\", {\n domProps: {\n innerHTML: _vm._s(\n _vm.clientsConfig.nzb[\n _vm.clients.nzb.method\n ].description\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"SABnzbd username\",\n id: \"sab_username\",\n explanations: [\"(blank for none)\"]\n },\n model: {\n value: _vm.clients.nzb.sabnzbd.username,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"username\",\n $$v\n )\n },\n expression:\n \"clients.nzb.sabnzbd.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"SABnzbd password\",\n id: \"sab_password\",\n explanations: [\"(blank for none)\"]\n },\n model: {\n value: _vm.clients.nzb.sabnzbd.password,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"password\",\n $$v\n )\n },\n expression:\n \"clients.nzb.sabnzbd.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"SABnzbd API key\",\n id: \"sab_apikey\",\n explanations: [\n \"locate at... SABnzbd Config -> General -> API Key\"\n ]\n },\n model: {\n value: _vm.clients.nzb.sabnzbd.apiKey,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"apiKey\",\n $$v\n )\n },\n expression: \"clients.nzb.sabnzbd.apiKey\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Use SABnzbd category\",\n id: \"sab_category\",\n explanations: [\n \"add downloads to this category (e.g. TV)\"\n ]\n },\n model: {\n value: _vm.clients.nzb.sabnzbd.category,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"category\",\n $$v\n )\n },\n expression:\n \"clients.nzb.sabnzbd.category\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label:\n \"Use SABnzbd category (backlog episodes)\",\n id: \"sab_category_backlog\",\n explanations: [\n \"add downloads of old episodes to this category (e.g. TV)\"\n ]\n },\n model: {\n value:\n _vm.clients.nzb.sabnzbd\n .categoryBacklog,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"categoryBacklog\",\n $$v\n )\n },\n expression:\n \"clients.nzb.sabnzbd.categoryBacklog\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Use SABnzbd category for anime\",\n id: \"sab_category_anime\",\n explanations: [\n \"add anime downloads to this category (e.g. anime)\"\n ]\n },\n model: {\n value:\n _vm.clients.nzb.sabnzbd.categoryAnime,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"categoryAnime\",\n $$v\n )\n },\n expression:\n \"clients.nzb.sabnzbd.categoryAnime\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label:\n \"Use SABnzbd category for anime (backlog episodes)\",\n id: \"sab_category_anime_backlog\",\n explanations: [\n \"add anime downloads of old episodes to this category (e.g. anime)\"\n ]\n },\n model: {\n value:\n _vm.clients.nzb.sabnzbd\n .categoryAnimeBacklog,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"categoryAnimeBacklog\",\n $$v\n )\n },\n expression:\n \"clients.nzb.sabnzbd.categoryAnimeBacklog\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Use forced priority\",\n id: \"sab_forced\",\n explanations: [\n \"enable to change priority from HIGH to FORCED\"\n ]\n },\n model: {\n value: _vm.clients.nzb.sabnzbd.forced,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"forced\",\n $$v\n )\n },\n expression: \"clients.nzb.sabnzbd.forced\"\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.nzb.sabnzbd\n .testStatus,\n expression:\n \"clientsConfig.nzb.sabnzbd.testStatus\"\n }\n ],\n staticClass: \"testNotification\",\n domProps: {\n innerHTML: _vm._s(\n _vm.clientsConfig.nzb.sabnzbd\n .testStatus\n )\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa test-button\",\n attrs: {\n type: \"button\",\n value: \"Test SABnzbd\"\n },\n on: { click: _vm.testSabnzbd }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass:\n \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _c(\"br\")\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.clients.nzb.method\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.nzb.method === \"nzbget\",\n expression:\n \"clients.nzb.method === 'nzbget'\"\n }\n ],\n attrs: { id: \"nzbget_settings\" }\n },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Connect using HTTPS\",\n id: \"nzbget_use_https\"\n },\n model: {\n value:\n _vm.clients.nzb.nzbget.useHttps,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"useHttps\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.useHttps\"\n }\n },\n [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" enable Secure control in NZBGet and set the correct Secure Port here\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"NZBget host:port\",\n id: \"nzbget_host\"\n },\n model: {\n value: _vm.clients.nzb.nzbget.host,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"host\",\n $$v\n )\n },\n expression: \"clients.nzb.nzbget.host\"\n }\n },\n [\n _vm.clientsConfig.nzb[\n _vm.clients.nzb.method\n ]\n ? _c(\"p\", {\n domProps: {\n innerHTML: _vm._s(\n _vm.clientsConfig.nzb[\n _vm.clients.nzb.method\n ].description\n )\n }\n })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"NZBget username\",\n id: \"nzbget_username\",\n explanations: [\n \"locate in nzbget.conf (default:nzbget)\"\n ]\n },\n model: {\n value: _vm.clients.nzb.nzbget.username,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"username\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"NZBget password\",\n id: \"nzbget_password\",\n explanations: [\n \"locate in nzbget.conf (default:tegbzn6789)\"\n ]\n },\n model: {\n value: _vm.clients.nzb.nzbget.password,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"password\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Use NZBget category\",\n id: \"nzbget_category\",\n explanations: [\n \"send downloads marked this category (e.g. TV)\"\n ]\n },\n model: {\n value: _vm.clients.nzb.nzbget.category,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"category\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.category\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label:\n \"Use NZBget category (backlog episodes)\",\n id: \"nzbget_category_backlog\",\n explanations: [\n \"send downloads of old episodes marked this category (e.g. TV)\"\n ]\n },\n model: {\n value:\n _vm.clients.nzb.nzbget\n .categoryBacklog,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"categoryBacklog\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.categoryBacklog\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Use NZBget category for anime\",\n id: \"nzbget_category_anime\",\n explanations: [\n \"send anime downloads marked this category (e.g. anime)\"\n ]\n },\n model: {\n value:\n _vm.clients.nzb.nzbget.categoryAnime,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"categoryAnime\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.categoryAnime\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label:\n \"Use NZBget category for anime (backlog episodes)\",\n id: \"nzbget_category_anime_backlog\",\n explanations: [\n \"send anime downloads of old episodes marked this category (e.g. anime)\"\n ]\n },\n model: {\n value:\n _vm.clients.nzb.nzbget\n .categoryAnimeBacklog,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"categoryAnimeBacklog\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.categoryAnimeBacklog\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"nzbget_priority\",\n label: \"NZBget priority\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.clients.nzb.nzbget\n .priority,\n expression:\n \"clients.nzb.nzbget.priority\"\n }\n ],\n staticClass:\n \"form-control input-sm\",\n attrs: {\n name: \"nzbget_priority\",\n id: \"nzbget_priority\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"priority\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(\n _vm.nzbGetPriorityOptions,\n function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: {\n value: option.value\n }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }\n ),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"priority for daily snatches (no backlog)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.nzb.nzbget\n .testStatus,\n expression:\n \"clientsConfig.nzb.nzbget.testStatus\"\n }\n ],\n staticClass: \"testNotification\",\n domProps: {\n innerHTML: _vm._s(\n _vm.clientsConfig.nzb.nzbget\n .testStatus\n )\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa test-button\",\n attrs: {\n type: \"button\",\n value: \"Test NZBget\"\n },\n on: { click: _vm.testNzbget }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass:\n \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _c(\"br\")\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"torrent-search\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Torrent Search\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"How to handle Torrent search results.\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", {\n class: \"add-client-icon-\" + _vm.clients.torrents.method,\n attrs: { id: \"torrent_method_icon\" }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Search torrents\",\n id: \"use_torrents\",\n explanations: [\"enable torrent search providers\"]\n },\n model: {\n value: _vm.clients.torrents.enabled,\n callback: function($$v) {\n _vm.$set(_vm.clients.torrents, \"enabled\", $$v)\n },\n expression: \"clients.torrents.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.clients.torrents.enabled,\n expression: \"clients.torrents.enabled\"\n }\n ]\n },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"torrent_method\",\n label: \"Send .torrent files to\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.clients.torrents.method,\n expression: \"clients.torrents.method\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n name: \"torrent_method\",\n id: \"torrent_method\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(\n o\n ) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.clients.torrents,\n \"method\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.clientsConfig.torrent, function(\n client,\n name\n ) {\n return _c(\n \"option\",\n { key: name, domProps: { value: name } },\n [_vm._v(_vm._s(client.title))]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _vm.clients.torrents.method\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents.method ===\n \"blackhole\",\n expression:\n \"clients.torrents.method === 'blackhole'\"\n }\n ]\n },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"torrent_dir\",\n label: \"Black hole folder location\"\n }\n },\n [\n _c(\"file-browser\", {\n attrs: {\n name: \"torrent_dir\",\n title:\n \"Select .torrent black hole location\",\n \"initial-dir\":\n _vm.clients.torrents.dir\n },\n on: {\n update: function($event) {\n _vm.clients.torrents.dir = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\".torrent\")]),\n _vm._v(\n \" files are stored at this location for external software to find and use\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass:\n \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _c(\"br\")\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.clients.torrents.method\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents.method !==\n \"blackhole\",\n expression:\n \"clients.torrents.method !== 'blackhole'\"\n }\n ]\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].shortTitle ||\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].title + \" host:port\",\n id: \"torrent_host\"\n },\n model: {\n value: _vm.clients.torrents.host,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"host\",\n $$v\n )\n },\n expression: \"clients.torrents.host\"\n }\n },\n [\n _c(\"p\", {\n domProps: {\n innerHTML: _vm._s(\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].description\n )\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents.method ===\n \"transmission\",\n expression:\n \"clients.torrents.method === 'transmission'\"\n }\n ],\n attrs: {\n label:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].shortTitle ||\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].title + \" RPC URL\",\n id: \"rpcurl_title\"\n },\n model: {\n value: _vm.clients.torrents.rpcUrl,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"rpcUrl\",\n $$v\n )\n },\n expression: \"clients.torrents.rpcUrl\"\n }\n },\n [\n _c(\n \"p\",\n { attrs: { id: \"rpcurl_desc_\" } },\n [\n _vm._v(\n \"The path without leading and trailing slashes (e.g. transmission)\"\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.authTypeIsDisabled,\n expression: \"!authTypeIsDisabled\"\n }\n ],\n attrs: {\n \"label-for\": \"torrent_auth_type\",\n label: \"Http Authentication\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.clients.torrents.authType,\n expression:\n \"clients.torrents.authType\"\n }\n ],\n staticClass:\n \"form-control input-sm\",\n attrs: {\n name: \"torrent_auth_type\",\n id: \"torrent_auth_type\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.clients.torrents,\n \"authType\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.httpAuthTypes, function(\n title,\n name\n ) {\n return _c(\n \"option\",\n {\n key: name,\n domProps: { value: name }\n },\n [_vm._v(_vm._s(title))]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].verifySSLOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].verifySSLOption\"\n }\n ],\n attrs: {\n label: \"Verify certificate\",\n id: \"torrent_verify_cert\"\n },\n model: {\n value: _vm.clients.torrents.verifySSL,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"verifySSL\",\n $$v\n )\n },\n expression:\n \"clients.torrents.verifySSL\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Verify SSL certificates for HTTPS requests\"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"p\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method === \"deluge\",\n expression:\n \"clients.torrents.method === 'deluge'\"\n }\n ]\n },\n [\n _vm._v(\n 'disable if you get \"Deluge: Authentication Error\" in your log'\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.torrentUsernameIsDisabled,\n expression:\n \"!torrentUsernameIsDisabled\"\n }\n ],\n attrs: {\n label:\n (_vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].shortTitle ||\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].title) + \" username\",\n id: \"torrent_username\",\n explanations: [\"(blank for none)\"]\n },\n model: {\n value: _vm.clients.torrents.username,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"username\",\n $$v\n )\n },\n expression: \"clients.torrents.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.torrentPasswordIsDisabled,\n expression:\n \"!torrentPasswordIsDisabled\"\n }\n ],\n attrs: {\n type: \"password\",\n label:\n (_vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].shortTitle ||\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].title) + \" password\",\n id: \"torrent_password\",\n explanations: [\"(blank for none)\"]\n },\n model: {\n value: _vm.clients.torrents.password,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"password\",\n $$v\n )\n },\n expression: \"clients.torrents.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].labelOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].labelOption\"\n }\n ],\n attrs: { id: \"torrent_label_option\" }\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"Add label to torrent\",\n id: \"torrent_label\"\n },\n model: {\n value: _vm.clients.torrents.label,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"label\",\n $$v\n )\n },\n expression:\n \"clients.torrents.label\"\n }\n },\n [\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: [\n \"deluge\",\n \"deluged\"\n ].includes(\n _vm.clients.torrents\n .method\n ),\n expression:\n \"['deluge', 'deluged'].includes(clients.torrents.method)\"\n }\n ]\n },\n [\n _c(\"p\", [\n _vm._v(\n \"(blank spaces are not allowed)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" label plugin must be enabled in Deluge clients\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method ===\n \"qbittorrent\",\n expression:\n \"clients.torrents.method === 'qbittorrent'\"\n }\n ]\n },\n [\n _c(\"p\", [\n _vm._v(\n \"(blank spaces are not allowed)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" for qBitTorrent 3.3.1 and up\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method === \"utorrent\",\n expression:\n \"clients.torrents.method === 'utorrent'\"\n }\n ]\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Global label for torrents.\"\n ),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"%N:\")]),\n _vm._v(\n \" use Series-Name as label (can be used with other text)\"\n )\n ])\n ]\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].labelAnimeOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].labelAnimeOption\"\n }\n ]\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label:\n \"Add label to torrent for anime\",\n id: \"torrent_label_anime\"\n },\n model: {\n value:\n _vm.clients.torrents.labelAnime,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"labelAnime\",\n $$v\n )\n },\n expression:\n \"clients.torrents.labelAnime\"\n }\n },\n [\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: [\n \"deluge\",\n \"deluged\"\n ].includes(\n _vm.clients.torrents\n .method\n ),\n expression:\n \"['deluge', 'deluged'].includes(clients.torrents.method)\"\n }\n ]\n },\n [\n _c(\"p\", [\n _vm._v(\n \"(blank spaces are not allowed)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" label plugin must be enabled in Deluge clients\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method ===\n \"qbittorrent\",\n expression:\n \"clients.torrents.method === 'qbittorrent'\"\n }\n ]\n },\n [\n _c(\"p\", [\n _vm._v(\n \"(blank spaces are not allowed)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" for qBitTorrent 3.3.1 and up\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method === \"utorrent\",\n expression:\n \"clients.torrents.method === 'utorrent'\"\n }\n ]\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Global label for torrents.\"\n ),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"%N:\")]),\n _vm._v(\n \" use Series-Name as label (can be used with other text)\"\n )\n ])\n ]\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].pathOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].pathOption\"\n }\n ],\n attrs: {\n \"label-for\": \"torrent_client\",\n label: \"Downloaded files location\"\n }\n },\n [\n _c(\"file-browser\", {\n attrs: {\n name: \"torrent_path\",\n title:\n \"Select downloaded files location\",\n \"initial-dir\":\n _vm.clients.torrents.path\n },\n on: {\n update: function($event) {\n _vm.clients.torrents.path = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"where \"),\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ]\n ? _c(\n \"span\",\n {\n attrs: {\n id: \"torrent_client\"\n }\n },\n [\n _vm._v(\n _vm._s(\n _vm.clientsConfig.torrent[\n _vm.clients.torrents\n .method\n ].shortTitle ||\n _vm.clientsConfig\n .torrent[\n _vm.clients.torrents\n .method\n ].title\n )\n )\n ]\n )\n : _vm._e(),\n _vm._v(\n \" will save downloaded files (blank for client default)\\n \"\n ),\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method ===\n \"downloadstation\",\n expression:\n \"clients.torrents.method === 'downloadstation'\"\n }\n ]\n },\n [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" the destination has to be a shared folder for Synology DS\"\n )\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method === \"qbittorrent\",\n expression:\n \"clients.torrents.method === 'qbittorrent'\"\n }\n ]\n },\n [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" for qBitTorrent 3.2.0 and up\"\n )\n ])\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].seedLocationOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].seedLocationOption\"\n }\n ],\n attrs: {\n \"label-for\": \"torrent_seed_location\",\n label:\n \"Post-Processed seeding torrents location\"\n }\n },\n [\n _c(\"file-browser\", {\n attrs: {\n name: \"torrent_seed_location\",\n title:\n \"Select torrent seed location\",\n \"initial-dir\":\n _vm.clients.torrents.seedLocation\n },\n on: {\n update: function($event) {\n _vm.clients.torrents.seedLocation = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"\\n where \"\n ),\n _c(\n \"span\",\n {\n attrs: {\n id: \"torrent_client_seed_path\"\n }\n },\n [\n _vm._v(\n _vm._s(\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].shortTitle ||\n _vm.clientsConfig.torrent[\n _vm.clients.torrents\n .method\n ].title\n )\n )\n ]\n ),\n _vm._v(\n \" will move Torrents after Post-Processing\"\n ),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n ' If your Post-Processor method is set to hard/soft link this will move your torrent\\n to another location after Post-Processor to prevent reprocessing the same file over and over.\\n This feature does a \"Set Torrent location\" or \"Move Torrent\" like in client\\n '\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].seedTimeOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].seedTimeOption\"\n }\n ],\n attrs: {\n min: -1,\n step: 1,\n label:\n _vm.clients.torrents.method ===\n \"transmission\"\n ? \"Stop seeding when inactive for\"\n : \"Minimum seeding time is\",\n id: \"torrent_seed_time\",\n explanations: [\n \"hours. (default: '0' passes blank to client and '-1' passes nothing)\"\n ]\n },\n model: {\n value: _vm.clients.torrents.seedTime,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"seedTime\",\n _vm._n($$v)\n )\n },\n expression: \"clients.torrents.seedTime\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].pausedOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].pausedOption\"\n }\n ],\n attrs: {\n label: \"Start torrent paused\",\n id: \"torrent_paused\"\n },\n model: {\n value: _vm.clients.torrents.paused,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"paused\",\n $$v\n )\n },\n expression: \"clients.torrents.paused\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"add .torrent to client but do \"\n ),\n _c(\n \"b\",\n {\n staticStyle: {\n \"font-weight\": \"900\"\n }\n },\n [_vm._v(\"not\")]\n ),\n _vm._v(\" start downloading\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents.method ===\n \"transmission\",\n expression:\n \"clients.torrents.method === 'transmission'\"\n }\n ],\n attrs: {\n label: \"Allow high bandwidth\",\n id: \"torrent_high_bandwidth\",\n explanations: [\n \"use high bandwidth allocation if priority is high\"\n ]\n },\n model: {\n value:\n _vm.clients.torrents.highBandwidth,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"highBandwidth\",\n $$v\n )\n },\n expression:\n \"clients.torrents.highBandwidth\"\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].testStatus,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].testStatus\"\n }\n ],\n staticClass: \"testNotification\",\n domProps: {\n innerHTML: _vm._s(\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].testStatus\n )\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa test-button\",\n attrs: {\n type: \"button\",\n value: \"Test Connection\"\n },\n on: { click: _vm.testTorrentClient }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass:\n \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _c(\"br\")\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"h6\", { staticClass: \"pull-right\" }, [\n _c(\"b\", [\n _vm._v(\"All non-absolute folder locations are relative to \"),\n _c(\"span\", { staticClass: \"path\" }, [\n _vm._v(_vm._s(_vm.system.dataDir))\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ])\n ]\n )\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"a\", { attrs: { name: \"searchfilters\" } }),\n _c(\"h3\", [_vm._v(\"Search Filters\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Options to filter search results\")])\n ]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/config-search.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config.vue?vue&type=template&id=b286475c&scoped=true&": -/*!************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config.vue?vue&type=template&id=b286475c&scoped=true& ***! - \************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"table\",\n {\n staticClass: \"infoTable\",\n attrs: {\n cellspacing: \"1\",\n border: \"0\",\n cellpadding: \"0\",\n width: \"100%\"\n }\n },\n [\n _c(\"tr\", [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"\\n Branch:\\n \"),\n _vm.system.branch\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl + \"/tree/\" + _vm.system.branch\n }\n },\n [_vm._v(_vm._s(_vm.system.branch))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Commit:\\n \"),\n _vm.system.commitHash\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl +\n \"/commit/\" +\n _vm.system.commitHash\n }\n },\n [_vm._v(_vm._s(_vm.system.commitHash))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Version:\\n \"),\n _vm.system.release\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl +\n \"/releases/tag/v\" +\n _vm.system.release\n }\n },\n [_vm._v(_vm._s(_vm.system.release))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Database:\\n \"),\n _vm.system.databaseVersion\n ? _c(\"span\", [\n _vm._v(\n _vm._s(_vm.system.databaseVersion.major) +\n \".\" +\n _vm._s(_vm.system.databaseVersion.minor)\n )\n ])\n : _c(\"span\", [_vm._v(\"Unknown\")])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(1),\n _c(\"td\", [_vm._v(_vm._s(_vm.system.pythonVersion))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(2),\n _c(\"td\", [_vm._v(_vm._s(_vm.system.sslVersion))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(3), _c(\"td\", [_vm._v(_vm._s(_vm.system.os))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(4), _c(\"td\", [_vm._v(_vm._s(_vm.system.locale))])]),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(7), _c(\"td\", [_vm._v(_vm._s(_vm.system.localUser))])]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(8),\n _c(\"td\", [_vm._v(_vm._s(_vm.system.programDir))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(9),\n _c(\"td\", [_vm._v(_vm._s(_vm.system.configFile))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(10), _c(\"td\", [_vm._v(_vm._s(_vm.system.dbPath))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(11), _c(\"td\", [_vm._v(_vm._s(_vm.system.cacheDir))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(12), _c(\"td\", [_vm._v(_vm._s(_vm.system.logDir))])]),\n _vm._v(\" \"),\n _vm.system.appArgs\n ? _c(\"tr\", [\n _vm._m(13),\n _c(\"td\", [\n _c(\"pre\", [_vm._v(_vm._s(_vm.system.appArgs.join(\" \")))])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.system.webRoot\n ? _c(\"tr\", [\n _vm._m(14),\n _c(\"td\", [_vm._v(_vm._s(_vm.system.webRoot))])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.system.runsInDocker\n ? _c(\"tr\", [_vm._m(15), _c(\"td\", [_vm._v(\"Yes\")])])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(18),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.git.url } }, [\n _vm._v(_vm._s(_vm.config.git.url))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(19),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.wikiUrl } }, [\n _vm._v(_vm._s(_vm.config.wikiUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(20),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.sourceUrl } }, [\n _vm._v(_vm._s(_vm.config.sourceUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(21),\n _c(\n \"td\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"irc://irc.freenode.net/#pymedusa\" } },\n [\n _c(\"i\", [_vm._v(\"#pymedusa\")]),\n _vm._v(\" on \"),\n _c(\"i\", [_vm._v(\"irc.freenode.net\")])\n ]\n )\n ],\n 1\n )\n ])\n ]\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-application\" }),\n _vm._v(\" Medusa Info:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-python\" }),\n _vm._v(\" Python Version:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-ssl\" }),\n _vm._v(\" SSL Version:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-os\" }),\n _vm._v(\" OS:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-locale\" }),\n _vm._v(\" Locale:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [_c(\"td\", [_vm._v(\" \")]), _c(\"td\", [_vm._v(\" \")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"infoTableSeperator\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _c(\"td\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-user\" }),\n _vm._v(\" User:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-dir\" }),\n _vm._v(\" Program Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-config\" }),\n _vm._v(\" Config File:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-db\" }),\n _vm._v(\" Database File:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-cache\" }),\n _vm._v(\" Cache Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-log\" }),\n _vm._v(\" Log Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-arguments\" }),\n _vm._v(\" Arguments:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-dir\" }),\n _vm._v(\" Web Root:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-docker\" }),\n _vm._v(\" Runs in Docker:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [_c(\"td\", [_vm._v(\" \")]), _c(\"td\", [_vm._v(\" \")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"infoTableSeperator\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _c(\"td\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-web\" }),\n _vm._v(\" Website:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-wiki\" }),\n _vm._v(\" Wiki:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-github\" }),\n _vm._v(\" Source:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-mirc\" }),\n _vm._v(\" IRC Chat:\")\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/config.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/display-show.vue?vue&type=template&id=6dfe8938&scoped=true&": -/*!******************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/display-show.vue?vue&type=template&id=6dfe8938&scoped=true& ***! - \******************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"display-show-template\", class: _vm.theme },\n [\n _c(\"vue-snotify\"),\n _vm._v(\" \"),\n _vm.show.id.slug\n ? _c(\"backstretch\", { attrs: { slug: _vm.show.id.slug } })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"input\", { attrs: { type: \"hidden\", id: \"series-id\", value: \"\" } }),\n _vm._v(\" \"),\n _c(\"input\", { attrs: { type: \"hidden\", id: \"indexer-name\", value: \"\" } }),\n _vm._v(\" \"),\n _c(\"input\", { attrs: { type: \"hidden\", id: \"series-slug\", value: \"\" } }),\n _vm._v(\" \"),\n _c(\"show-header\", {\n ref: \"show-header\",\n attrs: { type: \"show\", \"show-id\": _vm.id, \"show-indexer\": _vm.indexer },\n on: {\n reflow: _vm.reflowLayout,\n update: _vm.statusQualityUpdate,\n \"update-overview-status\": function($event) {\n _vm.filterByOverviewStatus = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"row\",\n class: { fanartBackground: _vm.layout.fanartBackground }\n },\n [\n _c(\n \"div\",\n { staticClass: \"col-md-12 top-15 displayShow horizontal-scroll\" },\n [\n _vm.show.seasons\n ? _c(\"vue-good-table\", {\n ref: \"table-seasons\",\n attrs: {\n columns: _vm.columns,\n rows: _vm.orderSeasons,\n groupOptions: {\n enabled: true,\n mode: \"span\",\n customChildObject: \"episodes\"\n },\n \"pagination-options\": {\n enabled: _vm.layout.show.pagination.enable,\n perPage: _vm.paginationPerPage,\n perPageDropdown: _vm.perPageDropdown\n },\n \"search-options\": {\n enabled: true,\n trigger: \"enter\",\n skipDiacritics: false,\n placeholder: \"Search episodes\"\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: _vm.getSortBy(\"episode\", \"desc\")\n },\n selectOptions: {\n enabled: true,\n selectOnCheckboxOnly: true, // only select when checkbox is clicked instead of the row\n selectionInfoClass: \"select-info\",\n selectionText: \"episodes selected\",\n clearSelectionText: \"clear\",\n selectAllByGroup: true\n },\n \"row-style-class\": _vm.rowStyleClassFn,\n \"column-filter-options\": {\n enabled: true\n }\n },\n on: {\n \"on-selected-rows-change\": function($event) {\n _vm.selectedEpisodes = $event.selectedRows\n },\n \"on-per-page-change\": function($event) {\n return _vm.updatePaginationPerPage(\n $event.currentPerPage\n )\n },\n \"on-page-change\": _vm.onPageChange\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"table-header-row\",\n fn: function(props) {\n return [\n _c(\n \"h3\",\n {\n staticClass: \"season-header toggle collapse\"\n },\n [\n _c(\"app-link\", {\n attrs: {\n name: \"season-\" + props.row.season\n }\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.season > 0\n ? \"Season \" + props.row.season\n : \"Specials\"\n ) +\n \"\\n \"\n ),\n _vm._v(\" \"),\n _vm.anyEpisodeNotUnaired(props.row)\n ? _c(\n \"app-link\",\n {\n staticClass: \"epManualSearch\",\n attrs: {\n href:\n \"home/snatchSelection?indexername=\" +\n _vm.show.indexer +\n \"&seriesid=\" +\n _vm.show.id[_vm.show.indexer] +\n \"&season=\" +\n props.row.season +\n \"&episode=1&manual_search_type=season\"\n }\n },\n [\n _vm.config\n ? _c(\"img\", {\n attrs: {\n \"data-ep-manual-search\": \"\",\n src:\n \"images/manualsearch-white.png\",\n width: \"16\",\n height: \"16\",\n alt: \"search\",\n title: \"Manual Search\"\n }\n })\n : _vm._e()\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"season-scene-exception\",\n attrs: {\n \"data-season\":\n props.row.season > 0\n ? props.row.season\n : \"Specials\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"img\",\n _vm._b(\n {},\n \"img\",\n _vm.getSeasonExceptions(props.row.season),\n false\n )\n )\n ],\n 1\n )\n ]\n }\n },\n {\n key: \"table-footer-row\",\n fn: function(ref) {\n var headerRow = ref.headerRow\n return [\n _c(\n \"tr\",\n {\n staticClass:\n \"seasoncols border-bottom shadow\",\n attrs: {\n colspan: \"9999\",\n id: \"season-\" + headerRow.season + \"-footer\"\n }\n },\n [\n _c(\n \"th\",\n {\n staticClass: \"col-footer\",\n attrs: { colspan: \"15\", align: \"left\" }\n },\n [\n _vm._v(\n \"Season contains \" +\n _vm._s(headerRow.episodes.length) +\n \" episodes with total filesize: \" +\n _vm._s(_vm.addFileSize(headerRow))\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"spacer\" })\n ]\n }\n },\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.field == \"content.hasNfo\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.content.hasNfo\n ? \"nfo.gif\"\n : \"nfo-no.gif\"),\n alt: props.row.content.hasNfo\n ? \"Y\"\n : \"N\",\n width: \"23\",\n height: \"11\"\n }\n })\n ])\n : props.column.field == \"content.hasTbn\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.content.hasTbn\n ? \"tbn.gif\"\n : \"tbn-no.gif\"),\n alt: props.row.content.hasTbn\n ? \"Y\"\n : \"N\",\n width: \"23\",\n height: \"11\"\n }\n })\n ])\n : props.column.label == \"Episode\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n class: {\n addQTip:\n props.row.file.location !== \"\"\n },\n attrs: {\n title:\n props.row.file.location !== \"\"\n ? props.row.file.location\n : \"\"\n }\n },\n [_vm._v(_vm._s(props.row.episode))]\n )\n ])\n : props.column.label == \"Scene\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"input\", {\n staticClass:\n \"sceneSeasonXEpisode form-control input-scene addQTip\",\n staticStyle: {\n padding: \"0\",\n \"text-align\": \"center\",\n \"max-width\": \"60px\"\n },\n attrs: {\n type: \"text\",\n placeholder:\n props.formattedRow[props.column.field]\n .season +\n \"x\" +\n props.formattedRow[props.column.field]\n .episode,\n size: \"6\",\n maxlength: \"8\",\n \"data-for-season\": props.row.season,\n \"data-for-episode\": props.row.episode,\n id:\n \"sceneSeasonXEpisode_\" +\n _vm.show.id[_vm.show.indexer] +\n \"_\" +\n props.row.season +\n \"_\" +\n props.row.episode,\n title:\n \"Change this value if scene numbering differs from the indexer episode numbering. Generally used for non-anime shows.\"\n },\n domProps: {\n value:\n props.formattedRow[props.column.field]\n .season +\n \"x\" +\n props.formattedRow[props.column.field]\n .episode\n }\n })\n ])\n : props.column.label == \"Scene Abs. #\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"input\", {\n staticClass:\n \"sceneAbsolute form-control input-scene addQTip\",\n staticStyle: {\n padding: \"0\",\n \"text-align\": \"center\",\n \"max-width\": \"60px\"\n },\n attrs: {\n type: \"text\",\n placeholder:\n props.formattedRow[\n props.column.field\n ],\n size: \"6\",\n maxlength: \"8\",\n \"data-for-absolute\":\n props.formattedRow[\n props.column.field\n ] || 0,\n id:\n \"sceneSeasonXEpisode_\" +\n _vm.show.id[_vm.show.indexer] +\n props.formattedRow[\n props.column.field\n ],\n title:\n \"Change this value if scene absolute numbering differs from the indexer absolute numbering. Generally used for anime shows.\"\n },\n domProps: {\n value: props.formattedRow[\n props.column.field\n ]\n ? props.formattedRow[\n props.column.field\n ]\n : \"\"\n }\n })\n ])\n : props.column.label == \"Title\"\n ? _c(\n \"span\",\n [\n props.row.description !== \"\"\n ? _c(\"plot-info\", {\n attrs: {\n description:\n props.row.description,\n \"show-slug\": _vm.show.id.slug,\n season: props.row.season,\n episode: props.row.episode\n }\n })\n : _vm._e(),\n _vm._v(\n \"\\n \" +\n _vm._s(props.row.title) +\n \"\\n \"\n )\n ],\n 1\n )\n : props.column.label == \"File\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n staticClass: \"addQTip\",\n attrs: {\n title: props.row.file.location\n }\n },\n [_vm._v(_vm._s(props.row.file.name))]\n )\n ])\n : props.column.label == \"Download\"\n ? _c(\n \"span\",\n [\n _vm.config.downloadUrl &&\n props.row.file.location &&\n [\"Downloaded\", \"Archived\"].includes(\n props.row.status\n )\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.downloadUrl +\n props.row.file.location\n }\n },\n [_vm._v(\"Download\")]\n )\n : _vm._e()\n ],\n 1\n )\n : props.column.label == \"Subtitles\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n [\n \"Archived\",\n \"Downloaded\",\n \"Ignored\",\n \"Skipped\"\n ].includes(props.row.status)\n ? _c(\n \"div\",\n { staticClass: \"subtitles\" },\n _vm._l(props.row.subtitles, function(\n flag\n ) {\n return _c(\"div\", { key: flag }, [\n flag !== \"und\"\n ? _c(\"img\", {\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n flag +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: flag,\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n },\n on: {\n click: function($event) {\n return _vm.searchSubtitle(\n $event,\n props.row,\n flag\n )\n }\n }\n })\n : _c(\"img\", {\n staticClass:\n \"subtitle-flag\",\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n flag +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: flag,\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n }\n })\n ])\n }),\n 0\n )\n : _vm._e()\n ])\n : props.column.label == \"Status\"\n ? _c(\"span\", [\n _c(\n \"div\",\n [\n _vm._v(\n \"\\n \" +\n _vm._s(props.row.status) +\n \"\\n \"\n ),\n props.row.quality !== 0\n ? _c(\"quality-pill\", {\n attrs: {\n quality: props.row.quality\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n props.row.status !== \"Unaired\"\n ? _c(\"img\", {\n staticClass: \"addQTip\",\n attrs: {\n title: props.row.watched\n ? \"This episode has been flagged as watched\"\n : \"\",\n src:\n \"images/\" +\n (props.row.watched\n ? \"\"\n : \"not\") +\n \"watched.png\",\n width: \"16\"\n },\n on: {\n click: function($event) {\n return _vm.updateEpisodeWatched(\n props.row,\n !props.row.watched\n )\n }\n }\n })\n : _vm._e()\n ],\n 1\n )\n ])\n : props.column.field == \"search\"\n ? _c(\n \"span\",\n [\n _c(\"img\", {\n ref: \"search-\" + props.row.slug,\n staticClass: \"epForcedSearch\",\n attrs: {\n id:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n name:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n src: \"images/search16.png\",\n height: \"16\",\n alt: _vm.retryDownload(props.row)\n ? \"retry\"\n : \"search\",\n title: _vm.retryDownload(props.row)\n ? \"Retry Download\"\n : \"Forced Seach\"\n },\n on: {\n click: function($event) {\n return _vm.queueSearch(props.row)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"epManualSearch\",\n attrs: {\n id:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n name:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n href:\n \"home/snatchSelection?indexername=\" +\n _vm.show.indexer +\n \"&seriesid=\" +\n _vm.show.id[_vm.show.indexer] +\n \"&season=\" +\n props.row.season +\n \"&episode=\" +\n props.row.episode\n }\n },\n [\n _c(\"img\", {\n attrs: {\n \"data-ep-manual-search\": \"\",\n src: \"images/manualsearch.png\",\n width: \"16\",\n height: \"16\",\n alt: \"search\",\n title: \"Manual Search\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src: \"images/closed_captioning.png\",\n height: \"16\",\n alt: \"search subtitles\",\n title: \"Search Subtitles\"\n },\n on: {\n click: function($event) {\n return _vm.searchSubtitle(\n $event,\n props.row\n )\n }\n }\n })\n ],\n 1\n )\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.formattedRow[props.column.field]\n ) +\n \"\\n \"\n )\n ])\n ]\n }\n },\n {\n key: \"table-column\",\n fn: function(props) {\n return [\n props.column.label == \"Abs. #\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n staticClass: \"addQTip\",\n attrs: {\n title: \"Absolute episode number\"\n }\n },\n [_vm._v(_vm._s(props.column.label))]\n )\n ])\n : props.column.label == \"Scene Abs. #\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n staticClass: \"addQTip\",\n attrs: {\n title: \"Scene Absolute episode number\"\n }\n },\n [_vm._v(_vm._s(props.column.label))]\n )\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(props.column.label) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 377733710\n )\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.layout.show.specials &&\n _vm.specials &&\n _vm.specials.length > 0\n ? _c(\"vue-good-table\", {\n ref: \"table-specials\",\n attrs: {\n columns: _vm.columns,\n rows: _vm.specials,\n groupOptions: {\n enabled: true,\n mode: \"span\",\n customChildObject: \"episodes\"\n },\n \"pagination-options\": {\n enabled: false\n },\n \"search-options\": {\n enabled: true,\n trigger: \"enter\",\n skipDiacritics: false,\n placeholder: \"Search specials\"\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: _vm.getSortBy(\"episode\", \"desc\")\n },\n selectOptions: {\n enabled: true,\n selectOnCheckboxOnly: true, // only select when checkbox is clicked instead of the row\n selectionInfoClass: \"select-info\",\n selectionText: \"episodes selected\",\n clearSelectionText: \"clear\",\n selectAllByGroup: true\n },\n \"row-style-class\": _vm.rowStyleClassFn,\n \"column-filter-options\": {\n enabled: false\n }\n },\n on: {\n \"on-selected-rows-change\": function($event) {\n _vm.selectedEpisodes = $event.selectedRows\n }\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"table-header-row\",\n fn: function(props) {\n return [\n _c(\n \"h3\",\n {\n staticClass: \"season-header toggle collapse\"\n },\n [\n _c(\"app-link\", {\n attrs: {\n name: \"season-\" + props.row.season\n }\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.season > 0\n ? \"Season \" + props.row.season\n : \"Specials\"\n ) +\n \"\\n \"\n ),\n _vm._v(\" \"),\n _vm.anyEpisodeNotUnaired(props.row)\n ? _c(\n \"app-link\",\n {\n staticClass: \"epManualSearch\",\n attrs: {\n href:\n \"home/snatchSelection?indexername=\" +\n _vm.show.indexer +\n \"&seriesid=\" +\n _vm.show.id[_vm.show.indexer] +\n \"&season=\" +\n props.row.season +\n \"&episode=1&manual_search_type=season\"\n }\n },\n [\n _vm.config\n ? _c(\"img\", {\n attrs: {\n \"data-ep-manual-search\": \"\",\n src:\n \"images/manualsearch-white.png\",\n width: \"16\",\n height: \"16\",\n alt: \"search\",\n title: \"Manual Search\"\n }\n })\n : _vm._e()\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"season-scene-exception\",\n attrs: {\n \"data-season\":\n props.row.season > 0\n ? props.row.season\n : \"Specials\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"img\",\n _vm._b(\n {},\n \"img\",\n _vm.getSeasonExceptions(props.row.season),\n false\n )\n )\n ],\n 1\n )\n ]\n }\n },\n {\n key: \"table-footer-row\",\n fn: function(ref) {\n var headerRow = ref.headerRow\n return [\n _c(\n \"tr\",\n {\n staticClass:\n \"seasoncols border-bottom shadow\",\n attrs: {\n colspan: \"9999\",\n id: \"season-\" + headerRow.season + \"-footer\"\n }\n },\n [\n _c(\n \"th\",\n {\n staticClass: \"col-footer\",\n attrs: { colspan: \"15\", align: \"left\" }\n },\n [\n _vm._v(\n \"Season contains \" +\n _vm._s(headerRow.episodes.length) +\n \" episodes with total filesize: \" +\n _vm._s(_vm.addFileSize(headerRow))\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"spacer\" })\n ]\n }\n },\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.field == \"content.hasNfo\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.content.hasNfo\n ? \"nfo.gif\"\n : \"nfo-no.gif\"),\n alt: props.row.content.hasNfo\n ? \"Y\"\n : \"N\",\n width: \"23\",\n height: \"11\"\n }\n })\n ])\n : props.column.field == \"content.hasTbn\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.content.hasTbn\n ? \"tbn.gif\"\n : \"tbn-no.gif\"),\n alt: props.row.content.hasTbn\n ? \"Y\"\n : \"N\",\n width: \"23\",\n height: \"11\"\n }\n })\n ])\n : props.column.label == \"Episode\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n class: {\n addQTip:\n props.row.file.location !== \"\"\n },\n attrs: {\n title:\n props.row.file.location !== \"\"\n ? props.row.file.location\n : \"\"\n }\n },\n [_vm._v(_vm._s(props.row.episode))]\n )\n ])\n : props.column.label == \"Scene\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"input\", {\n staticClass:\n \"sceneSeasonXEpisode form-control input-scene addQTip\",\n staticStyle: {\n padding: \"0\",\n \"text-align\": \"center\",\n \"max-width\": \"60px\"\n },\n attrs: {\n type: \"text\",\n placeholder:\n props.formattedRow[props.column.field]\n .season +\n \"x\" +\n props.formattedRow[props.column.field]\n .episode,\n size: \"6\",\n maxlength: \"8\",\n \"data-for-season\": props.row.season,\n \"data-for-episode\": props.row.episode,\n id:\n \"sceneSeasonXEpisode_\" +\n _vm.show.id[_vm.show.indexer] +\n \"_\" +\n props.row.season +\n \"_\" +\n props.row.episode,\n title:\n \"Change this value if scene numbering differs from the indexer episode numbering. Generally used for non-anime shows.\"\n },\n domProps: {\n value:\n props.formattedRow[props.column.field]\n .season +\n \"x\" +\n props.formattedRow[props.column.field]\n .episode\n }\n })\n ])\n : props.column.label == \"Scene Abs. #\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"input\", {\n staticClass:\n \"sceneAbsolute form-control input-scene addQTip\",\n staticStyle: {\n padding: \"0\",\n \"text-align\": \"center\",\n \"max-width\": \"60px\"\n },\n attrs: {\n type: \"text\",\n placeholder:\n props.formattedRow[\n props.column.field\n ],\n size: \"6\",\n maxlength: \"8\",\n \"data-for-absolute\":\n props.formattedRow[\n props.column.field\n ] || 0,\n id:\n \"sceneSeasonXEpisode_\" +\n _vm.show.id[_vm.show.indexer] +\n props.formattedRow[\n props.column.field\n ],\n title:\n \"Change this value if scene absolute numbering differs from the indexer absolute numbering. Generally used for anime shows.\"\n },\n domProps: {\n value: props.formattedRow[\n props.column.field\n ]\n ? props.formattedRow[\n props.column.field\n ]\n : \"\"\n }\n })\n ])\n : props.column.label == \"Title\"\n ? _c(\n \"span\",\n [\n props.row.description !== \"\"\n ? _c(\"plot-info\", {\n attrs: {\n description:\n props.row.description,\n \"show-slug\": _vm.show.id.slug,\n season: props.row.season,\n episode: props.row.episode\n }\n })\n : _vm._e(),\n _vm._v(\n \"\\n \" +\n _vm._s(props.row.title) +\n \"\\n \"\n )\n ],\n 1\n )\n : props.column.label == \"File\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n staticClass: \"addQTip\",\n attrs: {\n title: props.row.file.location\n }\n },\n [_vm._v(_vm._s(props.row.file.name))]\n )\n ])\n : props.column.label == \"Download\"\n ? _c(\n \"span\",\n [\n _vm.config.downloadUrl &&\n props.row.file.location &&\n [\"Downloaded\", \"Archived\"].includes(\n props.row.status\n )\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.downloadUrl +\n props.row.file.location\n }\n },\n [_vm._v(\"Download\")]\n )\n : _vm._e()\n ],\n 1\n )\n : props.column.label == \"Subtitles\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n [\n \"Archived\",\n \"Downloaded\",\n \"Ignored\",\n \"Skipped\"\n ].includes(props.row.status)\n ? _c(\n \"div\",\n { staticClass: \"subtitles\" },\n _vm._l(props.row.subtitles, function(\n flag\n ) {\n return _c(\"div\", { key: flag }, [\n flag !== \"und\"\n ? _c(\"img\", {\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n flag +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: \"{flag}\",\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n },\n on: {\n click: function($event) {\n return _vm.searchSubtitle(\n $event,\n props.row,\n flag\n )\n }\n }\n })\n : _c(\"img\", {\n staticClass:\n \"subtitle-flag\",\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n flag +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: \"flag\",\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n }\n })\n ])\n }),\n 0\n )\n : _vm._e()\n ])\n : props.column.label == \"Status\"\n ? _c(\"span\", [\n _c(\n \"div\",\n [\n _vm._v(\n \"\\n \" +\n _vm._s(props.row.status) +\n \"\\n \"\n ),\n props.row.quality !== 0\n ? _c(\"quality-pill\", {\n attrs: {\n quality: props.row.quality\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n props.row.status !== \"Unaired\"\n ? _c(\"img\", {\n staticClass: \"addQTip\",\n attrs: {\n title: props.row.watched\n ? \"This episode has been flagged as watched\"\n : \"\",\n src:\n \"images/\" +\n (props.row.watched\n ? \"\"\n : \"not\") +\n \"watched.png\",\n width: \"16\"\n },\n on: {\n click: function($event) {\n return _vm.updateEpisodeWatched(\n props.row,\n !props.row.watched\n )\n }\n }\n })\n : _vm._e()\n ],\n 1\n )\n ])\n : props.column.field == \"search\"\n ? _c(\n \"span\",\n [\n _c(\"img\", {\n ref: \"search-\" + props.row.slug,\n staticClass: \"epForcedSearch\",\n attrs: {\n id:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n name:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n src: \"images/search16.png\",\n height: \"16\",\n alt: _vm.retryDownload(props.row)\n ? \"retry\"\n : \"search\",\n title: _vm.retryDownload(props.row)\n ? \"Retry Download\"\n : \"Forced Seach\"\n },\n on: {\n click: function($event) {\n return _vm.queueSearch(props.row)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"epManualSearch\",\n attrs: {\n id:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n name:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n href:\n \"home/snatchSelection?indexername=\" +\n _vm.show.indexer +\n \"&seriesid=\" +\n _vm.show.id[_vm.show.indexer] +\n \"&season=\" +\n props.row.season +\n \"&episode=\" +\n props.row.episode\n }\n },\n [\n _c(\"img\", {\n attrs: {\n \"data-ep-manual-search\": \"\",\n src: \"images/manualsearch.png\",\n width: \"16\",\n height: \"16\",\n alt: \"search\",\n title: \"Manual Search\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src: \"images/closed_captioning.png\",\n height: \"16\",\n alt: \"search subtitles\",\n title: \"Search Subtitles\"\n },\n on: {\n click: function($event) {\n return _vm.searchSubtitle(\n $event,\n props.row\n )\n }\n }\n })\n ],\n 1\n )\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.formattedRow[props.column.field]\n ) +\n \"\\n \"\n )\n ])\n ]\n }\n },\n {\n key: \"table-column\",\n fn: function(props) {\n return [\n props.column.label == \"Abs. #\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n staticClass: \"addQTip\",\n attrs: {\n title: \"Absolute episode number\"\n }\n },\n [_vm._v(_vm._s(props.column.label))]\n )\n ])\n : props.column.label == \"Scene Abs. #\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n staticClass: \"addQTip\",\n attrs: {\n title: \"Scene Absolute episode number\"\n }\n },\n [_vm._v(_vm._s(props.column.label))]\n )\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(props.column.label) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 1270435715\n )\n })\n : _vm._e()\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"modal\",\n {\n attrs: {\n name: \"query-start-backlog-search\",\n height: \"auto\",\n width: \"80%\"\n },\n on: { \"before-open\": _vm.beforeBacklogSearchModalClose }\n },\n [\n _c(\"transition\", { attrs: { name: \"modal\" } }, [\n _c(\"div\", { staticClass: \"modal-mask\" }, [\n _c(\"div\", { staticClass: \"modal-wrapper\" }, [\n _c(\"div\", { staticClass: \"modal-content\" }, [\n _c(\"div\", { staticClass: \"modal-header\" }, [\n _c(\n \"button\",\n {\n staticClass: \"close\",\n attrs: {\n type: \"button\",\n \"data-dismiss\": \"modal\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"×\")]\n ),\n _vm._v(\" \"),\n _c(\"h4\", { staticClass: \"modal-title\" }, [\n _vm._v(\"Start search?\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"modal-body\" }, [\n _c(\"p\", [\n _vm._v(\n \"Some episodes have been changed to 'Wanted'. Do you want to trigger a backlog search for these \" +\n _vm._s(_vm.backlogSearchEpisodes.length) +\n \" episode(s)\"\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"modal-footer\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-danger\",\n attrs: { type: \"button\", \"data-dismiss\": \"modal\" },\n on: {\n click: function($event) {\n return _vm.$modal.hide(\"query-start-backlog-search\")\n }\n }\n },\n [_vm._v(\"No\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-success\",\n attrs: { type: \"button\", \"data-dismiss\": \"modal\" },\n on: {\n click: function($event) {\n _vm.search(_vm.backlogSearchEpisodes, \"backlog\")\n _vm.$modal.hide(\"query-start-backlog-search\")\n }\n }\n },\n [_vm._v(\"Yes\")]\n )\n ])\n ])\n ])\n ])\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"modal\",\n {\n attrs: {\n name: \"query-mark-failed-and-search\",\n height: \"auto\",\n width: \"80%\"\n },\n on: { \"before-open\": _vm.beforeFailedSearchModalClose }\n },\n [\n _c(\"transition\", { attrs: { name: \"modal\" } }, [\n _c(\"div\", { staticClass: \"modal-mask\" }, [\n _c(\"div\", { staticClass: \"modal-wrapper\" }, [\n _c(\"div\", { staticClass: \"modal-content\" }, [\n _c(\"div\", { staticClass: \"modal-header\" }, [\n _vm._v(\n \"\\n Mark episode as failed and search?\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"modal-body\" }, [\n _c(\"p\", [_vm._v(\"Starting to search for the episode\")]),\n _vm._v(\" \"),\n _vm.failedSearchEpisode\n ? _c(\"p\", [\n _vm._v(\n \"Would you also like to mark episode \" +\n _vm._s(_vm.failedSearchEpisode.slug) +\n ' as \"failed\"? This will make sure the episode cannot be downloaded again'\n )\n ])\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"modal-footer\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-danger\",\n attrs: { type: \"button\", \"data-dismiss\": \"modal\" },\n on: {\n click: function($event) {\n _vm.search([_vm.failedSearchEpisode], \"backlog\")\n _vm.$modal.hide(\"query-mark-failed-and-search\")\n }\n }\n },\n [_vm._v(\"No\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-success\",\n attrs: { type: \"button\", \"data-dismiss\": \"modal\" },\n on: {\n click: function($event) {\n _vm.search([_vm.failedSearchEpisode], \"failed\")\n _vm.$modal.hide(\"query-mark-failed-and-search\")\n }\n }\n },\n [_vm._v(\"Yes\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-danger\",\n attrs: { type: \"button\", \"data-dismiss\": \"modal\" },\n on: {\n click: function($event) {\n return _vm.$modal.hide(\n \"query-mark-failed-and-search\"\n )\n }\n }\n },\n [_vm._v(\"Cancel\")]\n )\n ])\n ])\n ])\n ])\n ])\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/display-show.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/edit-show.vue?vue&type=template&id=7e9c1d00&scoped=true&": -/*!***************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/edit-show.vue?vue&type=template&id=7e9c1d00&scoped=true& ***! - \***************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"config-content\" } },\n [\n _vm.showLoaded\n ? _c(\"backstretch\", { attrs: { slug: _vm.show.id.slug } })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showLoaded\n ? _c(\n \"h1\",\n { staticClass: \"header\" },\n [\n _vm._v(\"\\n Edit Show - \"),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n _vm.indexer +\n \"&seriesid=\" +\n _vm.id\n }\n },\n [_vm._v(_vm._s(_vm.show.title))]\n )\n ],\n 1\n )\n : _c(\n \"h1\",\n { staticClass: \"header\" },\n [\n _vm._v(\"\\n Edit Show\"),\n !_vm.loadError ? [_vm._v(\" (Loading...)\")] : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.loadError\n ? _c(\"h3\", [_vm._v(\"Error loading show: \" + _vm._s(_vm.loadError))])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showLoaded\n ? _c(\n \"div\",\n {\n class: { summaryFanArt: _vm.layout.fanartBackground },\n attrs: { id: \"config\" }\n },\n [\n _c(\n \"form\",\n {\n staticClass: \"form-horizontal\",\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.saveShow(\"all\")\n }\n }\n },\n [\n _c(\n \"vue-tabs\",\n [\n _c(\"v-tab\", { attrs: { title: \"Main\" } }, [\n _c(\"div\", { staticClass: \"component-group\" }, [\n _c(\"h3\", [_vm._v(\"Main Settings\")]),\n _vm._v(\" \"),\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"location\",\n label: \"Show Location\"\n }\n },\n [\n _c(\"file-browser\", {\n key: _vm.show.id.slug,\n attrs: {\n name: \"location\",\n title: \"Select Show Location\",\n \"initial-dir\": _vm.show.config.location\n },\n on: {\n update: function($event) {\n _vm.show.config.location = $event\n }\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"qualityPreset\",\n label: \"Quality\"\n }\n },\n [\n _c(\"quality-chooser\", {\n attrs: {\n \"overall-quality\": _vm.combinedQualities,\n \"show-slug\": _vm.show.id.slug\n },\n on: {\n \"update:quality:allowed\": function(\n $event\n ) {\n _vm.show.config.qualities.allowed = $event\n },\n \"update:quality:preferred\": function(\n $event\n ) {\n _vm.show.config.qualities.preferred = $event\n }\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"defaultEpStatusSelect\",\n label: \"Default Episode Status\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.show.config\n .defaultEpisodeStatus,\n expression:\n \"show.config.defaultEpisodeStatus\"\n }\n ],\n staticClass:\n \"form-control form-control-inline input-sm\",\n attrs: {\n name: \"defaultEpStatus\",\n id: \"defaultEpStatusSelect\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.show.config,\n \"defaultEpisodeStatus\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(\n _vm.defaultEpisodeStatusOptions,\n function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.name }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.name) +\n \"\\n \"\n )\n ]\n )\n }\n ),\n 0\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"This will set the status for future episodes.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"indexerLangSelect\",\n label: \"Info Language\"\n }\n },\n [\n _c(\"language-select\", {\n staticClass:\n \"form-control form-control-inline input-sm\",\n attrs: {\n id: \"indexerLangSelect\",\n language: _vm.show.language,\n available: _vm.availableLanguages,\n name: \"indexer_lang\"\n },\n on: {\n \"update-language\": _vm.updateLanguage\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _vm._v(\n \"This only applies to episode filenames and the contents of metadata files.\"\n )\n ])\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Subtitles\",\n id: \"subtitles\"\n },\n model: {\n value: _vm.show.config.subtitlesEnabled,\n callback: function($$v) {\n _vm.$set(\n _vm.show.config,\n \"subtitlesEnabled\",\n $$v\n )\n },\n expression: \"show.config.subtitlesEnabled\"\n }\n },\n [_c(\"span\", [_vm._v(\"search for subtitles\")])]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"Paused\", id: \"paused\" },\n model: {\n value: _vm.show.config.paused,\n callback: function($$v) {\n _vm.$set(_vm.show.config, \"paused\", $$v)\n },\n expression: \"show.config.paused\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"pause this show (Medusa will not download episodes)\"\n )\n ])\n ]\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"v-tab\", { attrs: { title: \"Format\" } }, [\n _c(\"div\", { staticClass: \"component-group\" }, [\n _c(\"h3\", [_vm._v(\"Format Settings\")]),\n _vm._v(\" \"),\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n value: _vm.show.config.airByDate,\n label: \"Air by date\",\n id: \"airByDate\"\n },\n on: {\n input: function($event) {\n return _vm.changeFormat(\n $event,\n \"airByDate\"\n )\n }\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"check if the show is released as Show.03.02.2010 rather than Show.S02E03\"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"p\",\n {\n staticStyle: { color: \"rgb(255, 0, 0)\" }\n },\n [\n _vm._v(\n \"In case of an air date conflict between regular and special episodes, the later will be ignored.\"\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n value: _vm.show.config.anime,\n label: \"Anime\",\n id: \"anime\"\n },\n on: {\n input: function($event) {\n return _vm.changeFormat($event, \"anime\")\n }\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"enable if the show is Anime and episodes are released as Show.265 rather than Show.S02E03\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.show.config.anime\n ? _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"anidbReleaseGroup\",\n label: \"Release Groups\"\n }\n },\n [\n _vm.show.title\n ? _c(\"anidb-release-group-ui\", {\n staticClass: \"max-width\",\n attrs: {\n \"show-name\": _vm.show.title,\n blacklist:\n _vm.show.config.release\n .blacklist,\n whitelist:\n _vm.show.config.release\n .whitelist\n },\n on: {\n change:\n _vm.onChangeReleaseGroupsAnime\n }\n })\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n value: _vm.show.config.sports,\n label: \"Sports\",\n id: \"sports\"\n },\n on: {\n input: function($event) {\n return _vm.changeFormat($event, \"sports\")\n }\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"enable if the show is a sporting or MMA event released as Show.03.02.2010 rather than Show.S02E03\"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"p\",\n {\n staticStyle: { color: \"rgb(255, 0, 0)\" }\n },\n [\n _vm._v(\n \"In case of an air date conflict between regular and special episodes, the later will be ignored.\"\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Season\",\n id: \"season_folders\"\n },\n model: {\n value: _vm.show.config.seasonFolders,\n callback: function($$v) {\n _vm.$set(\n _vm.show.config,\n \"seasonFolders\",\n $$v\n )\n },\n expression: \"show.config.seasonFolders\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"group episodes by season folder (disable to store in a single folder)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Scene Numbering\",\n id: \"scene_numbering\"\n },\n model: {\n value: _vm.show.config.scene,\n callback: function($$v) {\n _vm.$set(_vm.show.config, \"scene\", $$v)\n },\n expression: \"show.config.scene\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"search by scene numbering (disable to search by indexer numbering)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"DVD Order\",\n id: \"dvd_order\"\n },\n model: {\n value: _vm.show.config.dvdOrder,\n callback: function($$v) {\n _vm.$set(_vm.show.config, \"dvdOrder\", $$v)\n },\n expression: \"show.config.dvdOrder\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"use the DVD order instead of the air order\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _vm._v(\n 'A \"Force Full Update\" is necessary, and if you have existing episodes you need to sort them manually.'\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"show_lists\",\n label: \"Display in show lists\"\n }\n },\n [\n _c(\"multiselect\", {\n attrs: {\n multiple: true,\n options: _vm.layout.show.showListOrder\n },\n model: {\n value: _vm.showLists,\n callback: function($$v) {\n _vm.showLists = $$v\n },\n expression: \"showLists\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"v-tab\", { attrs: { title: \"Advanced\" } }, [\n _c(\"div\", { staticClass: \"component-group\" }, [\n _c(\"h3\", [_vm._v(\"Advanced Settings\")]),\n _vm._v(\" \"),\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"rls_ignore_words\",\n label: \"Ignored words\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n \"list-items\":\n _vm.show.config.release.ignoredWords\n },\n on: { change: _vm.onChangeIgnoredWords }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _vm._v(\n \"Search results with one or more words from this list will be ignored.\"\n )\n ])\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Exclude ignored words\",\n id: \"ignored_words_exclude\"\n },\n model: {\n value:\n _vm.show.config.release\n .ignoredWordsExclude,\n callback: function($$v) {\n _vm.$set(\n _vm.show.config.release,\n \"ignoredWordsExclude\",\n $$v\n )\n },\n expression:\n \"show.config.release.ignoredWordsExclude\"\n }\n },\n [\n _c(\"div\", [\n _vm._v(\n \"Use the Ignored Words list to exclude these from the global ignored list\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Currently the effective list is: \" +\n _vm._s(_vm.effectiveIgnored)\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"rls_require_words\",\n label: \"Required words\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n \"list-items\":\n _vm.show.config.release.requiredWords\n },\n on: { change: _vm.onChangeRequiredWords }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Search results with no words from this list will be ignored.\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Exclude required words\",\n id: \"required_words_exclude\"\n },\n model: {\n value:\n _vm.show.config.release\n .requiredWordsExclude,\n callback: function($$v) {\n _vm.$set(\n _vm.show.config.release,\n \"requiredWordsExclude\",\n $$v\n )\n },\n expression:\n \"show.config.release.requiredWordsExclude\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Use the Required Words list to exclude these from the global required words list\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Currently the effective list is: \" +\n _vm._s(_vm.effectiveRequired)\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"scene_exceptions\",\n label: \"Scene Exception\"\n }\n },\n [\n _c(\n \"config-scene-exceptions\",\n _vm._b(\n {},\n \"config-scene-exceptions\",\n {\n show: _vm.show,\n exceptions: _vm.show.config.aliases\n },\n false\n )\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n attrs: {\n min: -168,\n max: 168,\n step: 1,\n label: \"Airdate offset\",\n id: \"airdate_offset\",\n explanations: [\n \"Amount of hours we want to start searching early (-1) or late (1) for new episodes.\",\n \"This only applies to daily searches.\"\n ]\n },\n model: {\n value: _vm.show.config.airdateOffset,\n callback: function($$v) {\n _vm.$set(\n _vm.show.config,\n \"airdateOffset\",\n $$v\n )\n },\n expression: \"show.config.airdateOffset\"\n }\n })\n ],\n 1\n )\n ])\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa pull-left button\",\n attrs: {\n id: \"submit\",\n type: \"submit\",\n disabled: _vm.saving || !_vm.showLoaded\n },\n domProps: { value: _vm.saveButton }\n })\n ],\n 1\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/edit-show.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/app-link.vue?vue&type=template&id=552abf00&": -/*!**********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/app-link.vue?vue&type=template&id=552abf00& ***! - \**********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n _vm.linkProperties.is,\n {\n tag: \"component\",\n class: { \"router-link\": _vm.linkProperties.is === \"router-link\" },\n attrs: {\n to: _vm.linkProperties.to,\n href: _vm.linkProperties.href,\n target: _vm.linkProperties.target,\n rel: _vm.linkProperties.rel,\n \"false-link\": _vm.linkProperties.falseLink\n }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/app-link.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/asset.vue?vue&type=template&id=77ce7ff4&scoped=true&": -/*!*******************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/asset.vue?vue&type=template&id=77ce7ff4&scoped=true& ***! - \*******************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return !_vm.lazy\n ? _c(\n \"div\",\n { staticStyle: { display: \"inherit\" } },\n [\n !_vm.link\n ? _c(\n \"img\",\n _vm._b(\n {\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n },\n \"img\",\n { src: _vm.src, class: _vm.cls, class: _vm.newCls },\n false\n )\n )\n : _c(\"app-link\", { attrs: { href: _vm.href } }, [\n _c(\n \"img\",\n _vm._b(\n {\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n },\n \"img\",\n { src: _vm.src, class: _vm.newCls },\n false\n )\n )\n ])\n ],\n 1\n )\n : _c(\n \"div\",\n { staticStyle: { display: \"inherit\" } },\n [\n !_vm.link\n ? _c(\"lazy-image\", {\n attrs: {\n \"lazy-src\": _vm.src,\n \"lazy-cls\": _vm.newCls,\n \"lazy-default-src\": _vm.defaultSrc\n }\n })\n : _c(\n \"app-link\",\n { attrs: { href: _vm.href } },\n [\n _c(\"lazy-image\", {\n attrs: {\n \"lazy-src\": _vm.src,\n \"lazy-cls\": _vm.newCls,\n \"lazy-default-src\": _vm.defaultSrc\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/asset.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-scene-exceptions.vue?vue&type=template&id=1c188ea6&scoped=true&": -/*!*************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-scene-exceptions.vue?vue&type=template&id=1c188ea6&scoped=true& ***! - \*************************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"select-list max-width\" }, [\n _c(\n \"ul\",\n [\n _vm._l(_vm.items, function(exception) {\n return _c(\"li\", { key: exception.title + \"-\" + exception.season }, [\n _c(\n \"div\",\n {\n staticClass: \"input-group form-inline\",\n attrs: { disabled: !exception.custom }\n },\n [\n _c(\"input\", {\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\", disabled: !exception.custom },\n domProps: { value: exception.title }\n }),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: exception.season,\n expression: \"exception.season\"\n }\n ],\n staticClass: \"select-season\",\n attrs: {\n name: \"scene-exception-season\",\n disabled: !exception.custom\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n exception,\n \"season\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.availableSeasons, function(season) {\n return _c(\n \"option\",\n { key: season.value, domProps: { value: season.value } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(season.description) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n !exception.custom\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.right\",\n value:\n \"This exception has been automatically added through an automated process sourcing title aliases from medusa github repo, thexem.de or anidb.info\",\n expression:\n \"'This exception has been automatically added through an automated process sourcing title aliases from medusa github repo, thexem.de or anidb.info'\",\n modifiers: { right: true }\n }\n ],\n staticClass: \"external-scene-exception\"\n },\n [_vm._m(0, true)]\n )\n : _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n on: {\n click: function($event) {\n return _vm.removeException(exception)\n }\n }\n },\n [_vm._m(1, true)]\n )\n ]\n )\n ])\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"new-item\" }, [\n _c(\"div\", { staticClass: \"input-group form-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newItem,\n expression: \"newItem\"\n }\n ],\n ref: \"newItemInput\",\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\", placeholder: \"add new values per line\" },\n domProps: { value: _vm.newItem },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.newItem = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedSeason,\n expression: \"selectedSeason\"\n }\n ],\n staticClass: \"select-season\",\n attrs: { name: \"add-exception-season\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedSeason = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.availableSeasons, function(season) {\n return _c(\n \"option\",\n { key: season.value, domProps: { value: season.value } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(season.description) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n attrs: { disabled: !_vm.unique },\n on: {\n click: function($event) {\n return _vm.addException()\n }\n }\n },\n [_vm._m(2)]\n )\n ])\n ]),\n _vm._v(\" \"),\n !_vm.unique ? _c(\"div\", [_vm._m(3)]) : _vm._e(),\n _vm._v(\" \"),\n _vm.newItem.length > 0 && _vm.unique\n ? _c(\"div\", { staticClass: \"new-item-help\" }, [\n _vm._v(\"\\n Click \"),\n _c(\"i\", { staticClass: \"glyphicon glyphicon-plus\" }),\n _vm._v(\" to add your \"),\n _c(\"b\", [\n _vm._v(\n _vm._s(\n _vm.selectedSeason === -1\n ? \"Show Exception\"\n : \"Season Exception\"\n )\n )\n ]),\n _vm._v(\".\\n \")\n ])\n : _vm._e()\n ],\n 2\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src: \"images/ico/favicon-16.png\",\n width: \"16\",\n height: \"16\",\n alt: \"search\",\n title:\n \"This exception has been automatically added through an automated process sourcing title aliases from medusa github repo, thexem.de or anidb.info\"\n }\n })\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-remove\",\n attrs: { title: \"Remove\" }\n })\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-plus\",\n attrs: { title: \"Add\" }\n })\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"b\", [\n _vm._v(\"This exception has already been added for this show.\"),\n _c(\"br\"),\n _vm._v(\"Can't add the same exception twice!\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-scene-exceptions.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-template.vue?vue&type=template&id=4ec1c3bb&": -/*!*****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-template.vue?vue&type=template&id=4ec1c3bb& ***! - \*****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-template-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: _vm.labelFor }\n },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [_vm._t(\"default\")], 2)\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-template.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-textbox-number.vue?vue&type=template&id=a355580e&": -/*!***********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-textbox-number.vue?vue&type=template&id=a355580e& ***! - \***********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-textbox-number-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.localValue,\n expression: \"localValue\"\n }\n ],\n attrs: { type: \"number\" },\n domProps: { value: _vm.localValue },\n on: {\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.localValue = $event.target.value\n },\n function($event) {\n return _vm.updateValue()\n }\n ]\n }\n },\n \"input\",\n {\n min: _vm.min,\n max: _vm.max,\n step: _vm.step,\n id: _vm.id,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n }),\n _vm._v(\" \"),\n _vm._t(\"default\")\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-textbox-number.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-textbox.vue?vue&type=template&id=d72e3366&": -/*!****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-textbox.vue?vue&type=template&id=d72e3366& ***! - \****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-textbox\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n {\n id: _vm.id,\n type: _vm.type,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n }.type === \"checkbox\"\n ? _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.localValue,\n expression: \"localValue\"\n }\n ],\n attrs: { type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.localValue)\n ? _vm._i(_vm.localValue, null) > -1\n : _vm.localValue\n },\n on: {\n input: function($event) {\n return _vm.updateValue()\n },\n change: function($event) {\n var $$a = _vm.localValue,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.localValue = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.localValue = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.localValue = $$c\n }\n }\n }\n },\n \"input\",\n {\n id: _vm.id,\n type: _vm.type,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n },\n false\n )\n )\n : {\n id: _vm.id,\n type: _vm.type,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n }.type === \"radio\"\n ? _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.localValue,\n expression: \"localValue\"\n }\n ],\n attrs: { type: \"radio\" },\n domProps: { checked: _vm._q(_vm.localValue, null) },\n on: {\n input: function($event) {\n return _vm.updateValue()\n },\n change: function($event) {\n _vm.localValue = null\n }\n }\n },\n \"input\",\n {\n id: _vm.id,\n type: _vm.type,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n },\n false\n )\n )\n : _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.localValue,\n expression: \"localValue\"\n }\n ],\n attrs: {\n type: {\n id: _vm.id,\n type: _vm.type,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n }.type\n },\n domProps: { value: _vm.localValue },\n on: {\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.localValue = $event.target.value\n },\n function($event) {\n return _vm.updateValue()\n }\n ]\n }\n },\n \"input\",\n {\n id: _vm.id,\n type: _vm.type,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n }),\n _vm._v(\" \"),\n _vm._t(\"default\")\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-textbox.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-toggle-slider.vue?vue&type=template&id=4b5f11ee&": -/*!**********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-toggle-slider.vue?vue&type=template&id=4b5f11ee& ***! - \**********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-toggle-slider-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"toggle-button\",\n _vm._b(\n {\n attrs: { width: 45, height: 22, sync: \"\" },\n on: {\n input: function($event) {\n return _vm.updateValue()\n }\n },\n model: {\n value: _vm.localChecked,\n callback: function($$v) {\n _vm.localChecked = $$v\n },\n expression: \"localChecked\"\n }\n },\n \"toggle-button\",\n { id: _vm.id, name: _vm.id, disabled: _vm.disabled },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n }),\n _vm._v(\" \"),\n _vm._t(\"default\")\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-toggle-slider.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/file-browser.vue?vue&type=template&id=e1171a9e&scoped=true&": -/*!**************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/file-browser.vue?vue&type=template&id=e1171a9e&scoped=true& ***! - \**************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"file-browser max-width\" }, [\n _c(\n \"div\",\n { class: _vm.showBrowseButton ? \"input-group\" : \"input-group-no-btn\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.currentPath,\n expression: \"currentPath\"\n }\n ],\n ref: \"locationInput\",\n staticClass: \"form-control input-sm fileBrowserField\",\n attrs: { name: _vm.name, type: \"text\" },\n domProps: { value: _vm.currentPath },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.currentPath = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _vm.showBrowseButton\n ? _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n attrs: { title: _vm.title, alt: _vm.title },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.openDialog($event)\n }\n }\n },\n [_vm._m(0)]\n )\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", {\n ref: \"fileBrowserDialog\",\n staticClass: \"fileBrowserDialog\",\n staticStyle: { display: \"none\" }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n ref: \"fileBrowserSearchBox\",\n staticClass: \"form-control\",\n staticStyle: { display: \"none\" },\n attrs: { type: \"text\" },\n domProps: { value: _vm.currentPath },\n on: {\n keyup: function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.browse($event.target.value)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { ref: \"fileBrowserFileList\", staticStyle: { display: \"none\" } },\n _vm._l(_vm.files, function(file) {\n return _c(\n \"li\",\n { key: file.name, staticClass: \"ui-state-default ui-corner-all\" },\n [\n _c(\n \"a\",\n {\n on: {\n mouseover: function($event) {\n return _vm.toggleFolder(file, $event)\n },\n mouseout: function($event) {\n return _vm.toggleFolder(file, $event)\n },\n click: function($event) {\n return _vm.fileClicked(file)\n }\n }\n },\n [\n _c(\"span\", {\n class:\n \"ui-icon \" +\n (file.isFile ? \"ui-icon-blank\" : \"ui-icon-folder-collapsed\")\n }),\n _vm._v(\" \" + _vm._s(file.name) + \"\\n \")\n ]\n )\n ]\n )\n }),\n 0\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [_c(\"i\", { staticClass: \"glyphicon glyphicon-open\" })]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/file-browser.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/language-select.vue?vue&type=template&id=a6431fb2&": -/*!*****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/language-select.vue?vue&type=template&id=a6431fb2& ***! - \*****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"select\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/language-select.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/lazy-image.vue?vue&type=template&id=2a36af9c&scoped=true&": -/*!************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/lazy-image.vue?vue&type=template&id=2a36af9c&scoped=true& ***! - \************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"img\", {\n staticClass: \"app-image\",\n class: _vm.lazyCls,\n style: _vm.style,\n attrs: { \"data-src\": _vm.lazySrc, \"data-srcset\": _vm.lazySrcset },\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/lazy-image.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/load-progress-bar.vue?vue&type=template&id=dbcb65e0&": -/*!*******************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/load-progress-bar.vue?vue&type=template&id=dbcb65e0& ***! - \*******************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.display\n ? _c(\"div\", { staticClass: \"load-progress-bar-container\" }, [\n _c(\"div\", { staticClass: \"border\" }, [\n _c(\"div\", { staticClass: \"msg\" }, [_vm._v(_vm._s(_vm.loadMsg))]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"progress\", style: _vm.styleProgress })\n ])\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/load-progress-bar.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/name-pattern.vue?vue&type=template&id=79b925a8&": -/*!**************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/name-pattern.vue?vue&type=template&id=79b925a8& ***! - \**************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"name-pattern-wrapper\" } }, [\n _vm.type\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"enable_naming_custom\" }\n },\n [_c(\"span\", [_vm._v(\"Custom \" + _vm._s(_vm.type))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"enable_naming_custom\",\n name: \"enable_naming_custom\",\n sync: \"\"\n },\n on: {\n input: function($event) {\n return _vm.update()\n }\n },\n model: {\n value: _vm.isEnabled,\n callback: function($$v) {\n _vm.isEnabled = $$v\n },\n expression: \"isEnabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Name \" +\n _vm._s(_vm.type) +\n \" shows differently than regular shows?\"\n )\n ])\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.type || _vm.isEnabled\n ? _c(\"div\", { staticClass: \"episode-naming\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedNamingPattern,\n expression: \"selectedNamingPattern\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"name_presets\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedNamingPattern = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n return _vm.update()\n }\n }\n },\n _vm._l(_vm.presets, function(preset) {\n return _c(\n \"option\",\n { key: preset.pattern, attrs: { id: preset.pattern } },\n [_vm._v(_vm._s(preset.example))]\n )\n }),\n 0\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"naming_custom\" } }, [\n _vm.isCustom\n ? _c(\n \"div\",\n {\n staticClass: \"form-group\",\n staticStyle: { \"padding-top\": \"0\" }\n },\n [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.customName,\n expression: \"customName\"\n }\n ],\n staticClass:\n \"form-control-inline-max input-sm max-input350\",\n attrs: {\n type: \"text\",\n name: \"naming_pattern\",\n id: \"naming_pattern\"\n },\n domProps: { value: _vm.customName },\n on: {\n change: _vm.updatePatternSamples,\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.customName = $event.target.value\n },\n function($event) {\n return _vm.update()\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\"img\", {\n staticClass: \"legend\",\n attrs: {\n src: \"images/legend16.png\",\n width: \"16\",\n height: \"16\",\n alt: \"[Toggle Key]\",\n id: \"show_naming_key\",\n title: \"Toggle Naming Legend\"\n },\n on: {\n click: function($event) {\n _vm.showLegend = !_vm.showLegend\n }\n }\n })\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showLegend && _vm.isCustom\n ? _c(\n \"div\",\n { staticClass: \"nocheck\", attrs: { id: \"naming_key\" } },\n [\n _c(\"table\", { staticClass: \"Key\" }, [\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _c(\"tbody\", [\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(20),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%M\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"M\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%D\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"d\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Y\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"yyyy\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(21),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CM\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"M\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CD\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"d\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CY\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"yyyy\")))])\n ]),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _vm._m(30)\n ])\n ])\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.selectedMultiEpStyle\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(31),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedMultiEpStyle,\n expression: \"selectedMultiEpStyle\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"naming_multi_ep\", name: \"naming_multi_ep\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedMultiEpStyle = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n return _vm.update($event)\n }\n }\n },\n _vm._l(_vm.availableMultiEpStyles, function(multiEpStyle) {\n return _c(\n \"option\",\n {\n key: multiEpStyle.value,\n attrs: { id: \"multiEpStyle\" },\n domProps: { value: multiEpStyle.value }\n },\n [_vm._v(_vm._s(multiEpStyle.text))]\n )\n }),\n 0\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group row\" }, [\n _c(\"h3\", { staticClass: \"col-sm-12\" }, [\n _vm._v(\"Single-EP Sample:\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"example col-sm-12\" }, [\n _c(\n \"span\",\n { staticClass: \"jumbo\", attrs: { id: \"naming_example\" } },\n [_vm._v(_vm._s(_vm.namingExample))]\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.isMulti\n ? _c(\"div\", { staticClass: \"form-group row\" }, [\n _c(\"h3\", { staticClass: \"col-sm-12\" }, [\n _vm._v(\"Multi-EP sample:\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"example col-sm-12\" }, [\n _c(\n \"span\",\n {\n staticClass: \"jumbo\",\n attrs: { id: \"naming_example_multi\" }\n },\n [_vm._v(_vm._s(_vm.namingExampleMulti))]\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime\",\n value: \"1\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"1\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"1\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n return _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Add the absolute number to the season/episode format?\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only applies to animes. (e.g. S15E45 - 310 vs S15E45)\"\n )\n ])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(33),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime_only\",\n value: \"2\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"2\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"2\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n return _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Replace season/episode format with absolute number\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Only applies to animes.\")])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(34),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime_none\",\n value: \"3\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"3\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"3\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n return _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(\"Don't include the absolute number\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Only applies to animes.\")])\n ])\n ])\n : _vm._e()\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"name_presets\" } },\n [_c(\"span\", [_vm._v(\"Name Pattern:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { staticClass: \"align-right\" }, [_vm._v(\"Meaning\")]),\n _vm._v(\" \"),\n _c(\"th\", [_vm._v(\"Pattern\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"60%\" } }, [_vm._v(\"Result\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tfoot\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { colspan: \"3\" } }, [\n _vm._v(\n \"Use lower case if you want lower case names (eg. %sn, %e.n, %q_n etc)\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Show Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show.Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show_Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Season Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"2\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0S\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"02\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"XEM Season Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XS\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"2\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0XS\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"02\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"3\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0E\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"03\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"XEM Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XE\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"3\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0XE\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"03\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Absolute Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%AB\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"003\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Xem Absolute Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XAB\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"003\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Episode Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%EN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode.Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode_Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Air Date:\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Post-Processing Date:\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [_c(\"b\", [_vm._v(\"Quality:\")])]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%QN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Q.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p.BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Q_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p_BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Scene Quality:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p HDTV x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQ.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p.HDTV.x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQ_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p_HDTV_x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: { title: \"Multi-EP style is ignored\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show.Name.S02E03.HDTV.x264-RLSGROUP\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: {\n title:\n \"UNKNOWN_RELEASE_GROUP is used in place of RLSGROUP if it could not be properly detected\"\n }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Group:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RG\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"RLSGROUP\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: { title: \"If episode is proper/repack add 'proper' to name.\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Type:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RT\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"PROPER\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_multi_ep\" }\n },\n [_c(\"span\", [_vm._v(\"Multi-Episode Style:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"naming_anime\" } },\n [_c(\"span\", [_vm._v(\"Add Absolute Number\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_anime_only\" }\n },\n [_c(\"span\", [_vm._v(\"Only Absolute Number\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_anime_none\" }\n },\n [_c(\"span\", [_vm._v(\"No Absolute Number\")])]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/name-pattern.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/plot-info.vue?vue&type=template&id=5c5d9f30&": -/*!***********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/plot-info.vue?vue&type=template&id=5c5d9f30& ***! - \***********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.description !== \"\"\n ? _c(\"img\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.right\",\n value: { content: _vm.description },\n expression: \"{content: description}\",\n modifiers: { right: true }\n }\n ],\n class: _vm.plotInfoClass,\n attrs: { src: \"images/info32.png\", width: \"16\", height: \"16\", alt: \"\" }\n })\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/plot-info.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/poster-size-slider.vue?vue&type=template&id=e5d9abf2&": -/*!********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/poster-size-slider.vue?vue&type=template&id=e5d9abf2& ***! - \********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"show-option pull-right\" }, [\n _vm._v(\"\\n Poster Size:\\n \"),\n _c(\"div\", {\n staticStyle: {\n width: \"100px\",\n display: \"inline-block\",\n \"margin-left\": \"7px\"\n },\n attrs: { id: \"posterSizeSlider\" }\n })\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/poster-size-slider.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/progress-bar.vue?vue&type=template&id=df985d66&scoped=true&": -/*!**************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/progress-bar.vue?vue&type=template&id=df985d66&scoped=true& ***! - \**************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n _vm._b(\n {\n staticClass:\n \"progressbar hidden-print ui-progressbar ui-corner-all ui-widget ui-widget-content\",\n attrs: { role: \"progressbar\" }\n },\n \"div\",\n { title: _vm.title },\n false\n ),\n [\n _vm.text\n ? _c(\"div\", { staticClass: \"progressbarText\" }, [\n _vm._v(_vm._s(_vm.text))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.normalisedPercentage >= 1,\n expression: \"normalisedPercentage >= 1\"\n }\n ],\n class: [\n \"ui-progressbar-value\",\n \"ui-corner-left\",\n \"ui-widget-header\",\n \"progress-\" + _vm.normalisedPercentage\n ],\n style: { width: _vm.percentage + \"%\" }\n })\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/progress-bar.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/quality-chooser.vue?vue&type=template&id=5aba68fa&scoped=true&": -/*!*****************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/quality-chooser.vue?vue&type=template&id=5aba68fa&scoped=true& ***! - \*****************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model.number\",\n value: _vm.selectedQualityPreset,\n expression: \"selectedQualityPreset\",\n modifiers: { number: true }\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: { name: \"quality_preset\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return _vm._n(val)\n })\n _vm.selectedQualityPreset = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _vm.keep\n ? _c(\"option\", { attrs: { value: \"keep\" } }, [_vm._v(\"< Keep >\")])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"option\", { domProps: { value: 0 } }, [_vm._v(\"Custom\")]),\n _vm._v(\" \"),\n _vm._l(_vm.qualityPresets, function(preset) {\n return _c(\n \"option\",\n {\n key: \"quality-preset-\" + preset.key,\n domProps: { value: preset.value }\n },\n [_vm._v(\"\\n \" + _vm._s(preset.name) + \"\\n \")]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.selectedQualityPreset === 0,\n expression: \"selectedQualityPreset === 0\"\n }\n ],\n attrs: { id: \"customQualityWrapper\" }\n },\n [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"h5\", [_vm._v(\"Allowed\")]),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model.number\",\n value: _vm.allowedQualities,\n expression: \"allowedQualities\",\n modifiers: { number: true }\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: {\n name: \"allowed_qualities\",\n multiple: \"multiple\",\n size: _vm.validQualities.length\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return _vm._n(val)\n })\n _vm.allowedQualities = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.validQualities, function(quality) {\n return _c(\n \"option\",\n {\n key: \"quality-list-\" + quality.key,\n domProps: { value: quality.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(quality.name) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"h5\", [_vm._v(\"Preferred\")]),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model.number\",\n value: _vm.preferredQualities,\n expression: \"preferredQualities\",\n modifiers: { number: true }\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: {\n name: \"preferred_qualities\",\n multiple: \"multiple\",\n size: _vm.validQualities.length,\n disabled: _vm.allowedQualities.length === 0\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return _vm._n(val)\n })\n _vm.preferredQualities = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.validQualities, function(quality) {\n return _c(\n \"option\",\n {\n key: \"quality-list-\" + quality.key,\n domProps: { value: quality.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(quality.name) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.selectedQualityPreset !== \"keep\"\n ? _c(\"div\", [\n _vm.allowedQualities.length + _vm.preferredQualities.length >= 1\n ? _c(\n \"div\",\n { attrs: { id: \"qualityExplanation\" } },\n [\n _vm._m(1),\n _vm._v(\" \"),\n _vm.preferredQualities.length === 0\n ? _c(\"h5\", [\n _vm._v(\"\\n This will download \"),\n _c(\"b\", [_vm._v(\"any\")]),\n _vm._v(\n \" of these qualities and then stops searching:\\n \"\n ),\n _c(\"label\", { attrs: { id: \"allowedExplanation\" } }, [\n _vm._v(_vm._s(_vm.explanation.allowed.join(\", \")))\n ])\n ])\n : [\n _c(\"h5\", [\n _vm._v(\"\\n Downloads \"),\n _c(\"b\", [_vm._v(\"any\")]),\n _vm._v(\" of these qualities:\\n \"),\n _c(\n \"label\",\n { attrs: { id: \"allowedPreferredExplanation\" } },\n [_vm._v(_vm._s(_vm.explanation.allowed.join(\", \")))]\n )\n ]),\n _vm._v(\" \"),\n _c(\"h5\", [\n _vm._v(\n \"\\n But it will stop searching when one of these is downloaded:\\n \"\n ),\n _c(\n \"label\",\n { attrs: { id: \"preferredExplanation\" } },\n [\n _vm._v(\n _vm._s(_vm.explanation.preferred.join(\", \"))\n )\n ]\n )\n ])\n ]\n ],\n 2\n )\n : _c(\"div\", [_vm._v(\"Please select at least one allowed quality.\")])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.backloggedEpisodes\n ? _c(\"div\", [\n _c(\"h5\", {\n staticClass: \"{ 'red-text': !backloggedEpisodes.status }\",\n domProps: { innerHTML: _vm._s(_vm.backloggedEpisodes.html) }\n })\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.archive\n ? _c(\"div\", { attrs: { id: \"archive\" } }, [\n _c(\"h5\", [\n _c(\n \"b\",\n [\n _vm._v(\n \"Archive downloaded episodes that are not currently in\\n \"\n ),\n _c(\n \"app-link\",\n {\n staticClass: \"backlog-link\",\n attrs: { href: \"manage/backlogOverview/\", target: \"_blank\" }\n },\n [_vm._v(\"backlog\")]\n ),\n _vm._v(\".\")\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\n \"Avoids unnecessarily increasing your backlog\\n \"\n ),\n _c(\"br\")\n ]),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-inline\",\n attrs: { disabled: _vm.archiveButton.disabled },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.archiveEpisodes($event)\n }\n }\n },\n [\n _vm._v(\n \"\\n \" + _vm._s(_vm.archiveButton.text) + \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"h5\", [_vm._v(_vm._s(_vm.archivedStatus))])\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"b\", [_c(\"strong\", [_vm._v(\"Preferred\")])]),\n _vm._v(\" qualities will replace those in \"),\n _c(\"b\", [_c(\"strong\", [_vm._v(\"allowed\")])]),\n _vm._v(\", even if they are lower.\\n \")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", [_c(\"b\", [_vm._v(\"Quality setting explanation:\")])])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/quality-chooser.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/quality-pill.vue?vue&type=template&id=259b1c21&scoped=true&": -/*!**************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/quality-pill.vue?vue&type=template&id=259b1c21&scoped=true& ***! - \**************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"span\",\n {\n class: _vm.override.class || [\"quality\", _vm.pill.key],\n attrs: { title: _vm.title }\n },\n [_vm._v(_vm._s(_vm.override.text || _vm.pill.name))]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/quality-pill.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/scroll-buttons.vue?vue&type=template&id=3bddc9db&": -/*!****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/scroll-buttons.vue?vue&type=template&id=3bddc9db& ***! - \****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"scroll-buttons-wrapper\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper top\",\n class: { show: _vm.showToTop },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollTop($event)\n }\n }\n },\n [_vm._m(0)]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper left\",\n class: { show: _vm.showLeftRight }\n },\n [\n _c(\"span\", { staticClass: \"scroll-left-inner\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-circle-arrow-left\",\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollLeft($event)\n }\n }\n })\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper right\",\n class: { show: _vm.showLeftRight }\n },\n [\n _c(\"span\", { staticClass: \"scroll-right-inner\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-circle-arrow-right\",\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollRight($event)\n }\n }\n })\n ])\n ]\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"scroll-top-inner\" }, [\n _c(\"i\", { staticClass: \"glyphicon glyphicon-circle-arrow-up\" })\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/scroll-buttons.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/select-list.vue?vue&type=template&id=466bd1e5&scoped=true&": -/*!*************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/select-list.vue?vue&type=template&id=466bd1e5&scoped=true& ***! - \*************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n _vm._b(\n { staticClass: \"select-list max-width\" },\n \"div\",\n { disabled: _vm.disabled },\n false\n ),\n [\n _c(\"i\", {\n staticClass: \"switch-input glyphicon glyphicon-refresh\",\n attrs: { title: \"Switch between a list and comma separated values\" },\n on: {\n click: function($event) {\n return _vm.switchFields()\n }\n }\n }),\n _vm._v(\" \"),\n !_vm.csvMode\n ? _c(\n \"ul\",\n [\n _vm._l(_vm.editItems, function(item) {\n return _c(\"li\", { key: item.id }, [\n _c(\"div\", { staticClass: \"input-group\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: item.value,\n expression: \"item.value\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\" },\n domProps: { value: item.value },\n on: {\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(item, \"value\", $event.target.value)\n },\n function($event) {\n return _vm.removeEmpty(item)\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n on: {\n click: function($event) {\n return _vm.deleteItem(item)\n }\n }\n },\n [_vm._m(0, true)]\n )\n ])\n ])\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"new-item\" }, [\n _c(\"div\", { staticClass: \"input-group\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newItem,\n expression: \"newItem\"\n }\n ],\n ref: \"newItemInput\",\n staticClass: \"form-control input-sm\",\n attrs: {\n type: \"text\",\n placeholder: \"add new values per line\"\n },\n domProps: { value: _vm.newItem },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.newItem = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n on: {\n click: function($event) {\n return _vm.addNewItem()\n }\n }\n },\n [_vm._m(1)]\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.newItem.length > 0\n ? _c(\"div\", { staticClass: \"new-item-help\" }, [\n _vm._v(\"\\n Click \"),\n _c(\"i\", { staticClass: \"glyphicon glyphicon-plus\" }),\n _vm._v(\" to finish adding the value.\\n \")\n ])\n : _vm._e()\n ],\n 2\n )\n : _c(\"div\", { staticClass: \"csv\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.csv,\n expression: \"csv\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n type: \"text\",\n placeholder: \"add values comma separated\"\n },\n domProps: { value: _vm.csv },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.csv = $event.target.value\n }\n }\n })\n ])\n ]\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-remove\",\n attrs: { title: \"Remove\" }\n })\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-plus\",\n attrs: { title: \"Add\" }\n })\n ]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/select-list.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/show-selector.vue?vue&type=template&id=6e81af76&": -/*!***************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/show-selector.vue?vue&type=template&id=6e81af76& ***! - \***************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.showForRoutes\n ? _c(\"div\", { staticClass: \"show-selector form-inline hidden-print\" }, [\n _c(\n \"div\",\n { staticClass: \"select-show-group pull-left top-5 bottom-5\" },\n [\n _vm.shows.length === 0\n ? _c(\n \"select\",\n { class: _vm.selectClass, attrs: { disabled: \"\" } },\n [_c(\"option\", [_vm._v(\"Loading...\")])]\n )\n : _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedShowSlug,\n expression: \"selectedShowSlug\"\n }\n ],\n class: _vm.selectClass,\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedShowSlug = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n function($event) {\n return _vm.$emit(\"change\", _vm.selectedShowSlug)\n }\n ]\n }\n },\n [\n _vm.placeholder\n ? _c(\n \"option\",\n {\n attrs: { disabled: \"\", hidden: \"\" },\n domProps: {\n value: _vm.placeholder,\n selected: !_vm.selectedShowSlug\n }\n },\n [_vm._v(_vm._s(_vm.placeholder))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.whichList === -1\n ? _vm._l(_vm.showLists, function(curShowList) {\n return _c(\n \"optgroup\",\n {\n key: curShowList.type,\n attrs: { label: curShowList.type }\n },\n _vm._l(curShowList.shows, function(show) {\n return _c(\n \"option\",\n {\n key: show.id.slug,\n domProps: { value: show.id.slug }\n },\n [_vm._v(_vm._s(show.title))]\n )\n }),\n 0\n )\n })\n : _vm._l(_vm.showLists[_vm.whichList].shows, function(\n show\n ) {\n return _c(\n \"option\",\n {\n key: show.id.slug,\n domProps: { value: show.id.slug }\n },\n [_vm._v(_vm._s(show.title))]\n )\n })\n ],\n 2\n )\n ]\n )\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/show-selector.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/sorted-select-list.vue?vue&type=template&id=74e96919&scoped=true&": -/*!********************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/sorted-select-list.vue?vue&type=template&id=74e96919&scoped=true& ***! - \********************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n _vm._b(\n { staticClass: \"sorted-select-list max-width\" },\n \"div\",\n { disabled: _vm.disabled },\n false\n ),\n [\n _c(\n \"draggable\",\n {\n staticClass: \"list-group\",\n attrs: { tag: \"ul\", handle: \".handle\" },\n on: {\n start: function($event) {\n _vm.dragging = true\n },\n end: function($event) {\n _vm.dragging = false\n }\n },\n model: {\n value: _vm.editItems,\n callback: function($$v) {\n _vm.editItems = $$v\n },\n expression: \"editItems\"\n }\n },\n _vm._l(_vm.editItems, function(item) {\n return _c(\n \"li\",\n { key: item.id, staticClass: \"draggable-list\" },\n [\n _c(\"font-awesome-icon\", {\n staticClass: \"handle\",\n attrs: { icon: \"align-justify\" }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"draggable-input-group\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: item.value,\n expression: \"item.value\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\" },\n domProps: { value: item.value },\n on: {\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(item, \"value\", $event.target.value)\n },\n function($event) {\n return _vm.removeEmpty(item)\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n on: {\n click: function($event) {\n return _vm.deleteItem(item)\n }\n }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-remove\",\n attrs: { title: \"Remove\" }\n })\n ]\n )\n ]\n )\n ])\n ],\n 1\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"new-item\" }, [\n _c(\"div\", { staticClass: \"draggable-input-group\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newItem,\n expression: \"newItem\"\n }\n ],\n ref: \"newItemInput\",\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\", placeholder: \"add new values per line\" },\n domProps: { value: _vm.newItem },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.newItem = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n on: {\n click: function($event) {\n return _vm.addNewItem()\n }\n }\n },\n [_vm._m(0)]\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.newItem.length > 0\n ? _c(\"div\", { staticClass: \"new-item-help\" }, [\n _vm._v(\"\\n Click \"),\n _c(\"i\", { staticClass: \"glyphicon glyphicon-plus\" }),\n _vm._v(\" to finish adding the value.\\n \")\n ])\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-plus\",\n attrs: { title: \"Add\" }\n })\n ]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/sorted-select-list.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/state-switch.vue?vue&type=template&id=19ff3e4a&": -/*!**************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/state-switch.vue?vue&type=template&id=19ff3e4a& ***! - \**************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"img\",\n _vm._b(\n {\n attrs: { height: \"16\", width: \"16\" },\n on: {\n click: function($event) {\n return _vm.$emit(\"click\")\n }\n }\n },\n \"img\",\n { src: _vm.src, alt: _vm.alt },\n false\n )\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/state-switch.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/home.vue?vue&type=template&id=957c9522&scoped=true&": -/*!**********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/home.vue?vue&type=template&id=957c9522&scoped=true& ***! - \**********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"home\" } },\n [\n [\"banner\", \"simple\", \"small\"].includes(_vm.layout)\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-sm-12\" }, [\n _c(\n \"div\",\n { staticClass: \"home-filter-option option-filter-name\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.filterByName,\n expression: \"filterByName\"\n }\n ],\n staticClass:\n \"form-control form-control-inline input-sm input200\",\n attrs: {\n id: \"filterShowName\",\n type: \"search\",\n placeholder: \"Filter Show Name\"\n },\n domProps: { value: _vm.filterByName },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.filterByName = $event.target.value\n }\n }\n })\n ]\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-sm-12\" }, [\n _c(\n \"div\",\n {\n staticClass: \"home-filter-option pull-left\",\n attrs: { id: \"showRoot\" }\n },\n [\n _c(\n \"select\",\n {\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: { name: \"showRootDir\", id: \"showRootDir\" },\n domProps: { value: _vm.stateLayout.selectedRootIndex },\n on: {\n change: function($event) {\n _vm.setStoreLayout({\n key: \"selectedRootIndex\",\n value: Number($event.target.selectedOptions[0].value)\n })\n }\n }\n },\n _vm._l(_vm.selectedRootIndexOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: String(option.value) }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"home-filter-option show-option-layout pull-right\" },\n [\n _c(\"span\", [_vm._v(\"Layout: \")]),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.layout,\n expression: \"layout\"\n }\n ],\n staticClass:\n \"form-control form-control-inline input-sm show-layout\",\n attrs: { name: \"layout\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.layout = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _c(\"option\", { attrs: { value: \"poster\" } }, [\n _vm._v(\"Poster\")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"small\" } }, [\n _vm._v(\"Small Poster\")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"banner\" } }, [\n _vm._v(\"Banner\")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"simple\" } }, [\n _vm._v(\"Simple\")\n ])\n ]\n )\n ]\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-md-12\" },\n [\n _vm.stateLayout.splitHomeInTabs\n ? _c(\n \"div\",\n { attrs: { id: \"showTabs\" } },\n [\n _c(\n \"vue-tabs\",\n { on: { \"tab-change\": _vm.tabChange } },\n _vm._l(_vm.showsInLists, function(showInList) {\n return _c(\n \"v-tab\",\n {\n key: showInList.listTitle,\n attrs: { title: showInList.listTitle }\n },\n [\n [\"banner\", \"simple\", \"small\", \"poster\"].includes(\n _vm.layout\n )\n ? [\n _c(\n \"show-list\",\n _vm._b(\n {\n attrs: {\n id:\n showInList.listTitle.toLowerCase() +\n \"TabContent\"\n }\n },\n \"show-list\",\n {\n listTitle: showInList.listTitle,\n layout: _vm.layout,\n shows: showInList.shows,\n header: showInList.length > 1\n },\n false\n )\n )\n ]\n : _vm._e()\n ],\n 2\n )\n }),\n 1\n )\n ],\n 1\n )\n : [\n [\"banner\", \"simple\", \"small\", \"poster\"].includes(_vm.layout)\n ? [\n _c(\n \"draggable\",\n {\n staticClass: \"list-group\",\n attrs: { tag: \"ul\", handle: \".move-show-list\" },\n model: {\n value: _vm.showList,\n callback: function($$v) {\n _vm.showList = $$v\n },\n expression: \"showList\"\n }\n },\n _vm._l(_vm.showsInLists, function(showInList) {\n return _c(\n \"li\",\n { key: showInList.listTitle },\n [\n _c(\n \"show-list\",\n _vm._b(\n {},\n \"show-list\",\n {\n listTitle: showInList.listTitle,\n layout: _vm.layout,\n shows: showInList.shows,\n header: showInList.length > 1\n },\n false\n )\n )\n ],\n 1\n )\n }),\n 0\n )\n ]\n : _vm._e()\n ],\n _vm._v(\" \"),\n _vm.showsInLists &&\n _vm.showsInLists.filter(function(list) {\n return list.shows.length > 0\n }).length === 0\n ? _c(\n \"span\",\n [\n _vm._v(\"Please add a show \"),\n _c(\"app-link\", { attrs: { href: \"addShows\" } }, [\n _vm._v(\"here\")\n ]),\n _vm._v(\" to get started\")\n ],\n 1\n )\n : _vm._e()\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"backstretch\", { attrs: { slug: _vm.config.randomShowSlug } })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/home.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/http/404.vue?vue&type=template&id=6b1176c1&": -/*!**************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/http/404.vue?vue&type=template&id=6b1176c1& ***! - \**************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"align-center\" }, [\n _vm._v(\"You have reached this page by accident, please check the url.\")\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/http/404.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/irc.vue?vue&type=template&id=15ee697a&scoped=true&": -/*!*********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/irc.vue?vue&type=template&id=15ee697a&scoped=true& ***! - \*********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"iframe\", {\n staticClass: \"irc-frame loading-spinner\",\n attrs: { src: _vm.frameSrc }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/irc.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/login.vue?vue&type=template&id=10d9df09&": -/*!***********************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/login.vue?vue&type=template&id=10d9df09& ***! - \***********************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"login\" }, [\n _c(\"form\", { attrs: { action: \"\", method: \"post\" } }, [\n _c(\"h1\", [_vm._v(\"Medusa\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n name: \"username\",\n type: \"text\",\n placeholder: \"Username\",\n autocomplete: \"off\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n name: \"password\",\n type: \"password\",\n placeholder: \"Password\",\n autocomplete: \"off\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\n \"label\",\n { staticClass: \"remember_me\", attrs: { title: \"for 30 days\" } },\n [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n id: \"remember_me\",\n name: \"remember_me\",\n type: \"checkbox\",\n value: \"1\",\n checked: \"checked\"\n }\n }),\n _vm._v(\" Remember me\")\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"button\",\n attrs: { name: \"submit\", type: \"submit\", value: \"Login\" }\n })\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/login.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/logs.vue?vue&type=template&id=4b4e9e3f&scoped=true&": -/*!**********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/logs.vue?vue&type=template&id=4b4e9e3f&scoped=true& ***! - \**********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\"div\", { staticClass: \"col-md-12 pull-right\" }, [\n _c(\"div\", { staticClass: \"logging-filter-control pull-right\" }, [\n _c(\"div\", { staticClass: \"show-option\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-inline\",\n attrs: { type: \"button\" },\n on: {\n click: function($event) {\n _vm.autoUpdate = !_vm.autoUpdate\n }\n }\n },\n [\n _c(\"i\", {\n class:\n \"glyphicon glyphicon-\" + (_vm.autoUpdate ? \"pause\" : \"play\")\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.autoUpdate ? \"Pause\" : \"Resume\") +\n \"\\n \"\n )\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-option\" }, [\n _c(\"span\", [\n _vm._v(\"Logging level:\\n \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.minLevel,\n expression: \"minLevel\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.minLevel = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n function($event) {\n return _vm.fetchLogsDebounced()\n }\n ]\n }\n },\n _vm._l(_vm.levels, function(level) {\n return _c(\n \"option\",\n { key: level, domProps: { value: level.toUpperCase() } },\n [_vm._v(_vm._s(level))]\n )\n }),\n 0\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-option\" }, [\n _c(\"span\", [\n _vm._v(\"Filter log by:\\n \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.threadFilter,\n expression: \"threadFilter\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.threadFilter = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n function($event) {\n return _vm.fetchLogsDebounced()\n }\n ]\n }\n },\n [\n _vm._m(0),\n _vm._v(\" \"),\n _vm._l(_vm.filters, function(filter) {\n return _c(\n \"option\",\n { key: filter.value, domProps: { value: filter.value } },\n [_vm._v(_vm._s(filter.title))]\n )\n })\n ],\n 2\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-option\" }, [\n _c(\"span\", [\n _vm._v(\"Period:\\n \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.periodFilter,\n expression: \"periodFilter\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.periodFilter = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n function($event) {\n return _vm.fetchLogsDebounced()\n }\n ]\n }\n },\n [\n _c(\"option\", { attrs: { value: \"all\" } }, [_vm._v(\"All\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"one_day\" } }, [\n _vm._v(\"Last 24h\")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"three_days\" } }, [\n _vm._v(\"Last 3 days\")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"one_week\" } }, [\n _vm._v(\"Last 7 days\")\n ])\n ]\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-option\" }, [\n _c(\"span\", [\n _vm._v(\"Search log by:\\n \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.searchQuery,\n expression: \"searchQuery\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: { type: \"text\", placeholder: \"clear to reset\" },\n domProps: { value: _vm.searchQuery },\n on: {\n keyup: function($event) {\n return _vm.fetchLogsDebounced()\n },\n keypress: function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.fetchLogsDebounced.flush()\n },\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.searchQuery = $event.target.value\n }\n }\n })\n ])\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"pre\",\n {\n staticClass: \"col-md-12\",\n class: { fanartOpacity: _vm.layout.fanartBackground }\n },\n [\n _c(\n \"div\",\n { staticClass: \"notepad\" },\n [\n _c(\"app-link\", { attrs: { href: _vm.rawViewLink } }, [\n _c(\"img\", { attrs: { src: \"images/notepad.png\" } })\n ])\n ],\n 1\n ),\n _vm._l(_vm.logLines, function(line, index) {\n return _c(\"div\", { key: \"line-\" + index }, [\n _vm._v(_vm._s(_vm._f(\"formatLine\")(line)))\n ])\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"backstretch\", { attrs: { slug: _vm.config.randomShowSlug } })\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"option\", { attrs: { value: \"\" } }, [_vm._v(\"\")])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/logs.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/root-dirs.vue?vue&type=template&id=de46f99e&": -/*!***************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/root-dirs.vue?vue&type=template&id=de46f99e& ***! - \***************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"root-dirs-wrapper\" } }, [\n _c(\"div\", { staticClass: \"root-dirs-selectbox\" }, [\n _c(\n \"select\",\n _vm._g(\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedRootDir,\n expression: \"selectedRootDir\"\n }\n ],\n ref: \"rootDirs\",\n attrs: { name: \"rootDir\", id: \"rootDirs\", size: \"6\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedRootDir = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n \"select\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n _vm._l(_vm.rootDirs, function(curDir) {\n return _c(\n \"option\",\n { key: curDir.path, domProps: { value: curDir.path } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm._f(\"markDefault\")(curDir)) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"root-dirs-controls\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\" },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.add($event)\n }\n }\n },\n [_vm._v(\"New\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.edit($event)\n }\n }\n },\n [_vm._v(\"Edit\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.remove($event)\n }\n }\n },\n [_vm._v(\"Delete\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.setDefault($event)\n }\n }\n },\n [_vm._v(\"Set as Default *\")]\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/root-dirs.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-header.vue?vue&type=template&id=2465ca06&scoped=true&": -/*!*****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-header.vue?vue&type=template&id=2465ca06&scoped=true& ***! - \*****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"show-header-container\" },\n [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm.show\n ? _c(\n \"div\",\n {\n staticClass: \"col-lg-12\",\n attrs: { id: \"showtitle\", \"data-showname\": _vm.show.title }\n },\n [\n _c(\"div\", [\n _c(\n \"h1\",\n {\n staticClass: \"title\",\n attrs: {\n \"data-indexer-name\": _vm.show.indexer,\n \"data-series-id\": _vm.show.id[_vm.show.indexer],\n id: \"scene_exception_\" + _vm.show.id[_vm.show.indexer]\n }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"snatchTitle\",\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n _vm.show.indexer +\n \"&seriesid=\" +\n _vm.show.id[_vm.show.indexer]\n }\n },\n [_vm._v(_vm._s(_vm.show.title))]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm.type === \"snatch-selection\"\n ? _c(\n \"div\",\n {\n staticClass: \"pull-right episode-info\",\n attrs: { id: \"show-specials-and-seasons\" }\n },\n [\n _c(\n \"span\",\n { staticClass: \"h2footer display-specials\" },\n [\n _vm._v(\n \"\\n Manual search for: Season \" +\n _vm._s(_vm.season)\n ),\n _vm.episode !== undefined &&\n _vm.manualSearchType !== \"season\"\n ? [_vm._v(\" Episode \" + _vm._s(_vm.episode))]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.manualSearchType !== \"season\" && _vm.episodeTitle\n ? _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.episodeTitle) +\n \"\\n \"\n )\n ])\n : _vm._e()\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.type !== \"snatch-selection\" && _vm.seasons.length >= 1\n ? _c(\n \"div\",\n {\n staticClass: \"pull-right\",\n attrs: { id: \"show-specials-and-seasons\" }\n },\n [\n _vm.seasons.includes(0)\n ? _c(\n \"span\",\n { staticClass: \"h2footer display-specials\" },\n [\n _vm._v(\n \"\\n Display Specials: \"\n ),\n _c(\n \"a\",\n {\n staticClass: \"inner\",\n staticStyle: { cursor: \"pointer\" },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.toggleSpecials()\n }\n }\n },\n [\n _vm._v(\n _vm._s(\n _vm.displaySpecials ? \"Hide\" : \"Show\"\n )\n )\n ]\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"h2footer display-seasons clear\" },\n [\n _c(\n \"span\",\n [\n _vm.seasons.length >= 15\n ? _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.jumpToSeason,\n expression: \"jumpToSeason\"\n }\n ],\n staticClass: \"form-control input-sm\",\n staticStyle: { position: \"relative\" },\n attrs: { id: \"seasonJump\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.jumpToSeason = $event.target\n .multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _c(\n \"option\",\n { attrs: { value: \"jump\" } },\n [_vm._v(\"Jump to Season\")]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.seasons, function(\n seasonNumber\n ) {\n return _c(\n \"option\",\n {\n key:\n \"jumpToSeason-\" + seasonNumber,\n domProps: { value: seasonNumber }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n seasonNumber === 0\n ? \"Specials\"\n : \"Season \" + seasonNumber\n ) +\n \"\\n \"\n )\n ]\n )\n })\n ],\n 2\n )\n : _vm.seasons.length >= 1\n ? [\n _vm._v(\n \"\\n Season:\\n \"\n ),\n _vm._l(_vm.reverse(_vm.seasons), function(\n seasonNumber,\n index\n ) {\n return [\n _c(\n \"app-link\",\n {\n key:\n \"jumpToSeason-\" + seasonNumber,\n attrs: {\n href: \"#season-\" + seasonNumber\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.jumpToSeason = seasonNumber\n }\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n seasonNumber === 0\n ? \"Specials\"\n : seasonNumber\n ) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n index !== _vm.seasons.length - 1\n ? _c(\n \"span\",\n {\n key: \"separator-\" + index,\n staticClass: \"separator\"\n },\n [_vm._v(\"| \")]\n )\n : _vm._e()\n ]\n })\n ]\n : _vm._e()\n ],\n 2\n )\n ]\n )\n ]\n )\n : _vm._e()\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.activeShowQueueStatuses, function(queueItem) {\n return _c(\"div\", { key: queueItem.action, staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"alert alert-info\" }, [\n _vm._v(\"\\n \" + _vm._s(queueItem.message) + \"\\n \")\n ])\n ])\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"shadow shadow-background\",\n attrs: { id: \"summaryBackground\" }\n },\n [\n _c(\"div\", { staticClass: \"row\", attrs: { id: \"row-show-summary\" } }, [\n _c(\n \"div\",\n { staticClass: \"col-md-12\", attrs: { id: \"col-show-summary\" } },\n [\n _c(\"div\", { staticClass: \"show-poster-container\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"image-flex-container col-md-12\" },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\": \"images/poster.png\",\n \"show-slug\": _vm.show.id.slug,\n type: \"posterThumb\",\n cls: \"show-image shadow\",\n link: true\n }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ver-spacer\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-info-container\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n {\n staticClass:\n \"pull-right col-lg-3 col-md-3 hidden-sm hidden-xs\"\n },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\": \"images/banner.png\",\n \"show-slug\": _vm.show.id.slug,\n type: \"banner\",\n cls: \"show-banner pull-right shadow\",\n link: true\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass:\n \"pull-left col-lg-9 col-md-9 col-sm-12 col-xs-12\",\n attrs: { id: \"indexers\" }\n },\n [\n _vm.show.rating.imdb && _vm.show.rating.imdb.rating\n ? _c(\n \"span\",\n {\n staticClass: \"imdbstars\",\n attrs: {\n \"qtip-content\":\n _vm.show.rating.imdb.rating +\n \" / 10 Stars
    \" +\n _vm.show.rating.imdb.votes +\n \" Votes\"\n }\n },\n [\n _c(\"span\", {\n style: {\n width:\n Number(_vm.show.rating.imdb.rating) * 10 +\n \"%\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.show.id.imdb\n ? [\n _vm.show.year.start\n ? _c(\"span\", [\n _vm._v(\n \"(\" +\n _vm._s(_vm.show.year.start) +\n \") - \" +\n _vm._s(_vm.show.runtime) +\n \" minutes - \"\n )\n ])\n : _vm._e()\n ]\n : [\n _vm._l(_vm.show.countryCodes, function(country) {\n return _c(\"img\", {\n key: \"flag-\" + country,\n class: [\"country-flag\", \"flag-\" + country],\n staticStyle: {\n \"margin-left\": \"3px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n src: \"images/blank.png\",\n width: \"16\",\n height: \"11\"\n }\n })\n }),\n _vm._v(\" \"),\n _vm.show.imdbInfo.year\n ? _c(\"span\", [\n _vm._v(\n \"\\n (\" +\n _vm._s(_vm.show.imdbInfo.year) +\n \") -\\n \"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.show.imdbInfo.runtimes ||\n _vm.show.runtime\n ) +\n \" minutes\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://www.imdb.com/title/\" +\n _vm.show.id.imdb,\n title:\n \"https://www.imdb.com/title/\" +\n _vm.show.id.imdb\n }\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"margin-top\": \"-1px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n alt: \"[imdb]\",\n height: \"16\",\n width: \"16\",\n src: \"images/imdb.png\"\n }\n })\n ]\n )\n ],\n _vm._v(\" \"),\n _c(\n \"div\",\n { attrs: { id: \"indexer-wrapper\" } },\n [\n _c(\"img\", {\n attrs: {\n id: \"stored-by-indexer\",\n src: \"images/star.png\"\n }\n }),\n _vm._v(\" \"),\n _vm.showIndexerUrl &&\n _vm.indexerConfig[_vm.show.indexer].icon\n ? _c(\n \"app-link\",\n {\n attrs: {\n href: _vm.showIndexerUrl,\n title: _vm.showIndexerUrl\n }\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"margin-top\": \"-1px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n alt:\n _vm.indexerConfig[_vm.show.indexer]\n .name,\n height: \"16\",\n width: \"16\",\n src:\n \"images/\" +\n _vm.indexerConfig[_vm.show.indexer]\n .icon\n }\n })\n ]\n )\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.show.id.trakt\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://trakt.tv/shows/\" +\n _vm.show.id.trakt,\n title:\n \"https://trakt.tv/shows/\" +\n _vm.show.id.trakt\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[trakt]\",\n height: \"16\",\n width: \"16\",\n src: \"images/trakt.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.xemNumbering &&\n _vm.show.xemNumbering.length > 0\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://thexem.de/search?q=\" +\n _vm.show.title,\n title:\n \"http://thexem.de/search?q=\" +\n _vm.show.title\n }\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"margin-top\": \"-1px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n alt: \"[xem]\",\n height: \"16\",\n width: \"16\",\n src: \"images/xem.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.id.tvdb\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://fanart.tv/series/\" +\n _vm.show.id.tvdb,\n title:\n \"https://fanart.tv/series/\" +\n _vm.show.id[_vm.show.indexer]\n }\n },\n [\n _c(\"img\", {\n staticClass: \"fanart\",\n attrs: {\n alt: \"[fanart.tv]\",\n height: \"16\",\n width: \"16\",\n src: \"images/fanart.tv.png\"\n }\n })\n ]\n )\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass:\n \"pull-left col-lg-9 col-md-9 col-sm-12 col-xs-12\",\n attrs: { id: \"tags\" }\n },\n [\n _vm.show.genres\n ? _c(\n \"ul\",\n { staticClass: \"tags\" },\n _vm._l(\n _vm.dedupeGenres(_vm.show.genres),\n function(genre) {\n return _c(\n \"app-link\",\n {\n key: genre.toString(),\n attrs: {\n href:\n \"https://trakt.tv/shows/popular/?genres=\" +\n genre.toLowerCase().replace(\" \", \"-\"),\n title:\n \"View other popular \" +\n genre +\n \" shows on trakt.tv\"\n }\n },\n [_c(\"li\", [_vm._v(_vm._s(genre))])]\n )\n }\n ),\n 1\n )\n : _c(\n \"ul\",\n { staticClass: \"tags\" },\n _vm._l(_vm.showGenres, function(genre) {\n return _c(\n \"app-link\",\n {\n key: genre.toString(),\n attrs: {\n href:\n \"https://www.imdb.com/search/title?count=100&title_type=tv_series&genres=\" +\n genre.toLowerCase().replace(\" \", \"-\"),\n title:\n \"View other popular \" +\n genre +\n \" shows on IMDB\"\n }\n },\n [_c(\"li\", [_vm._v(_vm._s(genre))])]\n )\n }),\n 1\n )\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _vm.configLoaded\n ? _c(\n \"div\",\n {\n ref: \"summary\",\n staticClass: \"col-md-12\",\n attrs: { id: \"summary\" }\n },\n [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n {\n staticClass:\n \"col-lg-9 col-md-8 col-sm-8 col-xs-12\",\n class: {\n summaryFanArt: _vm.layout.fanartBackground\n },\n attrs: { id: \"show-summary\" }\n },\n [\n _c(\n \"table\",\n { staticClass: \"summaryTable pull-left\" },\n [\n _vm.show.plot\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticStyle: {\n \"padding-bottom\": \"15px\"\n },\n attrs: { colspan: \"2\" }\n },\n [\n _c(\"truncate\", {\n attrs: {\n length: 250,\n clamp: \"show more...\",\n less: \"show less...\",\n text: _vm.show.plot\n },\n on: {\n toggle: function($event) {\n return _vm.$emit(\"reflow\")\n }\n }\n })\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.getQualityPreset({\n value: _vm.combinedQualities\n }) !== undefined\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Quality:\")]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _c(\"quality-pill\", {\n attrs: {\n quality:\n _vm.combinedQualities\n }\n })\n ],\n 1\n )\n ])\n : [\n _vm.combineQualities(\n _vm.show.config.qualities.allowed\n ) > 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\"\n },\n [\n _vm._v(\n \"Allowed Qualities:\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _vm._l(\n _vm.show.config\n .qualities.allowed,\n function(\n curQuality,\n index\n ) {\n return [\n _vm._v(\n _vm._s(\n index > 0\n ? \", \"\n : \"\"\n )\n ),\n _c(\"quality-pill\", {\n key:\n \"allowed-\" +\n curQuality,\n attrs: {\n quality: curQuality\n }\n })\n ]\n }\n )\n ],\n 2\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.combineQualities(\n _vm.show.config.qualities\n .preferred\n ) > 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\"\n },\n [\n _vm._v(\n \"Preferred Qualities:\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _vm._l(\n _vm.show.config\n .qualities.preferred,\n function(\n curQuality,\n index\n ) {\n return [\n _vm._v(\n _vm._s(\n index > 0\n ? \", \"\n : \"\"\n )\n ),\n _c(\"quality-pill\", {\n key:\n \"preferred-\" +\n curQuality,\n attrs: {\n quality: curQuality\n }\n })\n ]\n }\n )\n ],\n 2\n )\n ])\n : _vm._e()\n ],\n _vm._v(\" \"),\n _vm.show.network && _vm.show.airs\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Originally Airs: \")]\n ),\n _c(\"td\", [\n _vm._v(_vm._s(_vm.show.airs)),\n !_vm.show.airsFormatValid\n ? _c(\n \"b\",\n {\n staticClass:\n \"invalid-value\"\n },\n [\n _vm._v(\n \" (invalid time format)\"\n )\n ]\n )\n : _vm._e(),\n _vm._v(\n \" on \" +\n _vm._s(_vm.show.network)\n )\n ])\n ])\n : _vm.show.network\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Originally Airs: \")]\n ),\n _c(\"td\", [\n _vm._v(_vm._s(_vm.show.network))\n ])\n ])\n : _vm.show.airs\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Originally Airs: \")]\n ),\n _c(\"td\", [\n _vm._v(_vm._s(_vm.show.airs)),\n !_vm.show.airsFormatValid\n ? _c(\n \"b\",\n {\n staticClass:\n \"invalid-value\"\n },\n [\n _vm._v(\n \" (invalid time format)\"\n )\n ]\n )\n : _vm._e()\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Show Status: \")]\n ),\n _c(\"td\", [\n _vm._v(_vm._s(_vm.show.status))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Default EP Status: \")]\n ),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.show.config\n .defaultEpisodeStatus\n )\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [\n _c(\n \"span\",\n {\n class: {\n \"invalid-value\": !_vm.show\n .config.locationValid\n }\n },\n [_vm._v(\"Location: \")]\n )\n ]\n ),\n _c(\"td\", [\n _c(\n \"span\",\n {\n class: {\n \"invalid-value\": !_vm.show\n .config.locationValid\n }\n },\n [\n _vm._v(\n _vm._s(_vm.show.config.location)\n )\n ]\n ),\n _vm._v(\n _vm._s(\n _vm.show.config.locationValid\n ? \"\"\n : \" (Missing)\"\n )\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.show.config.aliases.filter(function(\n alias\n ) {\n return alias.season === -1\n }).length > 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\",\n staticStyle: {\n \"vertical-align\": \"top\"\n }\n },\n [_vm._v(\"Scene Name:\")]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.show.config.aliases\n .filter(function(alias) {\n return alias.season === -1\n })\n .map(function(alias) {\n return alias.title\n })\n .join(\", \")\n )\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.config.release.requiredWords\n .length +\n _vm.search.filters.required.length >\n 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\",\n staticStyle: {\n \"vertical-align\": \"top\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n required:\n _vm.type ===\n \"snatch-selection\"\n }\n },\n [_vm._v(\"Required Words: \")]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm.show.config.release\n .requiredWords.length\n ? _c(\n \"span\",\n {\n staticClass: \"break-word\"\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.show.config.release.requiredWords.join(\n \", \"\n )\n ) +\n \"\\n \"\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.search.filters.required\n .length > 0\n ? _c(\n \"span\",\n {\n staticClass:\n \"break-word global-filter\"\n },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"config/search/#searchfilters\"\n }\n },\n [\n _vm.show.config\n .release\n .requiredWords\n .length > 0\n ? [\n _vm.show.config\n .release\n .requiredWordsExclude\n ? _c(\"span\", [\n _vm._v(\n \" excluded from: \"\n )\n ])\n : _c(\"span\", [\n _vm._v(\n \"+ \"\n )\n ])\n ]\n : _vm._e(),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.search.filters.required.join(\n \", \"\n )\n ) +\n \"\\n \"\n )\n ],\n 2\n )\n ],\n 1\n )\n : _vm._e()\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.config.release.ignoredWords\n .length +\n _vm.search.filters.ignored.length >\n 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\",\n staticStyle: {\n \"vertical-align\": \"top\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n ignored:\n _vm.type ===\n \"snatch-selection\"\n }\n },\n [_vm._v(\"Ignored Words: \")]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm.show.config.release\n .ignoredWords.length\n ? _c(\n \"span\",\n {\n staticClass: \"break-word\"\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.show.config.release.ignoredWords.join(\n \", \"\n )\n ) +\n \"\\n \"\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.search.filters.ignored\n .length > 0\n ? _c(\n \"span\",\n {\n staticClass:\n \"break-word global-filter\"\n },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"config/search/#searchfilters\"\n }\n },\n [\n _vm.show.config\n .release\n .ignoredWords\n .length > 0\n ? [\n _vm.show.config\n .release\n .ignoredWordsExclude\n ? _c(\"span\", [\n _vm._v(\n \" excluded from: \"\n )\n ])\n : _c(\"span\", [\n _vm._v(\n \"+ \"\n )\n ])\n ]\n : _vm._e(),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.search.filters.ignored.join(\n \", \"\n )\n ) +\n \"\\n \"\n )\n ],\n 2\n )\n ],\n 1\n )\n : _vm._e()\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.search.filters.preferred.length > 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\",\n staticStyle: {\n \"vertical-align\": \"top\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n preferred:\n _vm.type ===\n \"snatch-selection\"\n }\n },\n [_vm._v(\"Preferred Words: \")]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"config/search/#searchfilters\"\n }\n },\n [\n _c(\n \"span\",\n {\n staticClass:\n \"break-word\"\n },\n [\n _vm._v(\n _vm._s(\n _vm.search.filters.preferred.join(\n \", \"\n )\n )\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.search.filters.undesired.length > 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\",\n staticStyle: {\n \"vertical-align\": \"top\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n undesired:\n _vm.type ===\n \"snatch-selection\"\n }\n },\n [_vm._v(\"Undesired Words: \")]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"config/search/#searchfilters\"\n }\n },\n [\n _c(\n \"span\",\n {\n staticClass:\n \"break-word\"\n },\n [\n _vm._v(\n _vm._s(\n _vm.search.filters.undesired.join(\n \", \"\n )\n )\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.config.release.whitelist &&\n _vm.show.config.release.whitelist.length >\n 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Wanted Groups:\")]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.show.config.release.whitelist.join(\n \", \"\n )\n )\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.config.release.blacklist &&\n _vm.show.config.release.blacklist.length >\n 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Unwanted Groups:\")]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.show.config.release.blacklist.join(\n \", \"\n )\n )\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.config.airdateOffset !== 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Daily search offset:\")]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.show.config.airdateOffset\n ) + \" hours\"\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.config.locationValid &&\n _vm.show.size > -1\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Size:\")]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.humanFileSize(\n _vm.show.size\n )\n )\n )\n ])\n ])\n : _vm._e()\n ],\n 2\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass:\n \"col-lg-3 col-md-4 col-sm-4 col-xs-12 pull-xs-left\",\n attrs: { id: \"show-status\" }\n },\n [\n _c(\n \"table\",\n {\n staticClass:\n \"pull-xs-left pull-md-right pull-sm-right pull-lg-right\"\n },\n [\n _vm.show.language\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Info Language:\")]\n ),\n _c(\"td\", [\n _c(\"img\", {\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n _vm.getCountryISO2ToISO3(\n _vm.show.language\n ) +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: _vm.show.language,\n title: _vm.show.language,\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n }\n })\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.config.subtitles.enabled\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Subtitles: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state:\n _vm.show.config\n .subtitlesEnabled\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"subtitlesEnabled\"\n )\n }\n }\n })\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Season Folders: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state:\n _vm.show.config\n .seasonFolders ||\n _vm.config.namingForceFolders\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Paused: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state: _vm.show.config.paused\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"paused\"\n )\n }\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Air-by-Date: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state: _vm.show.config.airByDate\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"airByDate\"\n )\n }\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Sports: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state: _vm.show.config.sports\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"sports\"\n )\n }\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Anime: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state: _vm.show.config.anime\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"anime\"\n )\n }\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"DVD Order: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state: _vm.show.config.dvdOrder\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"dvdOrder\"\n )\n }\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Scene Numbering: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state: _vm.show.config.scene\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"scene\"\n )\n }\n }\n })\n ],\n 1\n )\n ])\n ]\n )\n ]\n )\n ])\n ]\n )\n : _vm._e()\n ])\n ])\n ]\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"shadow shadow-background\",\n attrs: { id: \"episodes-controll-background\" }\n },\n [\n _vm.show\n ? _c(\n \"div\",\n {\n staticClass: \"row\",\n attrs: { id: \"row-show-episodes-controls\" }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"col-md-12\",\n attrs: { id: \"col-show-episodes-controls\" }\n },\n [\n _vm.type === \"show\"\n ? _c(\"div\", { staticClass: \"row key\" }, [\n _c(\n \"div\",\n {\n ref: \"checkboxControls\",\n staticClass: \"col-lg-12\",\n attrs: { id: \"checkboxControls\" }\n },\n [\n _vm.show.seasons\n ? _c(\n \"div\",\n {\n staticClass: \"pull-left top-5\",\n attrs: { id: \"key-padding\" }\n },\n _vm._l(_vm.overviewStatus, function(\n status\n ) {\n return _c(\n \"label\",\n {\n key: status.id,\n attrs: { for: status.id }\n },\n [\n _c(\"span\", { class: status.id }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: status.checked,\n expression: \"status.checked\"\n }\n ],\n attrs: {\n type: \"checkbox\",\n id: status.id\n },\n domProps: {\n checked: Array.isArray(\n status.checked\n )\n ? _vm._i(\n status.checked,\n null\n ) > -1\n : status.checked\n },\n on: {\n change: [\n function($event) {\n var $$a = status.checked,\n $$el = $event.target,\n $$c = $$el.checked\n ? true\n : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n status,\n \"checked\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n status,\n \"checked\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice(\n $$i + 1\n )\n )\n )\n }\n } else {\n _vm.$set(\n status,\n \"checked\",\n $$c\n )\n }\n },\n function($event) {\n return _vm.$emit(\n \"update-overview-status\",\n _vm.overviewStatus\n )\n }\n ]\n }\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(status.name) +\n \": \"\n ),\n _c(\"b\", [\n _vm._v(\n _vm._s(\n _vm.episodeSummary[\n status.name\n ]\n )\n )\n ])\n ])\n ]\n )\n }),\n 0\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"pull-lg-right top-5\" },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedStatus,\n expression: \"selectedStatus\"\n }\n ],\n staticClass:\n \"form-control form-control-inline input-sm-custom input-sm-smallfont\",\n attrs: { id: \"statusSelect\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.selectedStatus = $event.target\n .multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _c(\n \"option\",\n {\n domProps: {\n value: \"Change status to:\"\n }\n },\n [_vm._v(\"Change status to:\")]\n ),\n _vm._v(\" \"),\n _vm._l(\n _vm.changeStatusOptions,\n function(status) {\n return _c(\n \"option\",\n {\n key: status.key,\n domProps: {\n value: status.value\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(status.name) +\n \"\\n \"\n )\n ]\n )\n }\n )\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedQuality,\n expression: \"selectedQuality\"\n }\n ],\n staticClass:\n \"form-control form-control-inline input-sm-custom input-sm-smallfont\",\n attrs: { id: \"qualitySelect\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.selectedQuality = $event.target\n .multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _c(\n \"option\",\n {\n domProps: {\n value: \"Change quality to:\"\n }\n },\n [_vm._v(\"Change quality to:\")]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.qualities, function(\n quality\n ) {\n return _c(\n \"option\",\n {\n key: quality.key,\n domProps: { value: quality.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(quality.name) +\n \"\\n \"\n )\n ]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n attrs: {\n type: \"hidden\",\n id: \"series-slug\"\n },\n domProps: { value: _vm.show.id.slug }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n attrs: {\n type: \"hidden\",\n id: \"series-id\"\n },\n domProps: {\n value: _vm.show.id[_vm.show.indexer]\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n attrs: { type: \"hidden\", id: \"indexer\" },\n domProps: { value: _vm.show.indexer }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n id: \"changeStatus\",\n value: \"Go\"\n },\n on: { click: _vm.changeStatusClicked }\n })\n ]\n )\n ]\n )\n ])\n : _c(\"div\")\n ]\n )\n ]\n )\n : _vm._e()\n ]\n )\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-header.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-history.vue?vue&type=template&id=c645b858&scoped=true&": -/*!******************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-history.vue?vue&type=template&id=c645b858&scoped=true& ***! - \******************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"show-history-wrapper\",\n class: { \"component-margin\": !_vm.hideHistory }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"row horizontal-scroll\",\n class: { fanartBackground: _vm.layout.fanartBackground }\n },\n [\n _c(\n \"div\",\n { staticClass: \"col-md-12 top-15\" },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.history.length > 0,\n expression: \"history.length > 0\"\n }\n ],\n staticClass: \"button-row\"\n },\n [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa top-5 bottom-5 pull-right\",\n attrs: { id: \"showhistory\", type: \"button\" },\n on: {\n click: function($event) {\n _vm.hideHistory = !_vm.hideHistory\n }\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.hideHistory ? \"Show History\" : \"Hide History\"\n ) +\n \"\\n \"\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"vue-good-table\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n !_vm.hideHistory &&\n _vm.show.id.slug &&\n _vm.history.length > 0,\n expression:\n \"!hideHistory && show.id.slug && history.length > 0\"\n }\n ],\n attrs: {\n columns: _vm.columns,\n rows: _vm.history,\n \"search-options\": {\n enabled: false\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: { field: \"actionDate\", type: \"desc\" }\n },\n \"column-filter-options\": {\n enabled: true\n },\n styleClass: \"vgt-table condensed\",\n \"row-style-class\": _vm.rowStyleClassFn\n },\n scopedSlots: _vm._u([\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.label === \"Date\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.actionDate\n ? _vm.fuzzyParseDateTime(\n props.formattedRow[props.column.field]\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Quality\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n props.row.quality !== 0\n ? _c(\"quality-pill\", {\n attrs: { quality: props.row.quality }\n })\n : _vm._e()\n ],\n 1\n )\n : props.column.label === \"Provider/Group\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n [\"Snatched\", \"Failed\"].includes(\n props.row.statusName\n )\n ? [\n _c(\"img\", {\n staticClass: \"addQTip\",\n staticStyle: { \"margin-right\": \"5px\" },\n attrs: {\n src:\n \"images/providers/\" +\n props.row.provider.id +\n \".png\",\n alt: props.row.provider.name,\n width: \"16\",\n height: \"16\",\n title: props.row.provider.name,\n onError:\n \"this.onerror=null;this.src='images/providers/missing.png';\"\n }\n })\n ]\n : _vm._e(),\n _vm._v(\" \"),\n props.row.statusName === \"Downloaded\"\n ? _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.releaseGroup !== -1\n ? props.row.releaseGroup\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.row.statusName === \"Subtitled\"\n ? _c(\"img\", {\n staticClass: \"addQTip\",\n staticStyle: { \"margin-right\": \"5px\" },\n attrs: {\n src:\n \"images/subtitles/\" +\n props.row.provider.id +\n \".png\",\n alt: props.row.provider.name,\n width: \"16\",\n height: \"16\",\n title: props.row.provider.name\n }\n })\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(props.row.provider.name) +\n \"\\n \"\n )\n ])\n ],\n 2\n )\n : props.column.label === \"Release\" &&\n props.row.statusName === \"Subtitled\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n props.row.resource !== \"und\"\n ? _c(\"img\", {\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n props.row.resource +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: props.row.resource,\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n }\n })\n : _c(\"img\", {\n staticClass: \"subtitle-flag\",\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n props.row.resource +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: props.row.resource,\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n }\n })\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.formattedRow[props.column.field]\n ) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ])\n })\n ],\n 1\n )\n ]\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-history.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/banner.vue?vue&type=template&id=1918507d&": -/*!**********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/banner.vue?vue&type=template&id=1918507d& ***! - \**********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"horizontal-scroll\" },\n [\n _vm.shows.length > 0\n ? _c(\"vue-good-table\", {\n class: { fanartOpacity: _vm.stateLayout.fanartBackground },\n attrs: {\n columns: _vm.columns,\n rows: _vm.shows,\n \"search-options\": {\n enabled: false\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: _vm.getSortBy()\n },\n \"column-filter-options\": {\n enabled: true\n }\n },\n on: { \"on-sort-change\": _vm.saveSorting },\n scopedSlots: _vm._u(\n [\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.label == \"Next Ep\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.nextAirDate\n ? _vm.fuzzyParseDateTime(\n props.row.nextAirDate\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label == \"Prev Ep\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.prevAirDate\n ? _vm.fuzzyParseDateTime(\n props.row.prevAirDate\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label == \"Show\"\n ? _c(\"span\", { staticClass: \"tvShow\" }, [\n _c(\"span\", { staticStyle: { display: \"none\" } }, [\n _vm._v(_vm._s(props.row.title))\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"imgbanner\" },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n props.row.indexer +\n \"&seriesid=\" +\n props.row.id[props.row.indexer]\n }\n },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\": \"images/banner.png\",\n \"show-slug\": props.row.id.slug,\n type: \"banner\",\n cls: \"banner\",\n alt: props.row.title,\n title: props.row.title\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n : props.column.label == \"Network\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n props.row.network\n ? [\n _c(\n \"span\",\n {\n staticClass: \"hidden-print\",\n attrs: { title: props.row.network }\n },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\":\n \"images/network/nonetwork.png\",\n \"show-slug\":\n props.row.indexer +\n props.row.id[props.row.indexer],\n type: \"network\",\n cls: \"show-network-image\",\n link: false,\n width: \"54\",\n height: \"27\",\n alt: props.row.network,\n title: props.row.network\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"visible-print-inline\" },\n [_vm._v(_vm._s(props.row.network))]\n )\n ]\n : [\n _c(\n \"span\",\n {\n staticClass: \"hidden-print\",\n attrs: { title: \"No Network\" }\n },\n [\n _c(\"img\", {\n attrs: {\n id: \"network\",\n width: \"54\",\n height: \"27\",\n src: \"images/network/nonetwork.png\",\n alt: \"No Network\",\n title: \"No Network\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"visible-print-inline\" },\n [_vm._v(\"No Network\")]\n )\n ]\n ],\n 2\n )\n : props.column.label == \"Indexer\"\n ? _c(\n \"span\",\n { staticClass: \"align-center indexer-image\" },\n [\n props.row.id.imdb\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://www.imdb.com/title/\" +\n props.row.id.imdb,\n title:\n \"http://www.imdb.com/title/\" +\n props.row.id.imdb\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[imdb]\",\n height: \"16\",\n width: \"16\",\n src: \"images/imdb.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n props.row.id.trakt\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://trakt.tv/shows/\" +\n props.row.id.trakt,\n title:\n \"https://trakt.tv/shows/\" +\n props.row.id.trakt\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[trakt]\",\n height: \"16\",\n width: \"16\",\n src: \"images/trakt.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showIndexerUrl &&\n _vm.indexerConfig[props.row.indexer].icon\n ? _c(\n \"app-link\",\n {\n attrs: {\n href: _vm.showIndexerUrl(props.row),\n title: _vm.showIndexerUrl(props.row)\n }\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"margin-top\": \"-1px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n alt:\n _vm.indexerConfig[props.row.indexer]\n .name,\n height: \"16\",\n width: \"16\",\n src:\n \"images/\" +\n _vm.indexerConfig[props.row.indexer]\n .icon\n }\n })\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : props.column.label == \"Quality\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n _c(\"quality-pill\", {\n attrs: {\n allowed: props.row.config.qualities.allowed,\n preferred:\n props.row.config.qualities.preferred,\n \"show-title\": \"\"\n }\n })\n ],\n 1\n )\n : props.column.label == \"Downloads\"\n ? _c(\n \"span\",\n [\n _c(\n \"progress-bar\",\n _vm._b(\n {},\n \"progress-bar\",\n props.row.stats.tooltip,\n false\n )\n )\n ],\n 1\n )\n : props.column.label == \"Size\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.prettyBytes(props.row.stats.episodes.size)\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Active\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.config &&\n !props.row.config.paused &&\n props.row.status === \"Continuing\"\n ? \"yes\"\n : \"no\") +\n \"16.png\",\n alt:\n props.row.config &&\n !props.row.config.paused &&\n props.row.status === \"Continuing\"\n ? \"yes\"\n : \"no\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : props.column.label === \"Xem\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.xemNumbering &&\n props.row.xemNumbering.length !== 0\n ? \"yes\"\n : \"no\") +\n \"16.png\",\n alt:\n props.row.xemNumbering &&\n props.row.xemNumbering.length !== 0\n ? \"yes\"\n : \"no\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(props.formattedRow[props.column.field]) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 3337244109\n )\n })\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-list/banner.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/index.vue?vue&type=template&id=3df39291&scoped=true&": -/*!*********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/index.vue?vue&type=template&id=3df39291&scoped=true& ***! - \*********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n !_vm.stateLayout.splitHomeInTabs &&\n _vm.showsInLists && _vm.showsInLists.length > 1\n ? _c(\"div\", { staticClass: \"showListTitle listTitle\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"h2\", { staticClass: \"header\" }, [_vm._v(_vm._s(_vm.listTitle))])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.layout === \"poster\"\n ? _c(\"div\", { staticClass: \"row poster-ui-controls\" }, [\n _c(\n \"div\",\n { staticClass: \"col-lg-12\" },\n [\n _c(\"div\", { staticClass: \"show-option\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.posterUiSortDir,\n expression: \"posterUiSortDir\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: {\n id: \"postersortdirection\",\n placeholder: \"Direction\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.posterUiSortDir = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _c(\"option\", { domProps: { value: 1 } }, [\n _vm._v(\"Ascending\")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { domProps: { value: 0 } }, [\n _vm._v(\"Descending\")\n ])\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-option pull-right\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.posterUiSortBy,\n expression: \"posterUiSortBy\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: { id: \"postersort\", placeholder: \"Sort By\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.posterUiSortBy = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.posterSortByOptions, function(option) {\n return _c(\n \"option\",\n { key: option.value, domProps: { value: option.value } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ]),\n _vm._v(\" \"),\n _c(\"poster-size-slider\")\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !this.showsLoading.finished && _vm.shows.length === 0\n ? _c(\n \"div\",\n [\n _c(\"state-switch\", {\n attrs: { state: \"loading\", theme: _vm.stateLayout.themeName }\n }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(\"Loading\")])\n ],\n 1\n )\n : _vm.shows.length >= 1\n ? _c(\n \"div\",\n {\n class: [\n [\"simple\", \"small\", \"banner\"].includes(_vm.layout)\n ? \"table-layout\"\n : \"\"\n ]\n },\n [\n _c(\n _vm.mappedLayout,\n _vm._b({ tag: \"component\" }, \"component\", _vm.$props, false)\n )\n ],\n 1\n )\n : _vm._e()\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"button\",\n {\n staticClass: \"nav-show-list move-show-list\",\n attrs: { type: \"button\" }\n },\n [\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" })\n ]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-list/index.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/poster.vue?vue&type=template&id=54b453c4&scoped=true&": -/*!**********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/poster.vue?vue&type=template&id=54b453c4&scoped=true& ***! - \**********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"row\", attrs: { name: \"poster-container-row\" } },\n [\n _c(\n \"div\",\n { staticClass: \"col-md-12\", attrs: { name: \"poster-container-col\" } },\n [\n _c(\n \"isotope\",\n {\n directives: [\n {\n name: \"images-loaded\",\n rawName: \"v-images-loaded:on.always\",\n value: _vm.updateLayout,\n expression: \"updateLayout\",\n arg: \"on\",\n modifiers: { always: true }\n }\n ],\n ref: \"isotope-\" + _vm.listTitle,\n attrs: {\n list: _vm.showsReady,\n id: \"isotope-container-\" + _vm.listTitle,\n \"item-selector\": \"show-container\",\n options: _vm.option\n }\n },\n _vm._l(_vm.showsReady, function(show) {\n return _c(\n \"div\",\n {\n key: show.id.slug,\n style: _vm.showContainerStyle,\n attrs: {\n id: show.id.slug,\n \"data-name\": show.title,\n \"data-date\": show.airDate,\n \"data-network\": show.network,\n \"data-indexer\": show.indexer\n }\n },\n [\n _c(\"div\", { staticClass: \"overlay-container\" }, [\n _c(\"div\", { staticClass: \"background-image\" }, [\n _c(\"img\", {\n attrs: { src: \"images/poster-back-dark.png\" }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"poster-overlay\" },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n show.indexer +\n \"&seriesid=\" +\n show.id[show.indexer]\n }\n },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\": \"images/poster.png\",\n \"show-slug\": show.id.slug,\n lazy: \"\",\n type: \"posterThumb\",\n cls: \"show-image\",\n link: false\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-poster-footer row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-md-12\" },\n [\n _c(\"progress-bar\", {\n attrs: { percentage: show.stats.tooltip.percentage }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-title\" }, [\n _c(\"div\", { staticClass: \"ellipsis\" }, [\n _vm._v(_vm._s(show.title))\n ]),\n _vm._v(\" \"),\n show.xemNumbering.length > 0\n ? _c(\"div\", { staticClass: \"xem\" }, [\n _c(\"img\", {\n attrs: {\n src: \"images/xem.png\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-date\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.dateOrStatus(show)) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.fontSize !== null,\n expression: \"fontSize !== null\"\n }\n ],\n staticClass: \"show-details\"\n },\n [\n _c(\n \"table\",\n {\n staticClass: \"show-details\",\n class: {\n fanartOpacity:\n _vm.stateLayout.fanartBackground\n },\n attrs: {\n width: \"100%\",\n cellspacing: \"1\",\n border: \"0\",\n cellpadding: \"0\"\n }\n },\n [\n _c(\"tr\", [\n _c(\"td\", { staticClass: \"show-table\" }, [\n _c(\n \"span\",\n {\n staticClass: \"show-dlstats\",\n style: { fontSize: _vm.fontSize },\n attrs: {\n title:\n \"Downloaded: \" +\n show.stats.episodes.downloaded +\n (!show.stats.episodes.snatched\n ? \"\"\n : \"; Snatched:\" +\n show.stats.episodes.snatched) +\n \"; Total: \" +\n show.stats.episodes.total\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n \"\" +\n show.stats.episodes.downloaded +\n (!show.stats.episodes.snatched\n ? \"\"\n : \"+\" +\n show.stats.episodes\n .snatched) +\n \" / \" +\n show.stats.episodes.total\n ) +\n \"\\n \"\n )\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\"td\", { staticClass: \"show-table\" }, [\n show.network\n ? _c(\n \"span\",\n { attrs: { title: show.network } },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\":\n \"images/network/nonetwork.png\",\n \"show-slug\": show.id.slug,\n type: \"network\",\n cls: \"show-network-image\",\n link: false,\n alt: show.network,\n title: show.network,\n imgWidth: _vm.logoWidth\n }\n })\n ],\n 1\n )\n : _c(\n \"span\",\n { attrs: { title: \"No Network\" } },\n [\n _c(\"img\", {\n staticClass: \"show-network-image\",\n attrs: {\n src:\n \"images/network/nonetwork.png\",\n alt: \"No Network\",\n title: \"No Network\"\n }\n })\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"td\",\n { staticClass: \"show-table\" },\n [\n _c(\"quality-pill\", {\n attrs: {\n allowed:\n show.config.qualities.allowed,\n preferred:\n show.config.qualities.preferred,\n override: {\n class: \"show-quality\",\n style: \"test\"\n },\n \"show-title\": \"\"\n }\n })\n ],\n 1\n )\n ])\n ]\n )\n ]\n )\n ],\n 1\n )\n ])\n ]\n )\n }),\n 0\n )\n ],\n 1\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-list/poster.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/simple.vue?vue&type=template&id=01425003&": -/*!**********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/simple.vue?vue&type=template&id=01425003& ***! - \**********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"horizontal-scroll\" },\n [\n _vm.shows.length > 0\n ? _c(\"vue-good-table\", {\n class: { fanartOpacity: _vm.stateLayout.fanartBackground },\n attrs: {\n columns: _vm.columns,\n rows: _vm.shows,\n \"search-options\": {\n enabled: false\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: _vm.getSortBy()\n },\n \"column-filter-options\": {\n enabled: true\n }\n },\n on: { \"on-sort-change\": _vm.saveSorting },\n scopedSlots: _vm._u(\n [\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.label == \"Next Ep\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.nextAirDate\n ? _vm.fuzzyParseDateTime(\n props.row.nextAirDate\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Prev Ep\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.prevAirDate\n ? _vm.fuzzyParseDateTime(\n props.row.prevAirDate\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Show\"\n ? _c(\n \"span\",\n { staticClass: \"tvShow\" },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n props.row.indexer +\n \"&seriesid=\" +\n props.row.id[props.row.indexer]\n }\n },\n [_vm._v(_vm._s(props.row.title))]\n )\n ],\n 1\n )\n : props.column.label === \"Network\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(_vm._s(props.row.network))\n ])\n ])\n : props.column.label === \"Indexer\"\n ? _c(\n \"span\",\n { staticClass: \"align-center indexer-image\" },\n [\n props.row.id.imdb\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://www.imdb.com/title/\" +\n props.row.id.imdb,\n title:\n \"http://www.imdb.com/title/\" +\n props.row.id.imdb\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[imdb]\",\n height: \"16\",\n width: \"16\",\n src: \"images/imdb.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n props.row.id.trakt\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://trakt.tv/shows/\" +\n props.row.id.trakt,\n title:\n \"https://trakt.tv/shows/\" +\n props.row.id.trakt\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[trakt]\",\n height: \"16\",\n width: \"16\",\n src: \"images/trakt.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showIndexerUrl &&\n _vm.indexerConfig[props.row.indexer].icon\n ? _c(\n \"app-link\",\n {\n attrs: {\n href: _vm.showIndexerUrl(props.row),\n title: _vm.showIndexerUrl(props.row)\n }\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"margin-top\": \"-1px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n alt:\n _vm.indexerConfig[props.row.indexer]\n .name,\n height: \"16\",\n width: \"16\",\n src:\n \"images/\" +\n _vm.indexerConfig[props.row.indexer]\n .icon\n }\n })\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : props.column.label === \"Quality\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n _c(\"quality-pill\", {\n attrs: {\n allowed: props.row.config.qualities.allowed,\n preferred:\n props.row.config.qualities.preferred,\n \"show-title\": \"\"\n }\n })\n ],\n 1\n )\n : props.column.label === \"Downloads\"\n ? _c(\n \"span\",\n [\n _c(\n \"progress-bar\",\n _vm._b(\n {},\n \"progress-bar\",\n props.row.stats.tooltip,\n false\n )\n )\n ],\n 1\n )\n : props.column.label === \"Size\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.prettyBytes(props.row.stats.episodes.size)\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Active\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.config &&\n !props.row.config.paused &&\n props.row.status === \"Continuing\"\n ? \"yes\"\n : \"no\") +\n \"16.png\",\n alt:\n props.row.config &&\n !props.row.config.paused &&\n props.row.status === \"Continuing\"\n ? \"yes\"\n : \"no\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : props.column.label === \"Xem\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.xemNumbering &&\n props.row.xemNumbering.length !== 0\n ? \"yes\"\n : \"no\") +\n \"16.png\",\n alt:\n props.row.xemNumbering &&\n props.row.xemNumbering.length !== 0\n ? \"yes\"\n : \"no\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(props.formattedRow[props.column.field]) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 1703816732\n )\n })\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-list/simple.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/smallposter.vue?vue&type=template&id=0c941eda&": -/*!***************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/smallposter.vue?vue&type=template&id=0c941eda& ***! - \***************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"horizontal-scroll\" },\n [\n _vm.shows.length > 0\n ? _c(\"vue-good-table\", {\n class: { fanartOpacity: _vm.stateLayout.fanartBackground },\n attrs: {\n columns: _vm.columns,\n rows: _vm.shows,\n \"search-options\": {\n enabled: false\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: _vm.getSortBy()\n },\n \"column-filter-options\": {\n enabled: true\n }\n },\n on: { \"on-sort-change\": _vm.saveSorting },\n scopedSlots: _vm._u(\n [\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.label == \"Next Ep\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.nextAirDate\n ? _vm.fuzzyParseDateTime(\n props.row.nextAirDate\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label == \"Prev Ep\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.prevAirDate\n ? _vm.fuzzyParseDateTime(\n props.row.prevAirDate\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label == \"Show\"\n ? _c(\"span\", { staticClass: \"tvShow\" }, [\n _c(\n \"div\",\n { staticClass: \"imgsmallposter small\" },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n props.row.indexer +\n \"&seriesid=\" +\n props.row.id[props.row.indexer],\n title: props.row.title\n }\n },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\": \"images/poster.png\",\n \"show-slug\": props.row.id.slug,\n type: \"posterThumb\",\n cls: \"small\",\n alt: props.row.title,\n title: props.row.title,\n link: false\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticStyle: { \"vertical-align\": \"middle\" },\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n props.row.indexer +\n \"&seriesid=\" +\n props.row.id[props.row.indexer]\n }\n },\n [_vm._v(_vm._s(props.row.title))]\n )\n ],\n 1\n )\n ])\n : props.column.label == \"Network\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n props.row.network\n ? [\n _c(\n \"span\",\n {\n staticClass: \"hidden-print\",\n attrs: { title: props.row.network }\n },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\":\n \"images/network/nonetwork.png\",\n \"show-slug\":\n props.row.indexer +\n props.row.id[props.row.indexer],\n type: \"network\",\n cls: \"show-network-image\",\n link: false,\n width: \"54\",\n height: \"27\",\n alt: props.row.network,\n title: props.row.network\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"visible-print-inline\" },\n [_vm._v(_vm._s(props.row.network))]\n )\n ]\n : [\n _c(\n \"span\",\n {\n staticClass: \"hidden-print\",\n attrs: { title: \"No Network\" }\n },\n [\n _c(\"img\", {\n attrs: {\n id: \"network\",\n width: \"54\",\n height: \"27\",\n src: \"images/network/nonetwork.png\",\n alt: \"No Network\",\n title: \"No Network\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"visible-print-inline\" },\n [_vm._v(\"No Network\")]\n )\n ]\n ],\n 2\n )\n : props.column.label == \"Indexer\"\n ? _c(\n \"span\",\n { staticClass: \"align-center indexer-image\" },\n [\n props.row.id.imdb\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://www.imdb.com/title/\" +\n props.row.id.imdb,\n title:\n \"http://www.imdb.com/title/\" +\n props.row.id.imdb\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[imdb]\",\n height: \"16\",\n width: \"16\",\n src: \"images/imdb.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n props.row.id.trakt\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://trakt.tv/shows/\" +\n props.row.id.trakt,\n title:\n \"https://trakt.tv/shows/\" +\n props.row.id.trakt\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[trakt]\",\n height: \"16\",\n width: \"16\",\n src: \"images/trakt.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showIndexerUrl &&\n _vm.indexerConfig[props.row.indexer].icon\n ? _c(\n \"app-link\",\n {\n attrs: {\n href: _vm.showIndexerUrl(props.row),\n title: _vm.showIndexerUrl(props.row)\n }\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"margin-top\": \"-1px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n alt:\n _vm.indexerConfig[props.row.indexer]\n .name,\n height: \"16\",\n width: \"16\",\n src:\n \"images/\" +\n _vm.indexerConfig[props.row.indexer]\n .icon\n }\n })\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : props.column.label == \"Quality\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n _c(\"quality-pill\", {\n attrs: {\n allowed: props.row.config.qualities.allowed,\n preferred:\n props.row.config.qualities.preferred,\n \"show-title\": \"\"\n }\n })\n ],\n 1\n )\n : props.column.label == \"Downloads\"\n ? _c(\n \"span\",\n [\n _c(\n \"progress-bar\",\n _vm._b(\n {},\n \"progress-bar\",\n props.row.stats.tooltip,\n false\n )\n )\n ],\n 1\n )\n : props.column.label == \"Size\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.prettyBytes(props.row.stats.episodes.size)\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Active\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.config &&\n !props.row.config.paused &&\n props.row.status === \"Continuing\"\n ? \"yes\"\n : \"no\") +\n \"16.png\",\n alt:\n props.row.config &&\n !props.row.config.paused &&\n props.row.status === \"Continuing\"\n ? \"yes\"\n : \"no\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : props.column.label === \"Xem\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.xemNumbering &&\n props.row.xemNumbering.length !== 0\n ? \"yes\"\n : \"no\") +\n \"16.png\",\n alt:\n props.row.xemNumbering &&\n props.row.xemNumbering.length !== 0\n ? \"yes\"\n : \"no\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(props.formattedRow[props.column.field]) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 1329773065\n )\n })\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-list/smallposter.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-results.vue?vue&type=template&id=68e9fa36&scoped=true&": -/*!******************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-results.vue?vue&type=template&id=68e9fa36&scoped=true& ***! - \******************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"show-results-wrapper\" }, [\n _c(\n \"div\",\n {\n staticClass: \"row horizontal-scroll\",\n class: { fanartBackground: _vm.layout.fanartBackground }\n },\n [\n _c(\n \"div\",\n { staticClass: \"col-md-12 top-15\" },\n [\n _c(\n \"div\",\n { staticClass: \"button-row\" },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa manualSearchButton top-5 bottom-5\",\n attrs: { type: \"button\", value: \"Refresh Results\" },\n on: { click: _vm.getProviderResults }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa manualSearchButton top-5 bottom-5\",\n attrs: { type: \"button\", value: \"Force Search\" },\n on: { click: _vm.forceSearch }\n }),\n _vm._v(\" \"),\n _vm.loading\n ? [\n _c(\"state-switch\", { attrs: { state: \"loading\" } }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(_vm._s(_vm.loadingMessage))])\n ]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"vue-good-table\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.show.id.slug,\n expression: \"show.id.slug\"\n }\n ],\n ref: \"vgt-show-results\",\n attrs: {\n columns: _vm.columns,\n rows: _vm.combinedResults,\n \"search-options\": {\n enabled: false\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: _vm.getSortBy(\"quality\", \"desc\")\n },\n \"column-filter-options\": {\n enabled: true\n },\n \"row-style-class\": _vm.rowStyleClassFn,\n styleClass: \"vgt-table condensed\"\n },\n on: { \"on-sort-change\": _vm.saveSorting },\n scopedSlots: _vm._u([\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.label === \"Provider\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n staticClass: \"addQTip\",\n attrs: {\n src:\n \"images/providers/\" +\n props.row.provider.imageName,\n alt: props.row.provider.name,\n width: \"16\",\n title: props.row.provider.name,\n onError:\n \"this.onerror=null;this.src='images/providers/missing.png';\"\n }\n })\n ])\n : props.column.label === \"Quality\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n props.row.quality !== 0\n ? _c(\"quality-pill\", {\n attrs: { quality: props.row.quality }\n })\n : _vm._e()\n ],\n 1\n )\n : props.column.label === \"Seeds\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.seeders !== -1\n ? props.row.seeders\n : \"-\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Peers\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.leechers !== -1\n ? props.row.leechers\n : \"-\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Added\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.dateAdded\n ? _vm.fuzzyParseDateTime(\n props.row.dateAdded\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Published\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.pubdate\n ? _vm.fuzzyParseDateTime(props.row.pubdate)\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Updated\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.time\n ? _vm.fuzzyParseDateTime(props.row.time)\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label == \"Snatch\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n src: \"images/download.png\",\n width: \"16\",\n height: \"16\",\n alt: \"snatch\",\n title: \"Download selected episode\",\n \"data-identifier\": props.row.identifier\n },\n on: {\n click: function($event) {\n return _vm.snatchResult($event, props.row)\n }\n }\n })\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(props.formattedRow[props.column.field]) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ])\n })\n ],\n 1\n )\n ]\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-results.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/snatch-selection.vue?vue&type=template&id=0ad4c7fc&scoped=true&": -/*!**********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/snatch-selection.vue?vue&type=template&id=0ad4c7fc&scoped=true& ***! - \**********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"snatch-selection-template\",\n attrs: { id: \"snatch-selection-template\" }\n },\n [\n _c(\"vue-snotify\"),\n _vm._v(\" \"),\n _vm.show.id.slug\n ? _c(\"backstretch\", { attrs: { slug: _vm.show.id.slug } })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"show-header\", {\n ref: \"show-header\",\n attrs: {\n type: \"snatch-selection\",\n \"show-id\": _vm.id,\n \"show-indexer\": _vm.indexer,\n \"manual-search-type\": _vm.manualSearchType\n },\n on: {\n \"update-overview-status\": function($event) {\n _vm.filterByOverviewStatus = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"show-history\",\n _vm._b(\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.show && _vm.season,\n expression: \"show && season\"\n }\n ],\n key:\n \"history-\" +\n _vm.show.id.slug +\n \"-\" +\n _vm.season +\n \"-\" +\n (_vm.episode || \"\"),\n staticClass: \"show-history\"\n },\n \"show-history\",\n { show: _vm.show, season: _vm.season, episode: _vm.episode },\n false\n )\n ),\n _vm._v(\" \"),\n _c(\n \"show-results\",\n _vm._b(\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.show && _vm.season,\n expression: \"show && season\"\n }\n ],\n key:\n \"results-\" +\n _vm.show.id.slug +\n \"-\" +\n _vm.season +\n \"-\" +\n (_vm.episode || \"\"),\n staticClass: \"table-layout\"\n },\n \"show-results\",\n { show: _vm.show, season: _vm.season, episode: _vm.episode },\n false\n )\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/snatch-selection.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/sub-menu.vue?vue&type=template&id=0f7fe6dc&scoped=true&": -/*!**************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/sub-menu.vue?vue&type=template&id=0f7fe6dc&scoped=true& ***! - \**************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.subMenu.length > 0\n ? _c(\"div\", { attrs: { id: \"sub-menu-wrapper\" } }, [\n _c(\n \"div\",\n { staticClass: \"row shadow\", attrs: { id: \"sub-menu-container\" } },\n [\n _c(\n \"div\",\n {\n staticClass: \"submenu-default hidden-print col-md-12\",\n attrs: { id: \"sub-menu\" }\n },\n [\n _vm._l(_vm.subMenu, function(menuItem) {\n return _c(\n \"app-link\",\n {\n key: \"sub-menu-\" + menuItem.title,\n staticClass: \"btn-medusa top-5 bottom-5\",\n attrs: { href: menuItem.path },\n nativeOn: _vm._d({}, [\n _vm.clickEventCond(menuItem),\n function($event) {\n $event.preventDefault()\n return _vm.confirmDialog($event, menuItem.confirm)\n }\n ])\n },\n [\n _c(\"span\", { class: [\"pull-left\", menuItem.icon] }),\n _vm._v(\" \" + _vm._s(menuItem.title) + \"\\n \")\n ]\n )\n }),\n _vm._v(\" \"),\n _c(\"show-selector\", {\n attrs: {\n \"show-slug\": _vm.curShowSlug,\n \"follow-selection\": \"\"\n }\n })\n ],\n 2\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"btn-group\" })\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/sub-menu.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/subtitle-search.vue?vue&type=template&id=49da16c6&scoped=true&": -/*!*********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/subtitle-search.vue?vue&type=template&id=49da16c6&scoped=true& ***! - \*********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"subtitle-search-wrapper\" }, [\n _c(\"td\", { attrs: { colspan: \"9999\" } }, [\n _vm.loading\n ? _c(\n \"span\",\n { staticClass: \"loading-message\" },\n [\n _vm._v(_vm._s(_vm.loadingMessage) + \" \"),\n _c(\"state-switch\", {\n attrs: { theme: _vm.general.themeName, state: \"loading\" }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.displayQuestion\n ? _c(\"div\", { staticClass: \"search-question\" }, [\n _c(\"div\", { staticClass: \"question\" }, [\n !_vm.lang\n ? _c(\"p\", [\n _vm._v(\n \"Do you want to manually pick subtitles or let us choose it for you?\"\n )\n ])\n : _c(\"p\", [\n _vm._v(\n \"Do you want to manually pick subtitles or search a subtitle with the language code \"\n ),\n _c(\"b\", [_vm._v(_vm._s(_vm.lang))]),\n _vm._v(\" for you?\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"options\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-info\",\n attrs: { type: \"button\" },\n on: { click: _vm.autoSearch }\n },\n [_vm._v(\"Auto\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-success\",\n attrs: { type: \"button\" },\n on: { click: _vm.manualSearch }\n },\n [_vm._v(\"Manual\")]\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.displayQuestion && _vm.searchType == \"manual\"\n ? _c(\n \"div\",\n { staticClass: \"subtitle-results\" },\n [\n _c(\"span\", { staticClass: \"release-name\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.releaseName) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\"vue-good-table\", {\n attrs: {\n columns: _vm.columns,\n rows: _vm.subtitles,\n \"search-options\": {\n enabled: false\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: { field: \"score\", type: \"desc\" }\n },\n styleClass: \"vgt-table condensed subtitle-table\"\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"table-column\",\n fn: function(props) {\n return [\n props.column.label === \"Download\"\n ? _c(\"span\", [\n _c(\"span\", [\n _vm._v(_vm._s(props.column.label))\n ]),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n staticClass: \"btn-medusa btn-xs pull-right\",\n on: { click: _vm.close }\n },\n [_vm._v(\"hide\")]\n )\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(props.column.label) +\n \"\\n \"\n )\n ])\n ]\n }\n },\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.field === \"provider\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n src:\n \"images/subtitles/\" +\n props.row.provider +\n \".png\",\n width: \"16\",\n height: \"16\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"span\",\n { attrs: { title: props.row.provider } },\n [_vm._v(_vm._s(props.row.provider))]\n )\n ])\n : props.column.field === \"lang\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n title: props.row.lang,\n src:\n \"images/subtitles/flags/\" +\n props.row.lang +\n \".png\",\n width: \"16\",\n height: \"11\"\n }\n })\n ])\n : props.column.field === \"filename\"\n ? _c(\"span\", [\n _c(\n \"a\",\n {\n attrs: {\n title:\n \"Download\" +\n (props.row.hearing_impaired\n ? \" hearing impaired \"\n : \" \") +\n \"subtitle: \" +\n props.row.filename\n },\n on: {\n click: function($event) {\n return _vm.pickSubtitle(props.row.id)\n }\n }\n },\n [\n props.row.hearing_impaired\n ? _c(\"img\", {\n attrs: {\n src: \"images/hearing_impaired.png\",\n width: \"16\",\n height: \"16\"\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"subtitle-name\" },\n [_vm._v(_vm._s(props.row.filename))]\n ),\n _vm._v(\" \"),\n props.row.sub_score >= props.row.min_score\n ? _c(\"img\", {\n attrs: {\n src: \"images/save.png\",\n width: \"16\",\n height: \"16\"\n }\n })\n : _vm._e()\n ]\n )\n ])\n : props.column.field === \"download\"\n ? _c(\"span\", [\n _c(\n \"a\",\n {\n attrs: {\n title:\n \"Download\" +\n (props.row.hearing_impaired\n ? \" hearing impaired \"\n : \" \") +\n \"subtitle: \" +\n props.row.filename\n },\n on: {\n click: function($event) {\n return _vm.pickSubtitle(props.row.id)\n }\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"images/download.png\",\n width: \"16\",\n height: \"16\"\n }\n })\n ]\n )\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.formattedRow[props.column.field]\n ) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 3665434881\n )\n })\n ],\n 1\n )\n : _vm._e()\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/subtitle-search.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/anidb-release-group-ui.vue?vue&type=style&index=0&id=662b9a4b&scoped=true&lang=css&": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-style-loader!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/anidb-release-group-ui.vue?vue&type=style&index=0&id=662b9a4b&scoped=true&lang=css& ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// style-loader: Adds some css to the DOM by adding a \").prop(\"disabled\",!0).appendTo(\"head\"),a.$breakpoints=h(\"\").prop(\"disabled\",!0).appendTo(\"head\"),a.isInitializing=!0,S.setUpColspan(t,o),S.setupSelector(t,o),o.columnSelector_mediaquery&&S.setupBreakpoints(t,o),a.isInitializing=!1,a.$container.length?S.updateCols(t,o):n&&console.warn(\"ColumnSelector >> container not found\"),t.$table.off(\"refreshColumnSelector\"+c).on(\"refreshColumnSelector\"+c,function(e,t,o){S.refreshColumns(this.config,t,o)}),n&&console.log(\"ColumnSelector >> Widget initialized\")):n&&console.error(\"ColumnSelector >> ERROR: Column Selector aborting, no input found in the layout! ***\")},refreshColumns:function(e,t,o){var l,a,n,c,r=e.selector,s=h.isArray(o||t),i=e.widgetOptions;if(null!=t&&r.$container.length){if(\"selectors\"===t&&(r.$container.empty(),S.setupSelector(e,i),S.setupBreakpoints(e,i),void 0===o&&null!==o&&(o=r.auto)),s)for(a=o||t,h.each(a,function(e,t){a[e]=parseInt(t,10)}),l=0;l tr > \",a=h(l+\"th,\"+l+\"td\"),n=[];for(t=0;t'),o=n.selector,l=n.widgetOptions,c.find(\".tablesorter-column-selector\").html(o.$container.html()).find(\"input\").each(function(){var e=h(this).attr(\"data-column\"),t=\"auto\"===e?o.auto:o.states[e];h(this).toggleClass(l.columnSelector_cssChecked,t).prop(\"checked\",t)}),o.$popup=c.on(\"change\",\"input\",function(){if(!o.isInitializing){if(!S.checkChange(n,this.checked))return this.checked=!this.checked,!1;a=h(this).toggleClass(l.columnSelector_cssChecked,this.checked).attr(\"data-column\"),o.$container.find('input[data-column=\"'+a+'\"]').prop(\"checked\",this.checked).trigger(\"change\")}}))}};f.window_resize=function(){f.timer_resize&&clearTimeout(f.timer_resize),f.timer_resize=setTimeout(function(){h(window).trigger(\"resizeEnd\")},250)},f.addWidget({id:\"columnSelector\",priority:10,options:{columnSelector_container:null,columnSelector_columns:{},columnSelector_saveColumns:!0,columnSelector_layout:'',columnSelector_layoutCustomizer:null,columnSelector_name:\"data-selector-name\",columnSelector_mediaquery:!0,columnSelector_mediaqueryName:\"Auto: \",columnSelector_mediaqueryState:!0,columnSelector_mediaqueryHidden:!1,columnSelector_maxVisible:null,columnSelector_minVisible:null,columnSelector_breakpoints:[\"20em\",\"30em\",\"40em\",\"50em\",\"60em\",\"70em\"],columnSelector_maxPriorities:6,columnSelector_priority:\"data-priority\",columnSelector_cssChecked:\"checked\",columnSelector_classHasSpan:\"hasSpan\",columnSelector_updated:\"columnUpdate\"},init:function(e,t,o,l){S.init(e,o,l)},remove:function(e,t,o,l){var a=t.selector;!l&&a&&(a&&a.$container.empty(),a.$popup&&a.$popup.empty(),a.$style.remove(),a.$breakpoints.remove(),h(t.namespace+\"columnselector\"+o.columnSelector_classHasSpan).removeClass(o.filter_filteredRow||\"filtered\"),t.$table.find(\"[data-col-span]\").each(function(e,t){var o=h(t);o.attr(\"colspan\",o.attr(\"data-col-span\"))}),t.$table.off(\"updateAll\"+c+\" update\"+c))}})}(jQuery);return jQuery;}));\n\n\n//# sourceURL=webpack:///./node_modules/tablesorter/dist/js/widgets/widget-columnSelector.min.js?"); - -/***/ }), - -/***/ "./node_modules/tablesorter/dist/js/widgets/widget-filter.min.js": -/*!***********************************************************************!*\ - !*** ./node_modules/tablesorter/dist/js/widgets/widget-filter.min.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(factory){if (true){!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));} else {}}(function(jQuery){\n\n/*! Widget: filter - updated 2018-03-18 (v2.30.0) */\n!function(M){\"use strict\";var I,D,z=M.tablesorter||{},_=z.css,o=z.keyCodes;M.extend(_,{filterRow:\"tablesorter-filter-row\",filter:\"tablesorter-filter\",filterDisabled:\"disabled\",filterRowHide:\"hideme\"}),M.extend(o,{backSpace:8,escape:27,space:32,left:37,down:40}),z.addWidget({id:\"filter\",priority:50,options:{filter_cellFilter:\"\",filter_childRows:!1,filter_childByColumn:!1,filter_childWithSibs:!0,filter_columnAnyMatch:!0,filter_columnFilters:!0,filter_cssFilter:\"\",filter_defaultAttrib:\"data-value\",filter_defaultFilter:{},filter_excludeFilter:{},filter_external:\"\",filter_filteredRow:\"filtered\",filter_filterLabel:'Filter \"{{label}}\" column by...',filter_formatter:null,filter_functions:null,filter_hideEmpty:!0,filter_hideFilters:!1,filter_ignoreCase:!0,filter_liveSearch:!0,filter_matchType:{input:\"exact\",select:\"exact\"},filter_onlyAvail:\"filter-onlyAvail\",filter_placeholder:{search:\"\",select:\"\"},filter_reset:null,filter_resetOnEsc:!0,filter_saveFilters:!1,filter_searchDelay:300,filter_searchFiltered:!0,filter_selectSource:null,filter_selectSourceSeparator:\"|\",filter_serversideFiltering:!1,filter_startsWith:!1,filter_useParsedData:!1},format:function(e,t,r){t.$table.hasClass(\"hasFilters\")||I.init(e,t,r)},remove:function(e,t,r,i){var l,a,n=t.$table,s=t.$tbodies,o=\"addRows updateCell update updateRows updateComplete appendCache filterReset filterAndSortReset filterFomatterUpdate filterEnd search stickyHeadersInit \".split(\" \").join(t.namespace+\"filter \");if(n.removeClass(\"hasFilters\").unbind(o.replace(z.regex.spaces,\" \")).find(\".\"+_.filterRow).remove(),r.filter_initialized=!1,!i){for(l=0;l=]/g,query:\"(q|query)\",wild01:/\\?/g,wild0More:/\\*/g,quote:/\\\"/g,isNeg1:/(>=?\\s*-\\d)/,isNeg2:/(<=?\\s*\\d)/},types:{or:function(e,t,r){if(!D.orTest.test(t.iFilter)&&!D.orSplit.test(t.filter)||D.regex.test(t.filter))return null;var i,l,a,n=M.extend({},t),s=t.filter.split(D.orSplit),o=t.iFilter.split(D.orSplit),c=s.length;for(i=0;i]=?/,gtTest:/>/,gteTest:/>=/,ltTest:/'+(a.data(\"placeholder\")||a.attr(\"data-placeholder\")||d.filter_placeholder.select||\"\")+\"\":\"\",0<=(l=s=i).indexOf(d.filter_selectSourceSeparator)&&(l=(s=i.split(d.filter_selectSourceSeparator))[1],s=s[0]),t+=\"\");f.$table.find(\"thead\").find(\"select.\"+_.filter+'[data-column=\"'+n+'\"]').append(t),(o=\"function\"==typeof(l=d.filter_selectSource)||z.getColumnData(r,l,n))&&I.buildSelect(f.table,n,\"\",!0,a.hasClass(d.filter_onlyAvail))}I.buildDefault(r,!0),I.bindSearch(r,f.$table.find(\".\"+_.filter),!0),d.filter_external&&I.bindSearch(r,d.filter_external),d.filter_hideFilters&&I.hideFilters(f),f.showProcessing&&(l=\"filterStart filterEnd \".split(\" \").join(f.namespace+\"filter-sp \"),f.$table.unbind(l.replace(z.regex.spaces,\" \")).bind(l,function(e,t){a=t?f.$table.find(\".\"+_.header).filter(\"[data-column]\").filter(function(){return\"\"!==t[M(this).data(\"column\")]}):\"\",z.isProcessing(r,\"filterStart\"===e.type,t?a:\"\")})),f.filteredRows=f.totalRows,l=\"tablesorter-initialized pagerBeforeInitialized \".split(\" \").join(f.namespace+\"filter \"),f.$table.unbind(l.replace(z.regex.spaces,\" \")).bind(l,function(){I.completeInit(this)}),f.pager&&f.pager.initialized&&!d.filter_initialized?(f.$table.triggerHandler(\"filterFomatterUpdate\"),setTimeout(function(){I.filterInitComplete(f)},100)):d.filter_initialized||I.completeInit(r)},completeInit:function(e){var t=e.config,r=t.widgetOptions,i=I.setDefaults(e,t,r)||[];i.length&&(t.delayInit&&\"\"===i.join(\"\")||z.setFilters(e,i,!0)),t.$table.triggerHandler(\"filterFomatterUpdate\"),setTimeout(function(){r.filter_initialized||I.filterInitComplete(t)},100)},formatterUpdated:function(e,t){var r=e&&e.closest(\"table\"),i=r.length&&r[0].config,l=i&&i.widgetOptions;l&&!l.filter_initialized&&(l.filter_formatterInit[t]=1)},filterInitComplete:function(e){function t(){l.filter_initialized=!0,e.lastSearch=e.$table.data(\"lastSearch\"),e.$table.triggerHandler(\"filterInit\",e),I.findRows(e.table,e.lastSearch||[]),z.debug(e,\"filter\")&&console.log(\"Filter >> Widget initialized\")}var r,i,l=e.widgetOptions,a=0;if(M.isEmptyObject(l.filter_formatter))t();else{for(i=l.filter_formatterInit.length,r=0;r';for(a=0;a\");for(t.$filters=M(g+=\"\").appendTo(t.$table.children(\"thead\").eq(0)).children(\"td\"),a=0;a\").appendTo(i):((f=z.getColumnData(e,r.filter_formatter,a))?(r.filter_formatterCount++,(g=f(i,a))&&0===g.length&&(g=i.children(\"input\")),g&&(0===g.parent().length||g.parent().length&&g.parent()[0]!==i[0])&&i.append(g)):g=M('').appendTo(i),g&&(d=n.data(\"placeholder\")||n.attr(\"data-placeholder\")||r.filter_placeholder.search||\"\",g.attr(\"placeholder\",d))),g&&(c=(M.isArray(r.filter_cssFilter)?void 0!==r.filter_cssFilter[a]&&r.filter_cssFilter[a]||\"\":r.filter_cssFilter)||\"\",g.addClass(_.filter+\" \"+c),d=(d=(c=r.filter_filterLabel).match(/{{([^}]+?)}}/g))||[\"{{label}}\"],M.each(d,function(e,t){var r=new RegExp(t,\"g\"),i=n.attr(\"data-\"+t.replace(/{{|}}/g,\"\")),l=void 0===i?n.text():i;c=c.replace(r,M.trim(l))}),g.attr({\"data-column\":i.attr(\"data-column\"),\"aria-label\":c}),o&&(g.attr(\"placeholder\",\"\").addClass(_.filterDisabled)[0].disabled=!0)))},bindSearch:function(l,e,t){if(l=M(l)[0],(e=M(e)).length){var r,a=l.config,n=a.widgetOptions,i=a.namespace+\"filter\",s=n.filter_$externalFilters;!0!==t&&(r=n.filter_anyColumnSelector+\",\"+n.filter_multipleColumnSelector,n.filter_$anyMatch=e.filter(r),s&&s.length?n.filter_$externalFilters=n.filter_$externalFilters.add(e):n.filter_$externalFilters=e,z.setFilters(l,a.$table.data(\"lastSearch\")||[],!1===t)),r=\"keypress keyup keydown search change input \".split(\" \").join(i+\" \"),e.attr(\"data-lastSearchTime\",(new Date).getTime()).unbind(r.replace(z.regex.spaces,\" \")).bind(\"keydown\"+i,function(e){if(e.which===o.escape&&!l.config.widgetOptions.filter_resetOnEsc)return!1}).bind(\"keyup\"+i,function(e){n=l.config.widgetOptions;var t=parseInt(M(this).attr(\"data-column\"),10),r=\"boolean\"==typeof n.filter_liveSearch?n.filter_liveSearch:z.getColumnData(l,n.filter_liveSearch,t);if(void 0===r&&(r=n.filter_liveSearch.fallback||!1),M(this).attr(\"data-lastSearchTime\",(new Date).getTime()),e.which===o.escape)this.value=n.filter_resetOnEsc?\"\":a.lastSearch[t];else{if(\"\"!==this.value&&(\"number\"==typeof r&&this.value.length=o.left&&e.which<=o.down)))return;if(!1===r&&\"\"!==this.value&&e.which!==o.enter)return}I.searching(l,!0,!0,t)}).bind(\"search change keypress input blur \".split(\" \").join(i+\" \"),function(e){var t=parseInt(M(this).attr(\"data-column\"),10),r=e.type,i=\"boolean\"==typeof n.filter_liveSearch?n.filter_liveSearch:z.getColumnData(l,n.filter_liveSearch,t);!l.config.widgetOptions.filter_initialized||e.which!==o.enter&&\"search\"!==r&&\"blur\"!==r&&(\"change\"!==r&&\"input\"!==r||!0!==i&&(!0===i||\"INPUT\"===e.target.nodeName)||this.value===a.lastSearch[t])||(e.preventDefault(),M(this).attr(\"data-lastSearchTime\",(new Date).getTime()),I.searching(l,\"keypress\"!==r||e.which===o.enter,!0,t))})}},searching:function(e,t,r,i){var l,a=e.config.widgetOptions;void 0===i?l=!1:void 0===(l=\"boolean\"==typeof a.filter_liveSearch?a.filter_liveSearch:z.getColumnData(e,a.filter_liveSearch,i))&&(l=a.filter_liveSearch.fallback||!1),clearTimeout(a.filter_searchTimer),void 0===t||!0===t?a.filter_searchTimer=setTimeout(function(){I.checkFilters(e,t,r)},l?a.filter_searchDelay:10):I.checkFilters(e,t,r)},equalFilters:function(e,t,r){var i,l=[],a=[],n=e.columns+1;for(t=M.isArray(t)?t:[],r=M.isArray(r)?r:[],i=0;i=e.columns&&(s=e.columns-1);n<=s;n++)u[u.length]=n;t=t.replace(l[f],\"\")}if(!r&&/,/.test(t))for(d=(o=t.split(/\\s*,\\s*/)).length,c=0;c> Starting filter widget search\",r),m=new Date),R.filteredRows=0,t=S||[],c=R.totalRows=0;c> Searching through \"+(w&&F> Completed search\"+z.benchmark(m)),T.filter_initialized&&(R.$table.triggerHandler(\"filterBeforeEnd\",R),R.$table.triggerHandler(\"filterEnd\",R)),setTimeout(function(){z.applyWidget(R.table)},0)}},getOptionSource:function(e,t,r){var i=(e=M(e)[0]).config,l=!1,a=i.widgetOptions.filter_selectSource,n=i.$table.data(\"lastSearch\")||[],s=\"function\"==typeof a||z.getColumnData(e,a,t);if(r&&\"\"!==n[t]&&(r=!1),!0===s)l=a(e,t,r);else{if(s instanceof M||\"string\"===M.type(s)&&0<=s.indexOf(\"\"))return s;if(M.isArray(s))l=s;else if(\"object\"===M.type(a)&&s&&null===(l=s(e,t,r)))return null}return!1===l&&(l=I.getOptions(e,t,r)),I.processOptions(e,t,l)},processOptions:function(l,a,r){if(!M.isArray(r))return!1;var n,e,t,i,s,o,c=(l=M(l)[0]).config,f=null!=a&&0<=a&&a'+(p.data(\"placeholder\")||p.attr(\"data-placeholder\")||h.filter_placeholder.select||\"\")+\"\",m=u.$table.find(\"thead\").find(\"select.\"+_.filter+'[data-column=\"'+t+'\"]').val();if(void 0!==r&&\"\"!==r||null!==(r=I.getOptionSource(e,t,l))){if(M.isArray(r)){for(a=0;a\"+d.text.replace(D.quote,\""\")+\"\"}else\"\"+d!=\"[object Object]\"&&(0<=(n=s=d=(\"\"+d).replace(D.quote,\""\")).indexOf(h.filter_selectSourceSeparator)&&(n=(o=s.split(h.filter_selectSourceSeparator))[0],s=o[1]),g+=\"\"!==d?\"\":\"\");r=[]}c=(u.$filters?u.$filters:u.$table.children(\"thead\")).find(\".\"+_.filter),h.filter_$externalFilters&&(c=c&&c.length?c.add(h.filter_$externalFilters):h.filter_$externalFilters),(f=c.filter('select[data-column=\"'+t+'\"]')).length&&(f[i?\"html\":\"append\"](g),M.isArray(r)||f.append(r).val(m),f.val(m))}}},buildDefault:function(e,t){var r,i,l,a=e.config,n=a.widgetOptions,s=a.columns;for(r=0;r> Saving last sort: \"+t.sortList+v.benchmark(a))):(e.addClass(\"hasSaveSort\"),n=\"\",v.storage&&(n=g(t),l&&console.log('saveSort >> Last sort loaded: \"'+n+'\"'+v.benchmark(a)),e.bind(\"saveSortReset\",function(t){t.stopPropagation(),v.storage(s,\"tablesorter-savesort\",\"\")})),r&&n&&0'),v=o.parent().addClass(S.css.stickyHide).css({position:g.length?\"absolute\":\"fixed\",padding:parseInt(o.parent().parent().css(\"padding-left\"),10),top:l+_,left:0,visibility:\"hidden\",zIndex:y.stickyHeaders_zIndex||2}),p=o.children(\"thead:first\"),m=\"\",f=function(e,s){var t,i,r,a,d,n=e.filter(\":visible\"),c=n.length;for(t=0;tt.top&&c thead:gt(0), tr.sticky-false\").hide(),o.find(\"> tbody, > tfoot\").remove(),o.find(\"caption\").toggle(y.stickyHeaders_includeCaption),a=p.children().children(),o.css({height:0,width:0,margin:0}),a.find(\".\"+S.css.resizer).remove(),k.addClass(\"hasStickyHeaders\").bind(\"pagerComplete\"+d,function(){C()}),S.bindEvents(e,p.children().children(\".\"+S.css.header)),y.stickyHeaders_appendTo?T(y.stickyHeaders_appendTo).append(v):k.after(v),t.onRenderHeader)for(i=(r=p.children(\"tr\").children()).length,s=0;s> Using\",g?u:\"cookies\"),m.parseJSON&&(n=g?m.parseJSON(y[u][t]||\"null\")||{}:(a=O.cookie.split(/[;\\s|=]/),0!==(s=m.inArray(t,a)+1)&&m.parseJSON(a[s]||\"null\")||{})),void 0===r||!y.JSON||!JSON.hasOwnProperty(\"stringify\"))return n&&n[f]?n[f][_]:\"\";n[f]||(n[f]={}),n[f][_]=r,g?y[u][t]=JSON.stringify(n):((i=new Date).setTime(i.getTime()+31536e6),O.cookie=t+\"=\"+JSON.stringify(n).replace(/\\\"/g,'\"')+\"; expires=\"+i.toGMTString()+\"; path=/\")}}(jQuery,window,document);return jQuery;}));\n\n\n//# sourceURL=webpack:///./node_modules/tablesorter/dist/js/widgets/widget-storage.min.js?"); - -/***/ }), - -/***/ "./node_modules/timers-browserify/main.js": -/*!************************************************!*\ - !*** ./node_modules/timers-browserify/main.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\n__webpack_require__(/*! setimmediate */ \"./node_modules/setimmediate/setImmediate.js\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/timers-browserify/main.js?"); - -/***/ }), - -/***/ "./node_modules/underscore.deep/underscore.deep.js": -/*!*********************************************************!*\ - !*** ./node_modules/underscore.deep/underscore.deep.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Generated by CoffeeScript 1.6.3\nvar deepClone, deepDelete, deepExtend, deepFromFlat, deepKeys, deepMapValues, isPlainObject, mapKeys, mapValues, _;\n\n_ = __webpack_require__(/*! underscore */ \"./node_modules/underscore/underscore.js\");\n\nmodule.exports = {\n deepKeys: deepKeys = function(obj) {\n if (!isPlainObject(obj)) {\n throw new Error(\"deepKeys must be called on an object, not '\" + obj + \"'\");\n }\n return _.flatten(_.map(obj, function(v, k) {\n if (isPlainObject(v) && !_.isEmpty(v)) {\n return _.map(deepKeys(v), function(subkey) {\n return \"\" + k + \".\" + subkey;\n });\n } else {\n return [k];\n }\n }));\n },\n deepClone: deepClone = function(object) {\n var type, _i, _len, _ref;\n if (object == null) {\n return object;\n }\n _ref = [Date, Number, String, Boolean];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n type = _ref[_i];\n if (object instanceof type) {\n return new type(object);\n }\n }\n if (_(object).isArray()) {\n return _(object).map(deepClone);\n }\n if (!_(object).isObject()) {\n return object;\n }\n if (object.nodeType && _(object.cloneNode).isFunction()) {\n return object.cloneNode(true);\n }\n if (object.constructor !== {}.constructor) {\n return object;\n }\n return mapValues(object, deepClone);\n },\n deepHas: function(obj, keys) {\n var helper;\n helper = function(obj, keys) {\n if ((keys.length === 0) || (!_.isObject(obj))) {\n return false;\n } else if (keys.length === 1) {\n return _.first(keys) in obj;\n } else {\n return helper(obj[_.first(keys)], _.rest(keys));\n }\n };\n return helper(obj, _.isArray(keys) ? keys : keys.split('.'));\n },\n deepOmit: function(obj, keys) {\n var deepOmitOne;\n if (!isPlainObject(obj)) {\n throw new Error(\"deepOmit must be called on an object, not '\" + obj + \"'\");\n }\n deepOmitOne = function(obj, key) {\n var helper;\n helper = function(obj, key_arr) {\n switch (false) {\n case !_.isEmpty(key_arr):\n return obj;\n case key_arr.length !== 1:\n return _.omit(obj, _.first(key_arr));\n case !!isPlainObject(obj[_.first(key_arr)]):\n return obj;\n default:\n return _.extend({}, obj, _.object([_.first(key_arr)], [helper(obj[_.first(key_arr)], _.rest(key_arr))]));\n }\n };\n return helper(obj, key.split('.'));\n };\n return _.reduce(keys, deepOmitOne, obj);\n },\n deepPick: (function() {\n var deepGet;\n deepGet = function(obj, key) {\n var helper;\n helper = function(obj, key_arr) {\n if (key_arr.length === 1) {\n return obj != null ? obj[_.first(key_arr)] : void 0;\n } else {\n return helper(obj[_.first(key_arr)], _.rest(key_arr));\n }\n };\n return helper(obj, key.split('.'));\n };\n return function(obj, keys) {\n var flat_new_obj;\n if (!isPlainObject(obj)) {\n throw new Error(\"deepPick must be called on an object, not '\" + obj + \"'\");\n }\n flat_new_obj = _.reduce(keys, function(new_obj, key) {\n var val;\n val = deepGet(obj, key);\n if (val !== void 0) {\n new_obj[key] = val;\n }\n return new_obj;\n }, {});\n return deepFromFlat(flat_new_obj);\n };\n })(),\n deepDelete: deepDelete = function(obj, key) {\n if ((key == null) || (obj == null)) {\n return;\n }\n if (!_(key).isArray()) {\n key = key.split('.');\n }\n if (key.length === 1) {\n delete obj[key];\n return;\n }\n return deepDelete(obj[key[0]], key.slice(1, key.length));\n },\n deepExtend: deepExtend = function(obj, ext, mutate) {\n return _.reduce(ext, function(acc, val, key) {\n acc[key] = (key in obj) && isPlainObject(obj[key]) && isPlainObject(val) ? deepExtend(obj[key], val) : val;\n return acc;\n }, mutate ? obj : _.clone(obj));\n },\n isPlainObject: isPlainObject = function(value) {\n return (value != null ? value.constructor : void 0) === {}.constructor;\n },\n deepToFlat: function(obj) {\n var recurse, res;\n res = {};\n recurse = function(obj, current) {\n var key, newKey, value, _results;\n _results = [];\n for (key in obj) {\n value = obj[key];\n newKey = (current ? current + \".\" + key : key);\n if (value && isPlainObject(value)) {\n _results.push(recurse(value, newKey));\n } else {\n _results.push(res[newKey] = value);\n }\n }\n return _results;\n };\n recurse(obj);\n return res;\n },\n deepFromFlat: deepFromFlat = function(o) {\n var k, key, oo, part, parts, t;\n oo = {};\n t = void 0;\n parts = void 0;\n part = void 0;\n for (k in o) {\n t = oo;\n parts = k.split(\".\");\n key = parts.pop();\n while (parts.length) {\n part = parts.shift();\n t = t[part] = t[part] || {};\n }\n t[key] = o[k];\n }\n return oo;\n },\n mapValues: mapValues = function(obj, f_val) {\n if (!isPlainObject(obj)) {\n throw new Error(\"mapValues must be called on an object, not '\" + obj + \"'\");\n }\n return _.object(_.keys(obj), _.map(obj, f_val));\n },\n deepMapValues: deepMapValues = function(obj, f) {\n if (!isPlainObject(obj)) {\n throw new Error(\"deepMapValues must be called on an object, not '\" + obj + \"'\");\n }\n return mapValues(obj, function(v, k) {\n if (isPlainObject(v)) {\n return deepMapValues(v, function(subv, subk) {\n return f(subv, \"\" + k + \".\" + subk);\n });\n } else {\n return f(v, k);\n }\n });\n },\n mapKeys: mapKeys = function(obj, f_val) {\n if (!isPlainObject(obj)) {\n throw new Error(\"mapKeys must be called on an object, not '\" + obj + \"'\");\n }\n return _.object(_.map(obj, function(v, k) {\n return f_val(k, v);\n }), _.values(obj));\n }\n};\n\n\n//# sourceURL=webpack:///./node_modules/underscore.deep/underscore.deep.js?"); - -/***/ }), - -/***/ "./node_modules/underscore/underscore.js": -/*!***********************************************!*\ - !*** ./node_modules/underscore/underscore.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Underscore.js 1.7.0\n// http://underscorejs.org\n// (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Underscore may be freely distributed under the MIT license.\n\n(function() {\n\n // Baseline setup\n // --------------\n\n // Establish the root object, `window` in the browser, or `exports` on the server.\n var root = this;\n\n // Save the previous value of the `_` variable.\n var previousUnderscore = root._;\n\n // Save bytes in the minified (but not gzipped) version:\n var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\n\n // Create quick reference variables for speed access to core prototypes.\n var\n push = ArrayProto.push,\n slice = ArrayProto.slice,\n concat = ArrayProto.concat,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n // All **ECMAScript 5** native function implementations that we hope to use\n // are declared here.\n var\n nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeBind = FuncProto.bind;\n\n // Create a safe reference to the Underscore object for use below.\n var _ = function(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n };\n\n // Export the Underscore object for **Node.js**, with\n // backwards-compatibility for the old `require()` API. If we're in\n // the browser, add `_` as a global object.\n if (true) {\n if ( true && module.exports) {\n exports = module.exports = _;\n }\n exports._ = _;\n } else {}\n\n // Current version.\n _.VERSION = '1.7.0';\n\n // Internal function that returns an efficient (for current engines) version\n // of the passed-in callback, to be repeatedly applied in other Underscore\n // functions.\n var createCallback = function(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n case 2: return function(value, other) {\n return func.call(context, value, other);\n };\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n };\n\n // A mostly-internal function to generate callbacks that can be applied\n // to each element in a collection, returning the desired result — either\n // identity, an arbitrary callback, a property matcher, or a property accessor.\n _.iteratee = function(value, context, argCount) {\n if (value == null) return _.identity;\n if (_.isFunction(value)) return createCallback(value, context, argCount);\n if (_.isObject(value)) return _.matches(value);\n return _.property(value);\n };\n\n // Collection Functions\n // --------------------\n\n // The cornerstone, an `each` implementation, aka `forEach`.\n // Handles raw objects in addition to array-likes. Treats all\n // sparse array-likes as if they were dense.\n _.each = _.forEach = function(obj, iteratee, context) {\n if (obj == null) return obj;\n iteratee = createCallback(iteratee, context);\n var i, length = obj.length;\n if (length === +length) {\n for (i = 0; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var keys = _.keys(obj);\n for (i = 0, length = keys.length; i < length; i++) {\n iteratee(obj[keys[i]], keys[i], obj);\n }\n }\n return obj;\n };\n\n // Return the results of applying the iteratee to each element.\n _.map = _.collect = function(obj, iteratee, context) {\n if (obj == null) return [];\n iteratee = _.iteratee(iteratee, context);\n var keys = obj.length !== +obj.length && _.keys(obj),\n length = (keys || obj).length,\n results = Array(length),\n currentKey;\n for (var index = 0; index < length; index++) {\n currentKey = keys ? keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n var reduceError = 'Reduce of empty array with no initial value';\n\n // **Reduce** builds up a single result from a list of values, aka `inject`,\n // or `foldl`.\n _.reduce = _.foldl = _.inject = function(obj, iteratee, memo, context) {\n if (obj == null) obj = [];\n iteratee = createCallback(iteratee, context, 4);\n var keys = obj.length !== +obj.length && _.keys(obj),\n length = (keys || obj).length,\n index = 0, currentKey;\n if (arguments.length < 3) {\n if (!length) throw new TypeError(reduceError);\n memo = obj[keys ? keys[index++] : index++];\n }\n for (; index < length; index++) {\n currentKey = keys ? keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n // The right-associative version of reduce, also known as `foldr`.\n _.reduceRight = _.foldr = function(obj, iteratee, memo, context) {\n if (obj == null) obj = [];\n iteratee = createCallback(iteratee, context, 4);\n var keys = obj.length !== + obj.length && _.keys(obj),\n index = (keys || obj).length,\n currentKey;\n if (arguments.length < 3) {\n if (!index) throw new TypeError(reduceError);\n memo = obj[keys ? keys[--index] : --index];\n }\n while (index--) {\n currentKey = keys ? keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n // Return the first value which passes a truth test. Aliased as `detect`.\n _.find = _.detect = function(obj, predicate, context) {\n var result;\n predicate = _.iteratee(predicate, context);\n _.some(obj, function(value, index, list) {\n if (predicate(value, index, list)) {\n result = value;\n return true;\n }\n });\n return result;\n };\n\n // Return all the elements that pass a truth test.\n // Aliased as `select`.\n _.filter = _.select = function(obj, predicate, context) {\n var results = [];\n if (obj == null) return results;\n predicate = _.iteratee(predicate, context);\n _.each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n };\n\n // Return all the elements for which a truth test fails.\n _.reject = function(obj, predicate, context) {\n return _.filter(obj, _.negate(_.iteratee(predicate)), context);\n };\n\n // Determine whether all of the elements match a truth test.\n // Aliased as `all`.\n _.every = _.all = function(obj, predicate, context) {\n if (obj == null) return true;\n predicate = _.iteratee(predicate, context);\n var keys = obj.length !== +obj.length && _.keys(obj),\n length = (keys || obj).length,\n index, currentKey;\n for (index = 0; index < length; index++) {\n currentKey = keys ? keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n };\n\n // Determine if at least one element in the object matches a truth test.\n // Aliased as `any`.\n _.some = _.any = function(obj, predicate, context) {\n if (obj == null) return false;\n predicate = _.iteratee(predicate, context);\n var keys = obj.length !== +obj.length && _.keys(obj),\n length = (keys || obj).length,\n index, currentKey;\n for (index = 0; index < length; index++) {\n currentKey = keys ? keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n };\n\n // Determine if the array or object contains a given value (using `===`).\n // Aliased as `include`.\n _.contains = _.include = function(obj, target) {\n if (obj == null) return false;\n if (obj.length !== +obj.length) obj = _.values(obj);\n return _.indexOf(obj, target) >= 0;\n };\n\n // Invoke a method (with arguments) on every item in a collection.\n _.invoke = function(obj, method) {\n var args = slice.call(arguments, 2);\n var isFunc = _.isFunction(method);\n return _.map(obj, function(value) {\n return (isFunc ? method : value[method]).apply(value, args);\n });\n };\n\n // Convenience version of a common use case of `map`: fetching a property.\n _.pluck = function(obj, key) {\n return _.map(obj, _.property(key));\n };\n\n // Convenience version of a common use case of `filter`: selecting only objects\n // containing specific `key:value` pairs.\n _.where = function(obj, attrs) {\n return _.filter(obj, _.matches(attrs));\n };\n\n // Convenience version of a common use case of `find`: getting the first object\n // containing specific `key:value` pairs.\n _.findWhere = function(obj, attrs) {\n return _.find(obj, _.matches(attrs));\n };\n\n // Return the maximum element (or element-based computation).\n _.max = function(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null && obj != null) {\n obj = obj.length === +obj.length ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value > result) {\n result = value;\n }\n }\n } else {\n iteratee = _.iteratee(iteratee, context);\n _.each(obj, function(value, index, list) {\n computed = iteratee(value, index, list);\n if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n result = value;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Return the minimum element (or element-based computation).\n _.min = function(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null && obj != null) {\n obj = obj.length === +obj.length ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value < result) {\n result = value;\n }\n }\n } else {\n iteratee = _.iteratee(iteratee, context);\n _.each(obj, function(value, index, list) {\n computed = iteratee(value, index, list);\n if (computed < lastComputed || computed === Infinity && result === Infinity) {\n result = value;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Shuffle a collection, using the modern version of the\n // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n _.shuffle = function(obj) {\n var set = obj && obj.length === +obj.length ? obj : _.values(obj);\n var length = set.length;\n var shuffled = Array(length);\n for (var index = 0, rand; index < length; index++) {\n rand = _.random(0, index);\n if (rand !== index) shuffled[index] = shuffled[rand];\n shuffled[rand] = set[index];\n }\n return shuffled;\n };\n\n // Sample **n** random values from a collection.\n // If **n** is not specified, returns a single random element.\n // The internal `guard` argument allows it to work with `map`.\n _.sample = function(obj, n, guard) {\n if (n == null || guard) {\n if (obj.length !== +obj.length) obj = _.values(obj);\n return obj[_.random(obj.length - 1)];\n }\n return _.shuffle(obj).slice(0, Math.max(0, n));\n };\n\n // Sort the object's values by a criterion produced by an iteratee.\n _.sortBy = function(obj, iteratee, context) {\n iteratee = _.iteratee(iteratee, context);\n return _.pluck(_.map(obj, function(value, index, list) {\n return {\n value: value,\n index: index,\n criteria: iteratee(value, index, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n };\n\n // An internal function used for aggregate \"group by\" operations.\n var group = function(behavior) {\n return function(obj, iteratee, context) {\n var result = {};\n iteratee = _.iteratee(iteratee, context);\n _.each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n };\n\n // Groups the object's values by a criterion. Pass either a string attribute\n // to group by, or a function that returns the criterion.\n _.groupBy = group(function(result, value, key) {\n if (_.has(result, key)) result[key].push(value); else result[key] = [value];\n });\n\n // Indexes the object's values by a criterion, similar to `groupBy`, but for\n // when you know that your index values will be unique.\n _.indexBy = group(function(result, value, key) {\n result[key] = value;\n });\n\n // Counts instances of an object that group by a certain criterion. Pass\n // either a string attribute to count by, or a function that returns the\n // criterion.\n _.countBy = group(function(result, value, key) {\n if (_.has(result, key)) result[key]++; else result[key] = 1;\n });\n\n // Use a comparator function to figure out the smallest index at which\n // an object should be inserted so as to maintain order. Uses binary search.\n _.sortedIndex = function(array, obj, iteratee, context) {\n iteratee = _.iteratee(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = array.length;\n while (low < high) {\n var mid = low + high >>> 1;\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n };\n\n // Safely create a real, live array from anything iterable.\n _.toArray = function(obj) {\n if (!obj) return [];\n if (_.isArray(obj)) return slice.call(obj);\n if (obj.length === +obj.length) return _.map(obj, _.identity);\n return _.values(obj);\n };\n\n // Return the number of elements in an object.\n _.size = function(obj) {\n if (obj == null) return 0;\n return obj.length === +obj.length ? obj.length : _.keys(obj).length;\n };\n\n // Split a collection into two arrays: one whose elements all satisfy the given\n // predicate, and one whose elements all do not satisfy the predicate.\n _.partition = function(obj, predicate, context) {\n predicate = _.iteratee(predicate, context);\n var pass = [], fail = [];\n _.each(obj, function(value, key, obj) {\n (predicate(value, key, obj) ? pass : fail).push(value);\n });\n return [pass, fail];\n };\n\n // Array Functions\n // ---------------\n\n // Get the first element of an array. Passing **n** will return the first N\n // values in the array. Aliased as `head` and `take`. The **guard** check\n // allows it to work with `_.map`.\n _.first = _.head = _.take = function(array, n, guard) {\n if (array == null) return void 0;\n if (n == null || guard) return array[0];\n if (n < 0) return [];\n return slice.call(array, 0, n);\n };\n\n // Returns everything but the last entry of the array. Especially useful on\n // the arguments object. Passing **n** will return all the values in\n // the array, excluding the last N. The **guard** check allows it to work with\n // `_.map`.\n _.initial = function(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n };\n\n // Get the last element of an array. Passing **n** will return the last N\n // values in the array. The **guard** check allows it to work with `_.map`.\n _.last = function(array, n, guard) {\n if (array == null) return void 0;\n if (n == null || guard) return array[array.length - 1];\n return slice.call(array, Math.max(array.length - n, 0));\n };\n\n // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n // Especially useful on the arguments object. Passing an **n** will return\n // the rest N values in the array. The **guard**\n // check allows it to work with `_.map`.\n _.rest = _.tail = _.drop = function(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n };\n\n // Trim out all falsy values from an array.\n _.compact = function(array) {\n return _.filter(array, _.identity);\n };\n\n // Internal implementation of a recursive `flatten` function.\n var flatten = function(input, shallow, strict, output) {\n if (shallow && _.every(input, _.isArray)) {\n return concat.apply(output, input);\n }\n for (var i = 0, length = input.length; i < length; i++) {\n var value = input[i];\n if (!_.isArray(value) && !_.isArguments(value)) {\n if (!strict) output.push(value);\n } else if (shallow) {\n push.apply(output, value);\n } else {\n flatten(value, shallow, strict, output);\n }\n }\n return output;\n };\n\n // Flatten out an array, either recursively (by default), or just one level.\n _.flatten = function(array, shallow) {\n return flatten(array, shallow, false, []);\n };\n\n // Return a version of the array that does not contain the specified value(s).\n _.without = function(array) {\n return _.difference(array, slice.call(arguments, 1));\n };\n\n // Produce a duplicate-free version of the array. If the array has already\n // been sorted, you have the option of using a faster algorithm.\n // Aliased as `unique`.\n _.uniq = _.unique = function(array, isSorted, iteratee, context) {\n if (array == null) return [];\n if (!_.isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = _.iteratee(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = array.length; i < length; i++) {\n var value = array[i];\n if (isSorted) {\n if (!i || seen !== value) result.push(value);\n seen = value;\n } else if (iteratee) {\n var computed = iteratee(value, i, array);\n if (_.indexOf(seen, computed) < 0) {\n seen.push(computed);\n result.push(value);\n }\n } else if (_.indexOf(result, value) < 0) {\n result.push(value);\n }\n }\n return result;\n };\n\n // Produce an array that contains the union: each distinct element from all of\n // the passed-in arrays.\n _.union = function() {\n return _.uniq(flatten(arguments, true, true, []));\n };\n\n // Produce an array that contains every item shared between all the\n // passed-in arrays.\n _.intersection = function(array) {\n if (array == null) return [];\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = array.length; i < length; i++) {\n var item = array[i];\n if (_.contains(result, item)) continue;\n for (var j = 1; j < argsLength; j++) {\n if (!_.contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n };\n\n // Take the difference between one array and a number of other arrays.\n // Only the elements present in just the first array will remain.\n _.difference = function(array) {\n var rest = flatten(slice.call(arguments, 1), true, true, []);\n return _.filter(array, function(value){\n return !_.contains(rest, value);\n });\n };\n\n // Zip together multiple lists into a single array -- elements that share\n // an index go together.\n _.zip = function(array) {\n if (array == null) return [];\n var length = _.max(arguments, 'length').length;\n var results = Array(length);\n for (var i = 0; i < length; i++) {\n results[i] = _.pluck(arguments, i);\n }\n return results;\n };\n\n // Converts lists into objects. Pass either a single array of `[key, value]`\n // pairs, or two parallel arrays of the same length -- one of keys, and one of\n // the corresponding values.\n _.object = function(list, values) {\n if (list == null) return {};\n var result = {};\n for (var i = 0, length = list.length; i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n };\n\n // Return the position of the first occurrence of an item in an array,\n // or -1 if the item is not included in the array.\n // If the array is large and already in sort order, pass `true`\n // for **isSorted** to use binary search.\n _.indexOf = function(array, item, isSorted) {\n if (array == null) return -1;\n var i = 0, length = array.length;\n if (isSorted) {\n if (typeof isSorted == 'number') {\n i = isSorted < 0 ? Math.max(0, length + isSorted) : isSorted;\n } else {\n i = _.sortedIndex(array, item);\n return array[i] === item ? i : -1;\n }\n }\n for (; i < length; i++) if (array[i] === item) return i;\n return -1;\n };\n\n _.lastIndexOf = function(array, item, from) {\n if (array == null) return -1;\n var idx = array.length;\n if (typeof from == 'number') {\n idx = from < 0 ? idx + from + 1 : Math.min(idx, from + 1);\n }\n while (--idx >= 0) if (array[idx] === item) return idx;\n return -1;\n };\n\n // Generate an integer Array containing an arithmetic progression. A port of\n // the native Python `range()` function. See\n // [the Python documentation](http://docs.python.org/library/functions.html#range).\n _.range = function(start, stop, step) {\n if (arguments.length <= 1) {\n stop = start || 0;\n start = 0;\n }\n step = step || 1;\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n };\n\n // Function (ahem) Functions\n // ------------------\n\n // Reusable constructor function for prototype setting.\n var Ctor = function(){};\n\n // Create a function bound to a given object (assigning `this`, and arguments,\n // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n // available.\n _.bind = function(func, context) {\n var args, bound;\n if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\n if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n args = slice.call(arguments, 2);\n bound = function() {\n if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments)));\n Ctor.prototype = func.prototype;\n var self = new Ctor;\n Ctor.prototype = null;\n var result = func.apply(self, args.concat(slice.call(arguments)));\n if (_.isObject(result)) return result;\n return self;\n };\n return bound;\n };\n\n // Partially apply a function by creating a version that has had some of its\n // arguments pre-filled, without changing its dynamic `this` context. _ acts\n // as a placeholder, allowing any combination of arguments to be pre-filled.\n _.partial = function(func) {\n var boundArgs = slice.call(arguments, 1);\n return function() {\n var position = 0;\n var args = boundArgs.slice();\n for (var i = 0, length = args.length; i < length; i++) {\n if (args[i] === _) args[i] = arguments[position++];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return func.apply(this, args);\n };\n };\n\n // Bind a number of an object's methods to that object. Remaining arguments\n // are the method names to be bound. Useful for ensuring that all callbacks\n // defined on an object belong to it.\n _.bindAll = function(obj) {\n var i, length = arguments.length, key;\n if (length <= 1) throw new Error('bindAll must be passed function names');\n for (i = 1; i < length; i++) {\n key = arguments[i];\n obj[key] = _.bind(obj[key], obj);\n }\n return obj;\n };\n\n // Memoize an expensive function by storing its results.\n _.memoize = function(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = hasher ? hasher.apply(this, arguments) : key;\n if (!_.has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n };\n\n // Delays a function for the given number of milliseconds, and then calls\n // it with the arguments supplied.\n _.delay = function(func, wait) {\n var args = slice.call(arguments, 2);\n return setTimeout(function(){\n return func.apply(null, args);\n }, wait);\n };\n\n // Defers a function, scheduling it to run after the current call stack has\n // cleared.\n _.defer = function(func) {\n return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));\n };\n\n // Returns a function, that, when invoked, will only be triggered at most once\n // during a given window of time. Normally, the throttled function will run\n // as much as it can, without ever going more than once per `wait` duration;\n // but if you'd like to disable the execution on the leading edge, pass\n // `{leading: false}`. To disable execution on the trailing edge, ditto.\n _.throttle = function(func, wait, options) {\n var context, args, result;\n var timeout = null;\n var previous = 0;\n if (!options) options = {};\n var later = function() {\n previous = options.leading === false ? 0 : _.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n return function() {\n var now = _.now();\n if (!previous && options.leading === false) previous = now;\n var remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n clearTimeout(timeout);\n timeout = null;\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n };\n\n // Returns a function, that, as long as it continues to be invoked, will not\n // be triggered. The function will be called after it stops being called for\n // N milliseconds. If `immediate` is passed, trigger the function on the\n // leading edge, instead of the trailing.\n _.debounce = function(func, wait, immediate) {\n var timeout, args, context, timestamp, result;\n\n var later = function() {\n var last = _.now() - timestamp;\n\n if (last < wait && last > 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n }\n }\n };\n\n return function() {\n context = this;\n args = arguments;\n timestamp = _.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n };\n\n // Returns the first function passed as an argument to the second,\n // allowing you to adjust arguments, run code before and after, and\n // conditionally execute the original function.\n _.wrap = function(func, wrapper) {\n return _.partial(wrapper, func);\n };\n\n // Returns a negated version of the passed-in predicate.\n _.negate = function(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n };\n\n // Returns a function that is the composition of a list of functions, each\n // consuming the return value of the function that follows.\n _.compose = function() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n };\n\n // Returns a function that will only be executed after being called N times.\n _.after = function(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n };\n\n // Returns a function that will only be executed before being called N times.\n _.before = function(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n } else {\n func = null;\n }\n return memo;\n };\n };\n\n // Returns a function that will be executed at most one time, no matter how\n // often you call it. Useful for lazy initialization.\n _.once = _.partial(_.before, 2);\n\n // Object Functions\n // ----------------\n\n // Retrieve the names of an object's properties.\n // Delegates to **ECMAScript 5**'s native `Object.keys`\n _.keys = function(obj) {\n if (!_.isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (_.has(obj, key)) keys.push(key);\n return keys;\n };\n\n // Retrieve the values of an object's properties.\n _.values = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[keys[i]];\n }\n return values;\n };\n\n // Convert an object into a list of `[key, value]` pairs.\n _.pairs = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [keys[i], obj[keys[i]]];\n }\n return pairs;\n };\n\n // Invert the keys and values of an object. The values must be serializable.\n _.invert = function(obj) {\n var result = {};\n var keys = _.keys(obj);\n for (var i = 0, length = keys.length; i < length; i++) {\n result[obj[keys[i]]] = keys[i];\n }\n return result;\n };\n\n // Return a sorted list of the function names available on the object.\n // Aliased as `methods`\n _.functions = _.methods = function(obj) {\n var names = [];\n for (var key in obj) {\n if (_.isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n };\n\n // Extend a given object with all the properties in passed-in object(s).\n _.extend = function(obj) {\n if (!_.isObject(obj)) return obj;\n var source, prop;\n for (var i = 1, length = arguments.length; i < length; i++) {\n source = arguments[i];\n for (prop in source) {\n if (hasOwnProperty.call(source, prop)) {\n obj[prop] = source[prop];\n }\n }\n }\n return obj;\n };\n\n // Return a copy of the object only containing the whitelisted properties.\n _.pick = function(obj, iteratee, context) {\n var result = {}, key;\n if (obj == null) return result;\n if (_.isFunction(iteratee)) {\n iteratee = createCallback(iteratee, context);\n for (key in obj) {\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n } else {\n var keys = concat.apply([], slice.call(arguments, 1));\n obj = new Object(obj);\n for (var i = 0, length = keys.length; i < length; i++) {\n key = keys[i];\n if (key in obj) result[key] = obj[key];\n }\n }\n return result;\n };\n\n // Return a copy of the object without the blacklisted properties.\n _.omit = function(obj, iteratee, context) {\n if (_.isFunction(iteratee)) {\n iteratee = _.negate(iteratee);\n } else {\n var keys = _.map(concat.apply([], slice.call(arguments, 1)), String);\n iteratee = function(value, key) {\n return !_.contains(keys, key);\n };\n }\n return _.pick(obj, iteratee, context);\n };\n\n // Fill in a given object with default properties.\n _.defaults = function(obj) {\n if (!_.isObject(obj)) return obj;\n for (var i = 1, length = arguments.length; i < length; i++) {\n var source = arguments[i];\n for (var prop in source) {\n if (obj[prop] === void 0) obj[prop] = source[prop];\n }\n }\n return obj;\n };\n\n // Create a (shallow-cloned) duplicate of an object.\n _.clone = function(obj) {\n if (!_.isObject(obj)) return obj;\n return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n };\n\n // Invokes interceptor with the obj, and then returns obj.\n // The primary purpose of this method is to \"tap into\" a method chain, in\n // order to perform operations on intermediate results within the chain.\n _.tap = function(obj, interceptor) {\n interceptor(obj);\n return obj;\n };\n\n // Internal recursive comparison function for `isEqual`.\n var eq = function(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // A strict comparison is necessary because `null == undefined`.\n if (a == null || b == null) return a === b;\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n }\n if (typeof a != 'object' || typeof b != 'object') return false;\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n // Objects with different constructors are not equivalent, but `Object`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (\n aCtor !== bCtor &&\n // Handle Object.create(x) cases\n 'constructor' in a && 'constructor' in b &&\n !(_.isFunction(aCtor) && aCtor instanceof aCtor &&\n _.isFunction(bCtor) && bCtor instanceof bCtor)\n ) {\n return false;\n }\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n var size, result;\n // Recursively compare objects and arrays.\n if (className === '[object Array]') {\n // Compare array lengths to determine if a deep comparison is necessary.\n size = a.length;\n result = size === b.length;\n if (result) {\n // Deep compare the contents, ignoring non-numeric properties.\n while (size--) {\n if (!(result = eq(a[size], b[size], aStack, bStack))) break;\n }\n }\n } else {\n // Deep compare objects.\n var keys = _.keys(a), key;\n size = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n result = _.keys(b).length === size;\n if (result) {\n while (size--) {\n // Deep compare each member\n key = keys[size];\n if (!(result = _.has(b, key) && eq(a[key], b[key], aStack, bStack))) break;\n }\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return result;\n };\n\n // Perform a deep comparison to check if two objects are equal.\n _.isEqual = function(a, b) {\n return eq(a, b, [], []);\n };\n\n // Is a given array, string, or object empty?\n // An \"empty\" object has no enumerable own-properties.\n _.isEmpty = function(obj) {\n if (obj == null) return true;\n if (_.isArray(obj) || _.isString(obj) || _.isArguments(obj)) return obj.length === 0;\n for (var key in obj) if (_.has(obj, key)) return false;\n return true;\n };\n\n // Is a given value a DOM element?\n _.isElement = function(obj) {\n return !!(obj && obj.nodeType === 1);\n };\n\n // Is a given value an array?\n // Delegates to ECMA5's native Array.isArray\n _.isArray = nativeIsArray || function(obj) {\n return toString.call(obj) === '[object Array]';\n };\n\n // Is a given variable an object?\n _.isObject = function(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object' && !!obj;\n };\n\n // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp.\n _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) {\n _['is' + name] = function(obj) {\n return toString.call(obj) === '[object ' + name + ']';\n };\n });\n\n // Define a fallback version of the method in browsers (ahem, IE), where\n // there isn't any inspectable \"Arguments\" type.\n if (!_.isArguments(arguments)) {\n _.isArguments = function(obj) {\n return _.has(obj, 'callee');\n };\n }\n\n // Optimize `isFunction` if appropriate. Work around an IE 11 bug.\n if (true) {\n _.isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n }\n\n // Is a given object a finite number?\n _.isFinite = function(obj) {\n return isFinite(obj) && !isNaN(parseFloat(obj));\n };\n\n // Is the given value `NaN`? (NaN is the only number which does not equal itself).\n _.isNaN = function(obj) {\n return _.isNumber(obj) && obj !== +obj;\n };\n\n // Is a given value a boolean?\n _.isBoolean = function(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n };\n\n // Is a given value equal to null?\n _.isNull = function(obj) {\n return obj === null;\n };\n\n // Is a given variable undefined?\n _.isUndefined = function(obj) {\n return obj === void 0;\n };\n\n // Shortcut function for checking if an object has a given property directly\n // on itself (in other words, not on a prototype).\n _.has = function(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n };\n\n // Utility Functions\n // -----------------\n\n // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n // previous owner. Returns a reference to the Underscore object.\n _.noConflict = function() {\n root._ = previousUnderscore;\n return this;\n };\n\n // Keep the identity function around for default iteratees.\n _.identity = function(value) {\n return value;\n };\n\n _.constant = function(value) {\n return function() {\n return value;\n };\n };\n\n _.noop = function(){};\n\n _.property = function(key) {\n return function(obj) {\n return obj[key];\n };\n };\n\n // Returns a predicate for checking whether an object has a given set of `key:value` pairs.\n _.matches = function(attrs) {\n var pairs = _.pairs(attrs), length = pairs.length;\n return function(obj) {\n if (obj == null) return !length;\n obj = new Object(obj);\n for (var i = 0; i < length; i++) {\n var pair = pairs[i], key = pair[0];\n if (pair[1] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n };\n };\n\n // Run a function **n** times.\n _.times = function(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = createCallback(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n };\n\n // Return a random integer between min and max (inclusive).\n _.random = function(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n };\n\n // A (possibly faster) way to get the current timestamp as an integer.\n _.now = Date.now || function() {\n return new Date().getTime();\n };\n\n // List of HTML entities for escaping.\n var escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n };\n var unescapeMap = _.invert(escapeMap);\n\n // Functions for escaping and unescaping strings to/from HTML interpolation.\n var createEscaper = function(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped\n var source = '(?:' + _.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n };\n _.escape = createEscaper(escapeMap);\n _.unescape = createEscaper(unescapeMap);\n\n // If the value of the named `property` is a function then invoke it with the\n // `object` as context; otherwise, return it.\n _.result = function(object, property) {\n if (object == null) return void 0;\n var value = object[property];\n return _.isFunction(value) ? object[property]() : value;\n };\n\n // Generate a unique integer id (unique within the entire client session).\n // Useful for temporary DOM ids.\n var idCounter = 0;\n _.uniqueId = function(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n };\n\n // By default, Underscore uses ERB-style template delimiters, change the\n // following template settings to use alternative delimiters.\n _.templateSettings = {\n evaluate : /<%([\\s\\S]+?)%>/g,\n interpolate : /<%=([\\s\\S]+?)%>/g,\n escape : /<%-([\\s\\S]+?)%>/g\n };\n\n // When customizing `templateSettings`, if you don't want to define an\n // interpolation, evaluation or escaping regex, we need one that is\n // guaranteed not to match.\n var noMatch = /(.)^/;\n\n // Certain characters need to be escaped so that they can be put into a\n // string literal.\n var escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n var escaper = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n var escapeChar = function(match) {\n return '\\\\' + escapes[match];\n };\n\n // JavaScript micro-templating, similar to John Resig's implementation.\n // Underscore templating handles arbitrary delimiters, preserves whitespace,\n // and correctly escapes quotes within interpolated code.\n // NB: `oldSettings` only exists for backwards compatibility.\n _.template = function(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = _.defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escaper, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offest.\n return match;\n });\n source += \"';\\n\";\n\n // If a variable is not specified, place data values in local scope.\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n try {\n var render = new Function(settings.variable || 'obj', '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n var argument = settings.variable || 'obj';\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n };\n\n // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n _.chain = function(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n };\n\n // OOP\n // ---------------\n // If Underscore is called as a function, it returns a wrapped object that\n // can be used OO-style. This wrapper holds altered versions of all the\n // underscore functions. Wrapped objects may be chained.\n\n // Helper function to continue chaining intermediate results.\n var result = function(obj) {\n return this._chain ? _(obj).chain() : obj;\n };\n\n // Add your own custom functions to the Underscore object.\n _.mixin = function(obj) {\n _.each(_.functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return result.call(this, func.apply(_, args));\n };\n });\n };\n\n // Add all of the Underscore functions to the wrapper object.\n _.mixin(_);\n\n // Add all mutator Array functions to the wrapper.\n _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n return result.call(this, obj);\n };\n });\n\n // Add all accessor Array functions to the wrapper.\n _.each(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n return result.call(this, method.apply(this._wrapped, arguments));\n };\n });\n\n // Extracts the result from a wrapped and chained object.\n _.prototype.value = function() {\n return this._wrapped;\n };\n\n // AMD registration happens at the end for compatibility with AMD loaders\n // that may not enforce next-turn semantics on modules. Even though general\n // practice for AMD registration is to be anonymous, underscore registers\n // as a named module because, like jQuery, it is a base library that is\n // popular enough to be bundled in a third party lib, but not be part of\n // an AMD load request. Those cases could generate an error when an\n // anonymous define() is called outside of a loader request.\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n return _;\n }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n }\n}.call(this));\n\n\n//# sourceURL=webpack:///./node_modules/underscore/underscore.js?"); - -/***/ }), - -/***/ "./node_modules/v-tooltip/dist/v-tooltip.esm.js": -/*!******************************************************!*\ - !*** ./node_modules/v-tooltip/dist/v-tooltip.esm.js ***! - \******************************************************/ -/*! exports provided: default, VClosePopover, VPopover, VTooltip, createTooltip, destroyTooltip, install */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VClosePopover\", function() { return VClosePopover; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VPopover\", function() { return VPopover; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VTooltip\", function() { return VTooltip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTooltip\", function() { return createTooltip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"destroyTooltip\", function() { return destroyTooltip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var popper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! popper.js */ \"./node_modules/popper.js/dist/esm/popper.js\");\n/* harmony import */ var vue_resize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-resize */ \"./node_modules/vue-resize/dist/vue-resize.esm.js\");\n\n\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\n\nif (typeof window !== 'undefined') {\n SVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n return value;\n}\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\n\nfunction addClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n if (classList.indexOf(newClass) === -1) {\n classList.push(newClass);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\n\nfunction removeClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n var index = classList.indexOf(newClass);\n\n if (index !== -1) {\n classList.splice(index, 1);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nvar _listCacheClear = listCacheClear;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nvar eq_1 = eq;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq_1(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nvar _assocIndexOf = assocIndexOf;\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = _assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nvar _listCacheDelete = listCacheDelete;\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = _assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nvar _listCacheGet = listCacheGet;\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return _assocIndexOf(this.__data__, key) > -1;\n}\n\nvar _listCacheHas = listCacheHas;\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = _assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nvar _listCacheSet = listCacheSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = _listCacheClear;\nListCache.prototype['delete'] = _listCacheDelete;\nListCache.prototype.get = _listCacheGet;\nListCache.prototype.has = _listCacheHas;\nListCache.prototype.set = _listCacheSet;\n\nvar _ListCache = ListCache;\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new _ListCache;\n this.size = 0;\n}\n\nvar _stackClear = stackClear;\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nvar _stackDelete = stackDelete;\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nvar _stackGet = stackGet;\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nvar _stackHas = stackHas;\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\nvar _freeGlobal = freeGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = _freeGlobal || freeSelf || Function('return this')();\n\nvar _root = root;\n\n/** Built-in value references. */\nvar Symbol$1 = _root.Symbol;\n\nvar _Symbol = Symbol$1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nvar _getRawTag = getRawTag;\n\n/** Used for built-in method references. */\nvar objectProto$1 = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString$1 = objectProto$1.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString$1.call(value);\n}\n\nvar _objectToString = objectToString;\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag$1 && symToStringTag$1 in Object(value))\n ? _getRawTag(value)\n : _objectToString(value);\n}\n\nvar _baseGetTag = baseGetTag;\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nvar isObject_1 = isObject;\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject_1(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = _baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nvar isFunction_1 = isFunction;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = _root['__core-js_shared__'];\n\nvar _coreJsData = coreJsData;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(_coreJsData && _coreJsData.keys && _coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nvar _isMasked = isMasked;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nvar _toSource = toSource;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto$1 = Function.prototype,\n objectProto$2 = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString$1 = funcProto$1.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$1 = objectProto$2.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString$1.call(hasOwnProperty$1).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject_1(value) || _isMasked(value)) {\n return false;\n }\n var pattern = isFunction_1(value) ? reIsNative : reIsHostCtor;\n return pattern.test(_toSource(value));\n}\n\nvar _baseIsNative = baseIsNative;\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nvar _getValue = getValue;\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = _getValue(object, key);\n return _baseIsNative(value) ? value : undefined;\n}\n\nvar _getNative = getNative;\n\n/* Built-in method references that are verified to be native. */\nvar Map = _getNative(_root, 'Map');\n\nvar _Map = Map;\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = _getNative(Object, 'create');\n\nvar _nativeCreate = nativeCreate;\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = _nativeCreate ? _nativeCreate(null) : {};\n this.size = 0;\n}\n\nvar _hashClear = hashClear;\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nvar _hashDelete = hashDelete;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto$3 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$2 = objectProto$3.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (_nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty$2.call(data, key) ? data[key] : undefined;\n}\n\nvar _hashGet = hashGet;\n\n/** Used for built-in method references. */\nvar objectProto$4 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$3 = objectProto$4.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return _nativeCreate ? (data[key] !== undefined) : hasOwnProperty$3.call(data, key);\n}\n\nvar _hashHas = hashHas;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED$1 = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (_nativeCreate && value === undefined) ? HASH_UNDEFINED$1 : value;\n return this;\n}\n\nvar _hashSet = hashSet;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = _hashClear;\nHash.prototype['delete'] = _hashDelete;\nHash.prototype.get = _hashGet;\nHash.prototype.has = _hashHas;\nHash.prototype.set = _hashSet;\n\nvar _Hash = Hash;\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new _Hash,\n 'map': new (_Map || _ListCache),\n 'string': new _Hash\n };\n}\n\nvar _mapCacheClear = mapCacheClear;\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nvar _isKeyable = isKeyable;\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return _isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nvar _getMapData = getMapData;\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = _getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nvar _mapCacheDelete = mapCacheDelete;\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return _getMapData(this, key).get(key);\n}\n\nvar _mapCacheGet = mapCacheGet;\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return _getMapData(this, key).has(key);\n}\n\nvar _mapCacheHas = mapCacheHas;\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = _getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nvar _mapCacheSet = mapCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = _mapCacheClear;\nMapCache.prototype['delete'] = _mapCacheDelete;\nMapCache.prototype.get = _mapCacheGet;\nMapCache.prototype.has = _mapCacheHas;\nMapCache.prototype.set = _mapCacheSet;\n\nvar _MapCache = MapCache;\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof _ListCache) {\n var pairs = data.__data__;\n if (!_Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new _MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nvar _stackSet = stackSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new _ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = _stackClear;\nStack.prototype['delete'] = _stackDelete;\nStack.prototype.get = _stackGet;\nStack.prototype.has = _stackHas;\nStack.prototype.set = _stackSet;\n\nvar _Stack = Stack;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED$2 = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED$2);\n return this;\n}\n\nvar _setCacheAdd = setCacheAdd;\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nvar _setCacheHas = setCacheHas;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new _MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = _setCacheAdd;\nSetCache.prototype.has = _setCacheHas;\n\nvar _SetCache = SetCache;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nvar _arraySome = arraySome;\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nvar _cacheHas = cacheHas;\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new _SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!_arraySome(other, function(othValue, othIndex) {\n if (!_cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nvar _equalArrays = equalArrays;\n\n/** Built-in value references. */\nvar Uint8Array = _root.Uint8Array;\n\nvar _Uint8Array = Uint8Array;\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nvar _mapToArray = mapToArray;\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nvar _setToArray = setToArray;\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG$1 = 1,\n COMPARE_UNORDERED_FLAG$1 = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = _Symbol ? _Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new _Uint8Array(object), new _Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq_1(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = _mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG$1;\n convert || (convert = _setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG$1;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = _equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nvar _equalByTag = equalByTag;\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nvar _arrayPush = arrayPush;\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nvar isArray_1 = isArray;\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray_1(object) ? result : _arrayPush(result, symbolsFunc(object));\n}\n\nvar _baseGetAllKeys = baseGetAllKeys;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nvar _arrayFilter = arrayFilter;\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nvar stubArray_1 = stubArray;\n\n/** Used for built-in method references. */\nvar objectProto$5 = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto$5.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray_1 : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return _arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nvar _getSymbols = getSymbols;\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nvar _baseTimes = baseTimes;\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nvar isObjectLike_1 = isObjectLike;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike_1(value) && _baseGetTag(value) == argsTag;\n}\n\nvar _baseIsArguments = baseIsArguments;\n\n/** Used for built-in method references. */\nvar objectProto$6 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$4 = objectProto$6.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = _baseIsArguments(function() { return arguments; }()) ? _baseIsArguments : function(value) {\n return isObjectLike_1(value) && hasOwnProperty$4.call(value, 'callee') &&\n !propertyIsEnumerable$1.call(value, 'callee');\n};\n\nvar isArguments_1 = isArguments;\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nvar stubFalse_1 = stubFalse;\n\nvar isBuffer_1 = createCommonjsModule(function (module, exports) {\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? _root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse_1;\n\nmodule.exports = isBuffer;\n});\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nvar _isIndex = isIndex;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER$1 = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1;\n}\n\nvar isLength_1 = isLength;\n\n/** `Object#toString` result references. */\nvar argsTag$1 = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag$1 = '[object Boolean]',\n dateTag$1 = '[object Date]',\n errorTag$1 = '[object Error]',\n funcTag$1 = '[object Function]',\n mapTag$1 = '[object Map]',\n numberTag$1 = '[object Number]',\n objectTag = '[object Object]',\n regexpTag$1 = '[object RegExp]',\n setTag$1 = '[object Set]',\n stringTag$1 = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag$1 = '[object ArrayBuffer]',\n dataViewTag$1 = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag$1] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] =\ntypedArrayTags[dataViewTag$1] = typedArrayTags[dateTag$1] =\ntypedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] =\ntypedArrayTags[mapTag$1] = typedArrayTags[numberTag$1] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag$1] =\ntypedArrayTags[setTag$1] = typedArrayTags[stringTag$1] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike_1(value) &&\n isLength_1(value.length) && !!typedArrayTags[_baseGetTag(value)];\n}\n\nvar _baseIsTypedArray = baseIsTypedArray;\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nvar _baseUnary = baseUnary;\n\nvar _nodeUtil = createCommonjsModule(function (module, exports) {\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && _freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n});\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = _nodeUtil && _nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? _baseUnary(nodeIsTypedArray) : _baseIsTypedArray;\n\nvar isTypedArray_1 = isTypedArray;\n\n/** Used for built-in method references. */\nvar objectProto$7 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$5 = objectProto$7.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray_1(value),\n isArg = !isArr && isArguments_1(value),\n isBuff = !isArr && !isArg && isBuffer_1(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray_1(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? _baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty$5.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n _isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nvar _arrayLikeKeys = arrayLikeKeys;\n\n/** Used for built-in method references. */\nvar objectProto$8 = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$8;\n\n return value === proto;\n}\n\nvar _isPrototype = isPrototype;\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nvar _overArg = overArg;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = _overArg(Object.keys, Object);\n\nvar _nativeKeys = nativeKeys;\n\n/** Used for built-in method references. */\nvar objectProto$9 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$6 = objectProto$9.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!_isPrototype(object)) {\n return _nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty$6.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nvar _baseKeys = baseKeys;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength_1(value.length) && !isFunction_1(value);\n}\n\nvar isArrayLike_1 = isArrayLike;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike_1(object) ? _arrayLikeKeys(object) : _baseKeys(object);\n}\n\nvar keys_1 = keys;\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return _baseGetAllKeys(object, keys_1, _getSymbols);\n}\n\nvar _getAllKeys = getAllKeys;\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG$2 = 1;\n\n/** Used for built-in method references. */\nvar objectProto$a = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$7 = objectProto$a.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG$2,\n objProps = _getAllKeys(object),\n objLength = objProps.length,\n othProps = _getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty$7.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nvar _equalObjects = equalObjects;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = _getNative(_root, 'DataView');\n\nvar _DataView = DataView;\n\n/* Built-in method references that are verified to be native. */\nvar Promise$1 = _getNative(_root, 'Promise');\n\nvar _Promise = Promise$1;\n\n/* Built-in method references that are verified to be native. */\nvar Set = _getNative(_root, 'Set');\n\nvar _Set = Set;\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = _getNative(_root, 'WeakMap');\n\nvar _WeakMap = WeakMap;\n\n/** `Object#toString` result references. */\nvar mapTag$2 = '[object Map]',\n objectTag$1 = '[object Object]',\n promiseTag = '[object Promise]',\n setTag$2 = '[object Set]',\n weakMapTag$1 = '[object WeakMap]';\n\nvar dataViewTag$2 = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = _toSource(_DataView),\n mapCtorString = _toSource(_Map),\n promiseCtorString = _toSource(_Promise),\n setCtorString = _toSource(_Set),\n weakMapCtorString = _toSource(_WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = _baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag$2) ||\n (_Map && getTag(new _Map) != mapTag$2) ||\n (_Promise && getTag(_Promise.resolve()) != promiseTag) ||\n (_Set && getTag(new _Set) != setTag$2) ||\n (_WeakMap && getTag(new _WeakMap) != weakMapTag$1)) {\n getTag = function(value) {\n var result = _baseGetTag(value),\n Ctor = result == objectTag$1 ? value.constructor : undefined,\n ctorString = Ctor ? _toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag$2;\n case mapCtorString: return mapTag$2;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag$2;\n case weakMapCtorString: return weakMapTag$1;\n }\n }\n return result;\n };\n}\n\nvar _getTag = getTag;\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG$3 = 1;\n\n/** `Object#toString` result references. */\nvar argsTag$2 = '[object Arguments]',\n arrayTag$1 = '[object Array]',\n objectTag$2 = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto$b = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$8 = objectProto$b.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray_1(object),\n othIsArr = isArray_1(other),\n objTag = objIsArr ? arrayTag$1 : _getTag(object),\n othTag = othIsArr ? arrayTag$1 : _getTag(other);\n\n objTag = objTag == argsTag$2 ? objectTag$2 : objTag;\n othTag = othTag == argsTag$2 ? objectTag$2 : othTag;\n\n var objIsObj = objTag == objectTag$2,\n othIsObj = othTag == objectTag$2,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer_1(object)) {\n if (!isBuffer_1(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new _Stack);\n return (objIsArr || isTypedArray_1(object))\n ? _equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : _equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG$3)) {\n var objIsWrapped = objIsObj && hasOwnProperty$8.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty$8.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new _Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new _Stack);\n return _equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nvar _baseIsEqualDeep = baseIsEqualDeep;\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike_1(value) && !isObjectLike_1(other))) {\n return value !== value && other !== other;\n }\n return _baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nvar _baseIsEqual = baseIsEqual;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return _baseIsEqual(value, other);\n}\n\nvar isEqual_1 = isEqual;\n\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '
    ',\n trigger: 'hover focus',\n offset: 0\n};\nvar openTooltips = [];\n\nvar Tooltip =\n/*#__PURE__*/\nfunction () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='
    ']\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n * How tooltip is triggered - click, hover, focus, manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n * [options docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(_reference, _options) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n _defineProperty(this, \"_events\", []);\n\n _defineProperty(this, \"_setTooltipNodeEvent\", function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call\n\n _this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element\n\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this._tooltipNode.addEventListener(evt.type, callback);\n\n return true;\n }\n\n return false;\n });\n\n // apply user options over default ones\n _options = _objectSpread2({}, DEFAULT_OPTIONS, {}, _options);\n _reference.jquery && (_reference = _reference[0]);\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this); // cache reference and options\n\n this.reference = _reference;\n this.options = _options; // set initial state\n\n this._isOpen = false;\n\n this._init();\n } //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n _createClass(Tooltip, [{\n key: \"show\",\n value: function show() {\n this._show(this.reference, this.options);\n }\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n this._hide();\n }\n /**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._dispose();\n }\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this._isOpen) {\n return this.hide();\n } else {\n return this.show();\n }\n }\n }, {\n key: \"setClasses\",\n value: function setClasses(classes) {\n this._classes = classes;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this.options.title = content;\n\n if (this._tooltipNode) {\n this._setContent(content, this.options);\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n var classesUpdated = false;\n var classes = options && options.classes || directive.options.defaultClass;\n\n if (!isEqual_1(this._classes, classes)) {\n this.setClasses(classes);\n classesUpdated = true;\n }\n\n options = getOptions(options);\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n this.dispose();\n\n this._init();\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n } //\n // Private methods\n //\n\n }, {\n key: \"_init\",\n value: function _init() {\n // get events list\n var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];\n this._isDisposed = false;\n this._enableDocumentTouch = events.indexOf('manual') === -1;\n events = events.filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }); // set event listeners\n\n this._setEventListeners(this.reference, events, this.options); // title attribute\n\n\n this.$_originalTitle = this.reference.getAttribute('title');\n this.reference.removeAttribute('title');\n this.reference.setAttribute('data-original-title', this.$_originalTitle);\n }\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n }, {\n key: \"_create\",\n value: function _create(reference, template) {\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template.trim();\n var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)\n\n tooltipNode.id = \"tooltip_\".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip\n // The attribute will be switched in a next frame so\n // CSS transitions can play\n\n tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n tooltipNode.addEventListener('mouseenter', this.hide);\n tooltipNode.addEventListener('click', this.hide);\n } // return the generated tooltip node\n\n\n return tooltipNode;\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(content, options) {\n var _this2 = this;\n\n this.asyncContent = false;\n\n this._applyContent(content, options).then(function () {\n _this2.popperInstance.update();\n });\n }\n }, {\n key: \"_applyContent\",\n value: function _applyContent(title, options) {\n var _this3 = this;\n\n return new Promise(function (resolve, reject) {\n var allowHtml = options.html;\n var rootNode = _this3._tooltipNode;\n if (!rootNode) return;\n var titleNode = rootNode.querySelector(_this3.options.innerSelector);\n\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n if (allowHtml) {\n while (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n\n titleNode.appendChild(title);\n }\n } else if (typeof title === 'function') {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var result = title();\n\n if (result && typeof result.then === 'function') {\n _this3.asyncContent = true;\n options.loadingClass && addClasses(rootNode, options.loadingClass);\n\n if (options.loadingContent) {\n _this3._applyContent(options.loadingContent, options);\n }\n\n result.then(function (asyncResult) {\n options.loadingClass && removeClasses(rootNode, options.loadingClass);\n return _this3._applyContent(asyncResult, options);\n }).then(resolve).catch(reject);\n } else {\n _this3._applyContent(result, options).then(resolve).catch(reject);\n }\n\n return;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n resolve();\n });\n }\n }, {\n key: \"_show\",\n value: function _show(reference, options) {\n if (options && typeof options.container === 'string') {\n var container = document.querySelector(options.container);\n if (!container) return;\n }\n\n clearTimeout(this._disposeTimer);\n options = Object.assign({}, options);\n delete options.offset;\n var updateClasses = true;\n\n if (this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n updateClasses = false;\n }\n\n var result = this._ensureShown(reference, options);\n\n if (updateClasses && this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n }\n\n addClasses(reference, ['v-tooltip-open']);\n return result;\n }\n }, {\n key: \"_ensureShown\",\n value: function _ensureShown(reference, options) {\n var _this4 = this;\n\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n\n this._isOpen = true;\n openTooltips.push(this); // if the tooltipNode already exists, just show it\n\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n\n this.popperInstance.enableEventListeners();\n this.popperInstance.update();\n\n if (this.asyncContent) {\n this._setContent(options.title, options);\n }\n\n return this;\n } // get title\n\n\n var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined\n\n if (!title) {\n return this;\n } // create tooltip node\n\n\n var tooltipNode = this._create(reference, options.template);\n\n this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons\n\n reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container\n\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = _objectSpread2({}, options.popperOptions, {\n placement: options.placement\n });\n\n popperOptions.modifiers = _objectSpread2({}, popperOptions.modifiers, {\n arrow: {\n element: this.options.arrowSelector\n }\n });\n\n if (options.boundariesElement) {\n popperOptions.modifiers.preventOverflow = {\n boundariesElement: options.boundariesElement\n };\n }\n\n this.popperInstance = new popper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](reference, tooltipNode, popperOptions);\n\n this._setContent(title, options); // Fix position\n\n\n requestAnimationFrame(function () {\n if (!_this4._isDisposed && _this4.popperInstance) {\n _this4.popperInstance.update(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (!_this4._isDisposed) {\n _this4._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n } else {\n _this4.dispose();\n }\n });\n } else {\n _this4.dispose();\n }\n });\n return this;\n }\n }, {\n key: \"_noLongerOpen\",\n value: function _noLongerOpen() {\n var index = openTooltips.indexOf(this);\n\n if (index !== -1) {\n openTooltips.splice(index, 1);\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide()\n /* reference, options */\n {\n var _this5 = this;\n\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n this._noLongerOpen(); // hide tooltipNode\n\n\n this._tooltipNode.style.display = 'none';\n\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n this.popperInstance.disableEventListeners();\n clearTimeout(this._disposeTimer);\n var disposeTime = directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this._disposeTimer = setTimeout(function () {\n if (_this5._tooltipNode) {\n _this5._tooltipNode.removeEventListener('mouseenter', _this5.hide);\n\n _this5._tooltipNode.removeEventListener('click', _this5.hide); // Don't remove popper instance, just the HTML element\n\n\n _this5._removeTooltipNode();\n }\n }, disposeTime);\n }\n\n removeClasses(this.reference, ['v-tooltip-open']);\n return this;\n }\n }, {\n key: \"_removeTooltipNode\",\n value: function _removeTooltipNode() {\n if (!this._tooltipNode) return;\n var parentNode = this._tooltipNode.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._tooltipNode);\n this.reference.removeAttribute('aria-describedby');\n }\n\n this._tooltipNode = null;\n }\n }, {\n key: \"_dispose\",\n value: function _dispose() {\n var _this6 = this;\n\n this._isDisposed = true;\n this.reference.removeAttribute('data-original-title');\n\n if (this.$_originalTitle) {\n this.reference.setAttribute('title', this.$_originalTitle);\n } // remove event listeners first to prevent any unexpected behaviour\n\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this6.reference.removeEventListener(event, func);\n });\n\n this._events = [];\n\n if (this._tooltipNode) {\n this._hide();\n\n this._tooltipNode.removeEventListener('mouseenter', this.hide);\n\n this._tooltipNode.removeEventListener('click', this.hide); // destroy instance\n\n\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n this._removeTooltipNode();\n }\n } else {\n this._noLongerOpen();\n }\n\n return this;\n }\n }, {\n key: \"_findContainer\",\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n }\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: \"_append\",\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(reference, events, options) {\n var _this7 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n if (_this7.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n if (_this7.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this7._isOpen === true) {\n return;\n }\n\n evt.usedByTooltip = true;\n\n _this7._scheduleShow(reference, options.delay, options, evt);\n };\n\n _this7._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n\n _this7._scheduleHide(reference, options.delay, options, evt);\n };\n\n _this7._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: \"_onDocumentTouch\",\n value: function _onDocumentTouch(event) {\n if (this._enableDocumentTouch) {\n this._scheduleHide(this.reference, this.options.delay, this.options, event);\n }\n }\n }, {\n key: \"_scheduleShow\",\n value: function _scheduleShow(reference, delay, options\n /*, evt */\n ) {\n var _this8 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n return _this8._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: \"_scheduleHide\",\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this9 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n if (_this9._isOpen === false) {\n return;\n }\n\n if (!_this9._tooltipNode.ownerDocument.body.contains(_this9._tooltipNode)) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (evt.type === 'mouseleave') {\n var isSet = _this9._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this9._hide(reference, options);\n }, computedDelay);\n }\n }]);\n\n return Tooltip;\n}(); // Hide tooltips on touch devices\n\nif (typeof document !== 'undefined') {\n document.addEventListener('touchstart', function (event) {\n for (var i = 0; i < openTooltips.length; i++) {\n openTooltips[i]._onDocumentTouch(event);\n }\n }, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n}\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar state = {\n enabled: true\n};\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\nvar defaultOptions = {\n // Default tooltip placement relative to target element\n defaultPlacement: 'top',\n // Default CSS classes applied to the tooltip element\n defaultClass: 'vue-tooltip-theme',\n // Default CSS classes applied to the target element of the tooltip\n defaultTargetClass: 'has-tooltip',\n // Is the content HTML by default?\n defaultHtml: true,\n // Default HTML template of the tooltip element\n // It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n // Change if the classes conflict with other libraries (for example bootstrap)\n defaultTemplate: '
    ',\n // Selector used to get the arrow element in the tooltip template\n defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n // Selector used to get the inner content element in the tooltip template\n defaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n // Delay (ms)\n defaultDelay: 0,\n // Default events that trigger the tooltip\n defaultTrigger: 'hover focus',\n // Default position offset (px)\n defaultOffset: 0,\n // Default container where the tooltip will be appended\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Class added when content is loading\n defaultLoadingClass: 'tooltip-loading',\n // Displayed when tooltip content is loading\n defaultLoadingContent: '...',\n // Hide on mouseover tooltip\n autoHide: true,\n // Close tooltip on click on tooltip target?\n defaultHideOnTargetClick: true,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 5000,\n // Options for popover\n popover: {\n defaultPlacement: 'bottom',\n // Use the `popoverClass` prop for theming\n defaultClass: 'vue-popover-theme',\n // Base class (change if conflicts with other libraries)\n defaultBaseClass: 'tooltip popover',\n // Wrapper class (contains arrow and inner)\n defaultWrapperClass: 'wrapper',\n // Inner content class\n defaultInnerClass: 'tooltip-inner popover-inner',\n // Arrow class\n defaultArrowClass: 'tooltip-arrow popover-arrow',\n // Class added when popover is open\n defaultOpenClass: 'open',\n defaultDelay: 0,\n defaultTrigger: 'click',\n defaultOffset: 0,\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Hides if clicked outside of popover\n defaultAutoHide: true,\n // Update popper on content resize\n defaultHandleResize: true\n }\n};\nfunction getOptions(options) {\n var result = {\n placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n popperOptions: _objectSpread2({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n };\n\n if (result.offset) {\n var typeofOffset = _typeof(result.offset);\n\n var offset = result.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n if (!result.popperOptions.modifiers) {\n result.popperOptions.modifiers = {};\n }\n\n result.popperOptions.modifiers.offset = {\n offset: offset\n };\n }\n\n if (result.trigger && result.trigger.indexOf('click') !== -1) {\n result.hideOnTargetClick = false;\n }\n\n return result;\n}\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n\n for (var i = 0; i < positions.length; i++) {\n var pos = positions[i];\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n\n return placement;\n}\nfunction getContent(value) {\n var type = _typeof(value);\n\n if (type === 'string') {\n return value;\n } else if (value && type === 'object') {\n return value.content;\n } else {\n return false;\n }\n}\nfunction createTooltip(el, value) {\n var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = getContent(value);\n var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\n var opts = _objectSpread2({\n title: content\n }, getOptions(_objectSpread2({}, value, {\n placement: getPlacement(value, modifiers)\n })));\n\n var tooltip = el._tooltip = new Tooltip(el, opts);\n tooltip.setClasses(classes);\n tooltip._vueEl = el; // Class on target\n\n var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n el._tooltipTargetClasses = targetClasses;\n addClasses(el, targetClasses);\n return tooltip;\n}\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n\n delete el._tooltip;\n delete el._tooltipOldShow;\n }\n\n if (el._tooltipTargetClasses) {\n removeClasses(el, el._tooltipTargetClasses);\n delete el._tooltipTargetClasses;\n }\n}\nfunction bind(el, _ref) {\n var value = _ref.value,\n oldValue = _ref.oldValue,\n modifiers = _ref.modifiers;\n var content = getContent(value);\n\n if (!content || !state.enabled) {\n destroyTooltip(el);\n } else {\n var tooltip;\n\n if (el._tooltip) {\n tooltip = el._tooltip; // Content\n\n tooltip.setContent(content); // Options\n\n tooltip.setOptions(_objectSpread2({}, value, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n tooltip = createTooltip(el, value, modifiers);\n } // Manual show\n\n\n if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n el._tooltipOldShow = value.show;\n value.show ? tooltip.show() : tooltip.hide();\n }\n }\n}\nvar directive = {\n options: defaultOptions,\n bind: bind,\n update: bind,\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\nfunction addListeners(el) {\n el.addEventListener('click', onClick);\n el.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('click', onClick);\n el.removeEventListener('touchstart', onTouchStart);\n el.removeEventListener('touchend', onTouchEnd);\n el.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n var el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n var touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener('touchend', onTouchEnd);\n el.addEventListener('touchcancel', onTouchCancel);\n }\n}\n\nfunction onTouchEnd(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n\n if (event.changedTouches.length === 1) {\n var touch = event.changedTouches[0];\n var firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\n\nfunction onTouchCancel(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n bind: function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n }\n },\n update: function update(el, _ref2) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (value !== oldValue) {\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind: function unbind(el) {\n removeListeners(el);\n }\n};\n\nfunction getDefault(key) {\n var value = directive.options.popover[key];\n\n if (typeof value === 'undefined') {\n return directive.options[key];\n }\n\n return value;\n}\n\nvar isIOS = false;\n\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\n\nif (typeof window !== 'undefined') {\n Element = window.Element;\n}\n\nvar script = {\n name: 'VPopover',\n components: {\n ResizeObserver: vue_resize__WEBPACK_IMPORTED_MODULE_1__[\"ResizeObserver\"]\n },\n props: {\n open: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: function _default() {\n return getDefault('defaultPlacement');\n }\n },\n delay: {\n type: [String, Number, Object],\n default: function _default() {\n return getDefault('defaultDelay');\n }\n },\n offset: {\n type: [String, Number],\n default: function _default() {\n return getDefault('defaultOffset');\n }\n },\n trigger: {\n type: String,\n default: function _default() {\n return getDefault('defaultTrigger');\n }\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: function _default() {\n return getDefault('defaultContainer');\n }\n },\n boundariesElement: {\n type: [String, Element],\n default: function _default() {\n return getDefault('defaultBoundariesElement');\n }\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return getDefault('defaultPopperOptions');\n }\n },\n popoverClass: {\n type: [String, Array],\n default: function _default() {\n return getDefault('defaultClass');\n }\n },\n popoverBaseClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultBaseClass;\n }\n },\n popoverInnerClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultInnerClass;\n }\n },\n popoverWrapperClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultWrapperClass;\n }\n },\n popoverArrowClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultArrowClass;\n }\n },\n autoHide: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultAutoHide;\n }\n },\n handleResize: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultHandleResize;\n }\n },\n openGroup: {\n type: String,\n default: null\n },\n openClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultOpenClass;\n }\n }\n },\n data: function data() {\n return {\n isOpen: false,\n id: Math.random().toString(36).substr(2, 10)\n };\n },\n computed: {\n cssClass: function cssClass() {\n return _defineProperty({}, this.openClass, this.isOpen);\n },\n popoverId: function popoverId() {\n return \"popover_\".concat(this.id);\n }\n },\n watch: {\n open: function open(val) {\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n },\n disabled: function disabled(val, oldVal) {\n if (val !== oldVal) {\n if (val) {\n this.hide();\n } else if (this.open) {\n this.show();\n }\n }\n },\n container: function container(val) {\n if (this.isOpen && this.popperInstance) {\n var popoverNode = this.$refs.popover;\n var reference = this.$refs.trigger;\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.popperInstance.scheduleUpdate();\n }\n },\n trigger: function trigger(val) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n },\n placement: function placement(val) {\n var _this = this;\n\n this.$_updatePopper(function () {\n _this.popperInstance.options.placement = val;\n });\n },\n offset: '$_restartPopper',\n boundariesElement: '$_restartPopper',\n popperOptions: {\n handler: '$_restartPopper',\n deep: true\n }\n },\n created: function created() {\n this.$_isDisposed = false;\n this.$_mounted = false;\n this.$_events = [];\n this.$_preventOpen = false;\n },\n mounted: function mounted() {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n this.$_init();\n\n if (this.open) {\n this.show();\n }\n },\n deactivated: function deactivated() {\n this.hide();\n },\n beforeDestroy: function beforeDestroy() {\n this.dispose();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref2.event,\n _ref2$skipDelay = _ref2.skipDelay,\n _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (force || !this.disabled) {\n this.$_scheduleShow(event);\n this.$emit('show');\n }\n\n this.$emit('update:open', true);\n this.$_beingShowed = true;\n requestAnimationFrame(function () {\n _this2.$_beingShowed = false;\n });\n },\n hide: function hide() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref3.event,\n _ref3$skipDelay = _ref3.skipDelay;\n\n this.$_scheduleHide(event);\n this.$emit('hide');\n this.$emit('update:open', false);\n },\n dispose: function dispose() {\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({\n skipDelay: true\n });\n\n if (this.popperInstance) {\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n }\n }\n\n this.$_mounted = false;\n this.popperInstance = null;\n this.isOpen = false;\n this.$emit('dispose');\n },\n $_init: function $_init() {\n if (this.trigger.indexOf('manual') === -1) {\n this.$_addEventListeners();\n }\n },\n $_show: function $_show() {\n var _this3 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n clearTimeout(this.$_disposeTimer); // Already open\n\n if (this.isOpen) {\n return;\n } // Popper is already initialized\n\n\n if (this.popperInstance) {\n this.isOpen = true;\n this.popperInstance.enableEventListeners();\n this.popperInstance.scheduleUpdate();\n }\n\n if (!this.$_mounted) {\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.$_mounted = true;\n }\n\n if (!this.popperInstance) {\n var popperOptions = _objectSpread2({}, this.popperOptions, {\n placement: this.placement\n });\n\n popperOptions.modifiers = _objectSpread2({}, popperOptions.modifiers, {\n arrow: _objectSpread2({}, popperOptions.modifiers && popperOptions.modifiers.arrow, {\n element: this.$refs.arrow\n })\n });\n\n if (this.offset) {\n var offset = this.$_getOffset();\n popperOptions.modifiers.offset = _objectSpread2({}, popperOptions.modifiers && popperOptions.modifiers.offset, {\n offset: offset\n });\n }\n\n if (this.boundariesElement) {\n popperOptions.modifiers.preventOverflow = _objectSpread2({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow, {\n boundariesElement: this.boundariesElement\n });\n }\n\n this.popperInstance = new popper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](reference, popoverNode, popperOptions); // Fix position\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed && _this3.popperInstance) {\n _this3.popperInstance.scheduleUpdate(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed) {\n _this3.isOpen = true;\n } else {\n _this3.dispose();\n }\n });\n } else {\n _this3.dispose();\n }\n });\n }\n\n var openGroup = this.openGroup;\n\n if (openGroup) {\n var popover;\n\n for (var i = 0; i < openPopovers.length; i++) {\n popover = openPopovers[i];\n\n if (popover.openGroup !== openGroup) {\n popover.hide();\n popover.$emit('close-group');\n }\n }\n }\n\n openPopovers.push(this);\n this.$emit('apply-show');\n },\n $_hide: function $_hide() {\n var _this4 = this;\n\n // Already hidden\n if (!this.isOpen) {\n return;\n }\n\n var index = openPopovers.indexOf(this);\n\n if (index !== -1) {\n openPopovers.splice(index, 1);\n }\n\n this.isOpen = false;\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this.$_disposeTimer);\n var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(function () {\n var popoverNode = _this4.$refs.popover;\n\n if (popoverNode) {\n // Don't remove popper instance, just the HTML element\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n _this4.$_mounted = false;\n }\n }, disposeTime);\n }\n\n this.$emit('apply-hide');\n },\n $_findContainer: function $_findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n },\n $_getOffset: function $_getOffset() {\n var typeofOffset = _typeof(this.offset);\n\n var offset = this.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n return offset;\n },\n $_addEventListeners: function $_addEventListeners() {\n var _this5 = this;\n\n var reference = this.$refs.trigger;\n var directEvents = [];\n var oppositeEvents = [];\n var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(event) {\n if (_this5.isOpen) {\n return;\n }\n\n event.usedByTooltip = true;\n !_this5.$_preventOpen && _this5.show({\n event: event\n });\n _this5.hidden = false;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(event) {\n if (event.usedByTooltip) {\n return;\n }\n\n _this5.hide({\n event: event\n });\n\n _this5.hidden = true;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n },\n $_scheduleShow: function $_scheduleShow() {\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_show();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n }\n },\n $_scheduleHide: function $_scheduleHide() {\n var _this6 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_hide();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n this.$_scheduleTimer = setTimeout(function () {\n if (!_this6.isOpen) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (event && event.type === 'mouseleave') {\n var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this6.$_hide();\n }, computedDelay);\n }\n },\n $_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n var _this7 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n var callback = function callback(event2) {\n var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call\n\n popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this7.hide({\n event: event2\n });\n }\n };\n\n if (popoverNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n popoverNode.addEventListener(event.type, callback);\n return true;\n }\n\n return false;\n },\n $_removeEventListeners: function $_removeEventListeners() {\n var reference = this.$refs.trigger;\n this.$_events.forEach(function (_ref4) {\n var func = _ref4.func,\n event = _ref4.event;\n reference.removeEventListener(event, func);\n });\n this.$_events = [];\n },\n $_updatePopper: function $_updatePopper(cb) {\n if (this.popperInstance) {\n cb();\n if (this.isOpen) this.popperInstance.scheduleUpdate();\n }\n },\n $_restartPopper: function $_restartPopper() {\n if (this.popperInstance) {\n var isOpen = this.isOpen;\n this.dispose();\n this.$_isDisposed = false;\n this.$_init();\n\n if (isOpen) {\n this.show({\n skipDelay: true,\n force: true\n });\n }\n }\n },\n $_handleGlobalClose: function $_handleGlobalClose(event) {\n var _this8 = this;\n\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.$_beingShowed) return;\n this.hide({\n event: event\n });\n\n if (event.closePopover) {\n this.$emit('close-directive');\n } else {\n this.$emit('auto-hide');\n }\n\n if (touch) {\n this.$_preventOpen = true;\n setTimeout(function () {\n _this8.$_preventOpen = false;\n }, 300);\n }\n },\n $_handleResize: function $_handleResize() {\n if (this.isOpen && this.popperInstance) {\n this.popperInstance.scheduleUpdate();\n this.$emit('resize');\n }\n }\n }\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (isIOS) {\n document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener('click', handleGlobalClick, true);\n }\n}\n\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _loop = function _loop(i) {\n var popover = openPopovers[i];\n\n if (popover.$refs.popover) {\n var contains = popover.$refs.popover.contains(event.target);\n requestAnimationFrame(function () {\n if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n popover.$_handleGlobalClose(event, touch);\n }\n });\n }\n };\n\n // Delay so that close directive has time to set values\n for (var i = 0; i < openPopovers.length; i++) {\n _loop(i);\n }\n}\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"v-popover\",\n class: _vm.cssClass\n }, [_c(\"div\", {\n ref: \"trigger\",\n staticClass: \"trigger\",\n staticStyle: {\n display: \"inline-block\"\n },\n attrs: {\n \"aria-describedby\": _vm.popoverId,\n tabindex: _vm.trigger.indexOf(\"focus\") !== -1 ? 0 : undefined\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c(\"div\", {\n ref: \"popover\",\n class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],\n style: {\n visibility: _vm.isOpen ? \"visible\" : \"hidden\"\n },\n attrs: {\n id: _vm.popoverId,\n \"aria-hidden\": _vm.isOpen ? \"false\" : \"true\",\n tabindex: _vm.autoHide ? 0 : undefined\n },\n on: {\n keyup: function keyup($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n\n _vm.autoHide && _vm.hide();\n }\n }\n }, [_c(\"div\", {\n class: _vm.popoverWrapperClass\n }, [_c(\"div\", {\n ref: \"inner\",\n class: _vm.popoverInnerClass,\n staticStyle: {\n position: \"relative\"\n }\n }, [_c(\"div\", [_vm._t(\"popover\")], 2), _vm._v(\" \"), _vm.handleResize ? _c(\"ResizeObserver\", {\n on: {\n notify: _vm.$_handleResize\n }\n }) : _vm._e()], 1), _vm._v(\" \"), _c(\"div\", {\n ref: \"arrow\",\n class: _vm.popoverArrowClass\n })])])]);\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nvar defineProperty = (function() {\n try {\n var func = _getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nvar _defineProperty$1 = defineProperty;\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && _defineProperty$1) {\n _defineProperty$1(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nvar _baseAssignValue = baseAssignValue;\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq_1(object[key], value)) ||\n (value === undefined && !(key in object))) {\n _baseAssignValue(object, key, value);\n }\n}\n\nvar _assignMergeValue = assignMergeValue;\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nvar _createBaseFor = createBaseFor;\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = _createBaseFor();\n\nvar _baseFor = baseFor;\n\nvar _cloneBuffer = createCommonjsModule(function (module, exports) {\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? _root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n});\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new _Uint8Array(result).set(new _Uint8Array(arrayBuffer));\n return result;\n}\n\nvar _cloneArrayBuffer = cloneArrayBuffer;\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? _cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nvar _cloneTypedArray = cloneTypedArray;\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nvar _copyArray = copyArray;\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject_1(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nvar _baseCreate = baseCreate;\n\n/** Built-in value references. */\nvar getPrototype = _overArg(Object.getPrototypeOf, Object);\n\nvar _getPrototype = getPrototype;\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !_isPrototype(object))\n ? _baseCreate(_getPrototype(object))\n : {};\n}\n\nvar _initCloneObject = initCloneObject;\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike_1(value) && isArrayLike_1(value);\n}\n\nvar isArrayLikeObject_1 = isArrayLikeObject;\n\n/** `Object#toString` result references. */\nvar objectTag$3 = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto$2 = Function.prototype,\n objectProto$c = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString$2 = funcProto$2.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$9 = objectProto$c.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString$2.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike_1(value) || _baseGetTag(value) != objectTag$3) {\n return false;\n }\n var proto = _getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty$9.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString$2.call(Ctor) == objectCtorString;\n}\n\nvar isPlainObject_1 = isPlainObject;\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nvar _safeGet = safeGet;\n\n/** Used for built-in method references. */\nvar objectProto$d = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$a = objectProto$d.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty$a.call(object, key) && eq_1(objValue, value)) ||\n (value === undefined && !(key in object))) {\n _baseAssignValue(object, key, value);\n }\n}\n\nvar _assignValue = assignValue;\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n _baseAssignValue(object, key, newValue);\n } else {\n _assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nvar _copyObject = copyObject;\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nvar _nativeKeysIn = nativeKeysIn;\n\n/** Used for built-in method references. */\nvar objectProto$e = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$b = objectProto$e.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject_1(object)) {\n return _nativeKeysIn(object);\n }\n var isProto = _isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty$b.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nvar _baseKeysIn = baseKeysIn;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike_1(object) ? _arrayLikeKeys(object, true) : _baseKeysIn(object);\n}\n\nvar keysIn_1 = keysIn;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return _copyObject(value, keysIn_1(value));\n}\n\nvar toPlainObject_1 = toPlainObject;\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = _safeGet(object, key),\n srcValue = _safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n _assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray_1(srcValue),\n isBuff = !isArr && isBuffer_1(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray_1(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray_1(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject_1(objValue)) {\n newValue = _copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = _cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = _cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject_1(srcValue) || isArguments_1(srcValue)) {\n newValue = objValue;\n if (isArguments_1(objValue)) {\n newValue = toPlainObject_1(objValue);\n }\n else if (!isObject_1(objValue) || isFunction_1(objValue)) {\n newValue = _initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n _assignMergeValue(object, key, newValue);\n}\n\nvar _baseMergeDeep = baseMergeDeep;\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n _baseFor(source, function(srcValue, key) {\n stack || (stack = new _Stack);\n if (isObject_1(srcValue)) {\n _baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(_safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n _assignMergeValue(object, key, newValue);\n }\n }, keysIn_1);\n}\n\nvar _baseMerge = baseMerge;\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nvar identity_1 = identity;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nvar _apply = apply;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return _apply(func, this, otherArgs);\n };\n}\n\nvar _overRest = overRest;\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nvar constant_1 = constant;\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !_defineProperty$1 ? identity_1 : function(func, string) {\n return _defineProperty$1(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant_1(string),\n 'writable': true\n });\n};\n\nvar _baseSetToString = baseSetToString;\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nvar _shortOut = shortOut;\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = _shortOut(_baseSetToString);\n\nvar _setToString = setToString;\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return _setToString(_overRest(func, start, identity_1), func + '');\n}\n\nvar _baseRest = baseRest;\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject_1(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike_1(object) && _isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq_1(object[index], value);\n }\n return false;\n}\n\nvar _isIterateeCall = isIterateeCall;\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return _baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && _isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nvar _createAssigner = createAssigner;\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = _createAssigner(function(object, source, srcIndex) {\n _baseMerge(object, source, srcIndex);\n});\n\nvar merge_1 = merge;\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css = \".resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\";\nstyleInject(css);\n\nfunction install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (install.installed) return;\n install.installed = true;\n var finalOptions = {};\n merge_1(finalOptions, defaultOptions, options);\n plugin.options = finalOptions;\n directive.options = finalOptions;\n Vue.directive('tooltip', directive);\n Vue.directive('close-popover', vclosepopover);\n Vue.component('v-popover', __vue_component__);\n}\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = __vue_component__;\nvar plugin = {\n install: install,\n\n get enabled() {\n return state.enabled;\n },\n\n set enabled(value) {\n state.enabled = value;\n }\n\n}; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (plugin);\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js?"); - -/***/ }), - -/***/ "./node_modules/vue-async-computed/dist/vue-async-computed.esm.js": -/*!************************************************************************!*\ - !*** ./node_modules/vue-async-computed/dist/vue-async-computed.esm.js ***! - \************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\nfunction setAsyncState(vm, stateObject, state) {\n vm.$set(vm.$data._asyncComputed[stateObject], 'state', state);\n vm.$set(vm.$data._asyncComputed[stateObject], 'updating', state === 'updating');\n vm.$set(vm.$data._asyncComputed[stateObject], 'error', state === 'error');\n vm.$set(vm.$data._asyncComputed[stateObject], 'success', state === 'success');\n}\n\nfunction getterOnly(fn) {\n if (typeof fn === 'function') return fn;\n\n return fn.get;\n}\n\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nfunction isComputedLazy(item) {\n return hasOwnProperty(item, 'lazy') && item.lazy;\n}\n\nfunction isLazyActive(vm, key) {\n return vm[lazyActivePrefix + key];\n}\n\nvar lazyActivePrefix = 'async_computed$lazy_active$',\n lazyDataPrefix = 'async_computed$lazy_data$';\n\nfunction initLazy(data, key) {\n data[lazyActivePrefix + key] = false;\n data[lazyDataPrefix + key] = null;\n}\n\nfunction makeLazyComputed(key) {\n return {\n get: function get() {\n this[lazyActivePrefix + key] = true;\n return this[lazyDataPrefix + key];\n },\n set: function set(value) {\n this[lazyDataPrefix + key] = value;\n }\n };\n}\n\nfunction silentSetLazy(vm, key, value) {\n vm[lazyDataPrefix + key] = value;\n}\nfunction silentGetLazy(vm, key) {\n return vm[lazyDataPrefix + key];\n}\n\nvar getGetterWatchedByArray = function getGetterWatchedByArray(computedAsyncProperty) {\n return function getter() {\n var _this = this;\n\n computedAsyncProperty.watch.forEach(function (key) {\n // Check if nested key is watched.\n var splittedByDot = key.split('.');\n if (splittedByDot.length === 1) {\n // If not, just access it.\n // eslint-disable-next-line no-unused-expressions\n _this[key];\n } else {\n // Access the nested propety.\n try {\n var start = _this;\n splittedByDot.forEach(function (part) {\n start = start[part];\n });\n } catch (error) {\n console.error('AsyncComputed: bad path: ', key);\n throw error;\n }\n }\n });\n return computedAsyncProperty.get.call(this);\n };\n};\n\nvar getGetterWatchedByFunction = function getGetterWatchedByFunction(computedAsyncProperty) {\n return function getter() {\n computedAsyncProperty.watch.call(this);\n return computedAsyncProperty.get.call(this);\n };\n};\n\nfunction getWatchedGetter(computedAsyncProperty) {\n if (typeof computedAsyncProperty.watch === 'function') {\n return getGetterWatchedByFunction(computedAsyncProperty);\n } else if (Array.isArray(computedAsyncProperty.watch)) {\n computedAsyncProperty.watch.forEach(function (key) {\n if (typeof key !== 'string') {\n throw new Error('AsyncComputed: watch elemnts must be strings');\n }\n });\n return getGetterWatchedByArray(computedAsyncProperty);\n } else {\n throw Error('AsyncComputed: watch should be function or an array');\n }\n}\n\nvar DidNotUpdate = typeof Symbol === 'function' ? Symbol('did-not-update') : {};\n\nvar getGetterWithShouldUpdate = function getGetterWithShouldUpdate(asyncProprety, currentGetter) {\n return function getter() {\n return asyncProprety.shouldUpdate.call(this) ? currentGetter.call(this) : DidNotUpdate;\n };\n};\n\nvar shouldNotUpdate = function shouldNotUpdate(value) {\n return DidNotUpdate === value;\n};\n\nvar prefix = '_async_computed$';\n\nvar AsyncComputed = {\n install: function install(Vue, pluginOptions) {\n pluginOptions = pluginOptions || {};\n\n Vue.config.optionMergeStrategies.asyncComputed = Vue.config.optionMergeStrategies.computed;\n\n Vue.mixin({\n data: function data() {\n return {\n _asyncComputed: {}\n };\n },\n\n computed: {\n $asyncComputed: function $asyncComputed() {\n return this.$data._asyncComputed;\n }\n },\n beforeCreate: function beforeCreate() {\n var asyncComputed = this.$options.asyncComputed || {};\n\n if (!Object.keys(asyncComputed).length) return;\n\n for (var key in asyncComputed) {\n var getter = getterFn(key, asyncComputed[key]);\n this.$options.computed[prefix + key] = getter;\n }\n\n this.$options.data = initDataWithAsyncComputed(this.$options);\n },\n created: function created() {\n for (var key in this.$options.asyncComputed || {}) {\n var item = this.$options.asyncComputed[key],\n value = generateDefault.call(this, item, pluginOptions);\n if (isComputedLazy(item)) {\n silentSetLazy(this, key, value);\n } else {\n this[key] = value;\n }\n }\n\n for (var _key in this.$options.asyncComputed || {}) {\n handleAsyncComputedPropetyChanges(this, _key, pluginOptions, Vue);\n }\n }\n });\n }\n};\n\nfunction handleAsyncComputedPropetyChanges(vm, key, pluginOptions, Vue) {\n var promiseId = 0;\n var watcher = function watcher(newPromise) {\n var thisPromise = ++promiseId;\n\n if (shouldNotUpdate(newPromise)) return;\n\n if (!newPromise || !newPromise.then) {\n newPromise = Promise.resolve(newPromise);\n }\n setAsyncState(vm, key, 'updating');\n\n newPromise.then(function (value) {\n if (thisPromise !== promiseId) return;\n setAsyncState(vm, key, 'success');\n vm[key] = value;\n }).catch(function (err) {\n if (thisPromise !== promiseId) return;\n\n setAsyncState(vm, key, 'error');\n Vue.set(vm.$data._asyncComputed[key], 'exception', err);\n if (pluginOptions.errorHandler === false) return;\n\n var handler = pluginOptions.errorHandler === undefined ? console.error.bind(console, 'Error evaluating async computed property:') : pluginOptions.errorHandler;\n\n if (pluginOptions.useRawError) {\n handler(err, vm, err.stack);\n } else {\n handler(err.stack);\n }\n });\n };\n Vue.set(vm.$data._asyncComputed, key, {\n exception: null,\n update: function update() {\n if (!vm._isDestroyed) {\n watcher(getterOnly(vm.$options.asyncComputed[key]).apply(vm));\n }\n }\n });\n setAsyncState(vm, key, 'updating');\n vm.$watch(prefix + key, watcher, { immediate: true });\n}\n\nfunction initDataWithAsyncComputed(options) {\n var optionData = options.data;\n var asyncComputed = options.asyncComputed || {};\n\n return function vueAsyncComputedInjectedDataFn(vm) {\n var data = (typeof optionData === 'function' ? optionData.call(this, vm) : optionData) || {};\n for (var key in asyncComputed) {\n var item = this.$options.asyncComputed[key];\n if (isComputedLazy(item)) {\n initLazy(data, key);\n this.$options.computed[key] = makeLazyComputed(key);\n } else {\n data[key] = null;\n }\n }\n return data;\n };\n}\n\nfunction getterFn(key, fn) {\n if (typeof fn === 'function') return fn;\n\n var getter = fn.get;\n\n if (hasOwnProperty(fn, 'watch')) {\n getter = getWatchedGetter(fn);\n }\n\n if (hasOwnProperty(fn, 'shouldUpdate')) {\n getter = getGetterWithShouldUpdate(fn, getter);\n }\n\n if (isComputedLazy(fn)) {\n var nonLazy = getter;\n getter = function lazyGetter() {\n if (isLazyActive(this, key)) {\n return nonLazy.call(this);\n } else {\n return silentGetLazy(this, key);\n }\n };\n }\n return getter;\n}\n\nfunction generateDefault(fn, pluginOptions) {\n var defaultValue = null;\n\n if ('default' in fn) {\n defaultValue = fn.default;\n } else if ('default' in pluginOptions) {\n defaultValue = pluginOptions.default;\n }\n\n if (typeof defaultValue === 'function') {\n return defaultValue.call(this);\n } else {\n return defaultValue;\n }\n}\n\n/* istanbul ignore if */\nif (typeof window !== 'undefined' && window.Vue) {\n // Auto install in dist mode\n window.Vue.use(AsyncComputed);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (AsyncComputed);\n\n\n//# sourceURL=webpack:///./node_modules/vue-async-computed/dist/vue-async-computed.esm.js?"); - -/***/ }), - -/***/ "./node_modules/vue-cookies/vue-cookies.js": -/*!*************************************************!*\ - !*** ./node_modules/vue-cookies/vue-cookies.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/**\r\n * Vue Cookies v1.7.0\r\n * https://github.com/cmp-cc/vue-cookies\r\n *\r\n * Copyright 2016, cmp-cc\r\n * Released under the MIT license\r\n */\r\n\r\n(function() {\r\n\r\n var defaultConfig = {\r\n expires : '1d',\r\n path : '; path=/',\r\n domain:'',\r\n secure:'',\r\n sameSite:''\r\n }\r\n\r\n var VueCookies = {\r\n // install of Vue\r\n install: function(Vue) {\r\n Vue.prototype.$cookies = this\r\n Vue.$cookies = this\r\n },\r\n config : function(expireTimes,path,domain,secure,sameSite) {\r\n defaultConfig.expires = expireTimes ? expireTimes : '1d';\r\n defaultConfig.path = path ? '; path=' + path : '; path=/';\r\n defaultConfig.domain = domain ? '; domain=' + domain : '';\r\n defaultConfig.secure = secure ? '; Secure' : '';\r\n defaultConfig.sameSite = sameSite ? '; SameSite=' + sameSite : '';\r\n },\r\n get: function(key) {\r\n var value = decodeURIComponent(document.cookie.replace(new RegExp(\"(?:(?:^|.*;)\\\\s*\" + encodeURIComponent(key).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$\"), \"$1\")) || null\r\n\r\n if(value && value.substring(0,1) === \"{\" && value.substring(value.length-1,value.length) === \"}\") {\r\n try {\r\n value = JSON.parse(value)\r\n }catch (e) {\r\n return value;\r\n }\r\n }\r\n return value;\r\n },\r\n set: function(key, value, expireTimes, path, domain, secure, sameSite) {\r\n if (!key) {\r\n throw new Error(\"Cookie name is not find in first argument.\")\r\n }else if(/^(?:expires|max\\-age|path|domain|secure|SameSite)$/i.test(key)){\r\n throw new Error(\"Cookie key name illegality, Cannot be set to ['expires','max-age','path','domain','secure','SameSite']\\t current key name: \" + key);\r\n }\r\n // support json object\r\n if(value && value.constructor === Object) {\r\n value = JSON.stringify(value);\r\n }\r\n var _expires = \"\";\r\n expireTimes = expireTimes === undefined ? defaultConfig.expires : expireTimes;\r\n if (expireTimes && expireTimes != 0) {\r\n switch (expireTimes.constructor) {\r\n case Number:\r\n if(expireTimes === Infinity || expireTimes === -1) _expires = \"; expires=Fri, 31 Dec 9999 23:59:59 GMT\";\r\n else _expires = \"; max-age=\" + expireTimes;\r\n break;\r\n case String:\r\n if (/^(?:\\d{1,}(y|m|d|h|min|s))$/i.test(expireTimes)) {\r\n // get capture number group\r\n var _expireTime = expireTimes.replace(/^(\\d{1,})(?:y|m|d|h|min|s)$/i, \"$1\");\r\n // get capture type group , to lower case\r\n switch (expireTimes.replace(/^(?:\\d{1,})(y|m|d|h|min|s)$/i, \"$1\").toLowerCase()) {\r\n // Frequency sorting\r\n case 'm': _expires = \"; max-age=\" + +_expireTime * 2592000; break; // 60 * 60 * 24 * 30\r\n case 'd': _expires = \"; max-age=\" + +_expireTime * 86400; break; // 60 * 60 * 24\r\n case 'h': _expires = \"; max-age=\" + +_expireTime * 3600; break; // 60 * 60\r\n case 'min': _expires = \"; max-age=\" + +_expireTime * 60; break; // 60\r\n case 's': _expires = \"; max-age=\" + _expireTime; break;\r\n case 'y': _expires = \"; max-age=\" + +_expireTime * 31104000; break; // 60 * 60 * 24 * 30 * 12\r\n default: new Error(\"unknown exception of 'set operation'\");\r\n }\r\n } else {\r\n _expires = \"; expires=\" + expireTimes;\r\n }\r\n break;\r\n case Date:\r\n _expires = \"; expires=\" + expireTimes.toUTCString();\r\n break;\r\n }\r\n }\r\n document.cookie =\r\n encodeURIComponent(key) + \"=\" + encodeURIComponent(value) +\r\n _expires +\r\n (domain ? \"; domain=\" + domain : defaultConfig.domain) +\r\n (path ? \"; path=\" + path : defaultConfig.path) +\r\n (secure === undefined ? defaultConfig.secure : secure ? \"; Secure\" : \"\") +\r\n (sameSite === undefined ? defaultConfig.sameSite : (sameSite ? \"; SameSite=\" + sameSite : \"\"));\r\n return this;\r\n },\r\n remove: function(key, path, domain) {\r\n if (!key || !this.isKey(key)) {\r\n return false;\r\n }\r\n document.cookie = encodeURIComponent(key) + \"=; expires=Thu, 01 Jan 1970 00:00:00 GMT\" + (domain ? \"; domain=\" + domain : defaultConfig.domain) + (path ? \"; path=\" + path : defaultConfig.path);\r\n return this;\r\n },\r\n isKey: function(key) {\r\n return (new RegExp(\"(?:^|;\\\\s*)\" + encodeURIComponent(key).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\")).test(document.cookie);\r\n },\r\n keys: function() {\r\n if(!document.cookie) return [];\r\n var _keys = document.cookie.replace(/((?:^|\\s*;)[^\\=]+)(?=;|$)|^\\s*|\\s*(?:\\=[^;]*)?(?:\\1|$)/g, \"\").split(/\\s*(?:\\=[^;]*)?;\\s*/);\r\n for (var _index = 0; _index < _keys.length; _index++) {\r\n _keys[_index] = decodeURIComponent(_keys[_index]);\r\n }\r\n return _keys;\r\n }\r\n }\r\n\r\n if (true) {\r\n module.exports = VueCookies;\r\n } else {}\r\n // vue-cookies can exist independently,no dependencies library\r\n if(typeof window!==\"undefined\"){\r\n window.$cookies = VueCookies;\r\n }\r\n\r\n})()\r\n\n\n//# sourceURL=webpack:///./node_modules/vue-cookies/vue-cookies.js?"); - -/***/ }), - -/***/ "./node_modules/vue-good-table/dist/vue-good-table.esm.js": -/*!****************************************************************!*\ - !*** ./node_modules/vue-good-table/dist/vue-good-table.esm.js ***! - \****************************************************************/ -/*! exports provided: default, VueGoodTable */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VueGoodTable\", function() { return __vue_component__$7; });\n/**\n * vue-good-table v2.19.1\n * (c) 2018-present xaksis \n * https://github.com/xaksis/vue-good-table\n * Released under the MIT License.\n */\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _createForOfIteratorHelper(o) {\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) {\n var i = 0;\n\n var F = function () {};\n\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var it,\n normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = o[Symbol.iterator]();\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\n/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _([1, 2]).forEach(function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, typeof iteratee == 'function' ? iteratee : identity);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nvar lodash_foreach = forEach;\n\n/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER$1 = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag$1 = '[object Arguments]',\n funcTag$1 = '[object Function]',\n genTag$1 = '[object GeneratorFunction]';\n\n/** Used to detect unsigned integer values. */\nvar reIsUint$1 = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes$1(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg$1(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar objectProto$1 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$1 = objectProto$1.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString$1 = objectProto$1.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable$1 = objectProto$1.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys$1 = overArg$1(Object.keys, Object),\n nativeMax = Math.max;\n\n/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */\nvar nonEnumShadows = !propertyIsEnumerable$1.call({ 'valueOf': 1 }, 'valueOf');\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys$1(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray$1(value) || isArguments$1(value))\n ? baseTimes$1(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty$1.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex$1(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty$1.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys$1(object) {\n if (!isPrototype$1(object)) {\n return nativeKeys$1(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty$1.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex$1(value, length) {\n length = length == null ? MAX_SAFE_INTEGER$1 : length;\n return !!length &&\n (typeof value == 'number' || reIsUint$1.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject$1(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike$1(object) && isIndex$1(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype$1(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$1;\n\n return value === proto;\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments$1(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject$1(value) && hasOwnProperty$1.call(value, 'callee') &&\n (!propertyIsEnumerable$1.call(value, 'callee') || objectToString$1.call(value) == argsTag$1);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray$1 = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike$1(value) {\n return value != null && isLength$1(value.length) && !isFunction$1(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject$1(value) {\n return isObjectLike$1(value) && isArrayLike$1(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction$1(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject$1(value) ? objectToString$1.call(value) : '';\n return tag == funcTag$1 || tag == genTag$1;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength$1(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject$1(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike$1(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (nonEnumShadows || isPrototype$1(source) || isArrayLike$1(source)) {\n copyObject(source, keys$1(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty$1.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys$1(object) {\n return isArrayLike$1(object) ? arrayLikeKeys$1(object) : baseKeys$1(object);\n}\n\nvar lodash_assign = assign;\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar lodash_clonedeep = createCommonjsModule(function (module, exports) {\n/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = cloneDeep;\n});\n\nvar lodash_filter = createCommonjsModule(function (module, exports) {\n/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array ? array.length : 0,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n */\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate));\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = filter;\n});\n\nvar lodash_isequal = createCommonjsModule(function (module, exports) {\n/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n});\n\n// all diacritics\r\nvar diacritics = \r\n\t{\r\n\t\t'a' : ['a','à','á','â','ã','ä','å','æ','ā','ă','ą','ǎ','ǟ','ǡ','ǻ','ȁ','ȃ','ȧ','ɐ','ɑ','ɒ','ͣ','а','ӑ','ӓ','ᵃ','ᵄ','ᶏ','ḁ','ẚ','ạ','ả','ấ','ầ','ẩ','ẫ','ậ','ắ','ằ','ẳ','ẵ','ặ','ₐ','ⱥ','a'],\r\n\t\t'A' : ['A','À','Á','Â','Ã','Ä','Å','Ā','Ă','Ą','Ǎ','Ǟ','Ǡ','Ǻ','Ȁ','Ȃ','Ȧ','Ⱥ','А','Ӑ','Ӓ','ᴀ','ᴬ','Ḁ','Ạ','Ả','Ấ','Ầ','Ẩ','Ẫ','Ậ','Ắ','Ằ','Ẳ','Ẵ','Ặ','A'],\r\n\t\t \r\n\t\t'b' : ['b','ƀ','ƃ','ɓ','ᖯ','ᵇ','ᵬ','ᶀ','ḃ','ḅ','ḇ','b'],\r\n\t\t'B' : ['B','Ɓ','Ƃ','Ƀ','ʙ','ᛒ','ᴃ','ᴮ','ᴯ','Ḃ','Ḅ','Ḇ','B'],\r\n\t\t \r\n\t\t'c' : ['c','ç','ć','ĉ','ċ','č','ƈ','ȼ','ɕ','ͨ','ᴄ','ᶜ','ḉ','ↄ','c'],\r\n\t\t'C' : ['C','Ç','Ć','Ĉ','Ċ','Č','Ƈ','Ȼ','ʗ','Ḉ','C'],\r\n\t\t\r\n\t\t'd' : ['d','ď','đ','Ƌ','ƌ','ȡ','ɖ','ɗ','ͩ','ᵈ','ᵭ','ᶁ','ᶑ','ḋ','ḍ','ḏ','ḑ','ḓ','d'],\r\n\t\t'D' : ['D','Ď','Đ','Ɖ','Ɗ','ᴰ','Ḋ','Ḍ','Ḏ','Ḑ','Ḓ','D'],\r\n\t\t\r\n\t\t'e' : ['e','è','é','ê','ë','ē','ĕ','ė','ę','ě','ǝ','ȅ','ȇ','ȩ','ɇ','ɘ','ͤ','ᵉ','ᶒ','ḕ','ḗ','ḙ','ḛ','ḝ','ẹ','ẻ','ẽ','ế','ề','ể','ễ','ệ','ₑ','e'],\r\n\t\t'E' : ['E','È','É','Ê','Ë','Ē','Ĕ','Ė','Ę','Ě','Œ','Ǝ','Ɛ','Ȅ','Ȇ','Ȩ','Ɇ','ɛ','ɜ','ɶ','Є','Э','э','є','Ӭ','ӭ','ᴇ','ᴈ','ᴱ','ᴲ','ᵋ','ᵌ','ᶓ','ᶔ','ᶟ','Ḕ','Ḗ','Ḙ','Ḛ','Ḝ','Ẹ','Ẻ','Ẽ','Ế','Ề','Ể','Ễ','Ệ','E','𐐁','𐐩'],\r\n\t\t\r\n\t\t'f' : ['f','ƒ','ᵮ','ᶂ','ᶠ','ḟ','f'],\r\n\t\t'F' : ['F','Ƒ','Ḟ','ⅎ','F'],\r\n\t\t\r\n\t\t'g' : ['g','ĝ','ğ','ġ','ģ','ǥ','ǧ','ǵ','ɠ','ɡ','ᵍ','ᵷ','ᵹ','ᶃ','ᶢ','ḡ','g'],\r\n\t\t'G' : ['G','Ĝ','Ğ','Ġ','Ģ','Ɠ','Ǥ','Ǧ','Ǵ','ɢ','ʛ','ᴳ','Ḡ','G'],\r\n\t\t\r\n\t\t'h' : ['h','ĥ','ħ','ƕ','ȟ','ɥ','ɦ','ʮ','ʯ','ʰ','ʱ','ͪ','Һ','һ','ᑋ','ᶣ','ḣ','ḥ','ḧ','ḩ','ḫ','ⱨ','h'],\r\n\t\t'H' : ['H','Ĥ','Ħ','Ȟ','ʜ','ᕼ','ᚺ','ᚻ','ᴴ','Ḣ','Ḥ','Ḧ','Ḩ','Ḫ','Ⱨ','H'],\r\n\t\t\r\n\t\t'i' : ['i','ì','í','î','ï','ĩ','ī','ĭ','į','ǐ','ȉ','ȋ','ɨ','ͥ','ᴉ','ᵎ','ᵢ','ᶖ','ᶤ','ḭ','ḯ','ỉ','ị','i'],\r\n\t\t'I' : ['I','Ì','Í','Î','Ï','Ĩ','Ī','Ĭ','Į','İ','Ǐ','Ȉ','Ȋ','ɪ','І','ᴵ','ᵻ','ᶦ','ᶧ','Ḭ','Ḯ','Ỉ','Ị','I'],\r\n\t\t\r\n\t\t'j' : ['j','ĵ','ǰ','ɉ','ʝ','ʲ','ᶡ','ᶨ','j'],\r\n\t\t'J' : ['J','Ĵ','ᴊ','ᴶ','J'],\r\n\t\t\r\n\t\t'k' : ['k','ķ','ƙ','ǩ','ʞ','ᵏ','ᶄ','ḱ','ḳ','ḵ','ⱪ','k'],\r\n\t\t'K' : ['K','Ķ','Ƙ','Ǩ','ᴷ','Ḱ','Ḳ','Ḵ','Ⱪ','K'],\r\n\t\t\r\n\t\t'l' : ['l','ĺ','ļ','ľ','ŀ','ł','ƚ','ȴ','ɫ','ɬ','ɭ','ˡ','ᶅ','ᶩ','ᶪ','ḷ','ḹ','ḻ','ḽ','ℓ','ⱡ'],\r\n\t\t'L' : ['L','Ĺ','Ļ','Ľ','Ŀ','Ł','Ƚ','ʟ','ᴌ','ᴸ','ᶫ','Ḷ','Ḹ','Ḻ','Ḽ','Ⱡ','Ɫ'],\r\n\t\t\r\n\t\t'm' : ['m','ɯ','ɰ','ɱ','ͫ','ᴟ','ᵐ','ᵚ','ᵯ','ᶆ','ᶬ','ᶭ','ḿ','ṁ','ṃ','㎡','㎥','m'],\r\n\t\t'M' : ['M','Ɯ','ᴍ','ᴹ','Ḿ','Ṁ','Ṃ','M'],\r\n\t\t\r\n\t\t'n' : ['n','ñ','ń','ņ','ň','ʼn','ƞ','ǹ','ȵ','ɲ','ɳ','ᵰ','ᶇ','ᶮ','ᶯ','ṅ','ṇ','ṉ','ṋ','ⁿ','n'],\r\n\t\t'N' : ['N','Ñ','Ń','Ņ','Ň','Ɲ','Ǹ','Ƞ','ɴ','ᴎ','ᴺ','ᴻ','ᶰ','Ṅ','Ṇ','Ṉ','Ṋ','N'],\r\n\t\t\r\n\t\t'o' : ['o','ò','ó','ô','õ','ö','ø','ō','ŏ','ő','ơ','ǒ','ǫ','ǭ','ǿ','ȍ','ȏ','ȫ','ȭ','ȯ','ȱ','ɵ','ͦ','о','ӧ','ө','ᴏ','ᴑ','ᴓ','ᴼ','ᵒ','ᶱ','ṍ','ṏ','ṑ','ṓ','ọ','ỏ','ố','ồ','ổ','ỗ','ộ','ớ','ờ','ở','ỡ','ợ','ₒ','o','𐐬'],\r\n\t\t'O' : ['O','Ò','Ó','Ô','Õ','Ö','Ø','Ō','Ŏ','Ő','Ɵ','Ơ','Ǒ','Ǫ','Ǭ','Ǿ','Ȍ','Ȏ','Ȫ','Ȭ','Ȯ','Ȱ','О','Ӧ','Ө','Ṍ','Ṏ','Ṑ','Ṓ','Ọ','Ỏ','Ố','Ồ','Ổ','Ỗ','Ộ','Ớ','Ờ','Ở','Ỡ','Ợ','O','𐐄'],\r\n\t\t\r\n\t\t'p' : ['p','ᵖ','ᵱ','ᵽ','ᶈ','ṕ','ṗ','p'],\r\n\t\t'P' : ['P','Ƥ','ᴘ','ᴾ','Ṕ','Ṗ','Ᵽ','P'],\r\n\t\t\r\n\t\t'q' : ['q','ɋ','ʠ','ᛩ','q'],\r\n\t\t'Q' : ['Q','Ɋ','Q'],\r\n\t\t\r\n\t\t'r' : ['r','ŕ','ŗ','ř','ȑ','ȓ','ɍ','ɹ','ɻ','ʳ','ʴ','ʵ','ͬ','ᵣ','ᵲ','ᶉ','ṙ','ṛ','ṝ','ṟ'],\r\n\t\t'R' : ['R','Ŕ','Ŗ','Ř','Ʀ','Ȑ','Ȓ','Ɍ','ʀ','ʁ','ʶ','ᚱ','ᴙ','ᴚ','ᴿ','Ṙ','Ṛ','Ṝ','Ṟ','Ɽ'],\r\n\t\t\r\n\t\t's' : ['s','ś','ŝ','ş','š','ș','ʂ','ᔆ','ᶊ','ṡ','ṣ','ṥ','ṧ','ṩ','s'],\r\n\t\t'S' : ['S','Ś','Ŝ','Ş','Š','Ș','ȿ','ˢ','ᵴ','Ṡ','Ṣ','Ṥ','Ṧ','Ṩ','S'],\r\n\t\t\r\n\t\t't' : ['t','ţ','ť','ŧ','ƫ','ƭ','ț','ʇ','ͭ','ᵀ','ᵗ','ᵵ','ᶵ','ṫ','ṭ','ṯ','ṱ','ẗ','t'],\r\n\t\t'T' : ['T','Ţ','Ť','Ƭ','Ʈ','Ț','Ⱦ','ᴛ','ᵀ','Ṫ','Ṭ','Ṯ','Ṱ','T'],\r\n\t \t\r\n\t\t'u' : ['u','ù','ú','û','ü','ũ','ū','ŭ','ů','ű','ų','ư','ǔ','ǖ','ǘ','ǚ','ǜ','ȕ','ȗ','ͧ','ߎ','ᵘ','ᵤ','ṳ','ṵ','ṷ','ṹ','ṻ','ụ','ủ','ứ','ừ','ử','ữ','ự','u'],\r\n\t\t'U' : ['U','Ù','Ú','Û','Ü','Ũ','Ū','Ŭ','Ů','Ű','Ų','Ư','Ǔ','Ǖ','Ǘ','Ǚ','Ǜ','Ȕ','Ȗ','Ʉ','ᴜ','ᵁ','ᵾ','Ṳ','Ṵ','Ṷ','Ṹ','Ṻ','Ụ','Ủ','Ứ','Ừ','Ử','Ữ','Ự','U'],\r\n\t\t\r\n\t\t'v' : ['v','ʋ','ͮ','ᵛ','ᵥ','ᶹ','ṽ','ṿ','ⱱ','v','ⱴ'],\r\n\t\t'V' : ['V','Ʋ','Ʌ','ʌ','ᴠ','ᶌ','Ṽ','Ṿ','V'],\r\n\t\t\r\n\t\t'w' : ['w','ŵ','ʷ','ᵂ','ẁ','ẃ','ẅ','ẇ','ẉ','ẘ','ⱳ','w'],\r\n\t\t'W' : ['W','Ŵ','ʍ','ᴡ','Ẁ','Ẃ','Ẅ','Ẇ','Ẉ','Ⱳ','W'],\r\n\t\t\r\n\t\t'x' : ['x','̽','͓','ᶍ','ͯ','ẋ','ẍ','ₓ','x'],\r\n\t\t'X' : ['X','ˣ','ͯ','Ẋ','Ẍ','☒','✕','✖','✗','✘','X'],\r\n\t\t\r\n\t\t'y' : ['y','ý','ÿ','ŷ','ȳ','ɏ','ʸ','ẏ','ỳ','ỵ','ỷ','ỹ','y'],\r\n\t\t'Y' : ['Y','Ý','Ŷ','Ÿ','Ƴ','ƴ','Ȳ','Ɏ','ʎ','ʏ','Ẏ','Ỳ','Ỵ','Ỷ','Ỹ','Y'],\r\n\t\t\r\n\t\t'z' : ['z','ź','ż','ž','ƶ','ȥ','ɀ','ʐ','ʑ','ᙆ','ᙇ','ᶻ','ᶼ','ᶽ','ẑ','ẓ','ẕ','ⱬ','z'],\r\n\t\t'Z' : ['Z','Ź','Ż','Ž','Ƶ','Ȥ','ᴢ','ᵶ','Ẑ','Ẓ','Ẕ','Ⱬ','Z']\r\n\t};\r\n\r\n/*\r\n * Main function of the module which removes all diacritics from the received text\r\n */\r\nvar diacriticless = function (text) {\r\n var result = [];\r\n\r\n\t// iterate over all the characters of the received text\r\n for(var i=0; i 2 && arguments[2] !== undefined ? arguments[2] : false;\n var fromDropdown = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n // take care of nulls\n if (typeof rowval === 'undefined' || rowval === null) {\n return false;\n } // row value\n\n\n var rowValue = skipDiacritics ? String(rowval).toLowerCase() : diacriticless(escapeRegExp(String(rowval)).toLowerCase()); // search term\n\n var searchTerm = skipDiacritics ? filter.toLowerCase() : diacriticless(escapeRegExp(filter).toLowerCase()); // comparison\n\n return fromDropdown ? rowValue === searchTerm : rowValue.indexOf(searchTerm) > -1;\n },\n compare: function compare(x, y) {\n function cook(d) {\n if (typeof d === 'undefined' || d === null) return '';\n return diacriticless(d.toLowerCase());\n }\n\n x = cook(x);\n y = cook(y);\n if (x < y) return -1;\n if (x > y) return 1;\n return 0;\n }\n};\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script = {\n name: 'VgtPaginationPageInfo',\n props: {\n currentPage: {\n \"default\": 1\n },\n lastPage: {\n \"default\": 1\n },\n totalRecords: {\n \"default\": 0\n },\n ofText: {\n \"default\": 'of',\n type: String\n },\n pageText: {\n \"default\": 'page',\n type: String\n }\n },\n data: function data() {\n return {};\n },\n computed: {\n pageInfo: function pageInfo() {\n return \"\".concat(this.ofText, \" \").concat(this.lastPage);\n }\n },\n methods: {\n changePage: function changePage(event) {\n var value = parseInt(event.target.value, 10); //! invalid number\n\n if (Number.isNaN(value) || value > this.lastPage || value < 1) {\n event.target.value = this.currentPage;\n return false;\n } //* valid number\n\n\n event.target.value = value;\n this.$emit('page-changed', value);\n }\n },\n mounted: function mounted() {},\n components: {}\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n staticClass: \"footer__navigation__page-info\"\n }, [_vm._v(\"\\n \" + _vm._s(_vm.pageText) + \" \"), _c('input', {\n staticClass: \"footer__navigation__page-info__current-entry\",\n attrs: {\n \"type\": \"text\"\n },\n domProps: {\n \"value\": _vm.currentPage\n },\n on: {\n \"keyup\": function keyup($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }\n\n $event.stopPropagation();\n return _vm.changePage($event);\n }\n }\n }), _vm._v(\" \" + _vm._s(_vm.pageInfo) + \"\\n\")]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = \"data-v-9a8cd1f4\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\n//\nvar DEFAULT_ROWS_PER_PAGE_DROPDOWN = [10, 20, 30, 40, 50];\nvar script$1 = {\n name: 'VgtPagination',\n props: {\n styleClass: {\n \"default\": 'table table-bordered'\n },\n total: {\n \"default\": null\n },\n perPage: {},\n rtl: {\n \"default\": false\n },\n customRowsPerPageDropdown: {\n \"default\": function _default() {\n return [];\n }\n },\n paginateDropdownAllowAll: {\n \"default\": true\n },\n mode: {\n \"default\": 'records'\n },\n // text options\n nextText: {\n \"default\": 'Next'\n },\n prevText: {\n \"default\": 'Prev'\n },\n rowsPerPageText: {\n \"default\": 'Rows per page:'\n },\n ofText: {\n \"default\": 'of'\n },\n pageText: {\n \"default\": 'page'\n },\n allText: {\n \"default\": 'All'\n }\n },\n data: function data() {\n return {\n currentPage: 1,\n prevPage: 0,\n currentPerPage: 10,\n rowsPerPageOptions: []\n };\n },\n watch: {\n perPage: {\n handler: function handler(newValue, oldValue) {\n this.handlePerPage();\n this.perPageChanged(oldValue);\n },\n immediate: true\n },\n customRowsPerPageDropdown: function customRowsPerPageDropdown() {\n this.handlePerPage();\n }\n },\n computed: {\n // Number of pages\n pagesCount: function pagesCount() {\n var quotient = Math.floor(this.total / this.currentPerPage);\n var remainder = this.total % this.currentPerPage;\n return remainder === 0 ? quotient : quotient + 1;\n },\n // Current displayed items\n paginatedInfo: function paginatedInfo() {\n var first = (this.currentPage - 1) * this.currentPerPage + 1;\n var last = Math.min(this.total, this.currentPage * this.currentPerPage);\n\n if (last === 0) {\n first = 0;\n }\n\n return \"\".concat(first, \" - \").concat(last, \" \").concat(this.ofText, \" \").concat(this.total);\n },\n // Can go to next page\n nextIsPossible: function nextIsPossible() {\n return this.currentPage < this.pagesCount;\n },\n // Can go to previous page\n prevIsPossible: function prevIsPossible() {\n return this.currentPage > 1;\n }\n },\n methods: {\n // Change current page\n changePage: function changePage(pageNumber) {\n var emit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (pageNumber > 0 && this.total > this.currentPerPage * (pageNumber - 1)) {\n this.prevPage = this.currentPage;\n this.currentPage = pageNumber;\n if (emit) this.pageChanged();\n }\n },\n // Go to next page\n nextPage: function nextPage() {\n if (this.nextIsPossible) {\n this.prevPage = this.currentPage;\n ++this.currentPage;\n this.pageChanged();\n }\n },\n // Go to previous page\n previousPage: function previousPage() {\n if (this.prevIsPossible) {\n this.prevPage = this.currentPage;\n --this.currentPage;\n this.pageChanged();\n }\n },\n // Indicate page changing\n pageChanged: function pageChanged() {\n this.$emit('page-changed', {\n currentPage: this.currentPage,\n prevPage: this.prevPage\n });\n },\n // Indicate per page changing\n perPageChanged: function perPageChanged(oldValue) {\n // go back to first page\n if (oldValue) {\n //* only emit if this isn't first initialization\n this.$emit('per-page-changed', {\n currentPerPage: this.currentPerPage\n });\n }\n\n this.changePage(1, false);\n },\n // Handle per page changing\n handlePerPage: function handlePerPage() {\n //* if there's a custom dropdown then we use that\n if (this.customRowsPerPageDropdown !== null && Array.isArray(this.customRowsPerPageDropdown) && this.customRowsPerPageDropdown.length !== 0) {\n this.rowsPerPageOptions = lodash_clonedeep(this.customRowsPerPageDropdown);\n } else {\n //* otherwise we use the default rows per page dropdown\n this.rowsPerPageOptions = lodash_clonedeep(DEFAULT_ROWS_PER_PAGE_DROPDOWN);\n }\n\n if (this.perPage) {\n this.currentPerPage = this.perPage; // if perPage doesn't already exist, we add it\n\n var found = false;\n\n for (var i = 0; i < this.rowsPerPageOptions.length; i++) {\n if (this.rowsPerPageOptions[i] === this.perPage) {\n found = true;\n }\n }\n\n if (!found && this.perPage !== -1) {\n this.rowsPerPageOptions.unshift(this.perPage);\n }\n } else {\n // reset to default\n this.currentPerPage = 10;\n }\n }\n },\n mounted: function mounted() {},\n components: {\n 'pagination-page-info': __vue_component__\n }\n};\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n staticClass: \"vgt-wrap__footer vgt-clearfix\"\n }, [_c('div', {\n staticClass: \"footer__row-count vgt-pull-left\"\n }, [_c('span', {\n staticClass: \"footer__row-count__label\"\n }, [_vm._v(_vm._s(_vm.rowsPerPageText))]), _vm._v(\" \"), _c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.currentPerPage,\n expression: \"currentPerPage\"\n }],\n staticClass: \"footer__row-count__select\",\n attrs: {\n \"autocomplete\": \"off\",\n \"name\": \"perPageSelect\"\n },\n on: {\n \"change\": [function ($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) {\n return o.selected;\n }).map(function (o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val;\n });\n _vm.currentPerPage = $event.target.multiple ? $$selectedVal : $$selectedVal[0];\n }, _vm.perPageChanged]\n }\n }, [_vm._l(_vm.rowsPerPageOptions, function (option, idx) {\n return _c('option', {\n key: 'rows-dropdown-option-' + idx,\n domProps: {\n \"value\": option\n }\n }, [_vm._v(\"\\n \" + _vm._s(option) + \"\\n \")]);\n }), _vm._v(\" \"), _vm.paginateDropdownAllowAll ? _c('option', {\n domProps: {\n \"value\": _vm.total\n }\n }, [_vm._v(_vm._s(_vm.allText))]) : _vm._e()], 2)]), _vm._v(\" \"), _c('div', {\n staticClass: \"footer__navigation vgt-pull-right\"\n }, [_c('a', {\n staticClass: \"footer__navigation__page-btn\",\n \"class\": {\n disabled: !_vm.prevIsPossible\n },\n attrs: {\n \"href\": \"javascript:undefined\",\n \"tabindex\": \"0\"\n },\n on: {\n \"click\": function click($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.previousPage($event);\n }\n }\n }, [_c('span', {\n staticClass: \"chevron\",\n \"class\": {\n 'left': !_vm.rtl,\n 'right': _vm.rtl\n }\n }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.prevText))])]), _vm._v(\" \"), _vm.mode === 'pages' ? _c('pagination-page-info', {\n attrs: {\n \"totalRecords\": _vm.total,\n \"lastPage\": _vm.pagesCount,\n \"currentPage\": _vm.currentPage,\n \"ofText\": _vm.ofText,\n \"pageText\": _vm.pageText\n },\n on: {\n \"page-changed\": _vm.changePage\n }\n }) : _c('div', {\n staticClass: \"footer__navigation__info\"\n }, [_vm._v(_vm._s(_vm.paginatedInfo))]), _vm._v(\" \"), _c('a', {\n staticClass: \"footer__navigation__page-btn\",\n \"class\": {\n disabled: !_vm.nextIsPossible\n },\n attrs: {\n \"href\": \"javascript:undefined\",\n \"tabindex\": \"0\"\n },\n on: {\n \"click\": function click($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.nextPage($event);\n }\n }\n }, [_c('span', [_vm._v(_vm._s(_vm.nextText))]), _vm._v(\" \"), _c('span', {\n staticClass: \"chevron\",\n \"class\": {\n 'right': !_vm.rtl,\n 'left': _vm.rtl\n }\n })])], 1)]);\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$1 = normalizeComponent({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, __vue_script__$1, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$2 = {\n name: 'VgtGlobalSearch',\n props: ['value', 'searchEnabled', 'globalSearchPlaceholder'],\n data: function data() {\n return {\n globalSearchTerm: null\n };\n },\n computed: {\n showControlBar: function showControlBar() {\n if (this.searchEnabled) return true;\n if (this.$slots && this.$slots['internal-table-actions']) return true;\n return false;\n }\n },\n methods: {\n updateValue: function updateValue(value) {\n this.$emit('input', value);\n this.$emit('on-keyup', value);\n },\n entered: function entered(value) {\n this.$emit('on-enter', value);\n }\n }\n};\n\n/* script */\nvar __vue_script__$2 = script$2;\n/* template */\n\nvar __vue_render__$2 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _vm.showControlBar ? _c('div', {\n staticClass: \"vgt-global-search vgt-clearfix\"\n }, [_c('div', {\n staticClass: \"vgt-global-search__input vgt-pull-left\"\n }, [_vm.searchEnabled ? _c('span', {\n staticClass: \"input__icon\"\n }, [_c('div', {\n staticClass: \"magnifying-glass\"\n })]) : _vm._e(), _vm._v(\" \"), _vm.searchEnabled ? _c('input', {\n staticClass: \"vgt-input vgt-pull-left\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.globalSearchPlaceholder\n },\n domProps: {\n \"value\": _vm.value\n },\n on: {\n \"input\": function input($event) {\n return _vm.updateValue($event.target.value);\n },\n \"keyup\": function keyup($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }\n\n return _vm.entered($event.target.value);\n }\n }\n }) : _vm._e()]), _vm._v(\" \"), _c('div', {\n staticClass: \"vgt-global-search__actions vgt-pull-right\"\n }, [_vm._t(\"internal-table-actions\")], 2)]) : _vm._e();\n};\n\nvar __vue_staticRenderFns__$2 = [];\n/* style */\n\nvar __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$2 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$2 = normalizeComponent({\n render: __vue_render__$2,\n staticRenderFns: __vue_staticRenderFns__$2\n}, __vue_inject_styles__$2, __vue_script__$2, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\nvar script$3 = {\n name: 'VgtFilterRow',\n props: ['lineNumbers', 'columns', 'typedColumns', 'globalSearchEnabled', 'selectable', 'mode'],\n watch: {\n columns: {\n handler: function handler(newValue, oldValue) {\n this.populateInitialFilters();\n },\n deep: true,\n immediate: true\n }\n },\n data: function data() {\n return {\n columnFilters: {},\n timer: null\n };\n },\n computed: {\n // to create a filter row, we need to\n // make sure that there is atleast 1 column\n // that requires filtering\n hasFilterRow: function hasFilterRow() {\n // if (this.mode === 'remote' || !this.globalSearchEnabled) {\n for (var i = 0; i < this.columns.length; i++) {\n var col = this.columns[i];\n\n if (col.filterOptions && col.filterOptions.enabled) {\n return true;\n }\n } // }\n\n\n return false;\n }\n },\n methods: {\n reset: function reset() {\n var emitEvent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.columnFilters = {};\n var vSelect = this.$refs && this.$refs['vgt-multiselect'];\n\n if (vSelect) {\n vSelect.forEach(function (ref) {\n ref.clearSelection();\n });\n }\n\n if (emitEvent) {\n this.$emit('filter-changed', this.columnFilters);\n }\n },\n isFilterable: function isFilterable(column) {\n return column.filterOptions && column.filterOptions.enabled;\n },\n isDropdown: function isDropdown(column) {\n return this.isFilterable(column) && column.filterOptions.filterDropdownItems && column.filterOptions.filterDropdownItems.length;\n },\n isDropdownObjects: function isDropdownObjects(column) {\n return this.isDropdown(column) && _typeof(column.filterOptions.filterDropdownItems[0]) === 'object';\n },\n isDropdownArray: function isDropdownArray(column) {\n return this.isDropdown(column) && _typeof(column.filterOptions.filterDropdownItems[0]) !== 'object';\n },\n isMultiselectDropdown: function isMultiselectDropdown(column) {\n return this.isFilterable(column) && column.filterOptions && column.filterOptions.filterMultiselectDropdownItems;\n },\n // get column's defined placeholder or default one\n getPlaceholder: function getPlaceholder(column) {\n var placeholder = this.isFilterable(column) && column.filterOptions.placeholder || \"Filter \".concat(column.label);\n return placeholder;\n },\n updateFiltersOnEnter: function updateFiltersOnEnter(column, value) {\n if (this.timer) clearTimeout(this.timer);\n this.updateFiltersImmediately(column, value);\n },\n updateFiltersOnKeyup: function updateFiltersOnKeyup(column, value) {\n // if the trigger is enter, we don't filter on keyup\n if (column.filterOptions.trigger === 'enter') return;\n this.updateFilters(column, value);\n },\n // since vue doesn't detect property addition and deletion, we\n // need to create helper function to set property etc\n updateFilters: function updateFilters(column, value) {\n var _this = this;\n\n if (this.timer) clearTimeout(this.timer);\n this.timer = setTimeout(function () {\n _this.updateFiltersImmediately(column, value);\n }, 400);\n },\n updateFiltersImmediately: function updateFiltersImmediately(column, value) {\n this.$set(this.columnFilters, column.field, value);\n this.$emit('filter-changed', this.columnFilters);\n },\n populateInitialFilters: function populateInitialFilters() {\n for (var i = 0; i < this.columns.length; i++) {\n var col = this.columns[i]; // lets see if there are initial\n // filters supplied by user\n\n if (this.isFilterable(col) && typeof col.filterOptions.filterValue !== 'undefined' && col.filterOptions.filterValue !== null) {\n this.$set(this.columnFilters, col.field, col.filterOptions.filterValue); // this.updateFilters(col, col.filterOptions.filterValue);\n // this.$set(col.filterOptions, 'filterValue', undefined);\n }\n } //* lets emit event once all filters are set\n\n\n this.$emit('filter-changed', this.columnFilters);\n }\n }\n};\n\n/* script */\nvar __vue_script__$3 = script$3;\n/* template */\n\nvar __vue_render__$3 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _vm.hasFilterRow ? _c('tr', [_vm.lineNumbers ? _c('th') : _vm._e(), _vm._v(\" \"), _vm.selectable ? _c('th') : _vm._e(), _vm._v(\" \"), _vm._l(_vm.columns, function (column, index) {\n return !column.hidden ? _c('th', {\n key: index,\n staticClass: \"filter-th\"\n }, [_vm.isFilterable(column) ? _c('div', [!_vm.isDropdown(column) && !_vm.isMultiselectDropdown(column) ? _c('input', {\n staticClass: \"vgt-input\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.getPlaceholder(column)\n },\n domProps: {\n \"value\": _vm.columnFilters[column.field]\n },\n on: {\n \"keyup\": function keyup($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }\n\n return _vm.updateFiltersOnEnter(column, $event.target.value);\n },\n \"input\": function input($event) {\n return _vm.updateFiltersOnKeyup(column, $event.target.value);\n }\n }\n }) : _vm._e(), _vm._v(\" \"), _vm.isDropdownArray(column) ? _c('select', {\n staticClass: \"vgt-select\",\n domProps: {\n \"value\": _vm.columnFilters[column.field]\n },\n on: {\n \"change\": function change($event) {\n return _vm.updateFilters(column, $event.target.value);\n }\n }\n }, [_c('option', {\n key: \"-1\",\n attrs: {\n \"value\": \"\"\n }\n }, [_vm._v(_vm._s(_vm.getPlaceholder(column)))]), _vm._v(\" \"), _vm._l(column.filterOptions.filterDropdownItems, function (option, i) {\n return _c('option', {\n key: i,\n domProps: {\n \"value\": option\n }\n }, [_vm._v(\"\\n \" + _vm._s(option) + \"\\n \")]);\n })], 2) : _vm._e(), _vm._v(\" \"), _vm.isDropdownObjects(column) ? _c('select', {\n staticClass: \"vgt-select\",\n domProps: {\n \"value\": _vm.columnFilters[column.field]\n },\n on: {\n \"change\": function change($event) {\n return _vm.updateFilters(column, $event.target.value, true);\n }\n }\n }, [_c('option', {\n key: \"-1\",\n attrs: {\n \"value\": \"\"\n }\n }, [_vm._v(_vm._s(_vm.getPlaceholder(column)))]), _vm._v(\" \"), _vm._l(column.filterOptions.filterDropdownItems, function (option, i) {\n return _c('option', {\n key: i,\n domProps: {\n \"value\": option.value\n }\n }, [_vm._v(_vm._s(option.text))]);\n })], 2) : _vm._e(), _vm._v(\" \"), _vm.isMultiselectDropdown(column) ? _c('v-select', {\n ref: \"vgt-multiselect\",\n refInFor: true,\n attrs: {\n \"options\": column.filterOptions.filterMultiselectDropdownItems,\n \"loading\": column.filterOptions.loading,\n \"placeholder\": _vm.getPlaceholder(column),\n \"multiple\": \"\"\n },\n on: {\n \"input\": function input(selectedItems) {\n return _vm.updateFiltersOnKeyup(column, selectedItems);\n }\n }\n }) : _vm._e()], 1) : _vm._e()]) : _vm._e();\n })], 2) : _vm._e();\n};\n\nvar __vue_staticRenderFns__$3 = [];\n/* style */\n\nvar __vue_inject_styles__$3 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$3 = \"data-v-523184e9\";\n/* module identifier */\n\nvar __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$3 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$3 = normalizeComponent({\n render: __vue_render__$3,\n staticRenderFns: __vue_staticRenderFns__$3\n}, __vue_inject_styles__$3, __vue_script__$3, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);\n\nfunction getNextSort(currentSort) {\n if (currentSort === 'asc') return 'desc'; // if (currentSort === 'desc') return null;\n\n return 'asc';\n}\n\nfunction getIndex(sortArray, column) {\n for (var i = 0; i < sortArray.length; i++) {\n if (column.field === sortArray[i].field) return i;\n }\n\n return -1;\n}\n\nvar primarySort = function (sortArray, column) {\n if (sortArray.length && sortArray.length === 1 && sortArray[0].field === column.field) {\n var type = getNextSort(sortArray[0].type);\n\n if (type) {\n sortArray[0].type = getNextSort(sortArray[0].type);\n } else {\n sortArray = [];\n }\n } else {\n sortArray = [{\n field: column.field,\n type: 'asc'\n }];\n }\n\n return sortArray;\n};\n\nvar secondarySort = function (sortArray, column) {\n //* this means that primary sort exists, we're\n //* just adding a secondary sort\n var index = getIndex(sortArray, column);\n\n if (index === -1) {\n sortArray.push({\n field: column.field,\n type: 'asc'\n });\n } else {\n var type = getNextSort(sortArray[index].type);\n\n if (type) {\n sortArray[index].type = type;\n } else {\n sortArray.splice(index, 1);\n }\n }\n\n return sortArray;\n};\n\n//\nvar script$4 = {\n name: 'VgtTableHeader',\n props: {\n lineNumbers: {\n \"default\": false,\n type: Boolean\n },\n selectable: {\n \"default\": false,\n type: Boolean\n },\n allSelected: {\n \"default\": false,\n type: Boolean\n },\n allSelectedIndeterminate: {\n \"default\": false,\n type: Boolean\n },\n columns: {\n type: Array\n },\n mode: {\n type: String\n },\n typedColumns: {},\n //* Sort related\n sortable: {\n type: Boolean\n },\n // sortColumn: {\n // type: Number,\n // },\n // sortType: {\n // type: String,\n // },\n // utility functions\n // isSortableColumn: {\n // type: Function,\n // },\n getClasses: {\n type: Function\n },\n //* search related\n searchEnabled: {\n type: Boolean\n },\n tableRef: {},\n paginated: {}\n },\n watch: {\n columns: {\n handler: function handler() {\n this.setColumnStyles();\n },\n immediate: true\n },\n tableRef: {\n handler: function handler() {\n this.setColumnStyles();\n },\n immediate: true\n },\n paginated: {\n handler: function handler() {\n if (this.tableRef) {\n this.setColumnStyles();\n }\n },\n deep: true\n }\n },\n data: function data() {\n return {\n checkBoxThStyle: {},\n lineNumberThStyle: {},\n columnStyles: [],\n sorts: []\n };\n },\n computed: {},\n methods: {\n reset: function reset() {\n this.$refs['filter-row'].reset(true);\n },\n toggleSelectAll: function toggleSelectAll() {\n this.$emit('on-toggle-select-all');\n },\n isSortableColumn: function isSortableColumn(column) {\n var sortable = column.sortable;\n var isSortable = typeof sortable === 'boolean' ? sortable : this.sortable;\n return isSortable;\n },\n sort: function sort(e, column) {\n //* if column is not sortable, return right here\n if (!this.isSortableColumn(column)) return;\n\n if (e.shiftKey) {\n this.sorts = secondarySort(this.sorts, column);\n } else {\n this.sorts = primarySort(this.sorts, column);\n }\n\n this.$emit('on-sort-change', this.sorts);\n },\n setInitialSort: function setInitialSort(sorts) {\n this.sorts = sorts;\n this.$emit('on-sort-change', this.sorts);\n },\n getColumnSort: function getColumnSort(column) {\n for (var i = 0; i < this.sorts.length; i += 1) {\n if (this.sorts[i].field === column.field) {\n return this.sorts[i].type || 'asc';\n }\n }\n\n return null;\n },\n getHeaderClasses: function getHeaderClasses(column, index) {\n var classes = lodash_assign({}, this.getClasses(index, 'th'), {\n sortable: this.isSortableColumn(column),\n 'sorting sorting-desc': this.getColumnSort(column) === 'desc',\n 'sorting sorting-asc': this.getColumnSort(column) === 'asc'\n });\n return classes;\n },\n filterRows: function filterRows(columnFilters) {\n this.$emit('filter-changed', columnFilters);\n },\n getWidthStyle: function getWidthStyle(dom) {\n if (window && window.getComputedStyle && dom) {\n var cellStyle = window.getComputedStyle(dom, null);\n return {\n width: cellStyle.width\n };\n }\n\n return {\n width: 'auto'\n };\n },\n setColumnStyles: function setColumnStyles() {\n var colStyles = [];\n\n for (var i = 0; i < this.columns.length; i++) {\n if (this.tableRef) {\n var skip = 0;\n if (this.selectable) skip++;\n if (this.lineNumbers) skip++;\n var cell = this.tableRef.rows[0].cells[i + skip];\n colStyles.push(this.getWidthStyle(cell));\n } else {\n colStyles.push({\n minWidth: this.columns[i].width ? this.columns[i].width : 'auto',\n maxWidth: this.columns[i].width ? this.columns[i].width : 'auto',\n width: this.columns[i].width ? this.columns[i].width : 'auto'\n });\n }\n }\n\n this.columnStyles = colStyles;\n },\n getColumnStyle: function getColumnStyle(column, index) {\n var styleObject = {\n minWidth: column.width ? column.width : 'auto',\n maxWidth: column.width ? column.width : 'auto',\n width: column.width ? column.width : 'auto'\n }; //* if fixed header we need to get width from original table\n\n if (this.tableRef) {\n if (this.selectable) index++;\n if (this.lineNumbers) index++;\n var cell = this.tableRef.rows[0].cells[index];\n var cellStyle = window.getComputedStyle(cell, null);\n styleObject.width = cellStyle.width;\n }\n\n return styleObject;\n }\n },\n mounted: function mounted() {\n window.addEventListener('resize', this.setColumnStyles);\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this.setColumnStyles);\n },\n components: {\n 'vgt-filter-row': __vue_component__$3\n }\n};\n\n/* script */\nvar __vue_script__$4 = script$4;\n/* template */\n\nvar __vue_render__$4 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('thead', [_c('tr', [_vm.lineNumbers ? _c('th', {\n staticClass: \"line-numbers\"\n }) : _vm._e(), _vm._v(\" \"), _vm.selectable ? _c('th', {\n staticClass: \"vgt-checkbox-col\"\n }, [_c('input', {\n attrs: {\n \"type\": \"checkbox\"\n },\n domProps: {\n \"checked\": _vm.allSelected,\n \"indeterminate\": _vm.allSelectedIndeterminate\n },\n on: {\n \"change\": _vm.toggleSelectAll\n }\n })]) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.columns, function (column, index) {\n return !column.hidden ? _c('th', {\n key: index,\n \"class\": _vm.getHeaderClasses(column, index),\n style: _vm.columnStyles[index],\n on: {\n \"click\": function click($event) {\n return _vm.sort($event, column);\n }\n }\n }, [_vm._t(\"table-column\", [_c('span', [_vm._v(_vm._s(column.label))])], {\n \"column\": column\n })], 2) : _vm._e();\n })], 2), _vm._v(\" \"), _c(\"vgt-filter-row\", {\n ref: \"filter-row\",\n tag: \"tr\",\n attrs: {\n \"global-search-enabled\": _vm.searchEnabled,\n \"line-numbers\": _vm.lineNumbers,\n \"selectable\": _vm.selectable,\n \"columns\": _vm.columns,\n \"mode\": _vm.mode,\n \"typed-columns\": _vm.typedColumns\n },\n on: {\n \"filter-changed\": _vm.filterRows\n }\n })], 1);\n};\n\nvar __vue_staticRenderFns__$4 = [];\n/* style */\n\nvar __vue_inject_styles__$4 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$4 = \"data-v-eb5a915e\";\n/* module identifier */\n\nvar __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$4 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$4 = normalizeComponent({\n render: __vue_render__$4,\n staticRenderFns: __vue_staticRenderFns__$4\n}, __vue_inject_styles__$4, __vue_script__$4, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$5 = {\n name: 'VgtHeaderRow',\n props: {\n headerRow: {\n type: Object\n },\n columns: {\n type: Array\n },\n lineNumbers: {\n type: Boolean\n },\n selectable: {\n type: Boolean\n },\n collapsable: {\n type: [Boolean, Number],\n \"default\": false\n },\n selectAllByGroup: {\n type: Boolean\n },\n groupChildObject: {\n type: String\n },\n collectFormatted: {\n type: Function\n },\n formattedRow: {\n type: Function\n },\n getClasses: {\n type: Function\n },\n fullColspan: {\n type: Number\n },\n groupIndex: {\n type: Number\n },\n groupOptions: {\n type: Object\n }\n },\n data: function data() {\n return {};\n },\n computed: {\n allSelected: function allSelected() {\n var headerRow = this.headerRow,\n groupChildObject = this.groupChildObject;\n return headerRow[groupChildObject].filter(function (row) {\n return row.vgtSelected;\n }).length === headerRow[groupChildObject].length;\n },\n hiddenColumns: function hiddenColumns() {\n var columns = this.columns;\n return columns.filter(function (column) {\n return !column.hidden;\n });\n },\n spanColumns: function spanColumns() {\n var headerRow = this.headerRow,\n groupOptions = this.groupOptions;\n return headerRow.mode === 'span' || groupOptions.mode === 'span';\n }\n },\n methods: {\n columnCollapsable: function columnCollapsable(currentIndex) {\n if (this.collapsable === true) {\n return currentIndex === 0;\n }\n\n return currentIndex === this.collapsable;\n },\n toggleSelectGroup: function toggleSelectGroup(event) {\n this.$emit('on-select-group-change', {\n groupIndex: this.groupIndex,\n checked: event.target.checked\n });\n }\n },\n mounted: function mounted() {},\n components: {}\n};\n\n/* script */\nvar __vue_script__$5 = script$5;\n/* template */\n\nvar __vue_render__$5 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('tr', [_vm.spanColumns ? _c('th', {\n staticClass: \"vgt-left-align vgt-row-header\",\n attrs: {\n \"colspan\": _vm.fullColspan\n },\n on: {\n \"click\": function click($event) {\n _vm.collapsable ? _vm.$emit('vgtExpand', !_vm.headerRow.vgtIsExpanded) : function () {};\n }\n }\n }, [_vm.collapsable ? _c('span', {\n staticClass: \"triangle\",\n \"class\": {\n 'expand': _vm.headerRow.vgtIsExpanded\n }\n }) : _vm._e(), _vm._v(\" \"), _vm.selectAllByGroup ? [_vm._t(\"table-header-group-select\", [_c('input', {\n attrs: {\n \"type\": \"checkbox\"\n },\n domProps: {\n \"checked\": _vm.allSelected\n },\n on: {\n \"change\": function change($event) {\n return _vm.toggleSelectGroup($event);\n }\n }\n })], {\n \"columns\": _vm.columns,\n \"row\": _vm.headerRow\n })] : _vm._e(), _vm._v(\" \"), _vm._t(\"table-header-row\", [_vm.headerRow.html ? _c('span', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.headerRow.label)\n }\n }) : _c('span', [_vm._v(\"\\n \" + _vm._s(_vm.headerRow.label) + \"\\n \")])], {\n \"row\": _vm.headerRow\n })], 2) : _vm._e(), _vm._v(\" \"), !_vm.spanColumns && _vm.lineNumbers ? _c('th', {\n staticClass: \"vgt-row-header\"\n }) : _vm._e(), _vm._v(\" \"), !_vm.spanColumns && _vm.selectable ? _c('th', {\n staticClass: \"vgt-row-header\",\n \"class\": {\n 'vgt-checkbox-col': _vm.selectAllByGroup\n }\n }, [_vm.selectAllByGroup ? [_vm._t(\"table-header-group-select\", [_c('input', {\n attrs: {\n \"type\": \"checkbox\"\n },\n domProps: {\n \"checked\": _vm.allSelected\n },\n on: {\n \"change\": function change($event) {\n return _vm.toggleSelectGroup($event);\n }\n }\n })], {\n \"columns\": _vm.columns,\n \"row\": _vm.headerRow\n })] : _vm._e()], 2) : _vm._e(), _vm._v(\" \"), !_vm.spanColumns ? _vm._l(_vm.hiddenColumns, function (column, i) {\n return _c('th', {\n key: i,\n staticClass: \"vgt-row-header\",\n \"class\": _vm.getClasses(i, 'td'),\n on: {\n \"click\": function click($event) {\n _vm.columnCollapsable(i) ? _vm.$emit('vgtExpand', !_vm.headerRow.vgtIsExpanded) : function () {};\n }\n }\n }, [_vm.columnCollapsable(i) ? _c('span', {\n staticClass: \"triangle\",\n \"class\": {\n 'expand': _vm.headerRow.vgtIsExpanded\n }\n }) : _vm._e(), _vm._v(\" \"), _vm._t(\"table-header-row\", [!column.html ? _c('span', [_vm._v(\"\\n \" + _vm._s(_vm.collectFormatted(_vm.headerRow, column, true)) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), column.html ? _c('span', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.collectFormatted(_vm.headerRow, column, true))\n }\n }) : _vm._e()], {\n \"row\": _vm.headerRow,\n \"column\": column,\n \"formattedRow\": _vm.formattedRow(_vm.headerRow, true)\n })], 2);\n }) : _vm._e()], 2);\n};\n\nvar __vue_staticRenderFns__$5 = [];\n/* style */\n\nvar __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$5 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$5 = normalizeComponent({\n render: __vue_render__$5,\n staticRenderFns: __vue_staticRenderFns__$5\n}, __vue_inject_styles__$5, __vue_script__$5, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$6 = {\n name: 'vgtColumnDropdown',\n props: ['columns'],\n data: function data() {\n return {\n filteredColumns: [],\n selectOpen: false\n };\n },\n methods: {\n updateFilteredColumn: function updateFilteredColumn(columnLabel, checked) {\n this.$emit('input', {\n label: columnLabel,\n checked: checked\n });\n }\n },\n watch: {\n columns: {\n handler: function handler() {\n var columns = this.columns;\n this.filteredColumns = columns.filter(function (column) {\n return column.hidden !== undefined;\n });\n },\n deep: true,\n immediate: true\n }\n }\n};\n\n/* script */\nvar __vue_script__$6 = script$6;\n/* template */\n\nvar __vue_render__$6 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n staticClass: \"vgt-dropdown vgt-clearfix\"\n }, [_c('div', {\n staticClass: \"button-group pull-right\"\n }, [_c('button', {\n staticClass: \"btn btn-default btn-sm dropdown-toggle\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function click($event) {\n _vm.selectOpen = !_vm.selectOpen;\n }\n }\n }, [_c('span', {\n staticClass: \"fa fa-cog\",\n attrs: {\n \"aria-hidden\": \"false\"\n }\n }, [_vm._v(\"Select Columns\")]), _vm._v(\" \"), _c('span', {\n staticClass: \"caret\"\n })]), _vm._v(\" \"), _c('ul', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.selectOpen,\n expression: \"selectOpen\"\n }],\n staticClass: \"vgt-dropdown-menu\"\n }, _vm._l(_vm.filteredColumns, function (column, index) {\n return _c('li', {\n key: index\n }, [_c('span', {\n staticClass: \"small\",\n attrs: {\n \"tabIndex\": \"-1\"\n }\n }, [_c('input', {\n ref: \"filterlabel\" + column.label,\n refInFor: true,\n attrs: {\n \"type\": \"checkbox\"\n },\n domProps: {\n \"checked\": !column.hidden\n },\n on: {\n \"change\": function change($event) {\n $event.preventDefault();\n return _vm.updateFilteredColumn(column.label, $event.target.checked);\n }\n }\n }), _vm._v(\"\\n \" + _vm._s(column.label) + \"\\n \")])]);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$6 = [];\n/* style */\n\nvar __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$6 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$6 = normalizeComponent({\n render: __vue_render__$6,\n staticRenderFns: __vue_staticRenderFns__$6\n}, __vue_inject_styles__$6, __vue_script__$6, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\nfunction toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}\n\nfunction requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nfunction toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}\n\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\n\nfunction addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}\n\nvar MILLISECONDS_IN_MINUTE = 60000;\n\nfunction getDateMillisecondsPart(date) {\n return date.getTime() % MILLISECONDS_IN_MINUTE;\n}\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\n\n\nfunction getTimezoneOffsetInMilliseconds(dirtyDate) {\n var date = new Date(dirtyDate.getTime());\n var baseTimezoneOffset = Math.ceil(date.getTimezoneOffset());\n date.setSeconds(0, 0);\n var hasNegativeUTCOffset = baseTimezoneOffset > 0;\n var millisecondsPartOfTimezoneOffset = hasNegativeUTCOffset ? (MILLISECONDS_IN_MINUTE + getDateMillisecondsPart(date)) % MILLISECONDS_IN_MINUTE : getDateMillisecondsPart(date);\n return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset;\n}\n\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * var result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * var result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\n\nfunction compareAsc(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var diff = dateLeft.getTime() - dateRight.getTime();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1; // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Now `isValid` doesn't throw an exception\n * if the first argument is not an instance of Date.\n * Instead, argument is converted beforehand using `toDate`.\n *\n * Examples:\n *\n * | `isValid` argument | Before v2.0.0 | v2.0.0 onward |\n * |---------------------------|---------------|---------------|\n * | `new Date()` | `true` | `true` |\n * | `new Date('2016-01-01')` | `true` | `true` |\n * | `new Date('')` | `false` | `false` |\n * | `new Date(1488370835081)` | `true` | `true` |\n * | `new Date(NaN)` | `false` | `false` |\n * | `'2016-01-01'` | `TypeError` | `false` |\n * | `''` | `TypeError` | `false` |\n * | `1488370835081` | `TypeError` | `true` |\n * | `NaN` | `TypeError` | `false` |\n *\n * We introduce this change to make *date-fns* consistent with ECMAScript behavior\n * that try to coerce arguments to the expected type\n * (which is also the case with other *date-fns* functions).\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * var result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * var result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * var result = isValid(new Date(''))\n * //=> false\n */\n\nfunction isValid(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n return !isNaN(date);\n}\n\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nfunction formatDistance(token, count, options) {\n options = options || {};\n var result;\n\n if (typeof formatDistanceLocale[token] === 'string') {\n result = formatDistanceLocale[token];\n } else if (count === 1) {\n result = formatDistanceLocale[token].one;\n } else {\n result = formatDistanceLocale[token].other.replace('{{count}}', count);\n }\n\n if (options.addSuffix) {\n if (options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n}\n\nfunction buildFormatLongFn(args) {\n return function (dirtyOptions) {\n var options = dirtyOptions || {};\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\n\nvar formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nfunction formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n}\n\nfunction buildLocalizeFn(args) {\n return function (dirtyIndex, dirtyOptions) {\n var options = dirtyOptions || {};\n var context = options.context ? String(options.context) : 'standalone';\n var valuesArray;\n\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n\n var _width = options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n return valuesArray[index];\n };\n}\n\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized.\n // If you are making a new locale based on this one, check if the same is true for the language you're working on.\n // Generally, formatted dates should look like they are in the middle of a sentence,\n // e.g. in Spanish language the weekdays and months should be in the lowercase.\n\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nfunction ordinalNumber(dirtyNumber, _dirtyOptions) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`:\n //\n // var options = dirtyOptions || {}\n // var unit = String(options.unit)\n //\n // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n}\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\n\nfunction buildMatchPatternFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var matchResult = string.match(args.matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n\n if (!parseResult) {\n return null;\n }\n\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}\n\nfunction buildMatchFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var value;\n\n if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {\n value = findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n } else {\n value = findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n }\n\n value = args.valueCallback ? args.valueCallback(value) : value;\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}\n\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n}\n\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n}\n\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\n\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\n\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * var result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\n\nfunction subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}\n\nfunction addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n\n while (output.length < targetLength) {\n output = '0' + output;\n }\n\n return sign + output;\n}\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nvar formatters = {\n // Year\n y: function (date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function (date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function (date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function (date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return dayPeriodEnumValue.toUpperCase();\n\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function (date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function (date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function (date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function (date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function (date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\n\nvar MILLISECONDS_IN_DAY = 86400000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}\n\nvar MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCWeek(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCWeekYear(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate, dirtyOptions);\n var year = date.getUTCFullYear();\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, dirtyOptions);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCWeekYear(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate);\n var year = getUTCWeekYear(dirtyDate, dirtyOptions);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, dirtyOptions);\n return date;\n}\n\nvar MILLISECONDS_IN_WEEK$1 = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK$1) + 1;\n}\n\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n /*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\n};\nvar formatters$1 = {\n // Era\n G: function (date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n\n return formatters.y(date, token);\n },\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year\n\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n } // Ordinal number\n\n\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n } // Padding\n\n\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function (date, token) {\n var isoWeekYear = getUTCISOWeekYear(date); // Padding\n\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n case 'M':\n case 'MM':\n return formatters.M(date, token);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function (date, token, localize, options) {\n var week = getUTCWeek(date, options);\n\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function (date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function (date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n\n return formatters.d(date, token);\n },\n // Day of year\n D: function (date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return formatters.h(date, token);\n },\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n\n return formatters.H(date, token);\n },\n // Hour [0-11]\n K: function (date, token, localize) {\n var hours = date.getUTCHours() % 12;\n\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function (date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function (date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n\n return formatters.m(date, token);\n },\n // Second\n s: function (date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n\n return formatters.s(date, token);\n },\n // Fraction of second\n S: function (date, token) {\n return formatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return 'Z';\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\n\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n\n if (minutes === 0) {\n return sign + String(hours);\n }\n\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n\n return formatTimezone(offset, dirtyDelimiter);\n}\n\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n\nfunction dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n}\n\nfunction timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n}\n\nfunction dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/);\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n}\n\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\n\nvar protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nfunction isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nfunction isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nfunction throwProtectedError(token) {\n if (token === 'YYYY') {\n throw new RangeError('Use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr');\n } else if (token === 'YY') {\n throw new RangeError('Use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr');\n } else if (token === 'D') {\n throw new RangeError('Use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr');\n } else if (token === 'DD') {\n throw new RangeError('Use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr');\n }\n}\n\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Su | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Su | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | a..aaa | AM, PM | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bbb | AM, PM, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 1, 2, ..., 11, 0 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 0001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 05/29/1453 | 7 |\n * | | PP | May 29, 1453 | 7 |\n * | | PPP | May 29th, 1453 | 7 |\n * | | PPPP | Sunday, May 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 05/29/1453, 12:00 AM | 7 |\n * | | PPpp | May 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | May 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Sunday, May 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 9. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The second argument is now required for the sake of explicitness.\n *\n * ```javascript\n * // Before v2.0.0\n * format(new Date(2016, 0, 1))\n *\n * // v2.0.0 onward\n * format(new Date(2016, 0, 1), \"yyyy-MM-dd'T'HH:mm:ss.SSSxxx\")\n * ```\n *\n * - New format string API for `format` function\n * which is based on [Unicode Technical Standard #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n * See [this post](https://blog.date-fns.org/post/unicode-tokens-in-date-fns-v2-sreatyki91jg) for more details.\n *\n * - Characters are now escaped using single quote symbols (`'`) instead of square brackets.\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://git.io/fxCyr\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://git.io/fxCyr\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * var result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * var result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * var result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nfunction format(dirtyDate, dirtyFormatStr, dirtyOptions) {\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var options = dirtyOptions || {};\n var locale$1 = options.locale || locale;\n var localeFirstWeekContainsDate = locale$1.options && locale$1.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var localeWeekStartsOn = locale$1.options && locale$1.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (!locale$1.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale$1.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n var originalDate = toDate(dirtyDate);\n\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n\n\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale$1,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale$1.formatLong, formatterOptions);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n\n var firstCharacter = substring[0];\n\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n\n var formatter = formatters$1[firstCharacter];\n\n if (formatter) {\n if (!options.useAdditionalWeekYearTokens && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring);\n }\n\n if (!options.useAdditionalDayOfYearTokens && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring);\n }\n\n return formatter(utcDate, substring, locale$1.localize, formatterOptions);\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n return substring;\n }).join('');\n return result;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}\n\nfunction assign$1(target, dirtyObject) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n\n dirtyObject = dirtyObject || {};\n\n for (var property in dirtyObject) {\n if (dirtyObject.hasOwnProperty(property)) {\n target[property] = dirtyObject[property];\n }\n }\n\n return target;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction setUTCDay(dirtyDate, dirtyDay, dirtyOptions) {\n requiredArgs(2, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = toInteger(dirtyDay);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction setUTCISODay(dirtyDate, dirtyDay) {\n requiredArgs(2, arguments);\n var day = toInteger(dirtyDay);\n\n if (day % 7 === 0) {\n day = day - 7;\n }\n\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction setUTCISOWeek(dirtyDate, dirtyISOWeek) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var isoWeek = toInteger(dirtyISOWeek);\n var diff = getUTCISOWeek(date) - isoWeek;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction setUTCWeek(dirtyDate, dirtyWeek, options) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var week = toInteger(dirtyWeek);\n var diff = getUTCWeek(date, options) - week;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}\n\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE$1 = 60000;\nvar MILLISECONDS_IN_SECOND = 1000;\nvar numericPatterns = {\n month: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/,\n // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/,\n // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/,\n // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/,\n // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/,\n // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/,\n // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n minute: /^[0-5]?\\d/,\n // 0 to 59\n second: /^[0-5]?\\d/,\n // 0 to 59\n singleDigit: /^\\d/,\n // 0 to 9\n twoDigits: /^\\d{1,2}/,\n // 0 to 99\n threeDigits: /^\\d{1,3}/,\n // 0 to 999\n fourDigits: /^\\d{1,4}/,\n // 0 to 9999\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/,\n // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/,\n // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/,\n // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/ // 0 to 9999, -0 to -9999\n\n};\nvar timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};\n\nfunction parseNumericPattern(pattern, string, valueCallback) {\n var matchResult = string.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n var value = parseInt(matchResult[0], 10);\n return {\n value: valueCallback ? valueCallback(value) : value,\n rest: string.slice(matchResult[0].length)\n };\n}\n\nfunction parseTimezonePattern(pattern, string) {\n var matchResult = string.match(pattern);\n\n if (!matchResult) {\n return null;\n } // Input is 'Z'\n\n\n if (matchResult[0] === 'Z') {\n return {\n value: 0,\n rest: string.slice(1)\n };\n }\n\n var sign = matchResult[1] === '+' ? 1 : -1;\n var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n return {\n value: sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE$1 + seconds * MILLISECONDS_IN_SECOND),\n rest: string.slice(matchResult[0].length)\n };\n}\n\nfunction parseAnyDigitsSigned(string, valueCallback) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, string, valueCallback);\n}\n\nfunction parseNDigits(n, string, valueCallback) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, string, valueCallback);\n\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, string, valueCallback);\n\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, string, valueCallback);\n\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, string, valueCallback);\n\n default:\n return parseNumericPattern(new RegExp('^\\\\d{1,' + n + '}'), string, valueCallback);\n }\n}\n\nfunction parseNDigitsSigned(n, string, valueCallback) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, string, valueCallback);\n\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, string, valueCallback);\n\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, string, valueCallback);\n\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, string, valueCallback);\n\n default:\n return parseNumericPattern(new RegExp('^-?\\\\d{1,' + n + '}'), string, valueCallback);\n }\n}\n\nfunction dayPeriodEnumToHours(enumValue) {\n switch (enumValue) {\n case 'morning':\n return 4;\n\n case 'evening':\n return 17;\n\n case 'pm':\n case 'noon':\n case 'afternoon':\n return 12;\n\n case 'am':\n case 'midnight':\n case 'night':\n default:\n return 0;\n }\n}\n\nfunction normalizeTwoDigitYear(twoDigitYear, currentYear) {\n var isCommonEra = currentYear > 0; // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n\n var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n var result;\n\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n var rangeEnd = absCurrentYear + 50;\n var rangeEndCentury = Math.floor(rangeEnd / 100) * 100;\n var isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n\n return isCommonEra ? result : 1 - result;\n}\n\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // User for validation\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\n\n\nvar parsers = {\n // Era\n G: {\n priority: 140,\n parse: function (string, token, match, _options) {\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return match.era(string, {\n width: 'abbreviated'\n }) || match.era(string, {\n width: 'narrow'\n });\n // A, B\n\n case 'GGGGG':\n return match.era(string, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return match.era(string, {\n width: 'wide'\n }) || match.era(string, {\n width: 'abbreviated'\n }) || match.era(string, {\n width: 'narrow'\n });\n }\n },\n set: function (date, flags, value, _options) {\n flags.era = value;\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['R', 'u', 't', 'T']\n },\n // Year\n y: {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n priority: 130,\n parse: function (string, token, match, _options) {\n var valueCallback = function (year) {\n return {\n year: year,\n isTwoDigitYear: token === 'yy'\n };\n };\n\n switch (token) {\n case 'y':\n return parseNDigits(4, string, valueCallback);\n\n case 'yo':\n return match.ordinalNumber(string, {\n unit: 'year',\n valueCallback: valueCallback\n });\n\n default:\n return parseNDigits(token.length, string, valueCallback);\n }\n },\n validate: function (_date, value, _options) {\n return value.isTwoDigitYear || value.year > 0;\n },\n set: function (date, flags, value, _options) {\n var currentYear = date.getUTCFullYear();\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'u', 'w', 'I', 'i', 'e', 'c', 't', 'T']\n },\n // Local week-numbering year\n Y: {\n priority: 130,\n parse: function (string, token, match, _options) {\n var valueCallback = function (year) {\n return {\n year: year,\n isTwoDigitYear: token === 'YY'\n };\n };\n\n switch (token) {\n case 'Y':\n return parseNDigits(4, string, valueCallback);\n\n case 'Yo':\n return match.ordinalNumber(string, {\n unit: 'year',\n valueCallback: valueCallback\n });\n\n default:\n return parseNDigits(token.length, string, valueCallback);\n }\n },\n validate: function (_date, value, _options) {\n return value.isTwoDigitYear || value.year > 0;\n },\n set: function (date, flags, value, options) {\n var currentYear = getUTCWeekYear(date, options);\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n },\n incompatibleTokens: ['y', 'R', 'u', 'Q', 'q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']\n },\n // ISO week-numbering year\n R: {\n priority: 130,\n parse: function (string, token, _match, _options) {\n if (token === 'R') {\n return parseNDigitsSigned(4, string);\n }\n\n return parseNDigitsSigned(token.length, string);\n },\n set: function (_date, _flags, value, _options) {\n var firstWeekOfYear = new Date(0);\n firstWeekOfYear.setUTCFullYear(value, 0, 4);\n firstWeekOfYear.setUTCHours(0, 0, 0, 0);\n return startOfUTCISOWeek(firstWeekOfYear);\n },\n incompatibleTokens: ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']\n },\n // Extended year\n u: {\n priority: 130,\n parse: function (string, token, _match, _options) {\n if (token === 'u') {\n return parseNDigitsSigned(4, string);\n }\n\n return parseNDigitsSigned(token.length, string);\n },\n set: function (date, _flags, value, _options) {\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['G', 'y', 'Y', 'R', 'w', 'I', 'i', 'e', 'c', 't', 'T']\n },\n // Quarter\n Q: {\n priority: 120,\n parse: function (string, token, match, _options) {\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n case 'QQ':\n // 01, 02, 03, 04\n return parseNDigits(token.length, string);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return match.ordinalNumber(string, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return match.quarter(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return match.quarter(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return match.quarter(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.quarter(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 4;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Stand-alone quarter\n q: {\n priority: 120,\n parse: function (string, token, match, _options) {\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n case 'qq':\n // 01, 02, 03, 04\n return parseNDigits(token.length, string);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return match.ordinalNumber(string, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return match.quarter(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return match.quarter(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return match.quarter(string, {\n width: 'wide',\n context: 'standalone'\n }) || match.quarter(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 4;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'Q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Month\n M: {\n priority: 110,\n parse: function (string, token, match, _options) {\n var valueCallback = function (value) {\n return value - 1;\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return parseNumericPattern(numericPatterns.month, string, valueCallback);\n // 01, 02, ..., 12\n\n case 'MM':\n return parseNDigits(2, string, valueCallback);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return match.ordinalNumber(string, {\n unit: 'month',\n valueCallback: valueCallback\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return match.month(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return match.month(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return match.month(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.month(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 11;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'L', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Stand-alone month\n L: {\n priority: 110,\n parse: function (string, token, match, _options) {\n var valueCallback = function (value) {\n return value - 1;\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return parseNumericPattern(numericPatterns.month, string, valueCallback);\n // 01, 02, ..., 12\n\n case 'LL':\n return parseNDigits(2, string, valueCallback);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return match.ordinalNumber(string, {\n unit: 'month',\n valueCallback: valueCallback\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return match.month(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return match.month(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return match.month(string, {\n width: 'wide',\n context: 'standalone'\n }) || match.month(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(string, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 11;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'M', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Local week of year\n w: {\n priority: 100,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'w':\n return parseNumericPattern(numericPatterns.week, string);\n\n case 'wo':\n return match.ordinalNumber(string, {\n unit: 'week'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 53;\n },\n set: function (date, _flags, value, options) {\n return startOfUTCWeek(setUTCWeek(date, value, options), options);\n },\n incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']\n },\n // ISO week of year\n I: {\n priority: 100,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'I':\n return parseNumericPattern(numericPatterns.week, string);\n\n case 'Io':\n return match.ordinalNumber(string, {\n unit: 'week'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 53;\n },\n set: function (date, _flags, value, options) {\n return startOfUTCISOWeek(setUTCISOWeek(date, value, options), options);\n },\n incompatibleTokens: ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']\n },\n // Day of the month\n d: {\n priority: 90,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'd':\n return parseNumericPattern(numericPatterns.date, string);\n\n case 'do':\n return match.ordinalNumber(string, {\n unit: 'date'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (date, value, _options) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n var month = date.getUTCMonth();\n\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCDate(value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Day of year\n D: {\n priority: 90,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'D':\n case 'DD':\n return parseNumericPattern(numericPatterns.dayOfYear, string);\n\n case 'Do':\n return match.ordinalNumber(string, {\n unit: 'date'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (date, value, _options) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth(0, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T']\n },\n // Day of week\n E: {\n priority: 90,\n parse: function (string, token, match, _options) {\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 6;\n },\n set: function (date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['D', 'i', 'e', 'c', 't', 'T']\n },\n // Local day of week\n e: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case 'e':\n case 'ee':\n // 03\n return parseNDigits(token.length, string, valueCallback);\n // 3rd\n\n case 'eo':\n return match.ordinalNumber(string, {\n unit: 'day',\n valueCallback: valueCallback\n });\n // Tue\n\n case 'eee':\n return match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 6;\n },\n set: function (date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'c', 't', 'T']\n },\n // Stand-alone local day of week\n c: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case 'c':\n case 'cc':\n // 03\n return parseNDigits(token.length, string, valueCallback);\n // 3rd\n\n case 'co':\n return match.ordinalNumber(string, {\n unit: 'day',\n valueCallback: valueCallback\n });\n // Tue\n\n case 'ccc':\n return match.day(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(string, {\n width: 'short',\n context: 'standalone'\n }) || match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return match.day(string, {\n width: 'short',\n context: 'standalone'\n }) || match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'standalone'\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(string, {\n width: 'short',\n context: 'standalone'\n }) || match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 6;\n },\n set: function (date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'e', 't', 'T']\n },\n // ISO day of week\n i: {\n priority: 90,\n parse: function (string, token, match, _options) {\n var valueCallback = function (value) {\n if (value === 0) {\n return 7;\n }\n\n return value;\n };\n\n switch (token) {\n // 2\n case 'i':\n case 'ii':\n // 02\n return parseNDigits(token.length, string);\n // 2nd\n\n case 'io':\n return match.ordinalNumber(string, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return match.day(string, {\n width: 'abbreviated',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'short',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n // T\n\n case 'iiiii':\n return match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n // Tu\n\n case 'iiiiii':\n return match.day(string, {\n width: 'short',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n // Tuesday\n\n case 'iiii':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'short',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 7;\n },\n set: function (date, _flags, value, options) {\n date = setUTCISODay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'E', 'e', 'c', 't', 'T']\n },\n // AM or PM\n a: {\n priority: 80,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaaa':\n return match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return match.dayPeriod(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['b', 'B', 'H', 'K', 'k', 't', 'T']\n },\n // AM, PM, midnight\n b: {\n priority: 80,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbbb':\n return match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return match.dayPeriod(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'B', 'H', 'K', 'k', 't', 'T']\n },\n // in the morning, in the afternoon, in the evening, at night\n B: {\n priority: 80,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return match.dayPeriod(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'b', 't', 'T']\n },\n // Hour [1-12]\n h: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'h':\n return parseNumericPattern(numericPatterns.hour12h, string);\n\n case 'ho':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 12;\n },\n set: function (date, _flags, value, _options) {\n var isPM = date.getUTCHours() >= 12;\n\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setUTCHours(0, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n\n return date;\n },\n incompatibleTokens: ['H', 'K', 'k', 't', 'T']\n },\n // Hour [0-23]\n H: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'H':\n return parseNumericPattern(numericPatterns.hour23h, string);\n\n case 'Ho':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 23;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(value, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'b', 'h', 'K', 'k', 't', 'T']\n },\n // Hour [0-11]\n K: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'K':\n return parseNumericPattern(numericPatterns.hour11h, string);\n\n case 'Ko':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 11;\n },\n set: function (date, _flags, value, _options) {\n var isPM = date.getUTCHours() >= 12;\n\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n\n return date;\n },\n incompatibleTokens: ['a', 'b', 'h', 'H', 'k', 't', 'T']\n },\n // Hour [1-24]\n k: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'k':\n return parseNumericPattern(numericPatterns.hour24h, string);\n\n case 'ko':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 24;\n },\n set: function (date, _flags, value, _options) {\n var hours = value <= 24 ? value % 24 : value;\n date.setUTCHours(hours, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'b', 'h', 'H', 'K', 't', 'T']\n },\n // Minute\n m: {\n priority: 60,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'm':\n return parseNumericPattern(numericPatterns.minute, string);\n\n case 'mo':\n return match.ordinalNumber(string, {\n unit: 'minute'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 59;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMinutes(value, 0, 0);\n return date;\n },\n incompatibleTokens: ['t', 'T']\n },\n // Second\n s: {\n priority: 50,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 's':\n return parseNumericPattern(numericPatterns.second, string);\n\n case 'so':\n return match.ordinalNumber(string, {\n unit: 'second'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 59;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCSeconds(value, 0);\n return date;\n },\n incompatibleTokens: ['t', 'T']\n },\n // Fraction of second\n S: {\n priority: 30,\n parse: function (string, token, _match, _options) {\n var valueCallback = function (value) {\n return Math.floor(value * Math.pow(10, -token.length + 3));\n };\n\n return parseNDigits(token.length, string, valueCallback);\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMilliseconds(value);\n return date;\n },\n incompatibleTokens: ['t', 'T']\n },\n // Timezone (ISO-8601. +00:00 is `'Z'`)\n X: {\n priority: 10,\n parse: function (string, token, _match, _options) {\n switch (token) {\n case 'X':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string);\n\n case 'XX':\n return parseTimezonePattern(timezonePatterns.basic, string);\n\n case 'XXXX':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string);\n\n case 'XXXXX':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string);\n\n case 'XXX':\n default:\n return parseTimezonePattern(timezonePatterns.extended, string);\n }\n },\n set: function (date, flags, value, _options) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n return new Date(date.getTime() - value);\n },\n incompatibleTokens: ['t', 'T', 'x']\n },\n // Timezone (ISO-8601)\n x: {\n priority: 10,\n parse: function (string, token, _match, _options) {\n switch (token) {\n case 'x':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string);\n\n case 'xx':\n return parseTimezonePattern(timezonePatterns.basic, string);\n\n case 'xxxx':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string);\n\n case 'xxxxx':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string);\n\n case 'xxx':\n default:\n return parseTimezonePattern(timezonePatterns.extended, string);\n }\n },\n set: function (date, flags, value, _options) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n return new Date(date.getTime() - value);\n },\n incompatibleTokens: ['t', 'T', 'X']\n },\n // Seconds timestamp\n t: {\n priority: 40,\n parse: function (string, _token, _match, _options) {\n return parseAnyDigitsSigned(string);\n },\n set: function (_date, _flags, value, _options) {\n return [new Date(value * 1000), {\n timestampIsSet: true\n }];\n },\n incompatibleTokens: '*'\n },\n // Milliseconds timestamp\n T: {\n priority: 20,\n parse: function (string, _token, _match, _options) {\n return parseAnyDigitsSigned(string);\n },\n set: function (_date, _flags, value, _options) {\n return [new Date(value), {\n timestampIsSet: true\n }];\n },\n incompatibleTokens: '*'\n }\n};\n\nvar TIMEZONE_UNIT_PRIORITY = 10; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp$1 = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp$1 = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp$1 = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp$1 = /''/g;\nvar notWhitespaceRegExp = /\\S/;\nvar unescapedLatinCharacterRegExp$1 = /[a-zA-Z]/;\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Su | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Su | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 1, 2, ..., 11, 0 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 0001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Old `parse` was renamed to `toDate`.\n * Now `parse` is a new function which parses a string using a provided format.\n *\n * ```javascript\n * // Before v2.0.0\n * parse('2016-01-01')\n *\n * // v2.0.0 onward\n * toDate('2016-01-01')\n * parse('2016-01-01', 'yyyy-MM-dd', new Date())\n * ```\n *\n * @param {String} dateString - the string to parse\n * @param {String} formatString - the string of tokens\n * @param {Date|Number} referenceDate - defines values missing from the parsed dateString\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://git.io/fxCyr\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://git.io/fxCyr\n * @returns {Date} the parsed date\n * @throws {TypeError} 3 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\n\nfunction parse(dirtyDateString, dirtyFormatString, dirtyReferenceDate, dirtyOptions) {\n requiredArgs(3, arguments);\n var dateString = String(dirtyDateString);\n var formatString = String(dirtyFormatString);\n var options = dirtyOptions || {};\n var locale$1 = options.locale || locale;\n\n if (!locale$1.match) {\n throw new RangeError('locale must contain match property');\n }\n\n var localeFirstWeekContainsDate = locale$1.options && locale$1.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var localeWeekStartsOn = locale$1.options && locale$1.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (formatString === '') {\n if (dateString === '') {\n return toDate(dirtyReferenceDate);\n } else {\n return new Date(NaN);\n }\n }\n\n var subFnOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale$1 // If timezone isn't specified, it will be set to the system timezone\n\n };\n var setters = [{\n priority: TIMEZONE_UNIT_PRIORITY,\n set: dateToSystemTimezone,\n index: 0\n }];\n var i;\n var tokens = formatString.match(longFormattingTokensRegExp$1).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale$1.formatLong, subFnOptions);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp$1);\n var usedTokens = [];\n\n for (i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (!options.useAdditionalWeekYearTokens && isProtectedWeekYearToken(token)) {\n throwProtectedError(token);\n }\n\n if (!options.useAdditionalDayOfYearTokens && isProtectedDayOfYearToken(token)) {\n throwProtectedError(token);\n }\n\n var firstCharacter = token[0];\n var parser = parsers[firstCharacter];\n\n if (parser) {\n var incompatibleTokens = parser.incompatibleTokens;\n\n if (Array.isArray(incompatibleTokens)) {\n var incompatibleToken = void 0;\n\n for (var _i = 0; _i < usedTokens.length; _i++) {\n var usedToken = usedTokens[_i].token;\n\n if (incompatibleTokens.indexOf(usedToken) !== -1 || usedToken === firstCharacter) {\n incompatibleToken = usedTokens[_i];\n break;\n }\n }\n\n if (incompatibleToken) {\n throw new RangeError(\"The format string mustn't contain `\".concat(incompatibleToken.fullToken, \"` and `\").concat(token, \"` at the same time\"));\n }\n } else if (parser.incompatibleTokens === '*' && usedTokens.length) {\n throw new RangeError(\"The format string mustn't contain `\".concat(token, \"` and any other token at the same time\"));\n }\n\n usedTokens.push({\n token: firstCharacter,\n fullToken: token\n });\n var parseResult = parser.parse(dateString, token, locale$1.match, subFnOptions);\n\n if (!parseResult) {\n return new Date(NaN);\n }\n\n setters.push({\n priority: parser.priority,\n set: parser.set,\n validate: parser.validate,\n value: parseResult.value,\n index: setters.length\n });\n dateString = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp$1)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n } // Replace two single quote characters with one single quote character\n\n\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString$1(token);\n } // Cut token from string, or, if string doesn't match the token, return Invalid Date\n\n\n if (dateString.indexOf(token) === 0) {\n dateString = dateString.slice(token.length);\n } else {\n return new Date(NaN);\n }\n }\n } // Check if the remaining input contains something other than whitespace\n\n\n if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n return new Date(NaN);\n }\n\n var uniquePrioritySetters = setters.map(function (setter) {\n return setter.priority;\n }).sort(function (a, b) {\n return b - a;\n }).filter(function (priority, index, array) {\n return array.indexOf(priority) === index;\n }).map(function (priority) {\n return setters.filter(function (setter) {\n return setter.priority === priority;\n }).reverse();\n }).map(function (setterArray) {\n return setterArray[0];\n });\n var date = toDate(dirtyReferenceDate);\n\n if (isNaN(date)) {\n return new Date(NaN);\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/37\n\n\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var flags = {};\n\n for (i = 0; i < uniquePrioritySetters.length; i++) {\n var setter = uniquePrioritySetters[i];\n\n if (setter.validate && !setter.validate(utcDate, setter.value, subFnOptions)) {\n return new Date(NaN);\n }\n\n var result = setter.set(utcDate, flags, setter.value, subFnOptions); // Result is tuple (date, flags)\n\n if (result[0]) {\n utcDate = result[0];\n assign$1(flags, result[1]); // Result is date\n } else {\n utcDate = result;\n }\n }\n\n return utcDate;\n}\n\nfunction dateToSystemTimezone(date, flags) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n var convertedDate = new Date(0);\n convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n return convertedDate;\n}\n\nfunction cleanEscapedString$1(input) {\n return input.match(escapedStringRegExp$1)[1].replace(doubleQuoteRegExp$1, \"'\");\n}\n\nvar date = lodash_clonedeep(defaultType);\ndate.isRight = true;\n\ndate.compare = function (x, y, column) {\n function cook(d) {\n if (column && column.dateInputFormat) {\n return parse(\"\".concat(d), \"\".concat(column.dateInputFormat), new Date());\n }\n\n return d;\n }\n\n x = cook(x);\n y = cook(y);\n\n if (!isValid(x)) {\n return -1;\n }\n\n if (!isValid(y)) {\n return 1;\n }\n\n return compareAsc(x, y);\n};\n\ndate.format = function (v, column) {\n if (v === undefined || v === null) return ''; // convert to date\n\n var date = parse(v, column.dateInputFormat, new Date());\n\n if (isValid(date)) {\n return format(date, column.dateOutputFormat);\n }\n\n console.error(\"Not a valid date: \\\"\".concat(v, \"\\\"\"));\n return null;\n};\n\nvar date$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': date\n});\n\nvar number = lodash_clonedeep(defaultType);\nnumber.isRight = true;\n\nnumber.filterPredicate = function (rowval, filter) {\n return number.compare(rowval, filter) === 0;\n};\n\nnumber.compare = function (x, y) {\n function cook(d) {\n // if d is null or undefined we give it the smallest\n // possible value\n if (d === undefined || d === null) return -Infinity;\n return d.indexOf('.') >= 0 ? parseFloat(d) : parseInt(d, 10);\n }\n\n x = typeof x === 'number' ? x : cook(x);\n y = typeof y === 'number' ? y : cook(y);\n if (x < y) return -1;\n if (x > y) return 1;\n return 0;\n};\n\nvar number$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': number\n});\n\nvar decimal = lodash_clonedeep(number);\n\ndecimal.format = function (v) {\n if (v === undefined || v === null) return '';\n return parseFloat(Math.round(v * 100) / 100).toFixed(2);\n};\n\nvar decimal$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': decimal\n});\n\nvar percentage = lodash_clonedeep(number);\n\npercentage.format = function (v) {\n if (v === undefined || v === null) return '';\n return \"\".concat(parseFloat(v * 100).toFixed(2), \"%\");\n};\n\nvar percentage$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': percentage\n});\n\nvar _boolean = lodash_clonedeep(defaultType);\n\n_boolean.isRight = true;\n\n_boolean.filterPredicate = function (rowval, filter) {\n return _boolean.compare(rowval, filter) === 0;\n};\n\n_boolean.compare = function (x, y) {\n function cook(d) {\n if (typeof d === 'boolean') return d ? 1 : 0;\n if (typeof d === 'string') return d === 'true' ? 1 : 0;\n return -Infinity;\n }\n\n x = cook(x);\n y = cook(y);\n if (x < y) return -1;\n if (x > y) return 1;\n return 0;\n};\n\nvar _boolean$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': _boolean\n});\n\nvar index = {\n date: date$1,\n decimal: decimal$1,\n number: number$1,\n percentage: percentage$1,\n \"boolean\": _boolean$1\n};\n\nvar dataTypes = {};\nvar coreDataTypes = index;\nlodash_foreach(Object.keys(coreDataTypes), function (key) {\n var compName = key.replace(/^\\.\\//, '').replace(/\\.js/, '');\n dataTypes[compName] = coreDataTypes[key][\"default\"];\n});\nvar script$7 = {\n name: 'vue-good-table',\n props: {\n isLoading: {\n \"default\": null,\n type: Boolean\n },\n maxHeight: {\n \"default\": null,\n type: String\n },\n fixedHeader: {\n \"default\": false,\n type: Boolean\n },\n theme: {\n \"default\": ''\n },\n mode: {\n \"default\": 'local'\n },\n // could be remote\n totalRows: {},\n // required if mode = 'remote'\n styleClass: {\n \"default\": 'vgt-table bordered'\n },\n columns: {},\n rows: {},\n lineNumbers: {\n \"default\": false\n },\n responsive: {\n \"default\": true\n },\n rtl: {\n \"default\": false\n },\n rowStyleClass: {\n \"default\": null,\n type: [Function, String]\n },\n groupOptions: {\n \"default\": function _default() {\n return {\n enabled: false,\n mode: ''\n };\n }\n },\n selectOptions: {\n \"default\": function _default() {\n return {\n enabled: false,\n selectionInfoClass: '',\n selectionText: 'rows selected',\n clearSelectionText: 'clear',\n disableSelectInfo: false\n };\n }\n },\n // sort\n sortOptions: {\n \"default\": function _default() {\n return {\n enabled: true,\n initialSortBy: {}\n };\n }\n },\n // pagination\n paginationOptions: {\n \"default\": function _default() {\n return {\n enabled: false,\n perPage: 10,\n perPageDropdown: null,\n position: 'bottom',\n dropdownAllowAll: true,\n mode: 'records' // or pages\n\n };\n }\n },\n searchOptions: {\n \"default\": function _default() {\n return {\n enabled: false,\n trigger: null,\n externalQuery: null,\n searchFn: null,\n placeholder: 'Search Table'\n };\n }\n },\n columnFilterOptions: {\n \"default\": function _default() {\n return {\n enabled: false\n };\n }\n }\n },\n data: function data() {\n return {\n // loading state for remote mode\n tableLoading: false,\n // text options\n nextText: 'Next',\n prevText: 'Prev',\n rowsPerPageText: 'Rows per page',\n ofText: 'of',\n allText: 'All',\n pageText: 'page',\n // internal select options\n selectable: false,\n selectOnCheckboxOnly: false,\n selectAllByPage: true,\n disableSelectInfo: false,\n selectionInfoClass: '',\n selectionText: 'rows selected',\n clearSelectionText: 'clear',\n // internal sort options\n sortable: true,\n defaultSortBy: null,\n // internal search options\n searchEnabled: false,\n searchTrigger: null,\n externalSearchQuery: null,\n searchFn: null,\n searchPlaceholder: 'Search Table',\n searchSkipDiacritics: false,\n // internal pagination options\n perPage: null,\n paginate: false,\n paginateOnTop: false,\n paginateOnBottom: true,\n customRowsPerPageDropdown: [],\n paginateDropdownAllowAll: true,\n paginationMode: 'records',\n currentPage: 1,\n currentPerPage: 10,\n sorts: [],\n globalSearchTerm: '',\n filteredRows: [],\n columnFilters: {},\n forceSearch: false,\n sortChanged: false,\n dataTypes: dataTypes || {},\n // internal column filter options\n columnFilterEnabled: false\n };\n },\n watch: {\n rows: {\n handler: function handler() {\n this.$emit('update:isLoading', false);\n this.filterRows(this.columnFilters, false);\n },\n deep: true,\n immediate: true\n },\n selectOptions: {\n handler: function handler() {\n this.initializeSelect();\n },\n deep: true,\n immediate: true\n },\n paginationOptions: {\n handler: function handler(newValue, oldValue) {\n if (!lodash_isequal(newValue, oldValue)) {\n this.initializePagination();\n }\n },\n deep: true,\n immediate: true\n },\n searchOptions: {\n handler: function handler() {\n if (this.searchOptions.externalQuery !== undefined && this.searchOptions.externalQuery !== this.searchTerm) {\n //* we need to set searchTerm to externalQuery first.\n this.externalSearchQuery = this.searchOptions.externalQuery;\n this.handleSearch();\n }\n\n this.initializeSearch();\n },\n deep: true,\n immediate: true\n },\n sortOptions: {\n handler: function handler(newValue, oldValue) {\n if (!lodash_isequal(newValue, oldValue)) {\n this.initializeSort();\n }\n },\n deep: true\n },\n selectedRows: function selectedRows(newValue, oldValue) {\n if (!lodash_isequal(newValue, oldValue)) {\n this.$emit('on-selected-rows-change', {\n selectedRows: this.selectedRows\n });\n }\n },\n columnFilterOptions: {\n handler: function handler() {\n this.initializeColumnFilter();\n },\n deep: true,\n immediate: true\n }\n },\n computed: {\n hasFooterSlot: function hasFooterSlot() {\n return !!this.$slots['table-actions-bottom'];\n },\n wrapperStyles: function wrapperStyles() {\n return {\n overflow: 'scroll-y',\n maxHeight: this.maxHeight ? this.maxHeight : 'auto'\n };\n },\n hasHeaderRowTemplate: function hasHeaderRowTemplate() {\n return !!this.$slots['table-header-row'] || !!this.$scopedSlots['table-header-row'];\n },\n showEmptySlot: function showEmptySlot() {\n if (!this.paginated.length) return true;\n var groupChildObject = this.groupChildObject;\n\n if (this.paginated[0].label === 'no groups' && !this.paginated[0][groupChildObject].length) {\n return true;\n }\n\n return false;\n },\n allSelected: function allSelected() {\n return this.selectedRowCount > 0 && (this.selectAllByPage && this.selectedPageRowsCount === this.totalPageRowCount || !this.selectAllByPage && this.selectedRowCount === this.totalRowCount);\n },\n allSelectedIndeterminate: function allSelectedIndeterminate() {\n return !this.allSelected && (this.selectAllByPage && this.selectedPageRowsCount > 0 || !this.selectAllByPage && this.selectedRowCount > 0);\n },\n selectionInfo: function selectionInfo() {\n return \"\".concat(this.selectedRowCount, \" \").concat(this.selectionText);\n },\n selectedRowCount: function selectedRowCount() {\n return this.selectedRows.length;\n },\n selectedPageRowsCount: function selectedPageRowsCount() {\n return this.selectedPageRows.length;\n },\n selectedPageRows: function selectedPageRows() {\n var selectedRows = [];\n var groupChildObject = this.groupChildObject;\n lodash_foreach(this.paginated, function (headerRow) {\n lodash_foreach(headerRow[groupChildObject], function (row) {\n if (row.vgtSelected) {\n selectedRows.push(row);\n }\n });\n });\n return selectedRows;\n },\n selectedRows: function selectedRows() {\n var selectedRows = [];\n var groupChildObject = this.groupChildObject;\n lodash_foreach(this.processedRows, function (headerRow) {\n lodash_foreach(headerRow[groupChildObject], function (row) {\n if (row.vgtSelected) {\n selectedRows.push(row);\n }\n });\n });\n return selectedRows.sort(function (r1, r2) {\n return r1.originalIndex - r2.originalIndex;\n });\n },\n fullColspan: function fullColspan() {\n var fullColspan = 0;\n\n for (var i = 0; i < this.columns.length; i += 1) {\n if (!this.columns[i].hidden) {\n fullColspan += 1;\n }\n }\n\n if (this.lineNumbers) fullColspan++;\n if (this.selectable) fullColspan++;\n return fullColspan;\n },\n groupHeaderOnTop: function groupHeaderOnTop() {\n if (this.groupOptions && this.groupOptions.enabled && this.groupOptions.headerPosition && this.groupOptions.headerPosition === 'bottom') {\n return false;\n }\n\n if (this.groupOptions && this.groupOptions.enabled) return true; // will only get here if groupOptions is false\n\n return false;\n },\n groupHeaderOnBottom: function groupHeaderOnBottom() {\n if (this.groupOptions && this.groupOptions.enabled && this.groupOptions.headerPosition && this.groupOptions.headerPosition === 'bottom') {\n return true;\n }\n\n return false;\n },\n groupChildObject: function groupChildObject() {\n return this.groupOptions.customChildObject || 'children';\n },\n totalRowCount: function totalRowCount() {\n var groupChildObject = this.groupChildObject;\n var total = 0;\n lodash_foreach(this.processedRows, function (headerRow) {\n total += headerRow[groupChildObject] ? headerRow[groupChildObject].length : 0;\n });\n return total;\n },\n totalPageRowCount: function totalPageRowCount() {\n var total = 0;\n var groupChildObject = this.groupChildObject;\n lodash_foreach(this.paginated, function (headerRow) {\n total += headerRow[groupChildObject] ? headerRow[groupChildObject].length : 0;\n });\n return total;\n },\n wrapStyleClasses: function wrapStyleClasses() {\n var classes = 'vgt-wrap';\n if (this.rtl) classes += ' rtl';\n classes += \" \".concat(this.theme);\n return classes;\n },\n tableStyleClasses: function tableStyleClasses() {\n var classes = this.styleClass;\n classes += \" \".concat(this.theme);\n return classes;\n },\n searchTerm: function searchTerm() {\n return this.externalSearchQuery != null ? this.externalSearchQuery : this.globalSearchTerm;\n },\n //\n globalSearchAllowed: function globalSearchAllowed() {\n if (this.searchEnabled && !!this.globalSearchTerm && this.searchTrigger !== 'enter') {\n return true;\n }\n\n if (this.externalSearchQuery != null && this.searchTrigger !== 'enter') {\n return true;\n }\n\n if (this.forceSearch) {\n this.forceSearch = false;\n return true;\n }\n\n return false;\n },\n // this is done everytime sortColumn\n // or sort type changes\n //----------------------------------------\n processedRows: function processedRows() {\n var _this = this;\n\n // we only process rows when mode is local\n var computedRows = this.filteredRows;\n\n if (this.mode === 'remote') {\n return computedRows;\n } // take care of the global filter here also\n\n\n if (this.globalSearchAllowed) {\n // here also we need to de-construct and then\n // re-construct the rows.\n var allRows = [];\n var groupChildObject = this.groupChildObject;\n lodash_foreach(this.filteredRows, function (headerRow) {\n allRows.push.apply(allRows, _toConsumableArray(headerRow[groupChildObject]));\n });\n var filteredRows = [];\n lodash_foreach(allRows, function (row) {\n lodash_foreach(_this.columns, function (col) {\n // if col does not have search disabled,\n if (!col.globalSearchDisabled) {\n // if a search function is provided,\n // use that for searching, otherwise,\n // use the default search behavior\n if (_this.searchFn) {\n var foundMatch = _this.searchFn(row, col, _this.collectFormatted(row, col), _this.searchTerm);\n\n if (foundMatch) {\n filteredRows.push(row);\n return false; // break the loop\n }\n } else {\n // comparison\n var matched = defaultType.filterPredicate(_this.collectFormatted(row, col), _this.searchTerm, _this.searchSkipDiacritics);\n\n if (matched) {\n filteredRows.push(row);\n return false; // break loop\n }\n }\n }\n });\n }); // this is where we emit on search\n\n this.$emit('on-search', {\n searchTerm: this.searchTerm,\n rowCount: filteredRows.length\n }); // here we need to reconstruct the nested structure\n // of rows\n\n computedRows = [];\n lodash_foreach(this.filteredRows, function (headerRow) {\n var i = headerRow.vgt_header_id;\n var children = lodash_filter(filteredRows, ['vgt_id', i]);\n\n if (children.length) {\n var newHeaderRow = lodash_clonedeep(headerRow);\n newHeaderRow[groupChildObject] = children;\n computedRows.push(newHeaderRow);\n }\n });\n }\n\n if (this.sorts.length) {\n //* we need to sort\n computedRows.forEach(function (cRows) {\n cRows[_this.groupChildObject].sort(function (xRow, yRow) {\n //* we need to get column for each sort\n var sortValue;\n\n for (var i = 0; i < _this.sorts.length; i += 1) {\n var column = _this.getColumnForField(_this.sorts[i].field);\n\n var xvalue = _this.collect(xRow, _this.sorts[i].field);\n\n var yvalue = _this.collect(yRow, _this.sorts[i].field); //* if a custom sort function has been provided we use that\n\n\n var sortFn = column.sortFn;\n\n if (sortFn && typeof sortFn === 'function') {\n sortValue = sortValue || sortFn(xvalue, yvalue, column, xRow, yRow) * (_this.sorts[i].type === 'desc' ? -1 : 1);\n } else {\n //* else we use our own sort\n sortValue = sortValue || column.typeDef.compare(xvalue, yvalue, column) * (_this.sorts[i].type === 'desc' ? -1 : 1);\n }\n }\n\n return sortValue;\n });\n });\n } // if the filtering is event based, we need to maintain filter\n // rows\n\n\n if (this.searchTrigger === 'enter') {\n this.filteredRows = computedRows;\n }\n\n return computedRows;\n },\n paginated: function paginated() {\n var groupChildObject = this.groupChildObject;\n if (!this.processedRows.length) return [];\n\n if (this.mode === 'remote') {\n return this.processedRows;\n } // for every group, extract the child rows\n // to cater to paging\n\n\n var paginatedRows = [];\n lodash_foreach(this.processedRows, function (childRows) {\n var _paginatedRows;\n\n (_paginatedRows = paginatedRows).push.apply(_paginatedRows, _toConsumableArray(childRows[groupChildObject]));\n });\n\n if (this.paginate) {\n var pageStart = (this.currentPage - 1) * this.currentPerPage; // in case of filtering we might be on a page that is\n // not relevant anymore\n // also, if setting to all, current page will not be valid\n\n if (pageStart >= paginatedRows.length || this.currentPerPage === -1) {\n this.currentPage = 1;\n pageStart = 0;\n } // calculate page end now\n\n\n var pageEnd = paginatedRows.length + 1; // if the setting is set to 'all'\n\n if (this.currentPerPage !== -1) {\n pageEnd = this.currentPage * this.currentPerPage;\n }\n\n paginatedRows = paginatedRows.slice(pageStart, pageEnd);\n } // reconstruct paginated rows here\n\n\n var reconstructedRows = [];\n lodash_foreach(this.processedRows, function (headerRow) {\n var i = headerRow.vgt_header_id;\n var children = lodash_filter(paginatedRows, ['vgt_id', i]);\n\n if (children.length) {\n var newHeaderRow = lodash_clonedeep(headerRow);\n newHeaderRow[groupChildObject] = children;\n reconstructedRows.push(newHeaderRow);\n }\n });\n return reconstructedRows;\n },\n originalRows: function originalRows() {\n var rows = lodash_clonedeep(this.rows);\n var groupChildObject = this.groupChildObject;\n var nestedRows = [];\n\n if (!this.groupOptions.enabled) {\n nestedRows = this.handleGrouped([{\n label: 'no groups',\n children: rows\n }]);\n } else {\n nestedRows = this.handleGrouped(rows);\n } // we need to preserve the original index of\n // rows so lets do that\n\n\n var index = 0;\n lodash_foreach(nestedRows, function (headerRow, i) {\n lodash_foreach(headerRow[groupChildObject], function (row, j) {\n row.originalIndex = index++;\n });\n });\n return nestedRows;\n },\n typedColumns: function typedColumns() {\n var columns = lodash_assign(this.columns, []);\n\n for (var i = 0; i < this.columns.length; i++) {\n var column = columns[i];\n column.typeDef = this.dataTypes[column.type] || defaultType;\n }\n\n return columns;\n },\n hasRowClickListener: function hasRowClickListener() {\n return this.$listeners && this.$listeners['on-row-click'];\n }\n },\n methods: {\n toggleExpand: function toggleExpand(index) {\n var headerRow = this.filteredRows[index];\n\n if (headerRow) {\n this.$set(headerRow, 'vgtIsExpanded', !headerRow.vgtIsExpanded);\n }\n },\n expandAll: function expandAll() {\n var _this2 = this;\n\n this.filteredRows.forEach(function (row) {\n _this2.$set(row, 'vgtIsExpanded', true);\n });\n },\n collapseAll: function collapseAll() {\n var _this3 = this;\n\n this.filteredRows.forEach(function (row) {\n _this3.$set(row, 'vgtIsExpanded', false);\n });\n },\n getColumnForField: function getColumnForField(field) {\n for (var i = 0; i < this.typedColumns.length; i += 1) {\n if (this.typedColumns[i].field === field) return this.typedColumns[i];\n }\n },\n handleSearch: function handleSearch() {\n this.resetTable(); // for remote mode, we need to emit on-search\n\n if (this.mode === 'remote') {\n this.$emit('on-search', {\n searchTerm: this.searchTerm\n });\n }\n },\n reset: function reset() {\n this.initializeSort();\n this.changePage(1);\n this.$refs['table-header-primary'].reset(true);\n\n if (this.$refs['table-header-secondary']) {\n this.$refs['table-header-secondary'].reset(true);\n }\n },\n emitSelectedRows: function emitSelectedRows() {\n this.$emit('on-select-all', {\n selected: this.selectedRowCount === this.totalRowCount,\n selectedRows: this.selectedRows\n });\n },\n unselectAllInternal: function unselectAllInternal(forceAll) {\n var _this4 = this;\n\n var rows = this.selectAllByPage && !forceAll ? this.paginated : this.filteredRows;\n var groupChildObject = this.groupChildObject;\n lodash_foreach(rows, function (headerRow, i) {\n lodash_foreach(headerRow[groupChildObject], function (row, j) {\n _this4.$set(row, 'vgtSelected', false);\n });\n });\n this.emitSelectedRows();\n },\n toggleSelectAll: function toggleSelectAll() {\n var _this5 = this;\n\n if (this.allSelected) {\n this.unselectAllInternal();\n return;\n }\n\n var rows = this.selectAllByPage ? this.paginated : this.filteredRows;\n var groupChildObject = this.groupChildObject;\n lodash_foreach(rows, function (headerRow) {\n lodash_foreach(headerRow[groupChildObject], function (row) {\n _this5.$set(row, 'vgtSelected', true);\n });\n });\n this.emitSelectedRows();\n },\n toggleSelectGroup: function toggleSelectGroup(event, headerRow) {\n var _this6 = this;\n\n var groupChildObject = this.groupChildObject;\n lodash_foreach(headerRow[groupChildObject], function (row) {\n _this6.$set(row, 'vgtSelected', event.checked);\n });\n },\n changePage: function changePage(value) {\n if (this.paginationOptions.enabled) {\n var paginationWidget = this.$refs.paginationBottom;\n\n if (this.paginationOptions.position === 'top') {\n paginationWidget = this.$refs.paginationTop;\n }\n\n if (paginationWidget) {\n paginationWidget.currentPage = value; // we also need to set the currentPage\n // for table.\n\n this.currentPage = value;\n }\n }\n },\n pageChangedEvent: function pageChangedEvent() {\n return {\n currentPage: this.currentPage,\n currentPerPage: this.currentPerPage,\n total: Math.floor(this.totalRowCount / this.currentPerPage)\n };\n },\n pageChanged: function pageChanged(pagination) {\n this.currentPage = pagination.currentPage;\n var pageChangedEvent = this.pageChangedEvent();\n pageChangedEvent.prevPage = pagination.prevPage;\n this.$emit('on-page-change', pageChangedEvent);\n\n if (this.mode === 'remote') {\n this.$emit('update:isLoading', true);\n }\n },\n perPageChanged: function perPageChanged(pagination) {\n this.currentPerPage = pagination.currentPerPage; //* update perPage also\n\n var perPageChangedEvent = this.pageChangedEvent();\n this.$emit('on-per-page-change', perPageChangedEvent);\n\n if (this.mode === 'remote') {\n this.$emit('update:isLoading', true);\n }\n },\n changeSort: function changeSort(sorts) {\n this.sorts = sorts;\n this.$emit('on-sort-change', sorts); // every time we change sort we need to reset to page 1\n\n this.changePage(1); // if the mode is remote, we don't need to do anything\n // after this. just set table loading to true\n\n if (this.mode === 'remote') {\n this.$emit('update:isLoading', true);\n return;\n }\n\n this.sortChanged = true;\n },\n // checkbox click should always do the following\n onCheckboxClicked: function onCheckboxClicked(row, index, event) {\n this.$set(row, 'vgtSelected', !row.vgtSelected);\n this.$emit('on-row-click', {\n row: row,\n pageIndex: index,\n selected: !!row.vgtSelected,\n event: event\n });\n },\n onRowDoubleClicked: function onRowDoubleClicked(row, index, event) {\n this.$emit('on-row-dblclick', {\n row: row,\n pageIndex: index,\n selected: !!row.vgtSelected,\n event: event\n });\n },\n onRowClicked: function onRowClicked(row, index, event) {\n if (this.selectable && !this.selectOnCheckboxOnly) {\n this.$set(row, 'vgtSelected', !row.vgtSelected);\n }\n\n this.$emit('on-row-click', {\n row: row,\n pageIndex: index,\n selected: !!row.vgtSelected,\n event: event\n });\n },\n onRowAuxClicked: function onRowAuxClicked(row, index, event) {\n this.$emit('on-row-aux-click', {\n row: row,\n pageIndex: index,\n selected: !!row.vgtSelected,\n event: event\n });\n },\n onCellClicked: function onCellClicked(row, column, rowIndex, event) {\n this.$emit('on-cell-click', {\n row: row,\n column: column,\n rowIndex: rowIndex,\n event: event\n });\n },\n onMouseenter: function onMouseenter(row, index) {\n this.$emit('on-row-mouseenter', {\n row: row,\n pageIndex: index\n });\n },\n onMouseleave: function onMouseleave(row, index) {\n this.$emit('on-row-mouseleave', {\n row: row,\n pageIndex: index\n });\n },\n searchTableOnEnter: function searchTableOnEnter() {\n if (this.searchTrigger === 'enter') {\n this.handleSearch(); // we reset the filteredRows here because\n // we want to search across everything.\n\n this.filteredRows = lodash_clonedeep(this.originalRows);\n this.forceSearch = true;\n this.sortChanged = true;\n }\n },\n searchTableOnKeyUp: function searchTableOnKeyUp() {\n if (this.searchTrigger !== 'enter') {\n this.handleSearch();\n }\n },\n resetTable: function resetTable() {\n this.unselectAllInternal(true); // every time we searchTable\n\n this.changePage(1);\n },\n // field can be:\n // 1. function\n // 2. regular property - ex: 'prop'\n // 3. nested property path - ex: 'nested.prop'\n collect: function collect(obj, field) {\n // utility function to get nested property\n function dig(obj, selector) {\n var result = obj;\n var splitter = selector.split('.');\n\n for (var i = 0; i < splitter.length; i++) {\n if (typeof result === 'undefined' || result === null) {\n return undefined;\n }\n\n result = result[splitter[i]];\n }\n\n return result;\n }\n\n if (typeof field === 'function') return field(obj);\n if (typeof field === 'string') return dig(obj, field);\n return undefined;\n },\n collectFormatted: function collectFormatted(obj, column) {\n var headerRow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var value;\n\n if (headerRow && column.headerField) {\n value = this.collect(obj, column.headerField);\n } else {\n value = this.collect(obj, column.field);\n }\n\n if (value === undefined) return ''; // if user has supplied custom formatter,\n // use that here\n\n if (column.formatFn && typeof column.formatFn === 'function') {\n return column.formatFn(value, obj);\n } // lets format the resultant data\n\n\n var type = column.typeDef; // this will only happen if we try to collect formatted\n // before types have been initialized. for example: on\n // load when external query is specified.\n\n if (!type) {\n type = this.dataTypes[column.type] || defaultType;\n }\n\n return type.format(value, column);\n },\n formattedRow: function formattedRow(row) {\n var isHeaderRow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var formattedRow = {};\n\n for (var i = 0; i < this.typedColumns.length; i++) {\n var col = this.typedColumns[i]; // what happens if field is\n\n if (col.field) {\n formattedRow[col.field] = this.collectFormatted(row, col, isHeaderRow);\n }\n }\n\n return formattedRow;\n },\n // Get classes for the given column index & element.\n getClasses: function getClasses(index, element, row) {\n var _this$typedColumns$in = this.typedColumns[index],\n typeDef = _this$typedColumns$in.typeDef,\n custom = _this$typedColumns$in[\"\".concat(element, \"Class\")];\n\n var isRight = typeDef.isRight;\n if (this.rtl) isRight = true;\n var classes = {\n 'vgt-right-align': isRight,\n 'vgt-left-align': !isRight\n }; // for td we need to check if value is\n // a function.\n\n if (typeof custom === 'function') {\n classes[custom(row)] = true;\n } else if (typeof custom === 'string') {\n classes[custom] = true;\n }\n\n return classes;\n },\n filterMultiselectItems: function filterMultiselectItems(column, row) {\n var columnFieldName = column.field;\n var columnFilters = this.columnFilters[columnFieldName];\n\n if (column.filterOptions && column.filterOptions.filterMultiselectDropdownItems) {\n if (columnFilters.length === 0) {\n return true;\n } // Otherwise Use default filters\n\n\n var typeDef = column.typeDef;\n\n var _iterator = _createForOfIteratorHelper(columnFilters),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _filter = _step.value;\n var filterLabel = _filter;\n\n if (_typeof(_filter) === 'object') {\n filterLabel = _filter.label;\n }\n\n if (typeDef.filterPredicate(this.collect(row, columnFieldName), filterLabel)) {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return false;\n }\n\n return undefined;\n },\n // method to filter rows\n filterRows: function filterRows(columnFilters) {\n var _this7 = this;\n\n var fromFilter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n // if (!this.rows.length) return;\n // this is invoked either as a result of changing filters\n // or as a result of modifying rows.\n this.columnFilters = columnFilters;\n var computedRows = lodash_clonedeep(this.originalRows);\n var groupChildObject = this.groupChildObject; // do we have a filter to care about?\n // if not we don't need to do anything\n\n if (this.columnFilters && Object.keys(this.columnFilters).length) {\n // every time we filter rows, we need to set current page\n // to 1\n // if the mode is remote, we only need to reset, if this is\n // being called from filter, not when rows are changing\n if (this.mode !== 'remote' || fromFilter) {\n this.changePage(1);\n } // we need to emit an event and that's that.\n // but this only needs to be invoked if filter is changing\n // not when row object is modified.\n\n\n if (fromFilter) {\n this.$emit('on-column-filter', {\n columnFilters: this.columnFilters\n });\n } // if mode is remote, we don't do any filtering here.\n\n\n if (this.mode === 'remote') {\n if (fromFilter) {\n this.$emit('update:isLoading', true);\n } else {\n // if remote filtering has already been taken care of.\n this.filteredRows = computedRows;\n }\n\n return;\n }\n\n var _loop = function _loop(i) {\n var col = _this7.typedColumns[i];\n\n if (_this7.columnFilters[col.field]) {\n computedRows = lodash_foreach(computedRows, function (headerRow) {\n var newChildren = headerRow[groupChildObject].filter(function (row) {\n // If column has a custom filter, use that.\n if (col.filterOptions && typeof col.filterOptions.filterFn === 'function') {\n return col.filterOptions.filterFn(_this7.collect(row, col.field), _this7.columnFilters[col.field]);\n }\n\n var filterMultiselect = _this7.filterMultiselectItems(col, row);\n\n if (filterMultiselect !== undefined) {\n return filterMultiselect;\n } // Otherwise Use default filters\n\n\n var typeDef = col.typeDef;\n return typeDef.filterPredicate(_this7.collect(row, col.field), _this7.columnFilters[col.field], false, col.filterOptions && _typeof(col.filterOptions.filterDropdownItems) === 'object');\n }); // should we remove the header?\n\n headerRow[groupChildObject] = newChildren;\n });\n }\n };\n\n for (var i = 0; i < this.typedColumns.length; i++) {\n _loop(i);\n }\n }\n\n this.filteredRows = computedRows;\n },\n getCurrentIndex: function getCurrentIndex(index) {\n return (this.currentPage - 1) * this.currentPerPage + index + 1;\n },\n getRowStyleClass: function getRowStyleClass(row) {\n var classes = '';\n if (this.hasRowClickListener) classes += 'clickable';\n var rowStyleClasses;\n\n if (typeof this.rowStyleClass === 'function') {\n rowStyleClasses = this.rowStyleClass(row);\n } else {\n rowStyleClasses = this.rowStyleClass;\n }\n\n if (rowStyleClasses) {\n classes += \" \".concat(rowStyleClasses);\n }\n\n return classes;\n },\n handleGrouped: function handleGrouped(originalRows) {\n var groupChildObject = this.groupChildObject;\n lodash_foreach(originalRows, function (headerRow, i) {\n headerRow.vgt_header_id = i;\n lodash_foreach(headerRow[groupChildObject], function (childRow) {\n childRow.vgt_id = i;\n });\n });\n return originalRows;\n },\n toggleFilteredColumn: function toggleFilteredColumn(value) {\n this.columns.find(function (column) {\n return column.label === value.label;\n }).hidden = !value.checked;\n },\n initializePagination: function initializePagination() {\n var _this8 = this;\n\n var _this$paginationOptio = this.paginationOptions,\n enabled = _this$paginationOptio.enabled,\n perPage = _this$paginationOptio.perPage,\n position = _this$paginationOptio.position,\n perPageDropdown = _this$paginationOptio.perPageDropdown,\n dropdownAllowAll = _this$paginationOptio.dropdownAllowAll,\n nextLabel = _this$paginationOptio.nextLabel,\n prevLabel = _this$paginationOptio.prevLabel,\n rowsPerPageLabel = _this$paginationOptio.rowsPerPageLabel,\n ofLabel = _this$paginationOptio.ofLabel,\n pageLabel = _this$paginationOptio.pageLabel,\n allLabel = _this$paginationOptio.allLabel,\n setCurrentPage = _this$paginationOptio.setCurrentPage,\n mode = _this$paginationOptio.mode;\n\n if (typeof enabled === 'boolean') {\n this.paginate = enabled;\n }\n\n if (typeof perPage === 'number') {\n this.perPage = perPage;\n }\n\n if (position === 'top') {\n this.paginateOnTop = true; // default is false\n\n this.paginateOnBottom = false; // default is true\n } else if (position === 'both') {\n this.paginateOnTop = true;\n this.paginateOnBottom = true;\n }\n\n if (Array.isArray(perPageDropdown) && perPageDropdown.length) {\n this.customRowsPerPageDropdown = perPageDropdown;\n\n if (!this.perPage) {\n var _perPageDropdown = _slicedToArray(perPageDropdown, 1);\n\n this.perPage = _perPageDropdown[0];\n }\n }\n\n if (typeof dropdownAllowAll === 'boolean') {\n this.paginateDropdownAllowAll = dropdownAllowAll;\n }\n\n if (typeof mode === 'string') {\n this.paginationMode = mode;\n }\n\n if (typeof nextLabel === 'string') {\n this.nextText = nextLabel;\n }\n\n if (typeof prevLabel === 'string') {\n this.prevText = prevLabel;\n }\n\n if (typeof rowsPerPageLabel === 'string') {\n this.rowsPerPageText = rowsPerPageLabel;\n }\n\n if (typeof ofLabel === 'string') {\n this.ofText = ofLabel;\n }\n\n if (typeof pageLabel === 'string') {\n this.pageText = pageLabel;\n }\n\n if (typeof allLabel === 'string') {\n this.allText = allLabel;\n }\n\n if (typeof setCurrentPage === 'number') {\n setTimeout(function () {\n _this8.changePage(setCurrentPage);\n }, 500);\n }\n },\n initializeSearch: function initializeSearch() {\n var _this$searchOptions = this.searchOptions,\n enabled = _this$searchOptions.enabled,\n trigger = _this$searchOptions.trigger,\n externalQuery = _this$searchOptions.externalQuery,\n searchFn = _this$searchOptions.searchFn,\n placeholder = _this$searchOptions.placeholder,\n skipDiacritics = _this$searchOptions.skipDiacritics;\n\n if (typeof enabled === 'boolean') {\n this.searchEnabled = enabled;\n }\n\n if (trigger === 'enter') {\n this.searchTrigger = trigger;\n }\n\n if (typeof externalQuery === 'string') {\n this.externalSearchQuery = externalQuery;\n }\n\n if (typeof searchFn === 'function') {\n this.searchFn = searchFn;\n }\n\n if (typeof placeholder === 'string') {\n this.searchPlaceholder = placeholder;\n }\n\n if (typeof skipDiacritics === 'boolean') {\n this.searchSkipDiacritics = skipDiacritics;\n }\n },\n initializeSort: function initializeSort() {\n var _this$sortOptions = this.sortOptions,\n enabled = _this$sortOptions.enabled,\n initialSortBy = _this$sortOptions.initialSortBy;\n\n if (typeof enabled === 'boolean') {\n this.sortable = enabled;\n } //* initialSortBy can be an array or an object\n\n\n if (_typeof(initialSortBy) === 'object') {\n var ref = this.fixedHeader ? this.$refs['table-header-secondary'] : this.$refs['table-header-primary'];\n\n if (Array.isArray(initialSortBy)) {\n ref.setInitialSort(initialSortBy);\n } else {\n var hasField = Object.prototype.hasOwnProperty.call(initialSortBy, 'field');\n if (hasField) ref.setInitialSort([initialSortBy]);\n }\n }\n },\n initializeSelect: function initializeSelect() {\n var _this$selectOptions = this.selectOptions,\n enabled = _this$selectOptions.enabled,\n selectionInfoClass = _this$selectOptions.selectionInfoClass,\n selectionText = _this$selectOptions.selectionText,\n clearSelectionText = _this$selectOptions.clearSelectionText,\n selectOnCheckboxOnly = _this$selectOptions.selectOnCheckboxOnly,\n selectAllByPage = _this$selectOptions.selectAllByPage,\n disableSelectInfo = _this$selectOptions.disableSelectInfo,\n selectAllByGroup = _this$selectOptions.selectAllByGroup;\n\n if (typeof enabled === 'boolean') {\n this.selectable = enabled;\n }\n\n if (typeof selectOnCheckboxOnly === 'boolean') {\n this.selectOnCheckboxOnly = selectOnCheckboxOnly;\n }\n\n if (typeof selectAllByPage === 'boolean') {\n this.selectAllByPage = selectAllByPage;\n }\n\n this.selectAllByGroup = Boolean(selectAllByGroup);\n\n if (typeof disableSelectInfo === 'boolean') {\n this.disableSelectInfo = disableSelectInfo;\n }\n\n if (typeof selectionInfoClass === 'string') {\n this.selectionInfoClass = selectionInfoClass;\n }\n\n if (typeof selectionText === 'string') {\n this.selectionText = selectionText;\n }\n\n if (typeof clearSelectionText === 'string') {\n this.clearSelectionText = clearSelectionText;\n }\n },\n initializeColumnFilter: function initializeColumnFilter() {\n var enabled = this.columnFilterOptions.enabled;\n\n if (typeof enabled === 'boolean') {\n this.columnFilterEnabled = enabled;\n }\n }\n },\n mounted: function mounted() {\n if (this.perPage) {\n this.currentPerPage = this.perPage;\n }\n\n this.initializeSort();\n },\n components: {\n 'vgt-pagination': __vue_component__$1,\n 'vgt-global-search': __vue_component__$2,\n 'vgt-header-row': __vue_component__$5,\n 'vgt-table-header': __vue_component__$4,\n 'vgt-column-dropdown': __vue_component__$6\n }\n};\n\n/* script */\nvar __vue_script__$7 = script$7;\n/* template */\n\nvar __vue_render__$7 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n \"class\": _vm.wrapStyleClasses\n }, [_vm.isLoading ? _c('div', {\n staticClass: \"vgt-loading vgt-center-align\"\n }, [_vm._t(\"loadingContent\", [_c('span', {\n staticClass: \"vgt-loading__content\"\n }, [_vm._v(\"\\n Loading...\\n \")])])], 2) : _vm._e(), _vm._v(\" \"), _c('div', {\n staticClass: \"vgt-inner-wrap\",\n \"class\": {\n 'is-loading': _vm.isLoading\n }\n }, [_vm.paginate && _vm.paginateOnTop ? _vm._t(\"pagination-top\", [_c('vgt-pagination', {\n ref: \"paginationTop\",\n attrs: {\n \"perPage\": _vm.perPage,\n \"rtl\": _vm.rtl,\n \"total\": _vm.totalRows || _vm.totalRowCount,\n \"mode\": _vm.paginationMode,\n \"nextText\": _vm.nextText,\n \"prevText\": _vm.prevText,\n \"rowsPerPageText\": _vm.rowsPerPageText,\n \"customRowsPerPageDropdown\": _vm.customRowsPerPageDropdown,\n \"paginateDropdownAllowAll\": _vm.paginateDropdownAllowAll,\n \"ofText\": _vm.ofText,\n \"pageText\": _vm.pageText,\n \"allText\": _vm.allText\n },\n on: {\n \"page-changed\": _vm.pageChanged,\n \"per-page-changed\": _vm.perPageChanged\n }\n })], {\n \"pageChanged\": _vm.pageChanged,\n \"perPageChanged\": _vm.perPageChanged,\n \"total\": _vm.totalRows || _vm.totalRowCount\n }) : _vm._e(), _vm._v(\" \"), _c('vgt-global-search', {\n attrs: {\n \"search-enabled\": _vm.searchEnabled && _vm.externalSearchQuery == null,\n \"global-search-placeholder\": _vm.searchPlaceholder\n },\n on: {\n \"on-keyup\": _vm.searchTableOnKeyUp,\n \"on-enter\": _vm.searchTableOnEnter\n },\n model: {\n value: _vm.globalSearchTerm,\n callback: function callback($$v) {\n _vm.globalSearchTerm = $$v;\n },\n expression: \"globalSearchTerm\"\n }\n }, [_c('template', {\n slot: \"internal-table-actions\"\n }, [_vm.columnFilterEnabled ? _vm._t(\"table-actions\", [_c('vgt-column-dropdown', {\n attrs: {\n \"columns\": _vm.columns\n },\n on: {\n \"input\": _vm.toggleFilteredColumn\n }\n })]) : _vm._e()], 2)], 2), _vm._v(\" \"), _vm.selectedRowCount && !_vm.disableSelectInfo ? _c('div', {\n staticClass: \"vgt-selection-info-row clearfix\",\n \"class\": _vm.selectionInfoClass\n }, [_c('span', [_vm._v(_vm._s(_vm.selectionInfo))]), _vm._v(\" \"), _c('a', {\n attrs: {\n \"href\": \"\"\n },\n on: {\n \"click\": function click($event) {\n $event.preventDefault();\n return _vm.unselectAllInternal(true);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.clearSelectionText) + \"\\n \")]), _vm._v(\" \"), _c('div', {\n staticClass: \"vgt-selection-info-row__actions vgt-pull-right\"\n }, [_vm._t(\"selected-row-actions\")], 2)]) : _vm._e(), _vm._v(\" \"), _c('div', {\n staticClass: \"vgt-fixed-header\"\n }, [_vm.fixedHeader ? _c('table', {\n \"class\": _vm.tableStyleClasses\n }, [_c(\"vgt-table-header\", {\n ref: \"table-header-secondary\",\n tag: \"thead\",\n attrs: {\n \"columns\": _vm.columns,\n \"line-numbers\": _vm.lineNumbers,\n \"selectable\": _vm.selectable,\n \"all-selected\": _vm.allSelected,\n \"all-selected-indeterminate\": _vm.allSelectedIndeterminate,\n \"mode\": _vm.mode,\n \"sortable\": _vm.sortable,\n \"typed-columns\": _vm.typedColumns,\n \"getClasses\": _vm.getClasses,\n \"searchEnabled\": _vm.searchEnabled,\n \"paginated\": _vm.paginated,\n \"table-ref\": _vm.$refs.table\n },\n on: {\n \"on-toggle-select-all\": _vm.toggleSelectAll,\n \"on-sort-change\": _vm.changeSort,\n \"filter-changed\": _vm.filterRows\n },\n scopedSlots: _vm._u([{\n key: \"table-column\",\n fn: function fn(props) {\n return [_vm._t(\"table-column\", [_c('span', [_vm._v(_vm._s(props.column.label))])], {\n \"column\": props.column\n })];\n }\n }], null, true)\n })], 1) : _vm._e()]), _vm._v(\" \"), _c('div', {\n \"class\": {\n 'vgt-responsive': _vm.responsive\n },\n style: _vm.wrapperStyles\n }, [_c('table', {\n ref: \"table\",\n \"class\": _vm.tableStyleClasses\n }, [_c(\"vgt-table-header\", {\n ref: \"table-header-primary\",\n tag: \"thead\",\n attrs: {\n \"columns\": _vm.columns,\n \"line-numbers\": _vm.lineNumbers,\n \"selectable\": _vm.selectable,\n \"all-selected\": _vm.allSelected,\n \"all-selected-indeterminate\": _vm.allSelectedIndeterminate,\n \"mode\": _vm.mode,\n \"sortable\": _vm.sortable,\n \"typed-columns\": _vm.typedColumns,\n \"getClasses\": _vm.getClasses,\n \"searchEnabled\": _vm.searchEnabled\n },\n on: {\n \"on-toggle-select-all\": _vm.toggleSelectAll,\n \"on-sort-change\": _vm.changeSort,\n \"filter-changed\": _vm.filterRows\n },\n scopedSlots: _vm._u([{\n key: \"table-column\",\n fn: function fn(props) {\n return [_vm._t(\"table-column\", [_c('span', [_vm._v(_vm._s(props.column.label))])], {\n \"column\": props.column\n })];\n }\n }], null, true)\n }), _vm._v(\" \"), _vm._l(_vm.paginated, function (headerRow, index) {\n return _c('tbody', {\n key: index\n }, [_vm.groupHeaderOnTop ? _c('vgt-header-row', {\n attrs: {\n \"mode\": _vm.mode,\n \"header-row\": headerRow,\n \"columns\": _vm.columns,\n \"line-numbers\": _vm.lineNumbers,\n \"selectable\": _vm.selectable,\n \"collapsable\": _vm.groupOptions.collapsable,\n \"select-all-by-group\": _vm.selectAllByGroup,\n \"collect-formatted\": _vm.collectFormatted,\n \"formatted-row\": _vm.formattedRow,\n \"get-classes\": _vm.getClasses,\n \"full-colspan\": _vm.fullColspan,\n \"groupIndex\": index,\n \"groupOptions\": _vm.groupOptions,\n \"groupChildObject\": _vm.groupChildObject\n },\n on: {\n \"vgtExpand\": function vgtExpand($event) {\n return _vm.toggleExpand(index);\n },\n \"on-select-group-change\": function onSelectGroupChange($event) {\n return _vm.toggleSelectGroup($event, headerRow);\n }\n },\n scopedSlots: _vm._u([{\n key: \"table-header-row\",\n fn: function fn(props) {\n return _vm.hasHeaderRowTemplate ? [_vm._t(\"table-header-row\", null, {\n \"column\": props.column,\n \"formattedRow\": props.formattedRow,\n \"row\": props.row\n })] : undefined;\n }\n }], null, true)\n }) : _vm._e(), _vm._v(\" \"), _vm._l(headerRow[_vm.groupChildObject], function (row, index) {\n return (_vm.groupOptions.collapsable ? headerRow.vgtIsExpanded : true) ? _c('tr', {\n key: row.originalIndex,\n ref: \"row-\" + row.originalIndex,\n refInFor: true,\n \"class\": _vm.getRowStyleClass(row),\n on: {\n \"mouseenter\": function mouseenter($event) {\n return _vm.onMouseenter(row, index);\n },\n \"mouseleave\": function mouseleave($event) {\n return _vm.onMouseleave(row, index);\n },\n \"dblclick\": function dblclick($event) {\n return _vm.onRowDoubleClicked(row, index, $event);\n },\n \"click\": function click($event) {\n return _vm.onRowClicked(row, index, $event);\n },\n \"auxclick\": function auxclick($event) {\n return _vm.onRowAuxClicked(row, index, $event);\n }\n }\n }, [_vm.lineNumbers ? _c('th', {\n staticClass: \"line-numbers\"\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getCurrentIndex(index)) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _vm.selectable ? _c('td', {\n staticClass: \"vgt-checkbox-col\",\n on: {\n \"click\": function click($event) {\n $event.stopPropagation();\n return _vm.onCheckboxClicked(row, index, $event);\n }\n }\n }, [_c('input', {\n attrs: {\n \"type\": \"checkbox\"\n },\n domProps: {\n \"checked\": row.vgtSelected\n }\n })]) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.columns, function (column, i) {\n return !column.hidden && column.field ? _c('td', {\n key: i,\n \"class\": _vm.getClasses(i, 'td', row),\n on: {\n \"click\": function click($event) {\n return _vm.onCellClicked(row, column, index, $event);\n }\n }\n }, [_vm._t(\"table-row\", [!column.html ? _c('span', [_vm._v(\"\\n \" + _vm._s(_vm.collectFormatted(row, column)) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), column.html ? _c('span', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.collect(row, column.field))\n }\n }) : _vm._e()], {\n \"row\": row,\n \"column\": column,\n \"formattedRow\": _vm.formattedRow(row),\n \"index\": index\n })], 2) : _vm._e();\n })], 2) : _vm._e();\n }), _vm._v(\" \"), _vm.groupHeaderOnBottom ? _c('vgt-header-row', {\n attrs: {\n \"header-row\": headerRow,\n \"columns\": _vm.columns,\n \"line-numbers\": _vm.lineNumbers,\n \"selectable\": _vm.selectable,\n \"select-all-by-group\": _vm.selectAllByGroup,\n \"collect-formatted\": _vm.collectFormatted,\n \"formatted-row\": _vm.formattedRow,\n \"get-classes\": _vm.getClasses,\n \"full-colspan\": _vm.fullColspan,\n \"groupIndex\": index,\n \"groupOptions\": _vm.groupOptions,\n \"groupChildObject\": _vm.groupChildObject\n },\n on: {\n \"on-select-group-change\": function onSelectGroupChange($event) {\n return _vm.toggleSelectGroup($event, headerRow);\n }\n },\n scopedSlots: _vm._u([{\n key: \"table-header-row\",\n fn: function fn(props) {\n return _vm.hasHeaderRowTemplate ? [_vm._t(\"table-header-row\", null, {\n \"column\": props.column,\n \"formattedRow\": props.formattedRow,\n \"row\": props.row\n })] : undefined;\n }\n }], null, true)\n }) : _vm._e(), _vm._v(\" \"), _vm._t(\"table-footer-row\", null, {\n \"columns\": _vm.columns,\n \"headerRow\": headerRow\n })], 2);\n }), _vm._v(\" \"), _vm.showEmptySlot ? _c('tbody', [_c('tr', [_c('td', {\n attrs: {\n \"colspan\": _vm.fullColspan\n }\n }, [_vm._t(\"emptystate\", [_c('div', {\n staticClass: \"vgt-center-align vgt-text-disabled\"\n }, [_vm._v(\"\\n No data for table\\n \")])])], 2)])]) : _vm._e()], 2)]), _vm._v(\" \"), _vm.hasFooterSlot ? _c('div', {\n staticClass: \"vgt-wrap__actions-footer\"\n }, [_vm._t(\"table-actions-bottom\")], 2) : _vm._e(), _vm._v(\" \"), _vm.paginate && _vm.paginateOnBottom ? _vm._t(\"pagination-bottom\", [_c('vgt-pagination', {\n ref: \"paginationBottom\",\n attrs: {\n \"perPage\": _vm.perPage,\n \"rtl\": _vm.rtl,\n \"total\": _vm.totalRows || _vm.totalRowCount,\n \"mode\": _vm.paginationMode,\n \"nextText\": _vm.nextText,\n \"prevText\": _vm.prevText,\n \"rowsPerPageText\": _vm.rowsPerPageText,\n \"customRowsPerPageDropdown\": _vm.customRowsPerPageDropdown,\n \"paginateDropdownAllowAll\": _vm.paginateDropdownAllowAll,\n \"ofText\": _vm.ofText,\n \"pageText\": _vm.pageText,\n \"allText\": _vm.allText\n },\n on: {\n \"page-changed\": _vm.pageChanged,\n \"per-page-changed\": _vm.perPageChanged\n }\n })], {\n \"pageChanged\": _vm.pageChanged,\n \"perPageChanged\": _vm.perPageChanged,\n \"total\": _vm.totalRows || _vm.totalRowCount\n }) : _vm._e()], 2)]);\n};\n\nvar __vue_staticRenderFns__$7 = [];\n/* style */\n\nvar __vue_inject_styles__$7 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$7 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$7 = normalizeComponent({\n render: __vue_render__$7,\n staticRenderFns: __vue_staticRenderFns__$7\n}, __vue_inject_styles__$7, __vue_script__$7, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);\n\nvar vueSelect = createCommonjsModule(function (module, exports) {\n!function(t,e){module.exports=e();}(\"undefined\"!=typeof self?self:commonjsGlobal,(function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o});},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0});},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/\",n(n.s=8)}([function(t,e,n){var o=n(4),i=n(5),r=n(6);t.exports=function(t){return o(t)||i(t)||r()};},function(t,e){function n(e){return \"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?t.exports=n=function(t){return typeof t}:t.exports=n=function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},n(e)}t.exports=n;},function(t,e,n){},function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t};},function(t,e){t.exports=function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);en.bottom)return this.$refs.dropdownMenu.scrollTop=e.offsetTop-(n.height-s)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},u={data:function(){return {typeAheadPointer:-1}},watch:{filteredOptions:function(){for(var t=0;t=0;t--)if(this.selectable(this.filteredOptions[t])){this.typeAheadPointer=t;break}},typeAheadDown:function(){for(var t=this.typeAheadPointer+1;t0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==t?!this.mutableLoading:t}}};function h(t,e,n,o,i,r,s,a){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId=\"data-v-\"+r),s?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s);},c._ssrRegister=l):i&&(l=a?function(){i.call(this,this.$root.$options.shadowRoot);}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)};}else {var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l];}return {exports:t,options:c}}var d={Deselect:h({},(function(){var t=this.$createElement,e=this._self._c||t;return e(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"10\",height:\"10\"}},[e(\"path\",{attrs:{d:\"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z\"}})])}),[],!1,null,null,null).exports,OpenIndicator:h({},(function(){var t=this.$createElement,e=this._self._c||t;return e(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"10\"}},[e(\"path\",{attrs:{d:\"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z\"}})])}),[],!1,null,null,null).exports},f={inserted:function(t,e,n){var o=n.context;if(o.appendToBody){var i=o.$refs.toggle.getBoundingClientRect(),r=i.height,s=i.top,a=i.left,l=i.width;t.unbindPosition=o.calculatePosition(t,o,{width:l+\"px\",top:window.scrollY+s+r+\"px\",left:window.scrollX+a+\"px\"}),document.body.appendChild(t);}},unbind:function(t,e,n){n.context.appendToBody&&(t.unbindPosition&&\"function\"==typeof t.unbindPosition&&t.unbindPosition(),t.parentNode&&t.parentNode.removeChild(t));}};var y=function(t){var e={};return Object.keys(t).sort().forEach((function(n){e[n]=t[n];})),JSON.stringify(e)},b=0;var g=function(){return ++b};function v(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o);}return n}function m(t){for(var e=1;e-1}},filter:{type:Function,default:function(t,e){var n=this;return t.filter((function(t){var o=n.getOptionLabel(t);return \"number\"==typeof o&&(o=o.toString()),n.filterBy(t,o,e)}))}},createOption:{type:Function,default:function(t){return \"object\"===s()(this.optionList[0])?l()({},this.label,t):t}},resetOnOptionsChange:{default:!1,validator:function(t){return [\"function\",\"boolean\"].includes(s()(t))}},clearSearchOnBlur:{type:Function,default:function(t){var e=t.clearSearchOnSelect,n=t.multiple;return e&&!n}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:\"auto\"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return [13]}},searchInputQuerySelector:{type:String,default:\"[type=search]\"},mapKeydown:{type:Function,default:function(t,e){return t}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(t,e,n){var o=n.width,i=n.top,r=n.left;t.style.top=i,t.style.left=r,t.style.width=o;}}},data:function(){return {uid:g(),search:\"\",open:!1,isComposing:!1,pushedTags:[],_value:[]}},watch:{options:function(t,e){var n=this;!this.taggable&&(\"function\"==typeof n.resetOnOptionsChange?n.resetOnOptionsChange(t,e,n.selectedValue):n.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value);},value:function(t){this.isTrackingValues&&this.setInternalValueFromOptions(t);},multiple:function(){this.clearSelection();},open:function(t){this.$emit(t?\"open\":\"close\");}},created:function(){this.mutableLoading=this.loading,void 0!==this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value),this.$on(\"option:created\",this.pushTag);},methods:{setInternalValueFromOptions:function(t){var e=this;Array.isArray(t)?this.$data._value=t.map((function(t){return e.findOptionFromReducedValue(t)})):this.$data._value=this.findOptionFromReducedValue(t);},select:function(t){this.isOptionSelected(t)||(this.taggable&&!this.optionExists(t)&&this.$emit(\"option:created\",t),this.multiple&&(t=this.selectedValue.concat(t)),this.updateValue(t)),this.onAfterSelect(t);},deselect:function(t){var e=this;this.updateValue(this.selectedValue.filter((function(n){return !e.optionComparator(n,t)})));},clearSelection:function(){this.updateValue(this.multiple?[]:null);},onAfterSelect:function(t){this.closeOnSelect&&(this.open=!this.open,this.searchEl.blur()),this.clearSearchOnSelect&&(this.search=\"\");},updateValue:function(t){var e=this;this.isTrackingValues&&(this.$data._value=t),null!==t&&(t=Array.isArray(t)?t.map((function(t){return e.reduce(t)})):this.reduce(t)),this.$emit(\"input\",t);},toggleDropdown:function(t){var e=t.target!==this.$refs.search;e&&t.preventDefault(),[].concat(i()(this.$refs.deselectButtons||[]),i()([this.$refs.clearButton]||false)).some((function(e){return e.contains(t.target)||e===t.target}))?t.preventDefault():this.open&&e?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus());},isOptionSelected:function(t){var e=this;return this.selectedValue.some((function(n){return e.optionComparator(n,t)}))},optionComparator:function(t,e){return this.getOptionKey(t)===this.getOptionKey(e)},findOptionFromReducedValue:function(t){var e=this,n=[].concat(i()(this.options),i()(this.pushedTags)).filter((function(n){return JSON.stringify(e.reduce(n))===JSON.stringify(t)}));return 1===n.length?n[0]:n.find((function(t){return e.optionComparator(t,e.$data._value)}))||t},closeSearchOptions:function(){this.open=!1,this.$emit(\"search:blur\");},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var t=null;this.multiple&&(t=i()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(t);}},optionExists:function(t){var e=this;return this.optionList.some((function(n){return e.optionComparator(n,t)}))},normalizeOptionForSlot:function(t){return \"object\"===s()(t)?t:l()({},this.label,t)},pushTag:function(t){this.pushedTags.push(t);},onEscape:function(){this.search.length?this.search=\"\":this.searchEl.blur();},onSearchBlur:function(){if(!this.mousedown||this.searching){var t=this.clearSearchOnSelect,e=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:t,multiple:e})&&(this.search=\"\"),void this.closeSearchOptions()}this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions();},onSearchFocus:function(){this.open=!0,this.$emit(\"search:focus\");},onMousedown:function(){this.mousedown=!0;},onMouseUp:function(){this.mousedown=!1;},onSearchKeyDown:function(t){var e=this,n=function(t){return t.preventDefault(),!e.isComposing&&e.typeAheadSelect()},o={8:function(t){return e.maybeDeleteValue()},9:function(t){return e.onTab()},27:function(t){return e.onEscape()},38:function(t){return t.preventDefault(),e.typeAheadUp()},40:function(t){return t.preventDefault(),e.typeAheadDown()}};this.selectOnKeyCodes.forEach((function(t){return o[t]=n}));var i=this.mapKeydown(o,this);if(\"function\"==typeof i[t.keyCode])return i[t.keyCode](t)}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty(\"reduce\")},selectedValue:function(){var t=this.value;return this.isTrackingValues&&(t=this.$data._value),t?[].concat(t):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var t=this,e={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return {search:{attributes:m({disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,\"aria-autocomplete\":\"list\",\"aria-labelledby\":\"vs\".concat(this.uid,\"__combobox\"),\"aria-controls\":\"vs\".concat(this.uid,\"__listbox\"),ref:\"search\",type:\"search\",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{\"aria-activedescendant\":\"vs\".concat(this.uid,\"__option-\").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return t.isComposing=!0},compositionend:function(){return t.isComposing=!1},keydown:this.onSearchKeyDown,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(e){return t.search=e.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.loading,searching:this.searching},openIndicator:{attributes:{ref:\"openIndicator\",role:\"presentation\",class:\"vs__open-indicator\"}},listHeader:e,listFooter:e,header:m({},e,{deselect:this.deselect}),footer:m({},e,{deselect:this.deselect})}},childComponents:function(){return m({},d,{},this.components)},stateClasses:function(){return {\"vs--open\":this.dropdownOpen,\"vs--single\":!this.multiple,\"vs--searching\":this.searching&&!this.noDrop,\"vs--searchable\":this.searchable&&!this.noDrop,\"vs--unsearchable\":!this.searchable,\"vs--loading\":this.mutableLoading,\"vs--disabled\":this.disabled}},searching:function(){return !!this.search},dropdownOpen:function(){return !this.noDrop&&(this.open&&!this.mutableLoading)},searchPlaceholder:function(){if(this.isValueEmpty&&this.placeholder)return this.placeholder},filteredOptions:function(){var t=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return t;var e=this.search.length?this.filter(t,this.search,this):t;if(this.taggable&&this.search.length){var n=this.createOption(this.search);this.optionExists(n)||e.unshift(n);}return e},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return !this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}}},O=(n(7),h(_,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"v-select\",class:t.stateClasses,attrs:{dir:t.dir}},[t._t(\"header\",null,null,t.scope.header),t._v(\" \"),n(\"div\",{ref:\"toggle\",staticClass:\"vs__dropdown-toggle\",attrs:{id:\"vs\"+t.uid+\"__combobox\",role:\"combobox\",\"aria-expanded\":t.dropdownOpen.toString(),\"aria-owns\":\"vs\"+t.uid+\"__listbox\",\"aria-label\":\"Search for option\"},on:{mousedown:function(e){return t.toggleDropdown(e)}}},[n(\"div\",{ref:\"selectedOptions\",staticClass:\"vs__selected-options\"},[t._l(t.selectedValue,(function(e){return t._t(\"selected-option-container\",[n(\"span\",{key:t.getOptionKey(e),staticClass:\"vs__selected\"},[t._t(\"selected-option\",[t._v(\"\\n \"+t._s(t.getOptionLabel(e))+\"\\n \")],null,t.normalizeOptionForSlot(e)),t._v(\" \"),t.multiple?n(\"button\",{ref:\"deselectButtons\",refInFor:!0,staticClass:\"vs__deselect\",attrs:{disabled:t.disabled,type:\"button\",title:\"Deselect \"+t.getOptionLabel(e),\"aria-label\":\"Deselect \"+t.getOptionLabel(e)},on:{click:function(n){return t.deselect(e)}}},[n(t.childComponents.Deselect,{tag:\"component\"})],1):t._e()],2)],{option:t.normalizeOptionForSlot(e),deselect:t.deselect,multiple:t.multiple,disabled:t.disabled})})),t._v(\" \"),t._t(\"search\",[n(\"input\",t._g(t._b({staticClass:\"vs__search\"},\"input\",t.scope.search.attributes,!1),t.scope.search.events))],null,t.scope.search)],2),t._v(\" \"),n(\"div\",{ref:\"actions\",staticClass:\"vs__actions\"},[n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showClearButton,expression:\"showClearButton\"}],ref:\"clearButton\",staticClass:\"vs__clear\",attrs:{disabled:t.disabled,type:\"button\",title:\"Clear Selected\",\"aria-label\":\"Clear Selected\"},on:{click:t.clearSelection}},[n(t.childComponents.Deselect,{tag:\"component\"})],1),t._v(\" \"),t._t(\"open-indicator\",[t.noDrop?t._e():n(t.childComponents.OpenIndicator,t._b({tag:\"component\"},\"component\",t.scope.openIndicator.attributes,!1))],null,t.scope.openIndicator),t._v(\" \"),t._t(\"spinner\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.mutableLoading,expression:\"mutableLoading\"}],staticClass:\"vs__spinner\"},[t._v(\"Loading...\")])],null,t.scope.spinner)],2)]),t._v(\" \"),n(\"transition\",{attrs:{name:t.transition}},[t.dropdownOpen?n(\"ul\",{directives:[{name:\"append-to-body\",rawName:\"v-append-to-body\"}],ref:\"dropdownMenu\",staticClass:\"vs__dropdown-menu\",attrs:{id:\"vs\"+t.uid+\"__listbox\",role:\"listbox\"},on:{mousedown:function(e){return e.preventDefault(),t.onMousedown(e)},mouseup:t.onMouseUp}},[t._t(\"list-header\",null,null,t.scope.listHeader),t._v(\" \"),t._l(t.filteredOptions,(function(e,o){return n(\"li\",{key:t.getOptionKey(e),staticClass:\"vs__dropdown-option\",class:{\"vs__dropdown-option--selected\":t.isOptionSelected(e),\"vs__dropdown-option--highlight\":o===t.typeAheadPointer,\"vs__dropdown-option--disabled\":!t.selectable(e)},attrs:{role:\"option\",id:\"vs\"+t.uid+\"__option-\"+o,\"aria-selected\":o===t.typeAheadPointer||null},on:{mouseover:function(n){t.selectable(e)&&(t.typeAheadPointer=o);},mousedown:function(n){n.preventDefault(),n.stopPropagation(),t.selectable(e)&&t.select(e);}}},[t._t(\"option\",[t._v(\"\\n \"+t._s(t.getOptionLabel(e))+\"\\n \")],null,t.normalizeOptionForSlot(e))],2)})),t._v(\" \"),0===t.filteredOptions.length?n(\"li\",{staticClass:\"vs__no-options\"},[t._t(\"no-options\",[t._v(\"Sorry, no matching options.\")],null,t.scope.noOptions)],2):t._e(),t._v(\" \"),t._t(\"list-footer\",null,null,t.scope.listFooter)],2):n(\"ul\",{staticStyle:{display:\"none\",visibility:\"hidden\"},attrs:{id:\"vs\"+t.uid+\"__listbox\",role:\"listbox\"}})]),t._v(\" \"),t._t(\"footer\",null,null,t.scope.footer)],2)}),[],!1,null,null,null).exports),w={ajax:p,pointer:u,pointerScroll:c};n.d(e,\"VueSelect\",(function(){return O})),n.d(e,\"mixins\",(function(){return w}));e.default=O;}])}));\n\n});\n\nvar vSelect = unwrapExports(vueSelect);\nvar vueSelect_1 = vueSelect.VueSelect;\n\nvar VueGoodTablePlugin = {\n install: function install(Vue, options) {\n Vue.component('v-select', vSelect);\n Vue.component(__vue_component__$7.name, __vue_component__$7);\n }\n}; // Automatic installation if Vue has been added to the global scope.\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(VueGoodTablePlugin);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VueGoodTablePlugin);\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/vue-good-table/dist/vue-good-table.esm.js?"); - -/***/ }), - -/***/ "./node_modules/vue-images-loaded/dist/vueimagesloaded.js": -/*!****************************************************************!*\ - !*** ./node_modules/vue-images-loaded/dist/vueimagesloaded.js ***! - \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("!function(t,e){ true?module.exports=e(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.js\")):undefined}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p=\"/\",e(0)}([function(t,e,n){var r,o,i;!function(s,u){o=[t,e,n(13),n(14),n(43),n(44)],r=u,i=\"function\"==typeof r?r.apply(e,o):r,!(void 0!==i&&(t.exports=i))}(this,function(t,e,n,r,o,i){\"use strict\";function s(t){return t&&t.__esModule?t:{default:t}}function u(t,e){var n=t.length;if(n!=e.length)return!1;for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:\"\";if(\"function\"!=typeof t)throw\"imageLoaded directive error: objet \"+t+\" should be a function \"+e}function f(t,e){var n=e.value,r=e.arg,o=e.modifiers;if(!r)return c(n),void t.on(\"always\",function(t){return setTimeout(function(){return n(t)})});var i=!!o&&!!(0,h.default)(o).length,s=i?o:n,u=i?function(t){return n}:function(t){return n[t]},f=function(){var e=u(a);c(e,i?\"\":\"property \"+a+\" of \"+n),t[r](a,function(t,n){return setTimeout(function(){return e(t,n)})})};for(var a in s)f()}function a(t,e){var n=(0,d.default)(t),r=n.images.map(function(t){return{img:t.img,src:t.img.src}}),o=t.__imagesLoaded__.context;u(o,r)||(f(n,e),(0,p.default)(t.__imagesLoaded__,{context:r,imageLoaded:n}))}Object.defineProperty(e,\"__esModule\",{value:!0});var p=s(n),h=s(r),d=s(o),l=s(i);e.default={bind:function(t){t.__imagesLoaded__={context:[]}},inserted:function(t,e){a(t,e)},componentUpdated:function(t,e){l.default.nextTick(function(){a(t,e)})},unbind:function(t,e){t.__imagesLoaded__=null}},t.exports=e.default})},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){t.exports=!n(2)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){var r=n(4),o=n(1),i=n(21),s=n(25),u=\"prototype\",c=function(t,e,n){var f,a,p,h=t&c.F,d=t&c.G,l=t&c.S,v=t&c.P,m=t&c.B,g=t&c.W,y=d?o:o[e]||(o[e]={}),x=y[u],b=d?r:l?r[e]:(r[e]||{})[u];d&&(n=e);for(f in n)a=!h&&b&&void 0!==b[f],a&&f in y||(p=a?b[f]:n[f],y[f]=d&&\"function\"!=typeof b[f]?n[f]:m&&a?i(p,r):g&&b[f]==p?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[u]=t[u],e}(p):v&&\"function\"==typeof p?i(Function.call,p):p,v&&((y.virtual||(y.virtual={}))[f]=p,t&c.R&&x&&!x[f]&&s(x,f,p)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e,n){var r=n(20);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==r(t)?t.split(\"\"):Object(t)}},function(t,e,n){var r=n(30),o=n(23);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(8),o=n(6);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(6);t.exports=function(t){return Object(r(t))}},function(t,e,n){t.exports={default:n(15),__esModule:!0}},function(t,e,n){t.exports={default:n(16),__esModule:!0}},function(t,e,n){n(40),t.exports=n(1).Object.assign},function(t,e,n){n(41),t.exports=n(1).Object.keys},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e,n){var r=n(5);t.exports=function(t){if(!r(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var r=n(11),o=n(37),i=n(36);t.exports=function(t){return function(e,n,s){var u,c=r(e),f=o(c.length),a=i(s,f);if(t&&n!=n){for(;f>a;)if(u=c[a++],u!=u)return!0}else for(;f>a;a++)if((t||a in c)&&c[a]===n)return t||a||0;return!t&&-1}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(17);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(5),o=n(4).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(28),o=n(33);t.exports=n(3)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){t.exports=!n(3)&&!n(2)(function(){return 7!=Object.defineProperty(n(22)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){\"use strict\";var r=n(9),o=n(29),i=n(31),s=n(12),u=n(8),c=Object.assign;t.exports=!c||n(2)(function(){var t={},e={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return t[n]=7,r.split(\"\").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join(\"\")!=r})?function(t,e){for(var n=s(t),c=arguments.length,f=1,a=o.f,p=i.f;c>f;)for(var h,d=u(arguments[f++]),l=a?r(d).concat(a(d)):r(d),v=l.length,m=0;v>m;)p.call(d,h=l[m++])&&(n[h]=d[h]);return n}:c},function(t,e,n){var r=n(18),o=n(26),i=n(38),s=Object.defineProperty;e.f=n(3)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(24),o=n(11),i=n(19)(!1),s=n(34)(\"IE_PROTO\");t.exports=function(t,e){var n,u=o(t),c=0,f=[];for(n in u)n!=s&&r(u,n)&&f.push(n);for(;e.length>c;)r(u,n=e[c++])&&(~i(f,n)||f.push(n));return f}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(7),o=n(1),i=n(2);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],s={};s[t]=e(n),r(r.S+r.F*i(function(){n(1)}),\"Object\",s)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(35)(\"keys\"),o=n(39);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(4),o=\"__core-js_shared__\",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e,n){var r=n(10),o=Math.max,i=Math.min;t.exports=function(t,e){return t=r(t),t<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(10),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(5);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if(\"function\"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+r).toString(36))}},function(t,e,n){var r=n(7);r(r.S+r.F,\"Object\",{assign:n(27)})},function(t,e,n){var r=n(12),o=n(9);n(32)(\"keys\",function(){return function(t){return o(r(t))}})},function(t,e,n){var r,o;!function(i,s){r=s,o=\"function\"==typeof r?r.call(e,n,e,t):r,!(void 0!==o&&(t.exports=o))}(\"undefined\"!=typeof window?window:this,function(){\"use strict\";function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var n=this._events=this._events||{},r=n[t]=n[t]||[];return r.indexOf(e)==-1&&r.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var n=this._onceEvents=this._onceEvents||{},r=n[t]=n[t]||{};return r[e]=!0,this}},e.off=function(t,e){var n=this._events&&this._events[t];if(n&&n.length){var r=n.indexOf(e);return r!=-1&&n.splice(r,1),this}},e.emitEvent=function(t,e){var n=this._events&&this._events[t];if(n&&n.length){var r=0,o=n[r];e=e||[];for(var i=this._onceEvents&&this._onceEvents[t];o;){var s=i&&i[o];s&&(this.off(t,o),delete i[o]),o.apply(this,e),r+=s?0:1,o=n[r]}return this}},t})},function(t,e,n){var r,o;/*!\n\t * imagesLoaded v4.1.1\n\t * JavaScript is all like \"You images are done yet or what?\"\n\t * MIT License\n\t */\n!function(i,s){\"use strict\";r=[n(42)],o=function(t){return s(i,t)}.apply(e,r),!(void 0!==o&&(t.exports=o))}(window,function(t,e){\"use strict\";function n(t,e){for(var n in e)t[n]=e[n];return t}function r(t){var e=[];if(Array.isArray(t))e=t;else if(\"number\"==typeof t.length)for(var n=0;nn.parts.length&&(i.parts.length=n.parts.length)}else{var r=[];for(o=0;o component must be present on the page.\")};a.prototype.$modal={show:function(e){for(var t=arguments.length,n=new Array(1 2 && arguments[2] !== undefined ? arguments[2] : '0px';\n\n return 'translate3d(' + x + ', ' + y + ', ' + z + ')';\n};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(5)();\n// imports\n\n\n// module\nexports.push([module.i, \".vue-js-switch[data-v-25adc6c0]{display:inline-block;position:relative;vertical-align:middle;user-select:none;font-size:10px;cursor:pointer}.vue-js-switch .v-switch-input[data-v-25adc6c0]{opacity:0;position:absolute;width:1px;height:1px}.vue-js-switch .v-switch-label[data-v-25adc6c0]{position:absolute;top:0;font-weight:600;color:#fff;z-index:1}.vue-js-switch .v-switch-label.v-left[data-v-25adc6c0]{left:10px}.vue-js-switch .v-switch-label.v-right[data-v-25adc6c0]{right:10px}.vue-js-switch .v-switch-core[data-v-25adc6c0]{display:block;position:relative;box-sizing:border-box;outline:0;margin:0;transition:border-color .3s,background-color .3s;user-select:none}.vue-js-switch .v-switch-core .v-switch-button[data-v-25adc6c0]{display:block;position:absolute;overflow:hidden;top:0;left:0;border-radius:100%;background-color:#fff;z-index:2}.vue-js-switch.disabled[data-v-25adc6c0]{pointer-events:none;opacity:.6}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = Object.create(options.computed || null)\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n options.computed = computed\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('label', {\n class: _vm.className\n }, [_c('input', {\n staticClass: \"v-switch-input\",\n attrs: {\n \"type\": \"checkbox\",\n \"name\": _vm.name,\n \"disabled\": _vm.disabled\n },\n domProps: {\n \"checked\": _vm.value\n },\n on: {\n \"change\": function($event) {\n $event.stopPropagation();\n return _vm.toggle($event)\n }\n }\n }), _vm._v(\" \"), _c('div', {\n staticClass: \"v-switch-core\",\n style: (_vm.coreStyle)\n }, [_c('div', {\n staticClass: \"v-switch-button\",\n style: (_vm.buttonStyle)\n })]), _vm._v(\" \"), (_vm.labels) ? [(_vm.toggled) ? _c('span', {\n staticClass: \"v-switch-label v-left\",\n style: (_vm.labelStyle)\n }, [_vm._t(\"checked\", [\n [_vm._v(_vm._s(_vm.labelChecked))]\n ])], 2) : _c('span', {\n staticClass: \"v-switch-label v-right\",\n style: (_vm.labelStyle)\n }, [_vm._t(\"unchecked\", [\n [_vm._v(_vm._s(_vm.labelUnchecked))]\n ])], 2)] : _vm._e()], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a ").prop("disabled",!0).appendTo("head"),u.$breakpoints=e("").prop("disabled",!0).appendTo("head"),u.isInitializing=!0,r.setUpColspan(o,a),r.setupSelector(o,a),a.columnSelector_mediaquery&&r.setupBreakpoints(o,a),u.isInitializing=!1,u.$container.length?r.updateCols(o,a):l&&console.warn("ColumnSelector >> container not found"),o.$table.off("refreshColumnSelector"+n).on("refreshColumnSelector"+n,(function(e,t,n){r.refreshColumns(this.config,t,n)})),l&&console.log("ColumnSelector >> Widget initialized")):l&&console.error("ColumnSelector >> ERROR: Column Selector aborting, no input found in the layout! ***")},refreshColumns:function(t,n,i){var o,a,s,u,l=t.selector,c=e.isArray(i||n),f=t.widgetOptions;if(null!=n&&l.$container.length){if("selectors"===n&&(l.$container.empty(),r.setupSelector(t,f),r.setupBreakpoints(t,f),void 0===i&&null!==i&&(i=l.auto)),c)for(a=i||n,e.each(a,(function(e,t){a[e]=parseInt(t,10)})),o=0;o tr > ",a=e(o+"th,"+o+"td"),s=[];for(r=0;r'),i=s.selector,o=s.widgetOptions,u.find(".tablesorter-column-selector").html(i.$container.html()).find("input").each((function(){var t=e(this).attr("data-column"),n="auto"===t?i.auto:i.states[t];e(this).toggleClass(o.columnSelector_cssChecked,n).prop("checked",n)})),i.$popup=u.on("change","input",(function(){if(!i.isInitializing){if(!r.checkChange(s,this.checked))return this.checked=!this.checked,!1;a=e(this).toggleClass(o.columnSelector_cssChecked,this.checked).attr("data-column"),i.$container.find('input[data-column="'+a+'"]').prop("checked",this.checked).trigger("change")}})))}};t.window_resize=function(){t.timer_resize&&clearTimeout(t.timer_resize),t.timer_resize=setTimeout((function(){e(window).trigger("resizeEnd")}),250)},t.addWidget({id:"columnSelector",priority:10,options:{columnSelector_container:null,columnSelector_columns:{},columnSelector_saveColumns:!0,columnSelector_layout:'',columnSelector_layoutCustomizer:null,columnSelector_name:"data-selector-name",columnSelector_mediaquery:!0,columnSelector_mediaqueryName:"Auto: ",columnSelector_mediaqueryState:!0,columnSelector_mediaqueryHidden:!1,columnSelector_maxVisible:null,columnSelector_minVisible:null,columnSelector_breakpoints:["20em","30em","40em","50em","60em","70em"],columnSelector_maxPriorities:6,columnSelector_priority:"data-priority",columnSelector_cssChecked:"checked",columnSelector_classHasSpan:"hasSpan",columnSelector_updated:"columnUpdate"},init:function(e,t,n,i){r.init(e,n,i)},remove:function(t,r,i,o){var a=r.selector;!o&&a&&(a&&a.$container.empty(),a.$popup&&a.$popup.empty(),a.$style.remove(),a.$breakpoints.remove(),e(r.namespace+"columnselector"+i.columnSelector_classHasSpan).removeClass(i.filter_filteredRow||"filtered"),r.$table.find("[data-col-span]").each((function(t,n){var r=e(n);r.attr("colspan",r.attr("data-col-span"))})),r.$table.off("updateAll"+n+" update"+n))}})}(e),e})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(6)],void 0===(o="function"==typeof(r=function(e){ +/*! Widget: stickyHeaders - updated 9/27/2017 (v2.29.0) */return function(e,t){"use strict";var n=e.tablesorter||{};function r(t,n){var r=isNaN(n.stickyHeaders_offset)?e(n.stickyHeaders_offset):[];return r.length?r.height()||0:parseInt(n.stickyHeaders_offset,10)||0}e.extend(n.css,{sticky:"tablesorter-stickyHeader",stickyVis:"tablesorter-sticky-visible",stickyHide:"tablesorter-sticky-hidden",stickyWrap:"tablesorter-sticky-wrapper"}),n.addHeaderResizeEvent=function(t,n,r){if((t=e(t)[0]).config){var i=e.extend({},{timer:250},r),o=t.config,a=o.widgetOptions,s=function(e){var t,n,r,i,s,u,l=o.$headers.length;for(a.resize_flag=!0,n=[],t=0;t'),C=w.parent().addClass(n.css.stickyHide).css({position:d.length?"absolute":"fixed",padding:parseInt(w.parent().parent().css("padding-left"),10),top:y+_,left:0,visibility:"hidden",zIndex:a.stickyHeaders_zIndex||2}),x=w.children("thead:first"),T="",S=function(e,n){var r,i,o,a,s,u=e.filter(":visible"),l=u.length;for(r=0;ro.top&&m thead:gt(0), tr.sticky-false").hide(),w.find("> tbody, > tfoot").remove(),w.find("caption").toggle(a.stickyHeaders_includeCaption),c=x.children().children(),w.css({height:0,width:0,margin:0}),c.find("."+n.css.resizer).remove(),f.addClass("hasStickyHeaders").bind("pagerComplete"+p,(function(){k()})),n.bindEvents(i,x.children().children("."+n.css.header)),a.stickyHeaders_appendTo?e(a.stickyHeaders_appendTo).append(C):f.after(C),o.onRenderHeader)for(u=(l=x.children("tr").children()).length,s=0;s> Saving last sort: "+i.sortList+t.benchmark(s))):(u.addClass("hasSaveSort"),c="",t.storage&&(c=n(i),f&&console.log('saveSort >> Last sort loaded: "'+c+'"'+t.benchmark(s)),u.bind("saveSortReset",(function(n){n.stopPropagation(),t.storage(e,"tablesorter-savesort","")}))),a&&c&&0=]/g,query:"(q|query)",wild01:/\?/g,wild0More:/\*/g,quote:/\"/g,isNeg1:/(>=?\s*-\d)/,isNeg2:/(<=?\s*\d)/},types:{or:function(r,i,o){if(!n.orTest.test(i.iFilter)&&!n.orSplit.test(i.filter)||n.regex.test(i.filter))return null;var a,s,u,l=e.extend({},i),c=i.filter.split(n.orSplit),f=i.iFilter.split(n.orSplit),d=c.length;for(a=0;a]=?/,gtTest:/>/,gteTest:/>=/,ltTest:/'+(c.data("placeholder")||c.attr("data-placeholder")||g.filter_placeholder.select||"")+"":"",0<=(l=d=u).indexOf(g.filter_selectSourceSeparator)&&(l=(d=u.split(g.filter_selectSourceSeparator))[1],d=d[0]),s+="");m.$table.find("thead").find("select."+i.filter+'[data-column="'+f+'"]').append(s),(p="function"==typeof(l=g.filter_selectSource)||r.getColumnData(o,l,f))&&t.buildSelect(m.table,f,"",!0,c.hasClass(g.filter_onlyAvail))}t.buildDefault(o,!0),t.bindSearch(o,m.$table.find("."+i.filter),!0),g.filter_external&&t.bindSearch(o,g.filter_external),g.filter_hideFilters&&t.hideFilters(m),m.showProcessing&&(l="filterStart filterEnd ".split(" ").join(m.namespace+"filter-sp "),m.$table.unbind(l.replace(r.regex.spaces," ")).bind(l,(function(t,n){c=n?m.$table.find("."+i.header).filter("[data-column]").filter((function(){return""!==n[e(this).data("column")]})):"",r.isProcessing(o,"filterStart"===t.type,n?c:"")}))),m.filteredRows=m.totalRows,l="tablesorter-initialized pagerBeforeInitialized ".split(" ").join(m.namespace+"filter "),m.$table.unbind(l.replace(r.regex.spaces," ")).bind(l,(function(){t.completeInit(this)})),m.pager&&m.pager.initialized&&!g.filter_initialized?(m.$table.triggerHandler("filterFomatterUpdate"),setTimeout((function(){t.filterInitComplete(m)}),100)):g.filter_initialized||t.completeInit(o)},completeInit:function(e){var n=e.config,i=n.widgetOptions,o=t.setDefaults(e,n,i)||[];o.length&&(n.delayInit&&""===o.join("")||r.setFilters(e,o,!0)),n.$table.triggerHandler("filterFomatterUpdate"),setTimeout((function(){i.filter_initialized||t.filterInitComplete(n)}),100)},formatterUpdated:function(e,t){var n=e&&e.closest("table"),r=n.length&&n[0].config,i=r&&r.widgetOptions;i&&!i.filter_initialized&&(i.filter_formatterInit[t]=1)},filterInitComplete:function(n){function i(){s.filter_initialized=!0,n.lastSearch=n.$table.data("lastSearch"),n.$table.triggerHandler("filterInit",n),t.findRows(n.table,n.lastSearch||[]),r.debug(n,"filter")&&console.log("Filter >> Widget initialized")}var o,a,s=n.widgetOptions,u=0;if(e.isEmptyObject(s.filter_formatter))i();else{for(a=s.filter_formatterInit.length,o=0;o';for(l=0;l").appendTo(o.$table.children("thead").eq(0)).children("td"),l=0;l").appendTo(s):((h=r.getColumnData(n,a.filter_formatter,l))?(a.filter_formatterCount++,(b=h(s,l))&&0===b.length&&(b=s.children("input")),b&&(0===b.parent().length||b.parent().length&&b.parent()[0]!==s[0])&&s.append(b)):b=e('').appendTo(s),b&&(m=c.data("placeholder")||c.attr("data-placeholder")||a.filter_placeholder.search||"",b.attr("placeholder",m))),b&&(p=(e.isArray(a.filter_cssFilter)?void 0!==a.filter_cssFilter[l]&&a.filter_cssFilter[l]||"":a.filter_cssFilter)||"",b.addClass(i.filter+" "+p),m=(m=(p=a.filter_filterLabel).match(/{{([^}]+?)}}/g))||["{{label}}"],e.each(m,(function(t,n){var r=new RegExp(n,"g"),i=c.attr("data-"+n.replace(/{{|}}/g,"")),o=void 0===i?c.text():i;p=p.replace(r,e.trim(o))})),b.attr({"data-column":s.attr("data-column"),"aria-label":p}),d&&(b.attr("placeholder","").addClass(i.filterDisabled)[0].disabled=!0)))},bindSearch:function(n,i,a){if(n=e(n)[0],(i=e(i)).length){var s,u=n.config,l=u.widgetOptions,c=u.namespace+"filter",f=l.filter_$externalFilters;!0!==a&&(s=l.filter_anyColumnSelector+","+l.filter_multipleColumnSelector,l.filter_$anyMatch=i.filter(s),f&&f.length?l.filter_$externalFilters=l.filter_$externalFilters.add(i):l.filter_$externalFilters=i,r.setFilters(n,u.$table.data("lastSearch")||[],!1===a)),s="keypress keyup keydown search change input ".split(" ").join(c+" "),i.attr("data-lastSearchTime",(new Date).getTime()).unbind(s.replace(r.regex.spaces," ")).bind("keydown"+c,(function(e){if(e.which===o.escape&&!n.config.widgetOptions.filter_resetOnEsc)return!1})).bind("keyup"+c,(function(i){l=n.config.widgetOptions;var a=parseInt(e(this).attr("data-column"),10),s="boolean"==typeof l.filter_liveSearch?l.filter_liveSearch:r.getColumnData(n,l.filter_liveSearch,a);if(void 0===s&&(s=l.filter_liveSearch.fallback||!1),e(this).attr("data-lastSearchTime",(new Date).getTime()),i.which===o.escape)this.value=l.filter_resetOnEsc?"":u.lastSearch[a];else{if(""!==this.value&&("number"==typeof s&&this.value.length=o.left&&i.which<=o.down)))return;if(!1===s&&""!==this.value&&i.which!==o.enter)return}t.searching(n,!0,!0,a)})).bind("search change keypress input blur ".split(" ").join(c+" "),(function(i){var a=parseInt(e(this).attr("data-column"),10),s=i.type,c="boolean"==typeof l.filter_liveSearch?l.filter_liveSearch:r.getColumnData(n,l.filter_liveSearch,a);!n.config.widgetOptions.filter_initialized||i.which!==o.enter&&"search"!==s&&"blur"!==s&&("change"!==s&&"input"!==s||!0!==c&&(!0===c||"INPUT"===i.target.nodeName)||this.value===u.lastSearch[a])||(i.preventDefault(),e(this).attr("data-lastSearchTime",(new Date).getTime()),t.searching(n,"keypress"!==s||i.which===o.enter,!0,a))}))}},searching:function(e,n,i,o){var a,s=e.config.widgetOptions;void 0===o?a=!1:void 0===(a="boolean"==typeof s.filter_liveSearch?s.filter_liveSearch:r.getColumnData(e,s.filter_liveSearch,o))&&(a=s.filter_liveSearch.fallback||!1),clearTimeout(s.filter_searchTimer),void 0===n||!0===n?s.filter_searchTimer=setTimeout((function(){t.checkFilters(e,n,i)}),a?s.filter_searchDelay:10):t.checkFilters(e,n,i)},equalFilters:function(t,n,r){var i,o=[],a=[],s=t.columns+1;for(n=e.isArray(n)?n:[],r=e.isArray(r)?r:[],i=0;i=e.columns&&(s=e.columns-1);a<=s;a++)d[d.length]=a;t=t.replace(i[c],"")}if(!n&&/,/.test(t))for(f=(u=t.split(/\s*,\s*/)).length,l=0;l> Starting filter widget search",o),_=new Date),L.filteredRows=0,a=A||[],p=L.totalRows=0;p> Searching through "+(T&&x> Completed search"+r.benchmark(_)),R.filter_initialized&&(L.$table.triggerHandler("filterBeforeEnd",L),L.$table.triggerHandler("filterEnd",L)),setTimeout((function(){r.applyWidget(L.table)}),0)}},getOptionSource:function(n,i,o){var a=(n=e(n)[0]).config,s=!1,u=a.widgetOptions.filter_selectSource,l=a.$table.data("lastSearch")||[],c="function"==typeof u||r.getColumnData(n,u,i);if(o&&""!==l[i]&&(o=!1),!0===c)s=u(n,i,o);else{if(c instanceof e||"string"===e.type(c)&&0<=c.indexOf(""))return c;if(e.isArray(c))s=c;else if("object"===e.type(u)&&c&&null===(s=c(n,i,o)))return null}return!1===s&&(s=t.getOptions(n,i,o)),t.processOptions(n,i,s)},processOptions:function(t,n,i){if(!e.isArray(i))return!1;var o,a,s,u,l,c,f=(t=e(t)[0]).config,d=null!=n&&0<=n&&n'+(y.data("placeholder")||y.attr("data-placeholder")||v.filter_placeholder.select||"")+"",_=g.$table.find("thead").find("select."+i.filter+'[data-column="'+o+'"]').val();if(void 0!==a&&""!==a||null!==(a=t.getOptionSource(r,o,u))){if(e.isArray(a)){for(l=0;l"}else""+m!="[object Object]"&&(0<=(c=f=m=(""+m).replace(n.quote,""")).indexOf(v.filter_selectSourceSeparator)&&(c=(d=f.split(v.filter_selectSourceSeparator))[0],f=d[1]),b+=""!==m?"":"");a=[]}p=(g.$filters?g.$filters:g.$table.children("thead")).find("."+i.filter),v.filter_$externalFilters&&(p=p&&p.length?p.add(v.filter_$externalFilters):v.filter_$externalFilters),(h=p.filter('select[data-column="'+o+'"]')).length&&(h[s?"html":"append"](b),e.isArray(a)||h.append(a).val(_),h.val(_))}}},buildDefault:function(e,n){var i,o,a,s=e.config,u=s.widgetOptions,l=s.columns;for(i=0;i=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([n]):a[t]?a[t]+", "+n:n}})),a):a}},function(e,t,n){"use strict";var r=n(12);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=i(window.location.href),function(t){var n=r.isString(t)?i(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";var r=n(12);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,i,o,a){var s=[];s.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(i)&&s.push("path="+i),r.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";var r=n(104);function i(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e;return{token:new i((function(t){e=t})),cancel:e}},e.exports=i},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,n){var r=n(106);e.exports=function(){return r.Date.now()}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(13))},function(e,t,n){var r=n(105),i=n(191),o=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(i(e))return NaN;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var n=s.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):a.test(e)?NaN:+e}},function(e,t,n){var r=n(192),i=n(195);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},function(e,t,n){var r=n(107),i=n(193),o=n(194),a=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":a&&a in Object(e)?i(e):o(e)}},function(e,t,n){var r=n(107),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=a.call(e);return r&&(t?e[s]=n:delete e[s]),i}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,a,s,u=1,l={},c=!1,f=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){o.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(i=f.documentElement,r=function(e){var t=f.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(h,0,e)}:(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&h(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(a+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n + * @author owenm + * @license MIT + */ +function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return(o=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function u(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(e){return!1}return!1}}function _(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function w(e,t,n,r){if(e){n=n||document;do{if(null!=t&&(">"===t[0]?e.parentNode===n&&b(e,t):b(e,t))||r&&e===n)return e;if(e===n)break}while(e=_(e))}return null}var C,x=/\s+/g;function T(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(x," ").replace(" "+t+" "," ");e.className=(r+(n?" "+t:"")).replace(x," ")}}function S(e,t,n){var r=e&&e.style;if(r){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),void 0===t?n:n[t];t in r||-1!==t.indexOf("webkit")||(t="-webkit-"+t),r[t]=n+("string"==typeof n?"":"px")}}function N(e,t){var n="";if("string"==typeof e)n=e;else do{var r=S(e,"transform");r&&"none"!==r&&(n=r+" "+n)}while(!t&&(e=e.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function k(e,t,n){if(e){var r=e.getElementsByTagName(t),i=0,o=r.length;if(n)for(;i=o:i<=o))return r;if(r===O())break;r=M(r,!1)}return!1}function L(e,t,n){for(var r=0,i=0,o=e.children;i2&&void 0!==arguments[2]?arguments[2]:{},r=n.evt,i=s(n,["evt"]);V.pluginEvent.bind(ze)(e,t,a({dragEl:X,parentEl:Z,ghostEl:J,rootEl:Q,nextEl:ee,lastDownEl:te,cloneEl:ne,cloneHidden:re,dragStarted:ge,putSortable:le,activeSortable:ze.active,originalEvent:r,oldIndex:ie,oldDraggableIndex:ae,newIndex:oe,newDraggableIndex:se,hideGhostForTarget:$e,unhideGhostForTarget:Pe,cloneNowHidden:function(){re=!0},cloneNowShown:function(){re=!1},dispatchSortableEvent:function(e){Y({sortable:t,name:e,originalEvent:r})}},i))};function Y(e){G(a({putSortable:le,cloneEl:ne,targetEl:X,rootEl:Q,oldIndex:ie,oldDraggableIndex:ae,newIndex:oe,newDraggableIndex:se},e))}var X,Z,J,Q,ee,te,ne,re,ie,oe,ae,se,ue,le,ce,fe,de,pe,he,me,ge,ve,ye,be,_e,we=!1,Ce=!1,xe=[],Te=!1,Se=!1,Ne=[],ke=!1,Oe=[],Ee="undefined"!=typeof document,Ae=h,Le=f||c?"cssFloat":"float",Re=Ee&&!m&&!h&&"draggable"in document.createElement("div"),je=function(){if(Ee){if(c)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),Ie=function(e,t){var n=S(e),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=L(e,0,t),o=L(e,1,t),a=i&&S(i),s=o&&S(o),u=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+E(i).width,l=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+E(o).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&a.float&&"none"!==a.float){var c="left"===a.float?"left":"right";return!o||"both"!==s.clear&&s.clear!==c?"horizontal":"vertical"}return i&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||u>=r&&"none"===n[Le]||o&&"none"===n[Le]&&u+l>r)?"vertical":"horizontal"},Me=function(e){function t(e,n){return function(r,i,o,a){var s=r.options.group.name&&i.options.group.name&&r.options.group.name===i.options.group.name;if(null==e&&(n||s))return!0;if(null==e||!1===e)return!1;if(n&&"clone"===e)return e;if("function"==typeof e)return t(e(r,i,o,a),n)(r,i,o,a);var u=(n?r:i).options.group.name;return!0===e||"string"==typeof e&&e===u||e.join&&e.indexOf(u)>-1}}var n={},i=e.group;i&&"object"==r(i)||(i={name:i}),n.name=i.name,n.checkPull=t(i.pull,!0),n.checkPut=t(i.put),n.revertClone=i.revertClone,e.group=n},$e=function(){!je&&J&&S(J,"display","none")},Pe=function(){!je&&J&&S(J,"display","")};Ee&&document.addEventListener("click",(function(e){if(Ce)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),Ce=!1,!1}),!0);var De=function(e){if(X){e=e.touches?e.touches[0]:e;var t=(i=e.clientX,o=e.clientY,xe.some((function(e){if(!R(e)){var t=E(e),n=e[H].options.emptyInsertThreshold,r=i>=t.left-n&&i<=t.right+n,s=o>=t.top-n&&o<=t.bottom+n;return n&&r&&s?a=e:void 0}})),a);if(t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[H]._onDragOver(n)}}var i,o,a},Fe=function(e){X&&X.parentNode[H]._isOutsideThisEl(e.target)};function ze(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=o({},t),e[H]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Ie(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==ze.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var r in V.initializePlugins(this,e,n),n)!(r in t)&&(t[r]=n[r]);for(var i in Me(t),this)"_"===i.charAt(0)&&"function"==typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!t.forceFallback&&Re,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?v(e,"pointerdown",this._onTapStart):(v(e,"mousedown",this._onTapStart),v(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(v(e,"dragover",this),v(e,"dragenter",this)),xe.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),o(this,U())}function Be(e,t,n,r,i,o,a,s){var u,l,d=e[H],p=d.options.onMove;return!window.CustomEvent||c||f?(u=document.createEvent("Event")).initEvent("move",!0,!0):u=new CustomEvent("move",{bubbles:!0,cancelable:!0}),u.to=t,u.from=e,u.dragged=n,u.draggedRect=r,u.related=i||t,u.relatedRect=o||E(t),u.willInsertAfter=s,u.originalEvent=a,e.dispatchEvent(u),p&&(l=p.call(d,u,a)),l}function He(e){e.draggable=!1}function Ue(){ke=!1}function We(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,n=t.length,r=0;n--;)r+=t.charCodeAt(n);return r.toString(36)}function qe(e){return setTimeout(e,0)}function Ve(e){return clearTimeout(e)}ze.prototype={constructor:ze,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(ve=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,X):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,r=this.options,i=r.preventOnFilter,o=e.type,a=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,s=(a||e).target,u=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,l=r.filter;if(function(e){Oe.length=0;var t=e.getElementsByTagName("input"),n=t.length;for(;n--;){var r=t[n];r.checked&&Oe.push(r)}}(n),!X&&!(/mousedown|pointerdown/.test(o)&&0!==e.button||r.disabled||u.isContentEditable||(s=w(s,r.draggable,n,!1))&&s.animated||te===s)){if(ie=j(s),ae=j(s,r.draggable),"function"==typeof l){if(l.call(this,e,s,this))return Y({sortable:t,rootEl:u,name:"filter",targetEl:s,toEl:n,fromEl:n}),K("filter",t,{evt:e}),void(i&&e.cancelable&&e.preventDefault())}else if(l&&(l=l.split(",").some((function(r){if(r=w(u,r.trim(),n,!1))return Y({sortable:t,rootEl:r,name:"filter",targetEl:s,fromEl:n,toEl:n}),K("filter",t,{evt:e}),!0}))))return void(i&&e.cancelable&&e.preventDefault());r.handle&&!w(u,r.handle,n,!1)||this._prepareDragStart(e,a,s)}}},_prepareDragStart:function(e,t,n){var r,i=this,o=i.el,a=i.options,s=o.ownerDocument;if(n&&!X&&n.parentNode===o){var u=E(n);if(Q=o,Z=(X=n).parentNode,ee=X.nextSibling,te=n,ue=a.group,ze.dragged=X,ce={target:X,clientX:(t||e).clientX,clientY:(t||e).clientY},he=ce.clientX-u.left,me=ce.clientY-u.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,X.style["will-change"]="all",r=function(){K("delayEnded",i,{evt:e}),ze.eventCanceled?i._onDrop():(i._disableDelayedDragEvents(),!d&&i.nativeDraggable&&(X.draggable=!0),i._triggerDragStart(e,t),Y({sortable:i,name:"choose",originalEvent:e}),T(X,a.chosenClass,!0))},a.ignore.split(",").forEach((function(e){k(X,e.trim(),He)})),v(s,"dragover",De),v(s,"mousemove",De),v(s,"touchmove",De),v(s,"mouseup",i._onDrop),v(s,"touchend",i._onDrop),v(s,"touchcancel",i._onDrop),d&&this.nativeDraggable&&(this.options.touchStartThreshold=4,X.draggable=!0),K("delayStart",this,{evt:e}),!a.delay||a.delayOnTouchOnly&&!t||this.nativeDraggable&&(f||c))r();else{if(ze.eventCanceled)return void this._onDrop();v(s,"mouseup",i._disableDelayedDrag),v(s,"touchend",i._disableDelayedDrag),v(s,"touchcancel",i._disableDelayedDrag),v(s,"mousemove",i._delayedDragTouchMoveHandler),v(s,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&v(s,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(r,a.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){X&&He(X),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;y(e,"mouseup",this._disableDelayedDrag),y(e,"touchend",this._disableDelayedDrag),y(e,"touchcancel",this._disableDelayedDrag),y(e,"mousemove",this._delayedDragTouchMoveHandler),y(e,"touchmove",this._delayedDragTouchMoveHandler),y(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?v(document,"pointermove",this._onTouchMove):v(document,t?"touchmove":"mousemove",this._onTouchMove):(v(X,"dragend",this),v(Q,"dragstart",this._onDragStart));try{document.selection?qe((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,t){if(we=!1,Q&&X){K("dragStarted",this,{evt:t}),this.nativeDraggable&&v(document,"dragover",Fe);var n=this.options;!e&&T(X,n.dragClass,!1),T(X,n.ghostClass,!0),ze.active=this,e&&this._appendGhost(),Y({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(fe){this._lastX=fe.clientX,this._lastY=fe.clientY,$e();for(var e=document.elementFromPoint(fe.clientX,fe.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(fe.clientX,fe.clientY))!==t;)t=e;if(X.parentNode[H]._isOutsideThisEl(e),t)do{if(t[H]){if(t[H]._onDragOver({clientX:fe.clientX,clientY:fe.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);Pe()}},_onTouchMove:function(e){if(ce){var t=this.options,n=t.fallbackTolerance,r=t.fallbackOffset,i=e.touches?e.touches[0]:e,o=J&&N(J,!0),a=J&&o&&o.a,s=J&&o&&o.d,u=Ae&&_e&&I(_e),l=(i.clientX-ce.clientX+r.x)/(a||1)+(u?u[0]-Ne[0]:0)/(a||1),c=(i.clientY-ce.clientY+r.y)/(s||1)+(u?u[1]-Ne[1]:0)/(s||1);if(!ze.active&&!we){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))r.right+10||e.clientX<=r.right&&e.clientY>r.bottom&&e.clientX>=r.left:e.clientX>r.right&&e.clientY>r.top||e.clientX<=r.right&&e.clientY>r.bottom+10}(e,i,this)&&!g.animated){if(g===X)return F(!1);if(g&&o===e.target&&(s=g),s&&(n=E(s)),!1!==Be(Q,o,X,t,s,n,e,!!s))return P(),o.appendChild(X),Z=o,z(),F(!0)}else if(s.parentNode===o){n=E(s);var v,y,b,_=X.parentNode!==o,C=!function(e,t,n){var r=n?e.left:e.top,i=n?e.right:e.bottom,o=n?e.width:e.height,a=n?t.left:t.top,s=n?t.right:t.bottom,u=n?t.width:t.height;return r===a||i===s||r+o/2===a+u/2}(X.animated&&X.toRect||t,s.animated&&s.toRect||n,i),x=i?"top":"left",N=A(s,"top","top")||A(X,"top","top"),k=N?N.scrollTop:void 0;if(ve!==s&&(y=n[x],Te=!1,Se=!C&&u.invertSwap||_),0!==(v=function(e,t,n,r,i,o,a,s){var u=r?e.clientY:e.clientX,l=r?n.height:n.width,c=r?n.top:n.left,f=r?n.bottom:n.right,d=!1;if(!a)if(s&&bec+l*o/2:uf-be)return-ye}else if(u>c+l*(1-i)/2&&uf-l*o/2))return u>c+l/2?1:-1;return 0}(e,s,n,i,C?1:u.swapThreshold,null==u.invertedSwapThreshold?u.swapThreshold:u.invertedSwapThreshold,Se,ve===s))){var O=j(X);do{O-=v,b=Z.children[O]}while(b&&("none"===S(b,"display")||b===J))}if(0===v||b===s)return F(!1);ve=s,ye=v;var L=s.nextElementSibling,I=!1,M=Be(Q,o,X,t,s,n,e,I=1===v);if(!1!==M)return 1!==M&&-1!==M||(I=1===M),ke=!0,setTimeout(Ue,30),P(),I&&!L?o.appendChild(X):s.parentNode.insertBefore(X,I?L:s),N&&D(N,0,k-N.scrollTop),Z=X.parentNode,void 0===y||Se||(be=Math.abs(y-E(s)[x])),z(),F(!0)}if(o.contains(X))return F(!1)}return!1}function $(u,l){K(u,h,a({evt:e,isOwner:f,axis:i?"vertical":"horizontal",revert:r,dragRect:t,targetRect:n,canSort:d,fromSortable:p,target:s,completed:F,onMove:function(n,r){return Be(Q,o,X,t,n,E(n),e,r)},changed:z},l))}function P(){$("dragOverAnimationCapture"),h.captureAnimationState(),h!==p&&p.captureAnimationState()}function F(t){return $("dragOverCompleted",{insertion:t}),t&&(f?c._hideClone():c._showClone(h),h!==p&&(T(X,le?le.options.ghostClass:c.options.ghostClass,!1),T(X,u.ghostClass,!0)),le!==h&&h!==ze.active?le=h:h===ze.active&&le&&(le=null),p===h&&(h._ignoreWhileAnimating=s),h.animateAll((function(){$("dragOverAnimationComplete"),h._ignoreWhileAnimating=null})),h!==p&&(p.animateAll(),p._ignoreWhileAnimating=null)),(s===X&&!X.animated||s===o&&!s.animated)&&(ve=null),u.dragoverBubble||e.rootEl||s===document||(X.parentNode[H]._isOutsideThisEl(e.target),!t&&De(e)),!u.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),m=!0}function z(){oe=j(X),se=j(X,u.draggable),Y({sortable:h,name:"change",toEl:o,newIndex:oe,newDraggableIndex:se,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){y(document,"mousemove",this._onTouchMove),y(document,"touchmove",this._onTouchMove),y(document,"pointermove",this._onTouchMove),y(document,"dragover",De),y(document,"mousemove",De),y(document,"touchmove",De)},_offUpEvents:function(){var e=this.el.ownerDocument;y(e,"mouseup",this._onDrop),y(e,"touchend",this._onDrop),y(e,"pointerup",this._onDrop),y(e,"touchcancel",this._onDrop),y(document,"selectstart",this)},_onDrop:function(e){var t=this.el,n=this.options;oe=j(X),se=j(X,n.draggable),K("drop",this,{evt:e}),Z=X&&X.parentNode,oe=j(X),se=j(X,n.draggable),ze.eventCanceled||(we=!1,Se=!1,Te=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Ve(this.cloneId),Ve(this._dragStartId),this.nativeDraggable&&(y(document,"drop",this),y(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),p&&S(document.body,"user-select",""),S(X,"transform",""),e&&(ge&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),J&&J.parentNode&&J.parentNode.removeChild(J),(Q===Z||le&&"clone"!==le.lastPutMode)&&ne&&ne.parentNode&&ne.parentNode.removeChild(ne),X&&(this.nativeDraggable&&y(X,"dragend",this),He(X),X.style["will-change"]="",ge&&!we&&T(X,le?le.options.ghostClass:this.options.ghostClass,!1),T(X,this.options.chosenClass,!1),Y({sortable:this,name:"unchoose",toEl:Z,newIndex:null,newDraggableIndex:null,originalEvent:e}),Q!==Z?(oe>=0&&(Y({rootEl:Z,name:"add",toEl:Z,fromEl:Q,originalEvent:e}),Y({sortable:this,name:"remove",toEl:Z,originalEvent:e}),Y({rootEl:Z,name:"sort",toEl:Z,fromEl:Q,originalEvent:e}),Y({sortable:this,name:"sort",toEl:Z,originalEvent:e})),le&&le.save()):oe!==ie&&oe>=0&&(Y({sortable:this,name:"update",toEl:Z,originalEvent:e}),Y({sortable:this,name:"sort",toEl:Z,originalEvent:e})),ze.active&&(null!=oe&&-1!==oe||(oe=ie,se=ae),Y({sortable:this,name:"end",toEl:Z,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){K("nulling",this),Q=X=Z=J=ee=ne=te=re=ce=fe=ge=oe=se=ie=ae=ve=ye=le=ue=ze.dragged=ze.ghost=ze.clone=ze.active=null,Oe.forEach((function(e){e.checked=!0})),Oe.length=de=pe=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":X&&(this._onDragOver(e),function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move");e.cancelable&&e.preventDefault()}(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],n=this.el.children,r=0,i=n.length,o=this.options;r1&&(ht.forEach((function(e){r.addAnimationState({target:e,rect:vt?E(e):i}),B(e),e.fromRect=i,t.removeAnimationState(e)})),vt=!1,function(e,t){ht.forEach((function(n,r){var i=t.children[n.sortableIndex+(e?Number(r):0)];i?t.insertBefore(n,i):t.appendChild(n)}))}(!this.options.removeCloneOnHide,n))},dragOverCompleted:function(e){var t=e.sortable,n=e.isOwner,r=e.insertion,i=e.activeSortable,o=e.parentEl,a=e.putSortable,s=this.options;if(r){if(n&&i._hideClone(),gt=!1,s.animation&&ht.length>1&&(vt||!n&&!i.options.sort&&!a)){var u=E(ft,!1,!0,!0);ht.forEach((function(e){e!==ft&&(z(e,u),o.appendChild(e))})),vt=!0}if(!n)if(vt||wt(),ht.length>1){var l=pt;i._showClone(t),i.options.animation&&!pt&&l&&mt.forEach((function(e){i.addAnimationState({target:e,rect:dt}),e.fromRect=dt,e.thisAnimationDuration=null}))}else i._showClone(t)}},dragOverAnimationCapture:function(e){var t=e.dragRect,n=e.isOwner,r=e.activeSortable;if(ht.forEach((function(e){e.thisAnimationDuration=null})),r.options.animation&&!n&&r.multiDrag.isMultiDrag){dt=o({},t);var i=N(ft,!0);dt.top-=i.f,dt.left-=i.e}},dragOverAnimationComplete:function(){vt&&(vt=!1,wt())},drop:function(e){var t=e.originalEvent,n=e.rootEl,r=e.parentEl,i=e.sortable,o=e.dispatchSortableEvent,a=e.oldIndex,s=e.putSortable,u=s||this.sortable;if(t){var l=this.options,c=r.children;if(!yt)if(l.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),T(ft,l.selectedClass,!~ht.indexOf(ft)),~ht.indexOf(ft))ht.splice(ht.indexOf(ft),1),lt=null,G({sortable:i,rootEl:n,name:"deselect",targetEl:ft,originalEvt:t});else{if(ht.push(ft),G({sortable:i,rootEl:n,name:"select",targetEl:ft,originalEvt:t}),t.shiftKey&<&&i.el.contains(lt)){var f,d,p=j(lt),h=j(ft);if(~p&&~h&&p!==h)for(h>p?(d=p,f=h):(d=h,f=p+1);d1){var m=E(ft),g=j(ft,":not(."+this.options.selectedClass+")");if(!gt&&l.animation&&(ft.thisAnimationDuration=null),u.captureAnimationState(),!gt&&(l.animation&&(ft.fromRect=m,ht.forEach((function(e){if(e.thisAnimationDuration=null,e!==ft){var t=vt?E(e):m;e.fromRect=t,u.addAnimationState({target:e,rect:t})}}))),wt(),ht.forEach((function(e){c[g]?r.insertBefore(e,c[g]):r.appendChild(e),g++})),a===j(ft))){var v=!1;ht.forEach((function(e){e.sortableIndex===j(e)||(v=!0)})),v&&o("update")}ht.forEach((function(e){B(e)})),u.animateAll()}ct=u}(n===r||s&&"clone"!==s.lastPutMode)&&mt.forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)}))}},nullingGlobal:function(){this.isMultiDrag=yt=!1,mt.length=0},destroyGlobal:function(){this._deselectMultiDrag(),y(document,"pointerup",this._deselectMultiDrag),y(document,"mouseup",this._deselectMultiDrag),y(document,"touchend",this._deselectMultiDrag),y(document,"keydown",this._checkKeyDown),y(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(e){if(!(void 0!==yt&&yt||ct!==this.sortable||e&&w(e.target,this.options.draggable,this.sortable.el,!1)||e&&0!==e.button))for(;ht.length;){var t=ht[0];T(t,this.options.selectedClass,!1),ht.shift(),G({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:t,originalEvt:e})}},_checkKeyDown:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},o(e,{pluginName:"multiDrag",utils:{select:function(e){var t=e.parentNode[H];t&&t.options.multiDrag&&!~ht.indexOf(e)&&(ct&&ct!==t&&(ct.multiDrag._deselectMultiDrag(),ct=t),T(e,t.options.selectedClass,!0),ht.push(e))},deselect:function(e){var t=e.parentNode[H],n=ht.indexOf(e);t&&t.options.multiDrag&&~n&&(T(e,t.options.selectedClass,!1),ht.splice(n,1))}},eventProperties:function(){var e=this,t=[],n=[];return ht.forEach((function(r){var i;t.push({multiDragElement:r,index:r.sortableIndex}),i=vt&&r!==ft?-1:vt?j(r,":not(."+e.options.selectedClass+")"):j(r),n.push({multiDragElement:r,index:i})})),{items:u(ht),clones:[].concat(mt),oldIndicies:t,newIndicies:n}},optionListeners:{multiDragKey:function(e){return"ctrl"===(e=e.toLowerCase())?e="Control":e.length>1&&(e=e.charAt(0).toUpperCase()+e.substr(1)),e}}})}function _t(e,t){mt.forEach((function(n,r){var i=t.children[n.sortableIndex+(e?Number(r):0)];i?t.insertBefore(n,i):t.appendChild(n)}))}function wt(){ht.forEach((function(e){e!==ft&&e.parentNode&&e.parentNode.removeChild(e)}))}ze.mount(new function(){function e(){for(var e in this.defaults={scroll:!0,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===e.charAt(0)&&"function"==typeof this[e]&&(this[e]=this[e].bind(this))}return e.prototype={dragStarted:function(e){var t=e.originalEvent;this.sortable.nativeDraggable?v(document,"dragover",this._handleAutoScroll):this.options.supportPointer?v(document,"pointermove",this._handleFallbackAutoScroll):t.touches?v(document,"touchmove",this._handleFallbackAutoScroll):v(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var t=e.originalEvent;this.options.dragOverBubble||t.rootEl||this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?y(document,"dragover",this._handleAutoScroll):(y(document,"pointermove",this._handleFallbackAutoScroll),y(document,"touchmove",this._handleFallbackAutoScroll),y(document,"mousemove",this._handleFallbackAutoScroll)),nt(),tt(),clearTimeout(C),C=void 0},nulling:function(){Ze=Ke=Ge=et=Je=Ye=Xe=null,Qe.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,t){var n=this,r=(e.touches?e.touches[0]:e).clientX,i=(e.touches?e.touches[0]:e).clientY,o=document.elementFromPoint(r,i);if(Ze=e,t||f||c||p){it(e,this.options,o,t);var a=M(o,!0);!et||Je&&r===Ye&&i===Xe||(Je&&nt(),Je=setInterval((function(){var o=M(document.elementFromPoint(r,i),!0);o!==a&&(a=o,tt()),it(e,n.options,o,t)}),10),Ye=r,Xe=i)}else{if(!this.options.bubbleScroll||M(o,!0)===O())return void tt();it(e,this.options,M(o,!1),!1)}}},o(e,{pluginName:"scroll",initializeByDefault:!0})}),ze.mount(st,at),t.default=ze},,,,,,,,,,,,,function(e,t){e.exports=function(e,t,n){var r,i,o,a,s,u=10>t?t:10,l=["img","br"],c=[],f=0,d="",p='([\\w|-]+\\s*(=\\s*"[^"]*")?\\s*)*',h=new RegExp("<\\/?\\w+\\s*"+p+"\\s*\\/\\s*>"),m=new RegExp("<\\/?\\w+\\s*"+p+"\\s*\\/?\\s*>"),g=/(((ftp|https?):\/\/)[\-\w@:%_\+.~#?,&\/\/=]+)|((mailto:)?[_.\w\-]+@([\w][\w\-]+\.)+[a-zA-Z]{2,3})/g,v=new RegExp(""),y=new RegExp("\\W+","g"),b=!0;function _(e){var t=e.indexOf(" ");if(-1===t&&-1===(t=e.indexOf(">")))throw new Error("HTML tag is not well-formed : "+e);return e.substring(1,t)}function w(e,r){var i,o,a=t-f,s=a,u=a=t)break;if(!(b=g.exec(e))||b.index>=t){d+=e.substring(0,w(e));break}for(;b;)r=b[0],i=b.index,d+=e.substring(0,i+r.length-f),e=e.substring(i+r.length),b=g.exec(e);break}if(r=b[0],i=b.index,f+i>t){d+=e.substring(0,w(e,i));break}f+=i,d+=e.substring(0,i),"/"===r[1]?(c.pop(),a=null):(a=h.exec(r))||(o=_(r),c.push(o)),d+=a?a[0]:r,e=e.substring(i+r.length)}return e.length>t-f&&n.ellipsis&&(d+=n.ellipsis),d+=(s="",c.reverse().forEach((function(e,t){-1===l.indexOf(e)&&(s+="")})),s),n.keepImageTag||(d=function(e){var t,n,r=v.exec(e);return r?(t=r.index,n=r[0].length,e.substring(0,t)+e.substring(t+n)):e}(d)),d}},function(e,t,n){var r,i,o,a,s,u,l,c,f,d;f=n(110),e.exports={deepKeys:s=function(e){if(!l(e))throw new Error("deepKeys must be called on an object, not '"+e+"'");return f.flatten(f.map(e,(function(e,t){return l(e)&&!f.isEmpty(e)?f.map(s(e),(function(e){return t+"."+e})):[t]})))},deepClone:r=function(e){var t,n,i,o;if(null==e)return e;for(n=0,i=(o=[Date,Number,String,Boolean]).length;n + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(){var o="Expected a function",a="__lodash_placeholder__",s=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],u="[object Arguments]",l="[object Array]",c="[object Boolean]",f="[object Date]",d="[object Error]",p="[object Function]",h="[object GeneratorFunction]",m="[object Map]",g="[object Number]",v="[object Object]",y="[object RegExp]",b="[object Set]",_="[object String]",w="[object Symbol]",C="[object WeakMap]",x="[object ArrayBuffer]",T="[object DataView]",S="[object Float32Array]",N="[object Float64Array]",k="[object Int8Array]",O="[object Int16Array]",E="[object Int32Array]",A="[object Uint8Array]",L="[object Uint16Array]",R="[object Uint32Array]",j=/\b__p \+= '';/g,I=/\b(__p \+=) '' \+/g,M=/(__e\(.*?\)|\b__t\)) \+\n'';/g,$=/&(?:amp|lt|gt|quot|#39);/g,P=/[&<>"']/g,D=RegExp($.source),F=RegExp(P.source),z=/<%-([\s\S]+?)%>/g,B=/<%([\s\S]+?)%>/g,H=/<%=([\s\S]+?)%>/g,U=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,W=/^\w*$/,q=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,V=/[\\^$.*+?()[\]{}|]/g,G=RegExp(V.source),K=/^\s+|\s+$/g,Y=/^\s+/,X=/\s+$/,Z=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,J=/\{\n\/\* \[wrapped with (.+)\] \*/,Q=/,? & /,ee=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,te=/\\(\\)?/g,ne=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,re=/\w*$/,ie=/^[-+]0x[0-9a-f]+$/i,oe=/^0b[01]+$/i,ae=/^\[object .+?Constructor\]$/,se=/^0o[0-7]+$/i,ue=/^(?:0|[1-9]\d*)$/,le=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ce=/($^)/,fe=/['\n\r\u2028\u2029\\]/g,de="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",pe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",he="[\\ud800-\\udfff]",me="["+pe+"]",ge="["+de+"]",ve="\\d+",ye="[\\u2700-\\u27bf]",be="[a-z\\xdf-\\xf6\\xf8-\\xff]",_e="[^\\ud800-\\udfff"+pe+ve+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",we="\\ud83c[\\udffb-\\udfff]",Ce="[^\\ud800-\\udfff]",xe="(?:\\ud83c[\\udde6-\\uddff]){2}",Te="[\\ud800-\\udbff][\\udc00-\\udfff]",Se="[A-Z\\xc0-\\xd6\\xd8-\\xde]",Ne="(?:"+be+"|"+_e+")",ke="(?:"+Se+"|"+_e+")",Oe="(?:"+ge+"|"+we+")"+"?",Ee="[\\ufe0e\\ufe0f]?"+Oe+("(?:\\u200d(?:"+[Ce,xe,Te].join("|")+")[\\ufe0e\\ufe0f]?"+Oe+")*"),Ae="(?:"+[ye,xe,Te].join("|")+")"+Ee,Le="(?:"+[Ce+ge+"?",ge,xe,Te,he].join("|")+")",Re=RegExp("['’]","g"),je=RegExp(ge,"g"),Ie=RegExp(we+"(?="+we+")|"+Le+Ee,"g"),Me=RegExp([Se+"?"+be+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[me,Se,"$"].join("|")+")",ke+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[me,Se+Ne,"$"].join("|")+")",Se+"?"+Ne+"+(?:['’](?:d|ll|m|re|s|t|ve))?",Se+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ve,Ae].join("|"),"g"),$e=RegExp("[\\u200d\\ud800-\\udfff"+de+"\\ufe0e\\ufe0f]"),Pe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,De=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Fe=-1,ze={};ze[S]=ze[N]=ze[k]=ze[O]=ze[E]=ze[A]=ze["[object Uint8ClampedArray]"]=ze[L]=ze[R]=!0,ze[u]=ze[l]=ze[x]=ze[c]=ze[T]=ze[f]=ze[d]=ze[p]=ze[m]=ze[g]=ze[v]=ze[y]=ze[b]=ze[_]=ze[C]=!1;var Be={};Be[u]=Be[l]=Be[x]=Be[T]=Be[c]=Be[f]=Be[S]=Be[N]=Be[k]=Be[O]=Be[E]=Be[m]=Be[g]=Be[v]=Be[y]=Be[b]=Be[_]=Be[w]=Be[A]=Be["[object Uint8ClampedArray]"]=Be[L]=Be[R]=!0,Be[d]=Be[p]=Be[C]=!1;var He={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ue=parseFloat,We=parseInt,qe="object"==typeof e&&e&&e.Object===Object&&e,Ve="object"==typeof self&&self&&self.Object===Object&&self,Ge=qe||Ve||Function("return this")(),Ke=t&&!t.nodeType&&t,Ye=Ke&&"object"==typeof r&&r&&!r.nodeType&&r,Xe=Ye&&Ye.exports===Ke,Ze=Xe&&qe.process,Je=function(){try{var e=Ye&&Ye.require&&Ye.require("util").types;return e||Ze&&Ze.binding&&Ze.binding("util")}catch(e){}}(),Qe=Je&&Je.isArrayBuffer,et=Je&&Je.isDate,tt=Je&&Je.isMap,nt=Je&&Je.isRegExp,rt=Je&&Je.isSet,it=Je&&Je.isTypedArray;function ot(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function at(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i-1}function dt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function It(e,t){for(var n=e.length;n--&&wt(t,e[n],0)>-1;);return n}function Mt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var $t=Nt({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Pt=Nt({"&":"&","<":"<",">":">",'"':""","'":"'"});function Dt(e){return"\\"+He[e]}function Ft(e){return $e.test(e)}function zt(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function Bt(e,t){return function(n){return e(t(n))}}function Ht(e,t){for(var n=-1,r=e.length,i=0,o=[];++n",""":'"',"'":"'"});var Kt=function e(t){var n,r=(t=null==t?Ge:Kt.defaults(Ge.Object(),t,Kt.pick(Ge,De))).Array,i=t.Date,de=t.Error,pe=t.Function,he=t.Math,me=t.Object,ge=t.RegExp,ve=t.String,ye=t.TypeError,be=r.prototype,_e=pe.prototype,we=me.prototype,Ce=t["__core-js_shared__"],xe=_e.toString,Te=we.hasOwnProperty,Se=0,Ne=(n=/[^.]+$/.exec(Ce&&Ce.keys&&Ce.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",ke=we.toString,Oe=xe.call(me),Ee=Ge._,Ae=ge("^"+xe.call(Te).replace(V,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Le=Xe?t.Buffer:void 0,Ie=t.Symbol,$e=t.Uint8Array,He=Le?Le.allocUnsafe:void 0,qe=Bt(me.getPrototypeOf,me),Ve=me.create,Ke=we.propertyIsEnumerable,Ye=be.splice,Ze=Ie?Ie.isConcatSpreadable:void 0,Je=Ie?Ie.iterator:void 0,yt=Ie?Ie.toStringTag:void 0,Nt=function(){try{var e=Qi(me,"defineProperty");return e({},"",{}),e}catch(e){}}(),Yt=t.clearTimeout!==Ge.clearTimeout&&t.clearTimeout,Xt=i&&i.now!==Ge.Date.now&&i.now,Zt=t.setTimeout!==Ge.setTimeout&&t.setTimeout,Jt=he.ceil,Qt=he.floor,en=me.getOwnPropertySymbols,tn=Le?Le.isBuffer:void 0,nn=t.isFinite,rn=be.join,on=Bt(me.keys,me),an=he.max,sn=he.min,un=i.now,ln=t.parseInt,cn=he.random,fn=be.reverse,dn=Qi(t,"DataView"),pn=Qi(t,"Map"),hn=Qi(t,"Promise"),mn=Qi(t,"Set"),gn=Qi(t,"WeakMap"),vn=Qi(me,"create"),yn=gn&&new gn,bn={},_n=ko(dn),wn=ko(pn),Cn=ko(hn),xn=ko(mn),Tn=ko(gn),Sn=Ie?Ie.prototype:void 0,Nn=Sn?Sn.valueOf:void 0,kn=Sn?Sn.toString:void 0;function On(e){if(Wa(e)&&!ja(e)&&!(e instanceof Rn)){if(e instanceof Ln)return e;if(Te.call(e,"__wrapped__"))return Oo(e)}return new Ln(e)}var En=function(){function e(){}return function(t){if(!Ua(t))return{};if(Ve)return Ve(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function An(){}function Ln(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function Rn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function jn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Xn(e,t,n,r,i,o){var a,s=1&t,l=2&t,d=4&t;if(n&&(a=i?n(e,r,i,o):n(e)),void 0!==a)return a;if(!Ua(e))return e;var C=ja(e);if(C){if(a=function(e){var t=e.length,n=new e.constructor(t);t&&"string"==typeof e[0]&&Te.call(e,"index")&&(n.index=e.index,n.input=e.input);return n}(e),!s)return vi(e,a)}else{var j=no(e),I=j==p||j==h;if(Pa(e))return fi(e,s);if(j==v||j==u||I&&!i){if(a=l||I?{}:io(e),!s)return l?function(e,t){return yi(e,to(e),t)}(e,function(e,t){return e&&yi(t,ws(t),e)}(a,e)):function(e,t){return yi(e,eo(e),t)}(e,Vn(a,e))}else{if(!Be[j])return i?e:{};a=function(e,t,n){var r=e.constructor;switch(t){case x:return di(e);case c:case f:return new r(+e);case T:return function(e,t){var n=t?di(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case S:case N:case k:case O:case E:case A:case"[object Uint8ClampedArray]":case L:case R:return pi(e,n);case m:return new r;case g:case _:return new r(e);case y:return function(e){var t=new e.constructor(e.source,re.exec(e));return t.lastIndex=e.lastIndex,t}(e);case b:return new r;case w:return i=e,Nn?me(Nn.call(i)):{}}var i}(e,j,s)}}o||(o=new Pn);var M=o.get(e);if(M)return M;o.set(e,a),Ya(e)?e.forEach((function(r){a.add(Xn(r,t,n,r,e,o))})):qa(e)&&e.forEach((function(r,i){a.set(i,Xn(r,t,n,i,e,o))}));var $=C?void 0:(d?l?Vi:qi:l?ws:_s)(e);return st($||e,(function(r,i){$&&(r=e[i=r]),Un(a,i,Xn(r,t,n,i,e,o))})),a}function Zn(e,t,n){var r=n.length;if(null==e)return!r;for(e=me(e);r--;){var i=n[r],o=t[i],a=e[i];if(void 0===a&&!(i in e)||!o(a))return!1}return!0}function Jn(e,t,n){if("function"!=typeof e)throw new ye(o);return _o((function(){e.apply(void 0,n)}),t)}function Qn(e,t,n,r){var i=-1,o=ft,a=!0,s=e.length,u=[],l=t.length;if(!s)return u;n&&(t=pt(t,At(n))),r?(o=dt,a=!1):t.length>=200&&(o=Rt,a=!1,t=new $n(t));e:for(;++i-1},In.prototype.set=function(e,t){var n=this.__data__,r=Wn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Mn.prototype.clear=function(){this.size=0,this.__data__={hash:new jn,map:new(pn||In),string:new jn}},Mn.prototype.delete=function(e){var t=Zi(this,e).delete(e);return this.size-=t?1:0,t},Mn.prototype.get=function(e){return Zi(this,e).get(e)},Mn.prototype.has=function(e){return Zi(this,e).has(e)},Mn.prototype.set=function(e,t){var n=Zi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},$n.prototype.add=$n.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},$n.prototype.has=function(e){return this.__data__.has(e)},Pn.prototype.clear=function(){this.__data__=new In,this.size=0},Pn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Pn.prototype.get=function(e){return this.__data__.get(e)},Pn.prototype.has=function(e){return this.__data__.has(e)},Pn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof In){var r=n.__data__;if(!pn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Mn(r)}return n.set(e,t),this.size=n.size,this};var er=wi(ur),tr=wi(lr,!0);function nr(e,t){var n=!0;return er(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function rr(e,t,n){for(var r=-1,i=e.length;++r0&&n(s)?t>1?or(s,t-1,n,r,i):ht(i,s):r||(i[i.length]=s)}return i}var ar=Ci(),sr=Ci(!0);function ur(e,t){return e&&ar(e,t,_s)}function lr(e,t){return e&&sr(e,t,_s)}function cr(e,t){return ct(t,(function(t){return za(e[t])}))}function fr(e,t){for(var n=0,r=(t=si(t,e)).length;null!=e&&nt}function mr(e,t){return null!=e&&Te.call(e,t)}function gr(e,t){return null!=e&&t in me(e)}function vr(e,t,n){for(var i=n?dt:ft,o=e[0].length,a=e.length,s=a,u=r(a),l=1/0,c=[];s--;){var f=e[s];s&&t&&(f=pt(f,At(t))),l=sn(f.length,l),u[s]=!n&&(t||o>=120&&f.length>=120)?new $n(s&&f):void 0}f=e[0];var d=-1,p=u[0];e:for(;++d=s)return u;var l=n[r];return u*("desc"==l?-1:1)}}return e.index-t.index}(e,t,n)}))}function jr(e,t,n){for(var r=-1,i=t.length,o={};++r-1;)s!==e&&Ye.call(s,u,1),Ye.call(e,u,1);return e}function Mr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;ao(i)?Ye.call(e,i,1):Qr(e,i)}}return e}function $r(e,t){return e+Qt(cn()*(t-e+1))}function Pr(e,t){var n="";if(!e||t<1||t>9007199254740991)return n;do{t%2&&(n+=e),(t=Qt(t/2))&&(e+=e)}while(t);return n}function Dr(e,t){return wo(mo(e,t,Vs),e+"")}function Fr(e){return Fn(Es(e))}function zr(e,t){var n=Es(e);return To(n,Yn(t,0,n.length))}function Br(e,t,n,r){if(!Ua(e))return e;for(var i=-1,o=(t=si(t,e)).length,a=o-1,s=e;null!=s&&++io?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=r(o);++i>>1,a=e[o];null!==a&&!Za(a)&&(n?a<=t:a=200){var l=t?null:Pi(e);if(l)return Ut(l);a=!1,i=Rt,u=new $n}else u=t?[]:s;e:for(;++r=r?e:qr(e,t,n)}var ci=Yt||function(e){return Ge.clearTimeout(e)};function fi(e,t){if(t)return e.slice();var n=e.length,r=He?He(n):new e.constructor(n);return e.copy(r),r}function di(e){var t=new e.constructor(e.byteLength);return new $e(t).set(new $e(e)),t}function pi(e,t){var n=t?di(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function hi(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=e==e,o=Za(e),a=void 0!==t,s=null===t,u=t==t,l=Za(t);if(!s&&!l&&!o&&e>t||o&&a&&u&&!s&&!l||r&&a&&u||!n&&u||!i)return 1;if(!r&&!o&&!l&&e1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(o=e.length>3&&"function"==typeof o?(i--,o):void 0,a&&so(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),t=me(t);++r-1?i[o?t[a]:a]:void 0}}function ki(e){return Wi((function(t){var n=t.length,r=n,i=Ln.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new ye(o);if(i&&!s&&"wrapper"==Ki(a))var s=new Ln([],!0)}for(r=s?r:n;++r1&&b.reverse(),f&&ls))return!1;var l=o.get(e);if(l&&o.get(t))return l==t;var c=-1,f=!0,d=2&n?new $n:void 0;for(o.set(e,t),o.set(t,e);++c-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(Z,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return st(s,(function(n){var r="_."+n[0];t&n[1]&&!ft(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(J);return t?t[1].split(Q):[]}(r),n)))}function xo(e){var t=0,n=0;return function(){var r=un(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function To(e,t){var n=-1,r=e.length,i=r-1;for(t=void 0===t?r:t;++n1?e[t-1]:void 0;return n="function"==typeof n?(e.pop(),n):void 0,Ko(e,n)}));function ta(e){var t=On(e);return t.__chain__=!0,t}function na(e,t){return t(e)}var ra=Wi((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return Kn(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Rn&&ao(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:na,args:[i],thisArg:void 0}),new Ln(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(i)}));var ia=bi((function(e,t,n){Te.call(e,n)?++e[n]:Gn(e,n,1)}));var oa=Ni(Ro),aa=Ni(jo);function sa(e,t){return(ja(e)?st:er)(e,Xi(t,3))}function ua(e,t){return(ja(e)?ut:tr)(e,Xi(t,3))}var la=bi((function(e,t,n){Te.call(e,n)?e[n].push(t):Gn(e,n,[t])}));var ca=Dr((function(e,t,n){var i=-1,o="function"==typeof t,a=Ma(e)?r(e.length):[];return er(e,(function(e){a[++i]=o?ot(t,e,n):yr(e,t,n)})),a})),fa=bi((function(e,t,n){Gn(e,n,t)}));function da(e,t){return(ja(e)?pt:kr)(e,Xi(t,3))}var pa=bi((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]}));var ha=Dr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&so(e,t[0],t[1])?t=[]:n>2&&so(t[0],t[1],t[2])&&(t=[t[0]]),Rr(e,or(t,1),[])})),ma=Xt||function(){return Ge.Date.now()};function ga(e,t,n){return t=n?void 0:t,Fi(e,128,void 0,void 0,void 0,void 0,t=e&&null==t?e.length:t)}function va(e,t){var n;if("function"!=typeof t)throw new ye(o);return e=rs(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}var ya=Dr((function(e,t,n){var r=1;if(n.length){var i=Ht(n,Yi(ya));r|=32}return Fi(e,r,t,n,i)})),ba=Dr((function(e,t,n){var r=3;if(n.length){var i=Ht(n,Yi(ba));r|=32}return Fi(t,r,e,n,i)}));function _a(e,t,n){var r,i,a,s,u,l,c=0,f=!1,d=!1,p=!0;if("function"!=typeof e)throw new ye(o);function h(t){var n=r,o=i;return r=i=void 0,c=t,s=e.apply(o,n)}function m(e){return c=e,u=_o(v,t),f?h(e):s}function g(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-c>=a}function v(){var e=ma();if(g(e))return y(e);u=_o(v,function(e){var n=t-(e-l);return d?sn(n,a-(e-c)):n}(e))}function y(e){return u=void 0,p&&r?h(e):(r=i=void 0,s)}function b(){var e=ma(),n=g(e);if(r=arguments,i=this,l=e,n){if(void 0===u)return m(l);if(d)return ci(u),u=_o(v,t),h(l)}return void 0===u&&(u=_o(v,t)),s}return t=os(t)||0,Ua(n)&&(f=!!n.leading,a=(d="maxWait"in n)?an(os(n.maxWait)||0,t):a,p="trailing"in n?!!n.trailing:p),b.cancel=function(){void 0!==u&&ci(u),c=0,r=l=i=u=void 0},b.flush=function(){return void 0===u?s:y(ma())},b}var wa=Dr((function(e,t){return Jn(e,1,t)})),Ca=Dr((function(e,t,n){return Jn(e,os(t)||0,n)}));function xa(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ye(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(xa.Cache||Mn),n}function Ta(e){if("function"!=typeof e)throw new ye(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}xa.Cache=Mn;var Sa=ui((function(e,t){var n=(t=1==t.length&&ja(t[0])?pt(t[0],At(Xi())):pt(or(t,1),At(Xi()))).length;return Dr((function(r){for(var i=-1,o=sn(r.length,n);++i=t})),Ra=br(function(){return arguments}())?br:function(e){return Wa(e)&&Te.call(e,"callee")&&!Ke.call(e,"callee")},ja=r.isArray,Ia=Qe?At(Qe):function(e){return Wa(e)&&pr(e)==x};function Ma(e){return null!=e&&Ha(e.length)&&!za(e)}function $a(e){return Wa(e)&&Ma(e)}var Pa=tn||ou,Da=et?At(et):function(e){return Wa(e)&&pr(e)==f};function Fa(e){if(!Wa(e))return!1;var t=pr(e);return t==d||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!Ga(e)}function za(e){if(!Ua(e))return!1;var t=pr(e);return t==p||t==h||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ba(e){return"number"==typeof e&&e==rs(e)}function Ha(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Ua(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Wa(e){return null!=e&&"object"==typeof e}var qa=tt?At(tt):function(e){return Wa(e)&&no(e)==m};function Va(e){return"number"==typeof e||Wa(e)&&pr(e)==g}function Ga(e){if(!Wa(e)||pr(e)!=v)return!1;var t=qe(e);if(null===t)return!0;var n=Te.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&xe.call(n)==Oe}var Ka=nt?At(nt):function(e){return Wa(e)&&pr(e)==y};var Ya=rt?At(rt):function(e){return Wa(e)&&no(e)==b};function Xa(e){return"string"==typeof e||!ja(e)&&Wa(e)&&pr(e)==_}function Za(e){return"symbol"==typeof e||Wa(e)&&pr(e)==w}var Ja=it?At(it):function(e){return Wa(e)&&Ha(e.length)&&!!ze[pr(e)]};var Qa=Ii(Nr),es=Ii((function(e,t){return e<=t}));function ts(e){if(!e)return[];if(Ma(e))return Xa(e)?Vt(e):vi(e);if(Je&&e[Je])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Je]());var t=no(e);return(t==m?zt:t==b?Ut:Es)(e)}function ns(e){return e?(e=os(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function rs(e){var t=ns(e),n=t%1;return t==t?n?t-n:t:0}function is(e){return e?Yn(rs(e),0,4294967295):0}function os(e){if("number"==typeof e)return e;if(Za(e))return NaN;if(Ua(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Ua(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(K,"");var n=oe.test(e);return n||se.test(e)?We(e.slice(2),n?2:8):ie.test(e)?NaN:+e}function as(e){return yi(e,ws(e))}function ss(e){return null==e?"":Zr(e)}var us=_i((function(e,t){if(fo(t)||Ma(t))yi(t,_s(t),e);else for(var n in t)Te.call(t,n)&&Un(e,n,t[n])})),ls=_i((function(e,t){yi(t,ws(t),e)})),cs=_i((function(e,t,n,r){yi(t,ws(t),e,r)})),fs=_i((function(e,t,n,r){yi(t,_s(t),e,r)})),ds=Wi(Kn);var ps=Dr((function(e,t){e=me(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&so(t[0],t[1],i)&&(r=1);++n1),t})),yi(e,Vi(e),n),r&&(n=Xn(n,7,Hi));for(var i=t.length;i--;)Qr(n,t[i]);return n}));var Ss=Wi((function(e,t){return null==e?{}:function(e,t){return jr(e,t,(function(t,n){return gs(e,n)}))}(e,t)}));function Ns(e,t){if(null==e)return{};var n=pt(Vi(e),(function(e){return[e]}));return t=Xi(t),jr(e,n,(function(e,n){return t(e,n[0])}))}var ks=Di(_s),Os=Di(ws);function Es(e){return null==e?[]:Lt(e,_s(e))}var As=Ti((function(e,t,n){return t=t.toLowerCase(),e+(n?Ls(t):t)}));function Ls(e){return Fs(ss(e).toLowerCase())}function Rs(e){return(e=ss(e))&&e.replace(le,$t).replace(je,"")}var js=Ti((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Is=Ti((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Ms=xi("toLowerCase");var $s=Ti((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}));var Ps=Ti((function(e,t,n){return e+(n?" ":"")+Fs(t)}));var Ds=Ti((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Fs=xi("toUpperCase");function zs(e,t,n){return e=ss(e),void 0===(t=n?void 0:t)?function(e){return Pe.test(e)}(e)?function(e){return e.match(Me)||[]}(e):function(e){return e.match(ee)||[]}(e):e.match(t)||[]}var Bs=Dr((function(e,t){try{return ot(e,void 0,t)}catch(e){return Fa(e)?e:new de(e)}})),Hs=Wi((function(e,t){return st(t,(function(t){t=No(t),Gn(e,t,ya(e[t],e))})),e}));function Us(e){return function(){return e}}var Ws=ki(),qs=ki(!0);function Vs(e){return e}function Gs(e){return xr("function"==typeof e?e:Xn(e,1))}var Ks=Dr((function(e,t){return function(n){return yr(n,e,t)}})),Ys=Dr((function(e,t){return function(n){return yr(e,n,t)}}));function Xs(e,t,n){var r=_s(t),i=cr(t,r);null!=n||Ua(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=cr(t,_s(t)));var o=!(Ua(n)&&"chain"in n&&!n.chain),a=za(e);return st(i,(function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),i=n.__actions__=vi(this.__actions__);return i.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,ht([this.value()],arguments))})})),e}function Zs(){}var Js=Li(pt),Qs=Li(lt),eu=Li(vt);function tu(e){return uo(e)?St(No(e)):function(e){return function(t){return fr(t,e)}}(e)}var nu=ji(),ru=ji(!0);function iu(){return[]}function ou(){return!1}var au=Ai((function(e,t){return e+t}),0),su=$i("ceil"),uu=Ai((function(e,t){return e/t}),1),lu=$i("floor");var cu,fu=Ai((function(e,t){return e*t}),1),du=$i("round"),pu=Ai((function(e,t){return e-t}),0);return On.after=function(e,t){if("function"!=typeof t)throw new ye(o);return e=rs(e),function(){if(--e<1)return t.apply(this,arguments)}},On.ary=ga,On.assign=us,On.assignIn=ls,On.assignInWith=cs,On.assignWith=fs,On.at=ds,On.before=va,On.bind=ya,On.bindAll=Hs,On.bindKey=ba,On.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return ja(e)?e:[e]},On.chain=ta,On.chunk=function(e,t,n){t=(n?so(e,t,n):void 0===t)?1:an(rs(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var o=0,a=0,s=r(Jt(i/t));oi?0:i+n),(r=void 0===r||r>i?i:rs(r))<0&&(r+=i),r=n>r?0:is(r);n>>0)?(e=ss(e))&&("string"==typeof t||null!=t&&!Ka(t))&&!(t=Zr(t))&&Ft(e)?li(Vt(e),0,n):e.split(t,n):[]},On.spread=function(e,t){if("function"!=typeof e)throw new ye(o);return t=null==t?0:an(rs(t),0),Dr((function(n){var r=n[t],i=li(n,0,t);return r&&ht(i,r),ot(e,this,i)}))},On.tail=function(e){var t=null==e?0:e.length;return t?qr(e,1,t):[]},On.take=function(e,t,n){return e&&e.length?qr(e,0,(t=n||void 0===t?1:rs(t))<0?0:t):[]},On.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?qr(e,(t=r-(t=n||void 0===t?1:rs(t)))<0?0:t,r):[]},On.takeRightWhile=function(e,t){return e&&e.length?ti(e,Xi(t,3),!1,!0):[]},On.takeWhile=function(e,t){return e&&e.length?ti(e,Xi(t,3)):[]},On.tap=function(e,t){return t(e),e},On.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new ye(o);return Ua(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),_a(e,t,{leading:r,maxWait:t,trailing:i})},On.thru=na,On.toArray=ts,On.toPairs=ks,On.toPairsIn=Os,On.toPath=function(e){return ja(e)?pt(e,No):Za(e)?[e]:vi(So(ss(e)))},On.toPlainObject=as,On.transform=function(e,t,n){var r=ja(e),i=r||Pa(e)||Ja(e);if(t=Xi(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:Ua(e)&&za(o)?En(qe(e)):{}}return(i?st:ur)(e,(function(e,r,i){return t(n,e,r,i)})),n},On.unary=function(e){return ga(e,1)},On.union=Wo,On.unionBy=qo,On.unionWith=Vo,On.uniq=function(e){return e&&e.length?Jr(e):[]},On.uniqBy=function(e,t){return e&&e.length?Jr(e,Xi(t,2)):[]},On.uniqWith=function(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Jr(e,void 0,t):[]},On.unset=function(e,t){return null==e||Qr(e,t)},On.unzip=Go,On.unzipWith=Ko,On.update=function(e,t,n){return null==e?e:ei(e,t,ai(n))},On.updateWith=function(e,t,n,r){return r="function"==typeof r?r:void 0,null==e?e:ei(e,t,ai(n),r)},On.values=Es,On.valuesIn=function(e){return null==e?[]:Lt(e,ws(e))},On.without=Yo,On.words=zs,On.wrap=function(e,t){return Na(ai(t),e)},On.xor=Xo,On.xorBy=Zo,On.xorWith=Jo,On.zip=Qo,On.zipObject=function(e,t){return ii(e||[],t||[],Un)},On.zipObjectDeep=function(e,t){return ii(e||[],t||[],Br)},On.zipWith=ea,On.entries=ks,On.entriesIn=Os,On.extend=ls,On.extendWith=cs,Xs(On,On),On.add=au,On.attempt=Bs,On.camelCase=As,On.capitalize=Ls,On.ceil=su,On.clamp=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=os(n))==n?n:0),void 0!==t&&(t=(t=os(t))==t?t:0),Yn(os(e),t,n)},On.clone=function(e){return Xn(e,4)},On.cloneDeep=function(e){return Xn(e,5)},On.cloneDeepWith=function(e,t){return Xn(e,5,t="function"==typeof t?t:void 0)},On.cloneWith=function(e,t){return Xn(e,4,t="function"==typeof t?t:void 0)},On.conformsTo=function(e,t){return null==t||Zn(e,t,_s(t))},On.deburr=Rs,On.defaultTo=function(e,t){return null==e||e!=e?t:e},On.divide=uu,On.endsWith=function(e,t,n){e=ss(e),t=Zr(t);var r=e.length,i=n=void 0===n?r:Yn(rs(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},On.eq=Ea,On.escape=function(e){return(e=ss(e))&&F.test(e)?e.replace(P,Pt):e},On.escapeRegExp=function(e){return(e=ss(e))&&G.test(e)?e.replace(V,"\\$&"):e},On.every=function(e,t,n){var r=ja(e)?lt:nr;return n&&so(e,t,n)&&(t=void 0),r(e,Xi(t,3))},On.find=oa,On.findIndex=Ro,On.findKey=function(e,t){return bt(e,Xi(t,3),ur)},On.findLast=aa,On.findLastIndex=jo,On.findLastKey=function(e,t){return bt(e,Xi(t,3),lr)},On.floor=lu,On.forEach=sa,On.forEachRight=ua,On.forIn=function(e,t){return null==e?e:ar(e,Xi(t,3),ws)},On.forInRight=function(e,t){return null==e?e:sr(e,Xi(t,3),ws)},On.forOwn=function(e,t){return e&&ur(e,Xi(t,3))},On.forOwnRight=function(e,t){return e&&lr(e,Xi(t,3))},On.get=ms,On.gt=Aa,On.gte=La,On.has=function(e,t){return null!=e&&ro(e,t,mr)},On.hasIn=gs,On.head=Mo,On.identity=Vs,On.includes=function(e,t,n,r){e=Ma(e)?e:Es(e),n=n&&!r?rs(n):0;var i=e.length;return n<0&&(n=an(i+n,0)),Xa(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&wt(e,t,n)>-1},On.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:rs(n);return i<0&&(i=an(r+i,0)),wt(e,t,i)},On.inRange=function(e,t,n){return t=ns(t),void 0===n?(n=t,t=0):n=ns(n),function(e,t,n){return e>=sn(t,n)&&e=-9007199254740991&&e<=9007199254740991},On.isSet=Ya,On.isString=Xa,On.isSymbol=Za,On.isTypedArray=Ja,On.isUndefined=function(e){return void 0===e},On.isWeakMap=function(e){return Wa(e)&&no(e)==C},On.isWeakSet=function(e){return Wa(e)&&"[object WeakSet]"==pr(e)},On.join=function(e,t){return null==e?"":rn.call(e,t)},On.kebabCase=js,On.last=Fo,On.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r;return void 0!==n&&(i=(i=rs(n))<0?an(r+i,0):sn(i,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,i):_t(e,xt,i,!0)},On.lowerCase=Is,On.lowerFirst=Ms,On.lt=Qa,On.lte=es,On.max=function(e){return e&&e.length?rr(e,Vs,hr):void 0},On.maxBy=function(e,t){return e&&e.length?rr(e,Xi(t,2),hr):void 0},On.mean=function(e){return Tt(e,Vs)},On.meanBy=function(e,t){return Tt(e,Xi(t,2))},On.min=function(e){return e&&e.length?rr(e,Vs,Nr):void 0},On.minBy=function(e,t){return e&&e.length?rr(e,Xi(t,2),Nr):void 0},On.stubArray=iu,On.stubFalse=ou,On.stubObject=function(){return{}},On.stubString=function(){return""},On.stubTrue=function(){return!0},On.multiply=fu,On.nth=function(e,t){return e&&e.length?Lr(e,rs(t)):void 0},On.noConflict=function(){return Ge._===this&&(Ge._=Ee),this},On.noop=Zs,On.now=ma,On.pad=function(e,t,n){e=ss(e);var r=(t=rs(t))?qt(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Ri(Qt(i),n)+e+Ri(Jt(i),n)},On.padEnd=function(e,t,n){e=ss(e);var r=(t=rs(t))?qt(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=cn();return sn(e+i*(t-e+Ue("1e-"+((i+"").length-1))),t)}return $r(e,t)},On.reduce=function(e,t,n){var r=ja(e)?mt:kt,i=arguments.length<3;return r(e,Xi(t,4),n,i,er)},On.reduceRight=function(e,t,n){var r=ja(e)?gt:kt,i=arguments.length<3;return r(e,Xi(t,4),n,i,tr)},On.repeat=function(e,t,n){return t=(n?so(e,t,n):void 0===t)?1:rs(t),Pr(ss(e),t)},On.replace=function(){var e=arguments,t=ss(e[0]);return e.length<3?t:t.replace(e[1],e[2])},On.result=function(e,t,n){var r=-1,i=(t=si(t,e)).length;for(i||(i=1,e=void 0);++r9007199254740991)return[];var n=4294967295,r=sn(e,4294967295);e-=4294967295;for(var i=Et(r,t=Xi(t));++n=o)return e;var s=n-qt(r);if(s<1)return r;var u=a?li(a,0,s).join(""):e.slice(0,s);if(void 0===i)return u+r;if(a&&(s+=u.length-s),Ka(i)){if(e.slice(s).search(i)){var l,c=u;for(i.global||(i=ge(i.source,ss(re.exec(i))+"g")),i.lastIndex=0;l=i.exec(c);)var f=l.index;u=u.slice(0,void 0===f?s:f)}}else if(e.indexOf(Zr(i),s)!=s){var d=u.lastIndexOf(i);d>-1&&(u=u.slice(0,d))}return u+r},On.unescape=function(e){return(e=ss(e))&&D.test(e)?e.replace($,Gt):e},On.uniqueId=function(e){var t=++Se;return ss(e)+t},On.upperCase=Ds,On.upperFirst=Fs,On.each=sa,On.eachRight=ua,On.first=Mo,Xs(On,(cu={},ur(On,(function(e,t){Te.call(On.prototype,t)||(cu[t]=e)})),cu),{chain:!1}),On.VERSION="4.17.15",st(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){On[e].placeholder=On})),st(["drop","take"],(function(e,t){Rn.prototype[e]=function(n){n=void 0===n?1:an(rs(n),0);var r=this.__filtered__&&!t?new Rn(this):this.clone();return r.__filtered__?r.__takeCount__=sn(n,r.__takeCount__):r.__views__.push({size:sn(n,4294967295),type:e+(r.__dir__<0?"Right":"")}),r},Rn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),st(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;Rn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Xi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),st(["head","last"],(function(e,t){var n="take"+(t?"Right":"");Rn.prototype[e]=function(){return this[n](1).value()[0]}})),st(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");Rn.prototype[e]=function(){return this.__filtered__?new Rn(this):this[n](1)}})),Rn.prototype.compact=function(){return this.filter(Vs)},Rn.prototype.find=function(e){return this.filter(e).head()},Rn.prototype.findLast=function(e){return this.reverse().find(e)},Rn.prototype.invokeMap=Dr((function(e,t){return"function"==typeof e?new Rn(this):this.map((function(n){return yr(n,e,t)}))})),Rn.prototype.reject=function(e){return this.filter(Ta(Xi(e)))},Rn.prototype.slice=function(e,t){e=rs(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Rn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),void 0!==t&&(n=(t=rs(t))<0?n.dropRight(-t):n.take(t-e)),n)},Rn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Rn.prototype.toArray=function(){return this.take(4294967295)},ur(Rn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=On[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);i&&(On.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,s=t instanceof Rn,u=a[0],l=s||ja(t),c=function(e){var t=i.apply(On,ht([e],a));return r&&f?t[0]:t};l&&n&&"function"==typeof u&&1!=u.length&&(s=l=!1);var f=this.__chain__,d=!!this.__actions__.length,p=o&&!f,h=s&&!d;if(!o&&l){t=h?t:new Rn(this);var m=e.apply(t,a);return m.__actions__.push({func:na,args:[c],thisArg:void 0}),new Ln(m,f)}return p&&h?e.apply(this,a):(m=this.thru(c),p?r?m.value()[0]:m.value():m)})})),st(["pop","push","shift","sort","splice","unshift"],(function(e){var t=be[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);On.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(ja(i)?i:[],e)}return this[n]((function(n){return t.apply(ja(n)?n:[],e)}))}})),ur(Rn.prototype,(function(e,t){var n=On[t];if(n){var r=n.name+"";Te.call(bn,r)||(bn[r]=[]),bn[r].push({name:t,func:n})}})),bn[Oi(void 0,2).name]=[{name:"wrapper",func:void 0}],Rn.prototype.clone=function(){var e=new Rn(this.__wrapped__);return e.__actions__=vi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=vi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=vi(this.__views__),e},Rn.prototype.reverse=function(){if(this.__filtered__){var e=new Rn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Rn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=ja(e),r=t<0,i=n?e.length:0,o=function(e,t,n){var r=-1,i=n.length;for(;++r=this.__values__.length;return{done:e,value:e?void 0:this.__values__[this.__index__++]}},On.prototype.plant=function(e){for(var t,n=this;n instanceof An;){var r=Oo(n);r.__index__=0,r.__values__=void 0,t?i.__wrapped__=r:t=r;var i=r;n=n.__wrapped__}return i.__wrapped__=e,t},On.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Rn){var t=e;return this.__actions__.length&&(t=new Rn(this)),(t=t.reverse()).__actions__.push({func:na,args:[Uo],thisArg:void 0}),new Ln(t,this.__chain__)}return this.thru(Uo)},On.prototype.toJSON=On.prototype.valueOf=On.prototype.value=function(){return ni(this.__wrapped__,this.__actions__)},On.prototype.first=On.prototype.head,Je&&(On.prototype[Je]=function(){return this}),On}();Ge._=Kt,void 0===(i=function(){return Kt}.call(t,n,t,r))||(r.exports=i)}).call(this)}).call(this,n(13),n(263)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){var r,i; +/*! + * Isotope v3.0.6 + * + * Licensed GPLv3 for open source use + * or Isotope Commercial License for commercial use + * + * https://isotope.metafizzy.co + * Copyright 2010-2018 Metafizzy + */!function(o,a){r=[n(31),n(29),n(113),n(112),n(266),n(32),n(267),n(269),n(270)],void 0===(i=function(e,t,n,r,i,a){return function(e,t,n,r,i,o,a){"use strict";var s=e.jQuery,u=String.prototype.trim?function(e){return e.trim()}:function(e){return e.replace(/^\s+|\s+$/g,"")},l=t.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});l.Item=o,l.LayoutMode=a;var c=l.prototype;c._create=function(){for(var e in this.itemGUID=0,this._sorters={},this._getSorters(),t.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"],a.modes)this._initLayoutMode(e)},c.reloadItems=function(){this.itemGUID=0,t.prototype.reloadItems.call(this)},c._itemize=function(){for(var e=t.prototype._itemize.apply(this,arguments),n=0;ns||as?1:-1)*((void 0!==t[o]?t[o]:t)?1:-1)}return 0}}(this.sortHistory,this.options.sortAscending);this.filteredItems.sort(t)}},c._getIsSameSortBy=function(e){for(var t=0;t1&&n+e>this.cols?0:n;var r=t.size.outerWidth&&t.size.outerHeight;return this.horizontalColIndex=r?n+e:this.horizontalColIndex,{col:n,y:this._getColGroupY(n,e)}},r._manageStamp=function(e){var n=t(e),r=this._getElementOffset(e),i=this._getOption("originLeft")?r.left:r.right,o=i+n.outerWidth,a=Math.floor(i/this.columnWidth);a=Math.max(0,a);var s=Math.floor(o/this.columnWidth);s-=o%this.columnWidth?0:1,s=Math.min(this.cols-1,s);for(var u=(this._getOption("originTop")?r.top:r.bottom)+n.outerHeight,l=a;l<=s;l++)this.colYs[l]=Math.max(u,this.colYs[l])},r._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var e={height:this.maxY};return this._getOption("fitWidth")&&(e.width=this._getContainerFitWidth()),e},r._getContainerFitWidth=function(){for(var e=0,t=this.cols;--t&&0===this.colYs[t];)e++;return(this.cols-e)*this.columnWidth-this.gutter},r.needsResizeLayout=function(){var e=this.containerWidth;return this.getContainerWidth(),e!=this.containerWidth},n})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;window,i=[n(32)],void 0===(o="function"==typeof(r=function(e){"use strict";var t=e.create("fitRows"),n=t.prototype;return n._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},n._getItemLayoutPosition=function(e){e.getSize();var t=e.size.outerWidth+this.gutter,n=this.isotope.size.innerWidth+this.gutter;0!==this.x&&t+this.x>n&&(this.x=0,this.y=this.maxY);var r={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+e.size.outerHeight),this.x+=t,r},n._getContainerSize=function(){return{height:this.maxY}},t})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;window,i=[n(32)],void 0===(o="function"==typeof(r=function(e){"use strict";var t=e.create("vertical",{horizontalAlignment:0}),n=t.prototype;return n._resetLayout=function(){this.y=0},n._getItemLayoutPosition=function(e){e.getSize();var t=(this.isotope.size.innerWidth-e.size.outerWidth)*this.options.horizontalAlignment,n=this.y;return this.y+=e.size.outerHeight,{x:t,y:n}},n._getContainerSize=function(){return{height:this.y}},t})?r.apply(t,i):r)||(e.exports=o)},,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return U}));var r="en",i={};function o(){return r}function a(e){return i[e]}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.localeMatcher||"lookup";switch(n){case"lookup":case"best fit":return u(e);default:throw new RangeError('Invalid "localeMatcher" option: '.concat(n))}}function u(e){if(a(e))return e;for(var t=e.split("-");e.length>1;)if(t.pop(),a(e=t.join("-")))return e}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};l(this,e),f(this,"numeric","always"),f(this,"style","long"),f(this,"localeMatcher","lookup");var r=n.numeric,i=n.style,a=n.localeMatcher;if(r){if(p.indexOf(r)<0)throw new RangeError('Invalid "numeric" option: '.concat(r));this.numeric=r}if(i){if(h.indexOf(i)<0)throw new RangeError('Invalid "style" option: '.concat(i));this.style=i}if(a&&(this.localeMatcher=a),"string"==typeof t&&(t=[t]),t.push(o()),this.locale=e.supportedLocalesOf(t,{localeMatcher:this.localeMatcher})[0],!this.locale)throw new TypeError("No supported locale was found");this.locale=s(this.locale,{localeMatcher:this.localeMatcher}),"undefined"!=typeof Intl&&Intl.NumberFormat&&(this.numberFormat=new Intl.NumberFormat(this.locale))}var t,n,r;return t=e,(n=[{key:"format",value:function(e,t){return this.getRule(e,t).replace("{0}",this.formatNumber(Math.abs(e)))}},{key:"formatToParts",value:function(e,t){var n=this.getRule(e,t),r=n.indexOf("{0}");if(r<0)return[{type:"literal",value:n}];var i=[];return r>0&&i.push({type:"literal",value:n.slice(0,r)}),i.push({unit:t,type:"integer",value:this.formatNumber(Math.abs(e))}),r+"{0}".length1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.filter((function(e){return s(e,t)}))},m.addLocale=function(e){if(!e)throw new Error("No locale data passed");i[e.locale]=e},m.setDefaultLocale=function(e){r=e},m.getDefaultLocale=o;var y=function(){function e(){var t,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r={},(n="cache")in(t=this)?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r}var t,n,r;return t=e,(n=[{key:"get",value:function(){for(var e=this.cache,t=arguments.length,n=new Array(t),r=0;r=n.length)break;o=n[i++]}else{if((i=n.next()).done)break;o=i.value}var a=o;if(a.unit===t)return a}}function w(e){return e instanceof Date?e:new Date(e)}var C=[{factor:1,unit:"now"},{threshold:1,threshold_for_now:45,factor:1,unit:"second"},{threshold:45,factor:60,unit:"minute"},{threshold:150,factor:60,granularity:5,unit:"minute"},{threshold:1350,factor:1800,unit:"half-hour"},{threshold:2550,threshold_for_minute:3150,factor:3600,unit:"hour"},{threshold:73800,factor:b,unit:"day"},{threshold:475200,factor:7*b,unit:"week"},{threshold:2116800,factor:2630016,unit:"month"},{threshold:27615168,factor:31556952,unit:"year"}];function x(e){return(x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function T(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:C;if(0!==(r=k(r,n)).length){var i=N(e,t,r),o=r[i];if(-1!==i){if(o.granularity){var a=Math.round(Math.abs(e)/o.factor/o.granularity)*o.granularity;if(0===a&&i>0)return r[i-1]}return o}}}function S(e,t,n,r){var i;if(e&&(e.id||e.unit)&&(i=t["threshold_for_".concat(e.id||e.unit)]),void 0===i&&(i=t.threshold),"function"==typeof i&&(i=i(n,r)),e&&"number"!=typeof i){var o=x(i);throw new Error('Each step of a gradation must have a threshold defined except for the first one. Got "'.concat(i,'", ').concat(o,". Step: ").concat(JSON.stringify(t)))}return i}function N(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return Math.abs(e)=0}))}function O(e){return(O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function E(e,t){var n=e,r=Array.isArray(n),i=0;for(n=r?n:n[Symbol.iterator]();;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if((i=n.next()).done)break;o=i.value}var a=o;if(t(a))return a;for(var s=a.split("-");s.length>1;)if(s.pop(),t(a=s.join("-")))return a}throw new Error("No locale data has been registered for any of the locales: ".concat(e.join(", ")))}function A(){return"object"===("undefined"==typeof Intl?"undefined":O(Intl))&&"function"==typeof Intl.DateTimeFormat}var L={gradation:C,flavour:["long-convenient","long"],units:["now","minute","hour","day","week","month","year"]},R=[{factor:1,unit:"now"},{threshold:.5,factor:1,unit:"second"},{threshold:59.5,factor:60,unit:"minute"},{threshold:3570,factor:3600,unit:"hour"},{threshold:84600,factor:b,unit:"day"},{threshold:561600,factor:7*b,unit:"week"},{threshold:2116800,factor:2630016,unit:"month"},{threshold:30245184,factor:31556952,unit:"year"}];function j(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:[];B(this,e),"string"==typeof t&&(t=[t]),this.locale=E(t.concat(m.getDefaultLocale()),F),"undefined"!=typeof Intl&&Intl.NumberFormat&&(this.numberFormat=new Intl.NumberFormat(this.locale)),this.relativeTimeFormatCache=new y}var t,n,r;return t=e,(n=[{key:"format",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:L;if("string"==typeof t)switch(t){case"twitter":t=$;break;case"time":t=P;break;default:t=L}var n=W(e),r=n.date,i=n.time,o=this.getLocaleData(t.flavour),a=o.flavour,s=o.localeData,u=t.now||Date.now(),l=(u-i)/1e3;if(t.custom){var c=t.custom({now:u,date:r,time:i,elapsed:l,locale:this.locale});if(void 0!==c)return c}var f=q(s,t.units);if(0===f.length)return console.error('Units "'.concat(f.join(", "),'" were not found in locale data for "').concat(this.locale,'".')),"";var d=T(l,u,f,t.gradation);if(!d)return"";if(d.format)return d.format(r||i,this.locale);var p=d.unit,h=d.factor,m=d.granularity,g=Math.abs(l)/h;if(m&&(g=Math.round(g/m)*m),"now"===p)return V(s,-1*Math.sign(l));switch(a){case"long":case"short":case"narrow":return this.getFormatter(a).format(-1*Math.sign(l)*Math.round(g),p);default:return this.formatValue(-1*Math.sign(l)*Math.round(g),p,s)}}},{key:"formatValue",value:function(e,t,n){return this.getRule(e,t,n).replace("{0}",this.formatNumber(Math.abs(e)))}},{key:"getRule",value:function(e,t,n){var r=n[t];if("string"==typeof r)return r;var i=r[e<=0?"past":"future"]||r;if("string"==typeof i)return i;var o=F(this.locale).quantify,a=o&&o(Math.abs(e));return i[a=a||"other"]||i.other}},{key:"formatNumber",value:function(e){return this.numberFormat?this.numberFormat.format(e):String(e)}},{key:"getFormatter",value:function(e){return this.relativeTimeFormatCache.get(this.locale,e)||this.relativeTimeFormatCache.put(this.locale,e,new m(this.locale,{style:e}))}},{key:"getLocaleData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=F(this.locale);"string"==typeof e&&(e=[e]);var n=e=e.concat("long"),r=Array.isArray(n),i=0;for(n=r?n:n[Symbol.iterator]();;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if((i=n.next()).done)break;o=i.value}var a=o;if(t[a])return{flavour:a,localeData:t[a]}}}}])&&H(t.prototype,n),r&&H(t,r),e}();function W(e){if(e.constructor===Date||"object"===z(t=e)&&"function"==typeof t.getTime)return{date:e,time:e.getTime()};var t;if("number"==typeof e)return{time:e};throw new Error("Unsupported relative time formatter input: ".concat(z(e),", ").concat(e))}function q(e,t){var n=Object.keys(e);return t&&(n=t.filter((function(e){return n.indexOf(e)>=0}))),(!t||t.indexOf("now")>=0)&&n.indexOf("now")<0&&e.second.current&&n.unshift("now"),n}function V(e,t){return e.now?"string"==typeof e.now?e.now:t<=0?e.now.past:e.now.future:e.second.current}U.getDefaultLocale=m.getDefaultLocale,U.setDefaultLocale=m.setDefaultLocale,U.addLocale=function(e){!function(e){if(!e)throw new Error("[javascript-time-ago] No locale data passed.");D[e.locale]=e}(e),m.addLocale(e)},U.locale=U.addLocale}]); \ No newline at end of file diff --git a/themes/dark/assets/js/vendors~date-fns.js b/themes/dark/assets/js/vendors~date-fns.js index 6b1b622e05..c966126b6c 100644 --- a/themes/dark/assets/js/vendors~date-fns.js +++ b/themes/dark/assets/js/vendors~date-fns.js @@ -1,399 +1 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["vendors~date-fns"],{ - -/***/ "./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js ***! - \*****************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addLeadingZeros; });\nfunction addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n\n while (output.length < targetLength) {\n output = '0' + output;\n }\n\n return sign + output;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/format/formatters/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/format/formatters/index.js ***! - \*******************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lightFormatters/index.js */ \"./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js\");\n/* harmony import */ var _lib_getUTCDayOfYear_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../_lib/getUTCDayOfYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js\");\n/* harmony import */ var _lib_getUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../_lib/getUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js\");\n/* harmony import */ var _lib_getUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../_lib/getUTCISOWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js\");\n/* harmony import */ var _lib_getUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../_lib/getUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCWeek/index.js\");\n/* harmony import */ var _lib_getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../_lib/getUTCWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js\");\n/* harmony import */ var _addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../addLeadingZeros/index.js */ \"./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js\");\n\n\n\n\n\n\n\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n /*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\n};\nvar formatters = {\n // Era\n G: function (date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].y(date, token);\n },\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n var signedWeekYear = Object(_lib_getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(date, options); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year\n\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(twoDigitYear, 2);\n } // Ordinal number\n\n\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n } // Padding\n\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function (date, token) {\n var isoWeekYear = Object(_lib_getUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(date); // Padding\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n var year = date.getUTCFullYear();\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(year, token.length);\n },\n // Quarter\n Q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'QQ':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'qq':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n case 'M':\n case 'MM':\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].M(date, token);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n\n case 'LL':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(month + 1, 2);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function (date, token, localize, options) {\n var week = Object(_lib_getUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(date, options);\n\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(week, token.length);\n },\n // ISO week of year\n I: function (date, token, localize) {\n var isoWeek = Object(_lib_getUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date);\n\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(isoWeek, token.length);\n },\n // Day of the month\n d: function (date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].d(date, token);\n },\n // Day of year\n D: function (date, token, localize) {\n var dayOfYear = Object(_lib_getUTCDayOfYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(dayOfYear, token.length);\n },\n // Day of week\n E: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'ee':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'cc':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n\n case 'ii':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(isoDayOfWeek, token.length);\n // 2nd\n\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].h(date, token);\n },\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].H(date, token);\n },\n // Hour [0-11]\n K: function (date, token, localize) {\n var hours = date.getUTCHours() % 12;\n\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(hours, token.length);\n },\n // Hour [1-24]\n k: function (date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(hours, token.length);\n },\n // Minute\n m: function (date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].m(date, token);\n },\n // Second\n s: function (date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].s(date, token);\n },\n // Fraction of second\n S: function (date, token) {\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return 'Z';\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(timestamp, token.length);\n }\n};\n\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n\n if (minutes === 0) {\n return sign + String(hours);\n }\n\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(Math.abs(offset) / 60, 2);\n }\n\n return formatTimezone(offset, dirtyDelimiter);\n}\n\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(Math.floor(absOffset / 60), 2);\n var minutes = Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (formatters);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/format/formatters/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js": -/*!************************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js ***! - \************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../addLeadingZeros/index.js */ \"./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js\");\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nvar formatters = {\n // Year\n y: function (date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function (date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(month + 1, 2);\n },\n // Day of the month\n d: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function (date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return dayPeriodEnumValue.toUpperCase();\n\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCHours(), token.length);\n },\n // Minute\n m: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function (date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fractionalSeconds, token.length);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (formatters);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/format/longFormatters/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/format/longFormatters/index.js ***! - \***********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\nfunction dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n}\n\nfunction timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n}\n\nfunction dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/);\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n}\n\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (longFormatters);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/format/longFormatters/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js ***! - \*********************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getTimezoneOffsetInMilliseconds; });\nvar MILLISECONDS_IN_MINUTE = 60000;\n\nfunction getDateMillisecondsPart(date) {\n return date.getTime() % MILLISECONDS_IN_MINUTE;\n}\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\n\n\nfunction getTimezoneOffsetInMilliseconds(dirtyDate) {\n var date = new Date(dirtyDate.getTime());\n var baseTimezoneOffset = Math.ceil(date.getTimezoneOffset());\n date.setSeconds(0, 0);\n var hasNegativeUTCOffset = baseTimezoneOffset > 0;\n var millisecondsPartOfTimezoneOffset = hasNegativeUTCOffset ? (MILLISECONDS_IN_MINUTE + getDateMillisecondsPart(date)) % MILLISECONDS_IN_MINUTE : getDateMillisecondsPart(date);\n return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js ***! - \*****************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCDayOfYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\nvar MILLISECONDS_IN_DAY = 86400000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCDayOfYear(dirtyDate) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(1, arguments);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js": -/*!***************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js ***! - \***************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCISOWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js\");\n/* harmony import */ var _startOfUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfUTCISOWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n\nvar MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCISOWeek(dirtyDate) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(1, arguments);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var diff = Object(_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date).getTime() - Object(_startOfUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js ***! - \*******************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCISOWeekYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCISOWeekYear(dirtyDate) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(1, arguments);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = Object(_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = Object(_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/getUTCWeek/index.js": -/*!************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/getUTCWeek/index.js ***! - \************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js\");\n/* harmony import */ var _startOfUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfUTCWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n\nvar MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCWeek(dirtyDate, options) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(1, arguments);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var diff = Object(_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date, options).getTime() - Object(_startOfUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date, options).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/getUTCWeek/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js": -/*!****************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js ***! - \****************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCWeekYear; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCWeekYear(dirtyDate, dirtyOptions) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(1, arguments);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, dirtyOptions);\n var year = date.getUTCFullYear();\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = Object(_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(firstWeekOfNextYear, dirtyOptions);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = Object(_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(firstWeekOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/protectedTokens/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/protectedTokens/index.js ***! - \*****************************************************************/ -/*! exports provided: isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isProtectedDayOfYearToken\", function() { return isProtectedDayOfYearToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isProtectedWeekYearToken\", function() { return isProtectedWeekYearToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"throwProtectedError\", function() { return throwProtectedError; });\nvar protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nfunction isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nfunction isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nfunction throwProtectedError(token) {\n if (token === 'YYYY') {\n throw new RangeError('Use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr');\n } else if (token === 'YY') {\n throw new RangeError('Use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr');\n } else if (token === 'D') {\n throw new RangeError('Use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr');\n } else if (token === 'DD') {\n throw new RangeError('Use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr');\n }\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/protectedTokens/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/requiredArgs/index.js": -/*!**************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/requiredArgs/index.js ***! - \**************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return requiredArgs; });\nfunction requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/requiredArgs/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js ***! - \*******************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfUTCISOWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCISOWeek(dirtyDate) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(1, arguments);\n var weekStartsOn = 1;\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js ***! - \***********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfUTCISOWeekYear; });\n/* harmony import */ var _getUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getUTCISOWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js\");\n/* harmony import */ var _startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCISOWeekYear(dirtyDate) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(1, arguments);\n var year = Object(_getUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = Object(_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuary);\n return date;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js": -/*!****************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js ***! - \****************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfUTCWeek; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCWeek(dirtyDate, dirtyOptions) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js ***! - \********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfUTCWeekYear; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../getUTCWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js\");\n/* harmony import */ var _startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCWeekYear(dirtyDate, dirtyOptions) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.firstWeekContainsDate);\n var year = Object(_getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, dirtyOptions);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = Object(_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(firstWeek, dirtyOptions);\n return date;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/toInteger/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/toInteger/index.js ***! - \***********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return toInteger; });\nfunction toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/toInteger/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/addMilliseconds/index.js": -/*!************************************************************!*\ - !*** ./node_modules/date-fns/esm/addMilliseconds/index.js ***! - \************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addMilliseconds; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_lib/requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\n\nfunction addMilliseconds(dirtyDate, dirtyAmount) {\n Object(_lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(2, arguments);\n var timestamp = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate).getTime();\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return new Date(timestamp + amount);\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/addMilliseconds/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/format/index.js": -/*!***************************************************!*\ - !*** ./node_modules/date-fns/esm/format/index.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return format; });\n/* harmony import */ var _isValid_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isValid/index.js */ \"./node_modules/date-fns/esm/isValid/index.js\");\n/* harmony import */ var _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../locale/en-US/index.js */ \"./node_modules/date-fns/esm/locale/en-US/index.js\");\n/* harmony import */ var _subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../subMilliseconds/index.js */ \"./node_modules/date-fns/esm/subMilliseconds/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_format_formatters_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_lib/format/formatters/index.js */ \"./node_modules/date-fns/esm/_lib/format/formatters/index.js\");\n/* harmony import */ var _lib_format_longFormatters_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_lib/format/longFormatters/index.js */ \"./node_modules/date-fns/esm/_lib/format/longFormatters/index.js\");\n/* harmony import */ var _lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_lib/getTimezoneOffsetInMilliseconds/index.js */ \"./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\");\n/* harmony import */ var _lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../_lib/protectedTokens/index.js */ \"./node_modules/date-fns/esm/_lib/protectedTokens/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../_lib/requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n\n\n\n\n\n\n // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Su | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Su | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | a..aaa | AM, PM | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bbb | AM, PM, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 0001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 05/29/1453 | 7 |\n * | | PP | May 29, 1453 | 7 |\n * | | PPP | May 29th, 1453 | 7 |\n * | | PPPP | Sunday, May 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 05/29/1453, 12:00 AM | 7 |\n * | | PPpp | May 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | May 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Sunday, May 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 9. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The second argument is now required for the sake of explicitness.\n *\n * ```javascript\n * // Before v2.0.0\n * format(new Date(2016, 0, 1))\n *\n * // v2.0.0 onward\n * format(new Date(2016, 0, 1), \"yyyy-MM-dd'T'HH:mm:ss.SSSxxx\")\n * ```\n *\n * - New format string API for `format` function\n * which is based on [Unicode Technical Standard #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n * See [this post](https://blog.date-fns.org/post/unicode-tokens-in-date-fns-v2-sreatyki91jg) for more details.\n *\n * - Characters are now escaped using single quote symbols (`'`) instead of square brackets.\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://git.io/fxCyr\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://git.io/fxCyr\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * var result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * var result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * var result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nfunction format(dirtyDate, dirtyFormatStr, dirtyOptions) {\n Object(_lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var options = dirtyOptions || {};\n var locale = options.locale || _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n var localeFirstWeekContainsDate = locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var localeWeekStartsOn = locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n var originalDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(dirtyDate);\n\n if (!Object(_isValid_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(originalDate)) {\n throw new RangeError('Invalid time value');\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n\n\n var timezoneOffset = Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(originalDate);\n var utcDate = Object(_subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = _lib_format_longFormatters_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"][firstCharacter];\n return longFormatter(substring, locale.formatLong, formatterOptions);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n\n var firstCharacter = substring[0];\n\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n\n var formatter = _lib_format_formatters_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"][firstCharacter];\n\n if (formatter) {\n if (!options.useAdditionalWeekYearTokens && Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__[\"isProtectedWeekYearToken\"])(substring)) {\n Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__[\"throwProtectedError\"])(substring);\n }\n\n if (!options.useAdditionalDayOfYearTokens && Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__[\"isProtectedDayOfYearToken\"])(substring)) {\n Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__[\"throwProtectedError\"])(substring);\n }\n\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n return substring;\n }).join('');\n return result;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/format/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/isValid/index.js": -/*!****************************************************!*\ - !*** ./node_modules/date-fns/esm/isValid/index.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isValid; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_lib/requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Now `isValid` doesn't throw an exception\n * if the first argument is not an instance of Date.\n * Instead, argument is converted beforehand using `toDate`.\n *\n * Examples:\n *\n * | `isValid` argument | Before v2.0.0 | v2.0.0 onward |\n * |---------------------------|---------------|---------------|\n * | `new Date()` | `true` | `true` |\n * | `new Date('2016-01-01')` | `true` | `true` |\n * | `new Date('')` | `false` | `false` |\n * | `new Date(1488370835081)` | `true` | `true` |\n * | `new Date(NaN)` | `false` | `false` |\n * | `'2016-01-01'` | `TypeError` | `false` |\n * | `''` | `TypeError` | `false` |\n * | `1488370835081` | `TypeError` | `true` |\n * | `NaN` | `TypeError` | `false` |\n *\n * We introduce this change to make *date-fns* consistent with ECMAScript behavior\n * that try to coerce arguments to the expected type\n * (which is also the case with other *date-fns* functions).\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * var result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * var result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * var result = isValid(new Date(''))\n * //=> false\n */\n\nfunction isValid(dirtyDate) {\n Object(_lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(1, arguments);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n return !isNaN(date);\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/isValid/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js": -/*!**************************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js ***! - \**************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildFormatLongFn; });\nfunction buildFormatLongFn(args) {\n return function (dirtyOptions) {\n var options = dirtyOptions || {};\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js": -/*!************************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js ***! - \************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildLocalizeFn; });\nfunction buildLocalizeFn(args) {\n return function (dirtyIndex, dirtyOptions) {\n var options = dirtyOptions || {};\n var context = options.context ? String(options.context) : 'standalone';\n var valuesArray;\n\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n\n var _width = options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n return valuesArray[index];\n };\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js": -/*!*********************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js ***! - \*********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildMatchFn; });\nfunction buildMatchFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var value;\n\n if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {\n value = findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n } else {\n value = findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n }\n\n value = args.valueCallback ? args.valueCallback(value) : value;\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}\n\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n}\n\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js": -/*!****************************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js ***! - \****************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildMatchPatternFn; });\nfunction buildMatchPatternFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var matchResult = string.match(args.matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n\n if (!parseResult) {\n return null;\n }\n\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js ***! - \*****************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return formatDistance; });\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nfunction formatDistance(token, count, options) {\n options = options || {};\n var result;\n\n if (typeof formatDistanceLocale[token] === 'string') {\n result = formatDistanceLocale[token];\n } else if (count === 1) {\n result = formatDistanceLocale[token].one;\n } else {\n result = formatDistanceLocale[token].other.replace('{{count}}', count);\n }\n\n if (options.addSuffix) {\n if (options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js": -/*!*************************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js ***! - \*************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_buildFormatLongFn_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../_lib/buildFormatLongFn/index.js */ \"./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js\");\n\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: Object(_lib_buildFormatLongFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: Object(_lib_buildFormatLongFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: Object(_lib_buildFormatLongFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (formatLong);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js ***! - \*****************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return formatRelative; });\nvar formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nfunction formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js ***! - \***********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../_lib/buildLocalizeFn/index.js */ \"./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js\");\n\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized.\n // If you are making a new locale based on this one, check if the same is true for the language you're working on.\n // Generally, formatted dates should look like they are in the middle of a sentence,\n // e.g. in Spanish language the weekdays and months should be in the lowercase.\n\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nfunction ordinalNumber(dirtyNumber, _dirtyOptions) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`:\n //\n // var options = dirtyOptions || {}\n // var unit = String(options.unit)\n //\n // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n}\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (localize);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js ***! - \********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_buildMatchPatternFn_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../_lib/buildMatchPatternFn/index.js */ \"./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js\");\n/* harmony import */ var _lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../_lib/buildMatchFn/index.js */ \"./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js\");\n\n\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: Object(_lib_buildMatchPatternFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10);\n }\n }),\n era: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1;\n }\n }),\n month: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (match);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/en-US/index.js": -/*!*********************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/en-US/index.js ***! - \*********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_formatDistance_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_lib/formatDistance/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js\");\n/* harmony import */ var _lib_formatLong_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_lib/formatLong/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js\");\n/* harmony import */ var _lib_formatRelative_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_lib/formatRelative/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js\");\n/* harmony import */ var _lib_localize_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_lib/localize/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js\");\n/* harmony import */ var _lib_match_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_lib/match/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js\");\n\n\n\n\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\n\nvar locale = {\n code: 'en-US',\n formatDistance: _lib_formatDistance_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n formatLong: _lib_formatLong_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n formatRelative: _lib_formatRelative_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n localize: _lib_localize_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n match: _lib_match_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (locale);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/en-US/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/parseISO/index.js": -/*!*****************************************************!*\ - !*** ./node_modules/date-fns/esm/parseISO/index.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return parseISO; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_lib/requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE = 60000;\nvar DEFAULT_ADDITIONAL_DIGITS = 2;\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The previous `parse` implementation was renamed to `parseISO`.\n *\n * ```javascript\n * // Before v2.0.0\n * parse('2016-01-01')\n *\n * // v2.0.0 onward\n * parseISO('2016-01-01')\n * ```\n *\n * - `parseISO` now validates separate date and time values in ISO-8601 strings\n * and returns `Invalid Date` if the date is invalid.\n *\n * ```javascript\n * parseISO('2018-13-32')\n * //=> Invalid Date\n * ```\n *\n * - `parseISO` now doesn't fall back to `new Date` constructor\n * if it fails to parse a string argument. Instead, it returns `Invalid Date`.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * var result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\n\nfunction parseISO(argument, dirtyOptions) {\n Object(_lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(1, arguments);\n var options = dirtyOptions || {};\n var additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.additionalDigits);\n\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n\n var dateStrings = splitDateString(argument);\n var date;\n\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (isNaN(date) || !date) {\n return new Date(NaN);\n }\n\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n\n if (isNaN(time) || time === null) {\n return new Date(NaN);\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time); // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n\n var result = new Date(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate(), dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n result.setFullYear(dirtyDate.getUTCFullYear());\n return result;\n }\n\n return new Date(timestamp + time + offset);\n}\n\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString;\n\n if (/:/.test(array[0])) {\n dateStrings.date = null;\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex); // Invalid ISO-formatted year\n\n if (!captures) return {\n year: null\n };\n var year = captures[1] && parseInt(captures[1]);\n var century = captures[2] && parseInt(captures[2]);\n return {\n year: century == null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return null;\n var captures = dateString.match(dateRegex); // Invalid ISO-formatted string\n\n if (!captures) return null;\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return null; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1000;\n}\n\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n} // Validation functions\n// February is null to handle the leap year (using ||)\n\n\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100;\n}\n\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/parseISO/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/subMilliseconds/index.js": -/*!************************************************************!*\ - !*** ./node_modules/date-fns/esm/subMilliseconds/index.js ***! - \************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return subMilliseconds; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addMilliseconds/index.js */ \"./node_modules/date-fns/esm/addMilliseconds/index.js\");\n/* harmony import */ var _lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_lib/requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * var result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\n\nfunction subMilliseconds(dirtyDate, dirtyAmount) {\n Object(_lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(2, arguments);\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, -amount);\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/subMilliseconds/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/toDate/index.js": -/*!***************************************************!*\ - !*** ./node_modules/date-fns/esm/toDate/index.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return toDate; });\n/* harmony import */ var _lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nfunction toDate(argument) {\n Object(_lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/toDate/index.js?"); - -/***/ }) - -}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{10:function(t,e,n){"use strict";function r(t){if(null===t||!0===t||!1===t)return NaN;var e=Number(t);return isNaN(e)?e:e<0?Math.ceil(e):Math.floor(e)}n.d(e,"a",(function(){return r}))},132:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(10),a=n(9),i={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},o=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,u=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,s=/^([+-])(\d{2})(?::?(\d{2}))?$/;function c(t,e){Object(a.a)(1,arguments);var n=e||{},i=null==n.additionalDigits?2:Object(r.a)(n.additionalDigits);if(2!==i&&1!==i&&0!==i)throw new RangeError("additionalDigits must be 0, 1 or 2");if("string"!=typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var o,u=d(t);if(u.date){var s=l(u.date,i);o=f(s.restDateString,s.year)}if(isNaN(o)||!o)return new Date(NaN);var c,h=o.getTime(),g=0;if(u.time&&(g=m(u.time),isNaN(g)||null===g))return new Date(NaN);if(!u.timezone){var b=new Date(h+g),v=new Date(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate(),b.getUTCHours(),b.getUTCMinutes(),b.getUTCSeconds(),b.getUTCMilliseconds());return v.setFullYear(b.getUTCFullYear()),v}return c=w(u.timezone),isNaN(c)?new Date(NaN):new Date(h+g+c)}function d(t){var e,n={},r=t.split(i.dateTimeDelimiter);if(/:/.test(r[0])?(n.date=null,e=r[0]):(n.date=r[0],e=r[1],i.timeZoneDelimiter.test(n.date)&&(n.date=t.split(i.timeZoneDelimiter)[0],e=t.substr(n.date.length,t.length))),e){var a=i.timezone.exec(e);a?(n.time=e.replace(a[1],""),n.timezone=a[1]):n.time=e}return n}function l(t,e){var n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),r=t.match(n);if(!r)return{year:null};var a=r[1]&&parseInt(r[1]),i=r[2]&&parseInt(r[2]);return{year:null==i?a:100*i,restDateString:t.slice((r[1]||r[2]).length)}}function f(t,e){if(null===e)return null;var n=t.match(o);if(!n)return null;var r=!!n[4],a=h(n[1]),i=h(n[2])-1,u=h(n[3]),s=h(n[4]),c=h(n[5])-1;if(r)return function(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}(0,s,c)?function(t,e,n){var r=new Date(0);r.setUTCFullYear(t,0,4);var a=r.getUTCDay()||7,i=7*(e-1)+n+1-a;return r.setUTCDate(r.getUTCDate()+i),r}(e,s,c):new Date(NaN);var d=new Date(0);return function(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(b[e]||(v(t)?29:28))}(e,i,u)&&function(t,e){return e>=1&&e<=(v(t)?366:365)}(e,a)?(d.setUTCFullYear(e,i,Math.max(a,u)),d):new Date(NaN)}function h(t){return t?parseInt(t):1}function m(t){var e=t.match(u);if(!e)return null;var n=g(e[1]),r=g(e[2]),a=g(e[3]);return function(t,e,n){if(24===t)return 0===e&&0===n;return n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}(n,r,a)?36e5*n+6e4*r+1e3*a:NaN}function g(t){return t&&parseFloat(t.replace(",","."))||0}function w(t){if("Z"===t)return 0;var e=t.match(s);if(!e)return 0;var n="+"===e[1]?-1:1,r=parseInt(e[2]),a=e[3]&&parseInt(e[3])||0;return function(t,e){return e>=0&&e<=59}(0,a)?n*(36e5*r+6e4*a):NaN}var b=[31,null,31,30,31,30,31,31,30,31,30,31];function v(t){return t%400==0||t%4==0&&t%100}},19:function(t,e,n){"use strict";n.d(e,"a",(function(){return $}));var r=n(9);function a(t){Object(r.a)(1,arguments);var e=Object.prototype.toString.call(t);return t instanceof Date||"object"==typeof t&&"[object Date]"===e?new Date(t.getTime()):"number"==typeof t||"[object Number]"===e?new Date(t):("string"!=typeof t&&"[object String]"!==e||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn((new Error).stack)),new Date(NaN))}function i(t){Object(r.a)(1,arguments);var e=a(t);return!isNaN(e)}var o={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function u(t){return function(e){var n=e||{},r=n.width?String(n.width):t.defaultWidth;return t.formats[r]||t.formats[t.defaultWidth]}}var s={date:u({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:u({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:u({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},c={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function d(t){return function(e,n){var r,a=n||{};if("formatting"===(a.context?String(a.context):"standalone")&&t.formattingValues){var i=t.defaultFormattingWidth||t.defaultWidth,o=a.width?String(a.width):i;r=t.formattingValues[o]||t.formattingValues[i]}else{var u=t.defaultWidth,s=a.width?String(a.width):t.defaultWidth;r=t.values[s]||t.values[u]}return r[t.argumentCallback?t.argumentCallback(e):e]}}function l(t){return function(e,n){var r=String(e),a=n||{},i=a.width,o=i&&t.matchPatterns[i]||t.matchPatterns[t.defaultMatchWidth],u=r.match(o);if(!u)return null;var s,c=u[0],d=i&&t.parsePatterns[i]||t.parsePatterns[t.defaultParseWidth];return s="[object Array]"===Object.prototype.toString.call(d)?function(t,e){for(var n=0;n0?"in "+r:r+" ago":r},formatLong:s,formatRelative:function(t,e,n,r){return c[t]},localize:{ordinalNumber:function(t,e){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:d({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:d({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(t){return Number(t)-1}}),month:d({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:d({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:d({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(f={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(t){return parseInt(t,10)}},function(t,e){var n=String(t),r=e||{},a=n.match(f.matchPattern);if(!a)return null;var i=a[0],o=n.match(f.parsePattern);if(!o)return null;var u=f.valueCallback?f.valueCallback(o[0]):o[0];return{value:u=r.valueCallback?r.valueCallback(u):u,rest:n.slice(i.length)}}),era:l({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:l({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:l({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:l({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:l({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}},m=n(10);function g(t,e){Object(r.a)(2,arguments);var n=a(t).getTime(),i=Object(m.a)(e);return new Date(n+i)}function w(t,e){Object(r.a)(2,arguments);var n=Object(m.a)(e);return g(t,-n)}function b(t,e){for(var n=t<0?"-":"",r=Math.abs(t).toString();r.length0?n:1-n;return b("yy"===e?r%100:r,e.length)},M:function(t,e){var n=t.getUTCMonth();return"M"===e?String(n+1):b(n+1,2)},d:function(t,e){return b(t.getUTCDate(),e.length)},a:function(t,e){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":case"aaa":return n.toUpperCase();case"aaaaa":return n[0];case"aaaa":default:return"am"===n?"a.m.":"p.m."}},h:function(t,e){return b(t.getUTCHours()%12||12,e.length)},H:function(t,e){return b(t.getUTCHours(),e.length)},m:function(t,e){return b(t.getUTCMinutes(),e.length)},s:function(t,e){return b(t.getUTCSeconds(),e.length)},S:function(t,e){var n=e.length,r=t.getUTCMilliseconds();return b(Math.floor(r*Math.pow(10,n-3)),e.length)}};function y(t){Object(r.a)(1,arguments);var e=1,n=a(t),i=n.getUTCDay(),o=(i=o.getTime()?n+1:e.getTime()>=s.getTime()?n:n-1}function T(t){Object(r.a)(1,arguments);var e=p(t),n=new Date(0);n.setUTCFullYear(e,0,4),n.setUTCHours(0,0,0,0);var a=y(n);return a}function C(t,e){Object(r.a)(1,arguments);var n=e||{},i=n.locale,o=i&&i.options&&i.options.weekStartsOn,u=null==o?0:Object(m.a)(o),s=null==n.weekStartsOn?u:Object(m.a)(n.weekStartsOn);if(!(s>=0&&s<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var c=a(t),d=c.getUTCDay(),l=(d=1&&d<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var l=new Date(0);l.setUTCFullYear(i+1,0,d),l.setUTCHours(0,0,0,0);var f=C(l,e),h=new Date(0);h.setUTCFullYear(i,0,d),h.setUTCHours(0,0,0,0);var g=C(h,e);return n.getTime()>=f.getTime()?i+1:n.getTime()>=g.getTime()?i:i-1}function D(t,e){Object(r.a)(1,arguments);var n=e||{},a=n.locale,i=a&&a.options&&a.options.firstWeekContainsDate,o=null==i?1:Object(m.a)(i),u=null==n.firstWeekContainsDate?o:Object(m.a)(n.firstWeekContainsDate),s=M(t,e),c=new Date(0);c.setUTCFullYear(s,0,u),c.setUTCHours(0,0,0,0);var d=C(c,e);return d}var x="midnight",U="noon",O="morning",P="afternoon",S="evening",k="night";function N(t,e){var n=t>0?"-":"+",r=Math.abs(t),a=Math.floor(r/60),i=r%60;if(0===i)return n+String(a);var o=e||"";return n+String(a)+o+b(i,2)}function j(t,e){return t%60==0?(t>0?"-":"+")+b(Math.abs(t)/60,2):W(t,e)}function W(t,e){var n=e||"",r=t>0?"-":"+",a=Math.abs(t);return r+b(Math.floor(a/60),2)+n+b(a%60,2)}var Y={G:function(t,e,n){var r=t.getUTCFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if("yo"===e){var r=t.getUTCFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return v.y(t,e)},Y:function(t,e,n,r){var a=M(t,r),i=a>0?a:1-a;return"YY"===e?b(i%100,2):"Yo"===e?n.ordinalNumber(i,{unit:"year"}):b(i,e.length)},R:function(t,e){return b(p(t),e.length)},u:function(t,e){return b(t.getUTCFullYear(),e.length)},Q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return b(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return b(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){var r=t.getUTCMonth();switch(e){case"M":case"MM":return v.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){var r=t.getUTCMonth();switch(e){case"L":return String(r+1);case"LL":return b(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,i){var o=function(t,e){Object(r.a)(1,arguments);var n=a(t),i=C(n,e).getTime()-D(n,e).getTime();return Math.round(i/6048e5)+1}(t,i);return"wo"===e?n.ordinalNumber(o,{unit:"week"}):b(o,e.length)},I:function(t,e,n){var i=function(t){Object(r.a)(1,arguments);var e=a(t),n=y(e).getTime()-T(e).getTime();return Math.round(n/6048e5)+1}(t);return"Io"===e?n.ordinalNumber(i,{unit:"week"}):b(i,e.length)},d:function(t,e,n){return"do"===e?n.ordinalNumber(t.getUTCDate(),{unit:"date"}):v.d(t,e)},D:function(t,e,n){var i=function(t){Object(r.a)(1,arguments);var e=a(t),n=e.getTime();e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0);var i=e.getTime(),o=n-i;return Math.floor(o/864e5)+1}(t);return"Do"===e?n.ordinalNumber(i,{unit:"dayOfYear"}):b(i,e.length)},E:function(t,e,n){var r=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){var a=t.getUTCDay(),i=(a-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(i);case"ee":return b(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});case"eeee":default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){var a=t.getUTCDay(),i=(a-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(i);case"cc":return b(i,e.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});case"cccc":default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(t,e,n){var r=t.getUTCDay(),a=0===r?7:r;switch(e){case"i":return String(a);case"ii":return b(a,e.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){var r=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(t,e,n){var r,a=t.getUTCHours();switch(r=12===a?U:0===a?x:a/12>=1?"pm":"am",e){case"b":case"bb":case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,n){var r,a=t.getUTCHours();switch(r=a>=17?S:a>=12?P:a>=4?O:k,e){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,n){if("ho"===e){var r=t.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return v.h(t,e)},H:function(t,e,n){return"Ho"===e?n.ordinalNumber(t.getUTCHours(),{unit:"hour"}):v.H(t,e)},K:function(t,e,n){var r=t.getUTCHours()%12;return"Ko"===e?n.ordinalNumber(r,{unit:"hour"}):b(r,e.length)},k:function(t,e,n){var r=t.getUTCHours();return 0===r&&(r=24),"ko"===e?n.ordinalNumber(r,{unit:"hour"}):b(r,e.length)},m:function(t,e,n){return"mo"===e?n.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):v.m(t,e)},s:function(t,e,n){return"so"===e?n.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):v.s(t,e)},S:function(t,e){return v.S(t,e)},X:function(t,e,n,r){var a=(r._originalDate||t).getTimezoneOffset();if(0===a)return"Z";switch(e){case"X":return j(a);case"XXXX":case"XX":return W(a);case"XXXXX":case"XXX":default:return W(a,":")}},x:function(t,e,n,r){var a=(r._originalDate||t).getTimezoneOffset();switch(e){case"x":return j(a);case"xxxx":case"xx":return W(a);case"xxxxx":case"xxx":default:return W(a,":")}},O:function(t,e,n,r){var a=(r._originalDate||t).getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+N(a,":");case"OOOO":default:return"GMT"+W(a,":")}},z:function(t,e,n,r){var a=(r._originalDate||t).getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+N(a,":");case"zzzz":default:return"GMT"+W(a,":")}},t:function(t,e,n,r){var a=r._originalDate||t;return b(Math.floor(a.getTime()/1e3),e.length)},T:function(t,e,n,r){return b((r._originalDate||t).getTime(),e.length)}};function E(t,e){switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}}function q(t,e){switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}}var z={p:q,P:function(t,e){var n,r=t.match(/(P+)(p+)?/),a=r[1],i=r[2];if(!i)return E(t,e);switch(a){case"P":n=e.dateTime({width:"short"});break;case"PP":n=e.dateTime({width:"medium"});break;case"PPP":n=e.dateTime({width:"long"});break;case"PPPP":default:n=e.dateTime({width:"full"})}return n.replace("{{date}}",E(a,e)).replace("{{time}}",q(i,e))}};function F(t){return t.getTime()%6e4}function H(t){var e=new Date(t.getTime()),n=Math.ceil(e.getTimezoneOffset());return e.setSeconds(0,0),6e4*n+(n>0?(6e4+F(e))%6e4:F(e))}var X=["D","DD"],L=["YY","YYYY"];function Q(t){return-1!==X.indexOf(t)}function G(t){return-1!==L.indexOf(t)}function B(t){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr");if("YY"===t)throw new RangeError("Use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr");if("D"===t)throw new RangeError("Use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr");if("DD"===t)throw new RangeError("Use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr")}var A=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,R=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,I=/^'([^]*?)'?$/,J=/''/g,Z=/[a-zA-Z]/;function $(t,e,n){Object(r.a)(2,arguments);var o=String(e),u=n||{},s=u.locale||h,c=s.options&&s.options.firstWeekContainsDate,d=null==c?1:Object(m.a)(c),l=null==u.firstWeekContainsDate?d:Object(m.a)(u.firstWeekContainsDate);if(!(l>=1&&l<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var f=s.options&&s.options.weekStartsOn,g=null==f?0:Object(m.a)(f),b=null==u.weekStartsOn?g:Object(m.a)(u.weekStartsOn);if(!(b>=0&&b<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!s.localize)throw new RangeError("locale must contain localize property");if(!s.formatLong)throw new RangeError("locale must contain formatLong property");var v=a(t);if(!i(v))throw new RangeError("Invalid time value");var y=H(v),p=w(v,y),T={firstWeekContainsDate:l,weekStartsOn:b,locale:s,_originalDate:v},C=o.match(R).map((function(t){var e=t[0];return"p"===e||"P"===e?(0,z[e])(t,s.formatLong,T):t})).join("").match(A).map((function(t){if("''"===t)return"'";var e=t[0];if("'"===e)return _(t);var n=Y[e];if(n)return!u.useAdditionalWeekYearTokens&&G(t)&&B(t),!u.useAdditionalDayOfYearTokens&&Q(t)&&B(t),n(p,t,s.localize,T);if(e.match(Z))throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`");return t})).join("");return C}function _(t){return t.match(I)[1].replace(J,"'")}},9:function(t,e,n){"use strict";function r(t,e){if(e.length1?"s":"")+" required, but only "+e.length+" present")}n.d(e,"a",(function(){return r}))}}]); \ No newline at end of file diff --git a/themes/light/assets/css/bootstrap-formhelpers.min.css b/themes/light/assets/css/bootstrap-formhelpers.min.css index bc83644886..3634eddbfe 100644 --- a/themes/light/assets/css/bootstrap-formhelpers.min.css +++ b/themes/light/assets/css/bootstrap-formhelpers.min.css @@ -1,6 +1 @@ -/** -* bootstrap-formhelpers.js v2.3.0 by @vincentlamanna -* Copyright 2013 Vincent Lamanna -* http://www.apache.org/licenses/LICENSE-2.0 -*/ -.bfh-flag-AD,.bfh-flag-AE,.bfh-flag-AF,.bfh-flag-AG,.bfh-flag-AI,.bfh-flag-AL,.bfh-flag-AM,.bfh-flag-AN,.bfh-flag-AO,.bfh-flag-AQ,.bfh-flag-AR,.bfh-flag-AS,.bfh-flag-AT,.bfh-flag-AU,.bfh-flag-AW,.bfh-flag-AX,.bfh-flag-AZ,.bfh-flag-BA,.bfh-flag-BB,.bfh-flag-BD,.bfh-flag-BE,.bfh-flag-BG,.bfh-flag-BH,.bfh-flag-BI,.bfh-flag-BJ,.bfh-flag-BL,.bfh-flag-BM,.bfh-flag-BN,.bfh-flag-BO,.bfh-flag-BR,.bfh-flag-BS,.bfh-flag-BT,.bfh-flag-BW,.bfh-flag-BY,.bfh-flag-BZ,.bfh-flag-CA,.bfh-flag-CD,.bfh-flag-CF,.bfh-flag-CG,.bfh-flag-CH,.bfh-flag-CI,.bfh-flag-CL,.bfh-flag-CM,.bfh-flag-CN,.bfh-flag-CO,.bfh-flag-CR,.bfh-flag-CV,.bfh-flag-CY,.bfh-flag-CZ,.bfh-flag-DJ,.bfh-flag-DK,.bfh-flag-DM,.bfh-flag-DO,.bfh-flag-DZ,.bfh-flag-EC,.bfh-flag-EE,.bfh-flag-EG,.bfh-flag-EH,.bfh-flag-ER,.bfh-flag-ES,.bfh-flag-ET,.bfh-flag-EU,.bfh-flag-FI,.bfh-flag-FJ,.bfh-flag-FK,.bfh-flag-FM,.bfh-flag-FO,.bfh-flag-FR,.bfh-flag-FX,.bfh-flag-GF,.bfh-flag-GP,.bfh-flag-MQ,.bfh-flag-NC,.bfh-flag-PF,.bfh-flag-PM,.bfh-flag-RE,.bfh-flag-TF,.bfh-flag-WF,.bfh-flag-GA,.bfh-flag-GB,.bfh-flag-GD,.bfh-flag-GE,.bfh-flag-GG,.bfh-flag-GH,.bfh-flag-GL,.bfh-flag-GM,.bfh-flag-GN,.bfh-flag-GQ,.bfh-flag-GR,.bfh-flag-GS,.bfh-flag-GT,.bfh-flag-GU,.bfh-flag-GW,.bfh-flag-GY,.bfh-flag-HK,.bfh-flag-HN,.bfh-flag-HR,.bfh-flag-HT,.bfh-flag-HU,.bfh-flag-ID,.bfh-flag-IE,.bfh-flag-IL,.bfh-flag-IM,.bfh-flag-IN,.bfh-flag-IQ,.bfh-flag-IS,.bfh-flag-IT,.bfh-flag-JE,.bfh-flag-JM,.bfh-flag-JO,.bfh-flag-JP,.bfh-flag-KE,.bfh-flag-KG,.bfh-flag-KH,.bfh-flag-KI,.bfh-flag-KM,.bfh-flag-KN,.bfh-flag-KP,.bfh-flag-KR,.bfh-flag-KV,.bfh-flag-KW,.bfh-flag-KY,.bfh-flag-LA,.bfh-flag-LC,.bfh-flag-LK,.bfh-flag-LR,.bfh-flag-LS,.bfh-flag-LT,.bfh-flag-LU,.bfh-flag-LV,.bfh-flag-LY,.bfh-flag-MA,.bfh-flag-ME,.bfh-flag-MG,.bfh-flag-MH,.bfh-flag-ML,.bfh-flag-MM,.bfh-flag-MP,.bfh-flag-MR,.bfh-flag-MS,.bfh-flag-MT,.bfh-flag-MU,.bfh-flag-MV,.bfh-flag-MW,.bfh-flag-MZ,.bfh-flag-NA,.bfh-flag-NE,.bfh-flag-NF,.bfh-flag-NG,.bfh-flag-NI,.bfh-flag-NL,.bfh-flag-NO,.bfh-flag-NP,.bfh-flag-NR,.bfh-flag-NZ,.bfh-flag-OM,.bfh-flag-PA,.bfh-flag-PE,.bfh-flag-PG,.bfh-flag-PH,.bfh-flag-PK,.bfh-flag-PL,.bfh-flag-PN,.bfh-flag-PS,.bfh-flag-PT,.bfh-flag-PW,.bfh-flag-PY,.bfh-flag-QA,.bfh-flag-RS,.bfh-flag-RU,.bfh-flag-RW,.bfh-flag-SA,.bfh-flag-SB,.bfh-flag-SC,.bfh-flag-SD,.bfh-flag-SE,.bfh-flag-SG,.bfh-flag-SH,.bfh-flag-SI,.bfh-flag-SK,.bfh-flag-SM,.bfh-flag-SN,.bfh-flag-SO,.bfh-flag-SR,.bfh-flag-SS,.bfh-flag-ST,.bfh-flag-SV,.bfh-flag-SY,.bfh-flag-SZ,.bfh-flag-TC,.bfh-flag-TD,.bfh-flag-TG,.bfh-flag-TH,.bfh-flag-TJ,.bfh-flag-TM,.bfh-flag-TN,.bfh-flag-TP,.bfh-flag-TR,.bfh-flag-TT,.bfh-flag-TV,.bfh-flag-TW,.bfh-flag-TZ,.bfh-flag-UA,.bfh-flag-UG,.bfh-flag-US,.bfh-flag-UY,.bfh-flag-UZ,.bfh-flag-VC,.bfh-flag-VE,.bfh-flag-VG,.bfh-flag-VI,.bfh-flag-VN,.bfh-flag-VU,.bfh-flag-WS,.bfh-flag-YE,.bfh-flag-ZA,.bfh-flag-ZM,.bfh-flag-BF,.bfh-flag-CU,.bfh-flag-DE,.bfh-flag-IR,.bfh-flag-KZ,.bfh-flag-LB,.bfh-flag-LI,.bfh-flag-MC,.bfh-flag-MD,.bfh-flag-MK,.bfh-flag-MN,.bfh-flag-MO,.bfh-flag-MX,.bfh-flag-MY,.bfh-flag-PR,.bfh-flag-RO,.bfh-flag-SL,.bfh-flag-TO,.bfh-flag-VA,.bfh-flag-ZW{width:16px;height:14px;background:url(../img/bootstrap-formhelpers-countries.flags.png) no-repeat}.bfh-flag-AD:empty,.bfh-flag-AE:empty,.bfh-flag-AF:empty,.bfh-flag-AG:empty,.bfh-flag-AI:empty,.bfh-flag-AL:empty,.bfh-flag-AM:empty,.bfh-flag-AN:empty,.bfh-flag-AO:empty,.bfh-flag-AQ:empty,.bfh-flag-AR:empty,.bfh-flag-AS:empty,.bfh-flag-AT:empty,.bfh-flag-AU:empty,.bfh-flag-AW:empty,.bfh-flag-AX:empty,.bfh-flag-AZ:empty,.bfh-flag-BA:empty,.bfh-flag-BB:empty,.bfh-flag-BD:empty,.bfh-flag-BE:empty,.bfh-flag-BG:empty,.bfh-flag-BH:empty,.bfh-flag-BI:empty,.bfh-flag-BJ:empty,.bfh-flag-BL:empty,.bfh-flag-BM:empty,.bfh-flag-BN:empty,.bfh-flag-BO:empty,.bfh-flag-BR:empty,.bfh-flag-BS:empty,.bfh-flag-BT:empty,.bfh-flag-BW:empty,.bfh-flag-BY:empty,.bfh-flag-BZ:empty,.bfh-flag-CA:empty,.bfh-flag-CD:empty,.bfh-flag-CF:empty,.bfh-flag-CG:empty,.bfh-flag-CH:empty,.bfh-flag-CI:empty,.bfh-flag-CL:empty,.bfh-flag-CM:empty,.bfh-flag-CN:empty,.bfh-flag-CO:empty,.bfh-flag-CR:empty,.bfh-flag-CV:empty,.bfh-flag-CY:empty,.bfh-flag-CZ:empty,.bfh-flag-DJ:empty,.bfh-flag-DK:empty,.bfh-flag-DM:empty,.bfh-flag-DO:empty,.bfh-flag-DZ:empty,.bfh-flag-EC:empty,.bfh-flag-EE:empty,.bfh-flag-EG:empty,.bfh-flag-EH:empty,.bfh-flag-ER:empty,.bfh-flag-ES:empty,.bfh-flag-ET:empty,.bfh-flag-EU:empty,.bfh-flag-FI:empty,.bfh-flag-FJ:empty,.bfh-flag-FK:empty,.bfh-flag-FM:empty,.bfh-flag-FO:empty,.bfh-flag-FR:empty,.bfh-flag-FX:empty,.bfh-flag-GF:empty,.bfh-flag-GP:empty,.bfh-flag-MQ:empty,.bfh-flag-NC:empty,.bfh-flag-PF:empty,.bfh-flag-PM:empty,.bfh-flag-RE:empty,.bfh-flag-TF:empty,.bfh-flag-WF:empty,.bfh-flag-GA:empty,.bfh-flag-GB:empty,.bfh-flag-GD:empty,.bfh-flag-GE:empty,.bfh-flag-GG:empty,.bfh-flag-GH:empty,.bfh-flag-GL:empty,.bfh-flag-GM:empty,.bfh-flag-GN:empty,.bfh-flag-GQ:empty,.bfh-flag-GR:empty,.bfh-flag-GS:empty,.bfh-flag-GT:empty,.bfh-flag-GU:empty,.bfh-flag-GW:empty,.bfh-flag-GY:empty,.bfh-flag-HK:empty,.bfh-flag-HN:empty,.bfh-flag-HR:empty,.bfh-flag-HT:empty,.bfh-flag-HU:empty,.bfh-flag-ID:empty,.bfh-flag-IE:empty,.bfh-flag-IL:empty,.bfh-flag-IM:empty,.bfh-flag-IN:empty,.bfh-flag-IQ:empty,.bfh-flag-IS:empty,.bfh-flag-IT:empty,.bfh-flag-JE:empty,.bfh-flag-JM:empty,.bfh-flag-JO:empty,.bfh-flag-JP:empty,.bfh-flag-KE:empty,.bfh-flag-KG:empty,.bfh-flag-KH:empty,.bfh-flag-KI:empty,.bfh-flag-KM:empty,.bfh-flag-KN:empty,.bfh-flag-KP:empty,.bfh-flag-KR:empty,.bfh-flag-KV:empty,.bfh-flag-KW:empty,.bfh-flag-KY:empty,.bfh-flag-LA:empty,.bfh-flag-LC:empty,.bfh-flag-LK:empty,.bfh-flag-LR:empty,.bfh-flag-LS:empty,.bfh-flag-LT:empty,.bfh-flag-LU:empty,.bfh-flag-LV:empty,.bfh-flag-LY:empty,.bfh-flag-MA:empty,.bfh-flag-ME:empty,.bfh-flag-MG:empty,.bfh-flag-MH:empty,.bfh-flag-ML:empty,.bfh-flag-MM:empty,.bfh-flag-MP:empty,.bfh-flag-MR:empty,.bfh-flag-MS:empty,.bfh-flag-MT:empty,.bfh-flag-MU:empty,.bfh-flag-MV:empty,.bfh-flag-MW:empty,.bfh-flag-MZ:empty,.bfh-flag-NA:empty,.bfh-flag-NE:empty,.bfh-flag-NF:empty,.bfh-flag-NG:empty,.bfh-flag-NI:empty,.bfh-flag-NL:empty,.bfh-flag-NO:empty,.bfh-flag-NP:empty,.bfh-flag-NR:empty,.bfh-flag-NZ:empty,.bfh-flag-OM:empty,.bfh-flag-PA:empty,.bfh-flag-PE:empty,.bfh-flag-PG:empty,.bfh-flag-PH:empty,.bfh-flag-PK:empty,.bfh-flag-PL:empty,.bfh-flag-PN:empty,.bfh-flag-PS:empty,.bfh-flag-PT:empty,.bfh-flag-PW:empty,.bfh-flag-PY:empty,.bfh-flag-QA:empty,.bfh-flag-RS:empty,.bfh-flag-RU:empty,.bfh-flag-RW:empty,.bfh-flag-SA:empty,.bfh-flag-SB:empty,.bfh-flag-SC:empty,.bfh-flag-SD:empty,.bfh-flag-SE:empty,.bfh-flag-SG:empty,.bfh-flag-SH:empty,.bfh-flag-SI:empty,.bfh-flag-SK:empty,.bfh-flag-SM:empty,.bfh-flag-SN:empty,.bfh-flag-SO:empty,.bfh-flag-SR:empty,.bfh-flag-SS:empty,.bfh-flag-ST:empty,.bfh-flag-SV:empty,.bfh-flag-SY:empty,.bfh-flag-SZ:empty,.bfh-flag-TC:empty,.bfh-flag-TD:empty,.bfh-flag-TG:empty,.bfh-flag-TH:empty,.bfh-flag-TJ:empty,.bfh-flag-TM:empty,.bfh-flag-TN:empty,.bfh-flag-TP:empty,.bfh-flag-TR:empty,.bfh-flag-TT:empty,.bfh-flag-TV:empty,.bfh-flag-TW:empty,.bfh-flag-TZ:empty,.bfh-flag-UA:empty,.bfh-flag-UG:empty,.bfh-flag-US:empty,.bfh-flag-UY:empty,.bfh-flag-UZ:empty,.bfh-flag-VC:empty,.bfh-flag-VE:empty,.bfh-flag-VG:empty,.bfh-flag-VI:empty,.bfh-flag-VN:empty,.bfh-flag-VU:empty,.bfh-flag-WS:empty,.bfh-flag-YE:empty,.bfh-flag-ZA:empty,.bfh-flag-ZM:empty,.bfh-flag-BF:empty,.bfh-flag-CU:empty,.bfh-flag-DE:empty,.bfh-flag-IR:empty,.bfh-flag-KZ:empty,.bfh-flag-LB:empty,.bfh-flag-LI:empty,.bfh-flag-MC:empty,.bfh-flag-MD:empty,.bfh-flag-MK:empty,.bfh-flag-MN:empty,.bfh-flag-MO:empty,.bfh-flag-MX:empty,.bfh-flag-MY:empty,.bfh-flag-PR:empty,.bfh-flag-RO:empty,.bfh-flag-SL:empty,.bfh-flag-TO:empty,.bfh-flag-VA:empty,.bfh-flag-ZW:empty{width:16px}.bfh-flag-AD,.bfh-flag-AE,.bfh-flag-AF,.bfh-flag-AG,.bfh-flag-AI,.bfh-flag-AL,.bfh-flag-AM,.bfh-flag-AN,.bfh-flag-AO,.bfh-flag-AQ,.bfh-flag-AR,.bfh-flag-AS,.bfh-flag-AT,.bfh-flag-AU,.bfh-flag-AW,.bfh-flag-AX,.bfh-flag-AZ,.bfh-flag-BA,.bfh-flag-BB,.bfh-flag-BD,.bfh-flag-BE,.bfh-flag-BG,.bfh-flag-BH,.bfh-flag-BI,.bfh-flag-BJ,.bfh-flag-BL,.bfh-flag-BM,.bfh-flag-BN,.bfh-flag-BO,.bfh-flag-BR,.bfh-flag-BS,.bfh-flag-BT,.bfh-flag-BW,.bfh-flag-BY,.bfh-flag-BZ,.bfh-flag-CA,.bfh-flag-CD,.bfh-flag-CF,.bfh-flag-CG,.bfh-flag-CH,.bfh-flag-CI,.bfh-flag-CL,.bfh-flag-CM,.bfh-flag-CN,.bfh-flag-CO,.bfh-flag-CR,.bfh-flag-CV,.bfh-flag-CY,.bfh-flag-CZ,.bfh-flag-DJ,.bfh-flag-DK,.bfh-flag-DM,.bfh-flag-DO,.bfh-flag-DZ,.bfh-flag-EC,.bfh-flag-EE,.bfh-flag-EG,.bfh-flag-EH,.bfh-flag-ER,.bfh-flag-ES,.bfh-flag-ET,.bfh-flag-EU,.bfh-flag-FI,.bfh-flag-FJ,.bfh-flag-FK,.bfh-flag-FM,.bfh-flag-FO,.bfh-flag-FR,.bfh-flag-FX,.bfh-flag-GF,.bfh-flag-GP,.bfh-flag-MQ,.bfh-flag-NC,.bfh-flag-PF,.bfh-flag-PM,.bfh-flag-RE,.bfh-flag-TF,.bfh-flag-WF,.bfh-flag-GA,.bfh-flag-GB,.bfh-flag-GD,.bfh-flag-GE,.bfh-flag-GG,.bfh-flag-GH,.bfh-flag-GL,.bfh-flag-GM,.bfh-flag-GN,.bfh-flag-GQ,.bfh-flag-GR,.bfh-flag-GS,.bfh-flag-GT,.bfh-flag-GU,.bfh-flag-GW,.bfh-flag-GY,.bfh-flag-HK,.bfh-flag-HN,.bfh-flag-HR,.bfh-flag-HT,.bfh-flag-HU,.bfh-flag-ID,.bfh-flag-IE,.bfh-flag-IL,.bfh-flag-IM,.bfh-flag-IN,.bfh-flag-IQ,.bfh-flag-IS,.bfh-flag-IT,.bfh-flag-JE,.bfh-flag-JM,.bfh-flag-JO,.bfh-flag-JP,.bfh-flag-KE,.bfh-flag-KG,.bfh-flag-KH,.bfh-flag-KI,.bfh-flag-KM,.bfh-flag-KN,.bfh-flag-KP,.bfh-flag-KR,.bfh-flag-KV,.bfh-flag-KW,.bfh-flag-KY,.bfh-flag-LA,.bfh-flag-LC,.bfh-flag-LK,.bfh-flag-LR,.bfh-flag-LS,.bfh-flag-LT,.bfh-flag-LU,.bfh-flag-LV,.bfh-flag-LY,.bfh-flag-MA,.bfh-flag-ME,.bfh-flag-MG,.bfh-flag-MH,.bfh-flag-ML,.bfh-flag-MM,.bfh-flag-MP,.bfh-flag-MR,.bfh-flag-MS,.bfh-flag-MT,.bfh-flag-MU,.bfh-flag-MV,.bfh-flag-MW,.bfh-flag-MZ,.bfh-flag-NA,.bfh-flag-NE,.bfh-flag-NF,.bfh-flag-NG,.bfh-flag-NI,.bfh-flag-NL,.bfh-flag-NO,.bfh-flag-NP,.bfh-flag-NR,.bfh-flag-NZ,.bfh-flag-OM,.bfh-flag-PA,.bfh-flag-PE,.bfh-flag-PG,.bfh-flag-PH,.bfh-flag-PK,.bfh-flag-PL,.bfh-flag-PN,.bfh-flag-PS,.bfh-flag-PT,.bfh-flag-PW,.bfh-flag-PY,.bfh-flag-QA,.bfh-flag-RS,.bfh-flag-RU,.bfh-flag-RW,.bfh-flag-SA,.bfh-flag-SB,.bfh-flag-SC,.bfh-flag-SD,.bfh-flag-SE,.bfh-flag-SG,.bfh-flag-SH,.bfh-flag-SI,.bfh-flag-SK,.bfh-flag-SM,.bfh-flag-SN,.bfh-flag-SO,.bfh-flag-SR,.bfh-flag-SS,.bfh-flag-ST,.bfh-flag-SV,.bfh-flag-SY,.bfh-flag-SZ,.bfh-flag-TC,.bfh-flag-TD,.bfh-flag-TG,.bfh-flag-TH,.bfh-flag-TJ,.bfh-flag-TM,.bfh-flag-TN,.bfh-flag-TP,.bfh-flag-TR,.bfh-flag-TT,.bfh-flag-TV,.bfh-flag-TW,.bfh-flag-TZ,.bfh-flag-UA,.bfh-flag-UG,.bfh-flag-US,.bfh-flag-UY,.bfh-flag-UZ,.bfh-flag-VC,.bfh-flag-VE,.bfh-flag-VG,.bfh-flag-VI,.bfh-flag-VN,.bfh-flag-VU,.bfh-flag-WS,.bfh-flag-YE,.bfh-flag-ZA,.bfh-flag-ZM,.bfh-flag-BF,.bfh-flag-CU,.bfh-flag-DE,.bfh-flag-IR,.bfh-flag-KZ,.bfh-flag-LB,.bfh-flag-LI,.bfh-flag-MC,.bfh-flag-MD,.bfh-flag-MK,.bfh-flag-MN,.bfh-flag-MO,.bfh-flag-MX,.bfh-flag-MY,.bfh-flag-PR,.bfh-flag-RO,.bfh-flag-SL,.bfh-flag-TO,.bfh-flag-VA,.bfh-flag-ZW,.bfh-flag-EUR,.bfh-flag-XCD{margin-right:5px}.bfh-flag-AD{background-position:-1921px 0}.bfh-flag-AE{background-position:-1904px 0}.bfh-flag-AF{background-position:-3689px 0}.bfh-flag-AG{background-position:-34px 0}.bfh-flag-AI{background-position:-51px 0}.bfh-flag-AL{background-position:-68px 0}.bfh-flag-AM{background-position:-85px 0}.bfh-flag-AN{background-position:-102px 0}.bfh-flag-AO{background-position:-119px 0}.bfh-flag-AQ{background-position:-136px 0}.bfh-flag-AR{background-position:-153px 0}.bfh-flag-AS{background-position:-170px 0}.bfh-flag-AT{background-position:-187px 0}.bfh-flag-AU{background-position:-204px 0}.bfh-flag-AW{background-position:-221px 0}.bfh-flag-AX{background-position:-238px 0}.bfh-flag-AZ{background-position:-255px 0}.bfh-flag-BA{background-position:-272px 0}.bfh-flag-BB{background-position:-289px 0}.bfh-flag-BD{background-position:-306px 0}.bfh-flag-BE{background-position:-323px 0}.bfh-flag-BG{background-position:-340px 0}.bfh-flag-BH{background-position:-357px 0}.bfh-flag-BI{background-position:-374px 0}.bfh-flag-BJ{background-position:-391px 0}.bfh-flag-BL{background-position:-408px 0}.bfh-flag-BM{background-position:-425px 0}.bfh-flag-BN{background-position:-442px 0}.bfh-flag-BO{background-position:-459px 0}.bfh-flag-BR{background-position:-476px 0}.bfh-flag-BS{background-position:-493px 0}.bfh-flag-BT{background-position:-510px 0}.bfh-flag-BW{background-position:-527px 0}.bfh-flag-BY{background-position:-544px 0}.bfh-flag-BZ{background-position:-561px 0}.bfh-flag-CA{background-position:-578px 0}.bfh-flag-CD{background-position:-595px 0}.bfh-flag-CF{background-position:-612px 0}.bfh-flag-CG{background-position:-629px 0}.bfh-flag-CH{background-position:-646px 0}.bfh-flag-CI{background-position:-663px 0}.bfh-flag-CL{background-position:-680px 0}.bfh-flag-CM{background-position:-697px 0}.bfh-flag-CN{background-position:-714px 0}.bfh-flag-CO{background-position:-731px 0}.bfh-flag-CR{background-position:-748px 0}.bfh-flag-CV{background-position:-765px 0}.bfh-flag-CY{background-position:-782px 0}.bfh-flag-CZ{background-position:-799px 0}.bfh-flag-DJ{background-position:-816px 0}.bfh-flag-DK{background-position:-833px 0}.bfh-flag-DM{background-position:-850px 0}.bfh-flag-DO{background-position:-867px 0}.bfh-flag-DZ{background-position:-884px 0}.bfh-flag-EC{background-position:-901px 0}.bfh-flag-EE{background-position:-918px 0}.bfh-flag-EG{background-position:-935px 0}.bfh-flag-EH{background-position:-952px 0}.bfh-flag-ER{background-position:-969px 0}.bfh-flag-ES{background-position:-986px 0}.bfh-flag-ET{background-position:-1003px 0}.bfh-flag-EU{background-position:-1020px 0}.bfh-flag-FI{background-position:-1037px 0}.bfh-flag-FJ{background-position:-1054px 0}.bfh-flag-FK{background-position:-1071px 0}.bfh-flag-FM{background-position:-1088px 0}.bfh-flag-FO{background-position:-1105px 0}.bfh-flag-FR,.bfh-flag-FX,.bfh-flag-GF,.bfh-flag-GP,.bfh-flag-MQ,.bfh-flag-NC,.bfh-flag-PF,.bfh-flag-PM,.bfh-flag-RE,.bfh-flag-TF,.bfh-flag-WF{background-position:-1122px 0}.bfh-flag-GA{background-position:-1139px 0}.bfh-flag-GB{background-position:-1156px 0}.bfh-flag-GD{background-position:-1173px 0}.bfh-flag-GE{background-position:-1190px 0}.bfh-flag-GG{background-position:-1207px 0}.bfh-flag-GH{background-position:-1224px 0}.bfh-flag-GL{background-position:-1241px 0}.bfh-flag-GM{background-position:-1258px 0}.bfh-flag-GN{background-position:-1275px 0}.bfh-flag-GQ{background-position:-1292px 0}.bfh-flag-GR{background-position:-1309px 0}.bfh-flag-GS{background-position:-1326px 0}.bfh-flag-GT{background-position:-1343px 0}.bfh-flag-GU{background-position:-1360px 0}.bfh-flag-GW{background-position:-1377px 0}.bfh-flag-GY{background-position:-1394px 0}.bfh-flag-HK{background-position:-1411px 0}.bfh-flag-HN{background-position:-1428px 0}.bfh-flag-HR{background-position:-1445px 0}.bfh-flag-HT{background-position:-1462px 0}.bfh-flag-HU{background-position:-1479px 0}.bfh-flag-ID{background-position:-1496px 0}.bfh-flag-IE{background-position:-1513px 0}.bfh-flag-IL{background-position:-1530px 0}.bfh-flag-IM{background-position:-1547px 0}.bfh-flag-IN{background-position:-1564px 0}.bfh-flag-IQ{background-position:-1581px 0}.bfh-flag-IS{background-position:-1598px 0}.bfh-flag-IT{background-position:-1615px 0}.bfh-flag-JE{background-position:-1632px 0}.bfh-flag-JM{background-position:-1649px 0}.bfh-flag-JO{background-position:-1666px 0}.bfh-flag-JP{background-position:-1683px 0}.bfh-flag-KE{background-position:-1700px 0}.bfh-flag-KG{background-position:-1717px 0}.bfh-flag-KH{background-position:-1734px 0}.bfh-flag-KI{background-position:-1751px 0}.bfh-flag-KM{background-position:-1768px 0}.bfh-flag-KN{background-position:-1785px 0}.bfh-flag-KP{background-position:-1802px 0}.bfh-flag-KR{background-position:-1819px 0}.bfh-flag-KV{background-position:-1836px 0}.bfh-flag-KW{background-position:-1853px 0}.bfh-flag-KY{background-position:-1870px 0}.bfh-flag-LA{background-position:-1887px 0}.bfh-flag-LC{background-position:0 0}.bfh-flag-LK{background-position:-17px 0}.bfh-flag-LR{background-position:-1938px 0}.bfh-flag-LS{background-position:-1955px 0}.bfh-flag-LT{background-position:-1972px 0}.bfh-flag-LU{background-position:-1989px 0}.bfh-flag-LV{background-position:-2006px 0}.bfh-flag-LY{background-position:-2023px 0}.bfh-flag-MA{background-position:-2040px 0}.bfh-flag-ME{background-position:-2057px 0}.bfh-flag-MG{background-position:-2074px 0}.bfh-flag-MH{background-position:-2091px 0}.bfh-flag-ML{background-position:-2108px 0}.bfh-flag-MM{background-position:-2125px 0}.bfh-flag-MP{background-position:-2142px 0}.bfh-flag-MR{background-position:-2159px 0}.bfh-flag-MS{background-position:-2176px 0}.bfh-flag-MT{background-position:-2193px 0}.bfh-flag-MU{background-position:-2210px 0}.bfh-flag-MV{background-position:-2227px 0}.bfh-flag-MW{background-position:-2244px 0}.bfh-flag-MZ{background-position:-2261px 0}.bfh-flag-NA{background-position:-2278px 0}.bfh-flag-NE{background-position:-2295px 0}.bfh-flag-NF{background-position:-2312px 0}.bfh-flag-NG{background-position:-2329px 0}.bfh-flag-NI{background-position:-2346px 0}.bfh-flag-NL{background-position:-2363px 0}.bfh-flag-NO{background-position:-2380px 0}.bfh-flag-NP{background-position:-2397px 0}.bfh-flag-NR{background-position:-2414px 0}.bfh-flag-NZ{background-position:-2431px 0}.bfh-flag-OM{background-position:-2448px 0}.bfh-flag-PA{background-position:-2465px 0}.bfh-flag-PE{background-position:-2482px 0}.bfh-flag-PG{background-position:-2499px 0}.bfh-flag-PH{background-position:-2516px 0}.bfh-flag-PK{background-position:-2533px 0}.bfh-flag-PL{background-position:-2550px 0}.bfh-flag-PN{background-position:-2567px 0}.bfh-flag-PS{background-position:-2584px 0}.bfh-flag-PT{background-position:-2601px 0}.bfh-flag-PW{background-position:-2618px 0}.bfh-flag-PY{background-position:-2635px 0}.bfh-flag-QA{background-position:-2652px 0}.bfh-flag-RS{background-position:-2669px 0}.bfh-flag-RU{background-position:-2686px 0}.bfh-flag-RW{background-position:-2703px 0}.bfh-flag-SA{background-position:-2720px 0}.bfh-flag-SB{background-position:-2737px 0}.bfh-flag-SC{background-position:-2754px 0}.bfh-flag-SD{background-position:-2771px 0}.bfh-flag-SE{background-position:-2788px 0}.bfh-flag-SG{background-position:-2805px 0}.bfh-flag-SH{background-position:-2822px 0}.bfh-flag-SI{background-position:-2839px 0}.bfh-flag-SK{background-position:-2856px 0}.bfh-flag-SM{background-position:-2873px 0}.bfh-flag-SN{background-position:-2890px 0}.bfh-flag-SO{background-position:-2907px 0}.bfh-flag-SR{background-position:-2924px 0}.bfh-flag-SS{background-position:-2941px 0}.bfh-flag-ST{background-position:-2958px 0}.bfh-flag-SV{background-position:-2975px 0}.bfh-flag-SY{background-position:-2992px 0}.bfh-flag-SZ{background-position:-3009px 0}.bfh-flag-TC{background-position:-3026px 0}.bfh-flag-TD{background-position:-3043px 0}.bfh-flag-TG{background-position:-3060px 0}.bfh-flag-TH{background-position:-3077px 0}.bfh-flag-TJ{background-position:-3094px 0}.bfh-flag-TM{background-position:-3111px 0}.bfh-flag-TN{background-position:-3128px 0}.bfh-flag-TP{background-position:-3145px 0}.bfh-flag-TR{background-position:-3162px 0}.bfh-flag-TT{background-position:-3179px 0}.bfh-flag-TV{background-position:-3196px 0}.bfh-flag-TW{background-position:-3213px 0}.bfh-flag-TZ{background-position:-3230px 0}.bfh-flag-UA{background-position:-3247px 0}.bfh-flag-UG{background-position:-3264px 0}.bfh-flag-US{background-position:-3281px 0}.bfh-flag-UY{background-position:-3298px 0}.bfh-flag-UZ{background-position:-3315px 0}.bfh-flag-VC{background-position:-3332px 0}.bfh-flag-VE{background-position:-3349px 0}.bfh-flag-VG{background-position:-3366px 0}.bfh-flag-VI{background-position:-3383px 0}.bfh-flag-VN{background-position:-3400px 0}.bfh-flag-VU{background-position:-3417px 0}.bfh-flag-WS{background-position:-3434px 0}.bfh-flag-YE{background-position:-3451px 0}.bfh-flag-ZA{background-position:-3468px 0}.bfh-flag-ZM{background-position:-3485px 0}.bfh-flag-BF{background-position:-3502px 0}.bfh-flag-CU{background-position:-3519px 0}.bfh-flag-DE{background-position:-3536px 0}.bfh-flag-IR{background-position:-3553px 0}.bfh-flag-KZ{background-position:-3570px 0}.bfh-flag-LB{background-position:-3587px 0}.bfh-flag-LI{background-position:-3604px 0}.bfh-flag-MC{background-position:-3621px 0}.bfh-flag-MD{background-position:-3638px 0}.bfh-flag-MK{background-position:-3655px 0}.bfh-flag-MN{background-position:-3672px 0}.bfh-flag-MO{background-position:-3706px 0}.bfh-flag-MX{background-position:-3723px 0}.bfh-flag-MY{background-position:-3740px 0}.bfh-flag-PR{background-position:-3757px 0}.bfh-flag-RO{background-position:-3774px 0}.bfh-flag-SL{background-position:-3791px 0}.bfh-flag-TO{background-position:-3808px 0}.bfh-flag-VA{background-position:-3825px 0}.bfh-flag-ZW{background-position:-3842px 0}.bfh-flag-EUR{background:url(../img/eu.png) no-repeat}.bfh-flag-XCD{background:url(../img/xcd.png) no-repeat}.bfh-flag-AUD,.bfh-flag-CHF,.bfh-flag-DKK,.bfh-flag-EUR,.bfh-flag-XAF,.bfh-flag-XCD,.bfh-flag-XOF,.bfh-flag-XPF,.bfh-flag-ZAR{width:16px;height:14px;background:url(../img/bootstrap-formhelpers-currencies.flags.png) no-repeat}.bfh-flag-AUD:empty,.bfh-flag-CHF:empty,.bfh-flag-DKK:empty,.bfh-flag-EUR:empty,.bfh-flag-XAF:empty,.bfh-flag-XCD:empty,.bfh-flag-XOF:empty,.bfh-flag-XPF:empty,.bfh-flag-ZAR:empty{width:16px}.bfh-flag-AUD,.bfh-flag-CHF,.bfh-flag-DKK,.bfh-flag-EUR,.bfh-flag-XAF,.bfh-flag-XCD,.bfh-flag-XOF,.bfh-flag-XPF,.bfh-flag-ZAR{margin-right:5px}.bfh-flag-AUD{background-position:-32px 0}.bfh-flag-CHF{background-position:-224px 0}.bfh-flag-DKK{background-position:-64px -16px}.bfh-flag-EUR{background-position:-96px -16px}.bfh-flag-XAF{background-position:-160px -80px}.bfh-flag-XCD{background-position:-176px -80px}.bfh-flag-XOF{background-position:-192px -80px}.bfh-flag-XPF{background-position:-208px -80px}.bfh-flag-ZAR{background-position:-224px -80px}.bfh-selectbox{position:relative}.bfh-selectbox .bfh-selectbox-toggle{display:inline-block;padding:6px 24px 6px 12px;text-decoration:none}.bfh-selectbox .bfh-selectbox-toggle:focus{outline:0}.bfh-selectbox .bfh-selectbox-toggle .bfh-selectbox-option{display:inline-block;float:left;width:100%;height:20px;overflow:hidden;text-overflow:ellipsis}.bfh-selectbox .bfh-selectbox-toggle .selectbox-caret{float:right;margin-top:8px;margin-right:-16px;margin-left:-10px}.bfh-selectbox .bfh-selectbox-options{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:90px;padding:5px 0;margin:-1px 0 0;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.bfh-selectbox .bfh-selectbox-options.pull-right{right:0;left:auto}.bfh-selectbox .bfh-selectbox-options .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.bfh-selectbox .bfh-selectbox-options .bfh-selectbox-filter-container{width:100%;padding:5px}.bfh-selectbox .bfh-selectbox-options ul{max-width:500px;max-height:200px;padding:0;margin:5px 0 0 0;overflow-x:hidden;overflow-y:auto;list-style:none}.bfh-selectbox .bfh-selectbox-options ul li>a{display:block;width:100%;min-height:26px;padding:3px 20px;overflow-x:hidden;clear:both;font-weight:normal;line-height:1.428571429;color:#333;text-overflow:ellipsis;white-space:nowrap}.bfh-selectbox .bfh-selectbox-options ul li>a:hover,.bfh-selectbox .bfh-selectbox-options ul li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.bfh-selectbox .bfh-selectbox-options ul .bfh-selectbox-options-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.bfh-selectbox .bfh-selectbox-options ul .disabled>a{color:#999}.bfh-selectbox .bfh-selectbox-options ul .disabled>a:hover,.bfh-selectbox .bfh-selectbox-options ul .disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.bfh-selectbox.open>.bfh-selectbox-options{display:block}.bfh-selectbox.open a{outline:0}.pull-right>.bfh-selectbox-options{right:0;left:auto}.bfh-selectbox-up .caret,.navbar-fixed-bottom .bfh-selectbox .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.bfh-selectbox-up .bfh-selectbox-options,.navbar-fixed-bottom .bfh-selectbox .bfh-selectbox-options{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .bfh-selectbox-options{right:0;left:auto}}.bfh-googlefonts .bfh-selectbox-options a{width:230px;height:30px;text-indent:-9999px;background-image:url(../img/bootstrap-formhelpers-googlefonts.png)}.bfh-googlefonts .bfh-selectbox-options a:focus{background-color:transparent;background-repeat:no-repeat;outline:0;filter:none}.bfh-googlefonts .bfh-selectbox-options .active>a,.bfh-googlefonts .bfh-selectbox-options .active>a:hover{background-color:transparent;background-image:url(../img/bootstrap-formhelpers-googlefonts.png);background-repeat:no-repeat;outline:0;filter:none}.bfh-datepicker-calendar{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:296px}.bfh-datepicker-calendar>table.calendar{width:376px;background:#fff}.bfh-datepicker-calendar>table.calendar .months-header>th{font-size:12px;text-align:center}.bfh-datepicker-calendar>table.calendar .months-header>th.month>span{display:inline-block;width:100px}.bfh-datepicker-calendar>table.calendar .months-header>th.year>span{display:inline-block;width:50px}.bfh-datepicker-calendar>table.calendar .days-header>th{width:30px;font-size:11px;line-height:12px;text-align:center}.bfh-datepicker-calendar>table.calendar>tbody>tr>td{width:30px;font-size:11px;line-height:12px;text-align:center}.bfh-datepicker-calendar>table.calendar>tbody>tr>td.today{color:#fff;background-color:#428bca}.bfh-datepicker-calendar>table.calendar>tbody>tr>td.off{color:#999}.bfh-datepicker-calendar>table.calendar>tbody>tr>td:not(.off):hover{color:#262626;cursor:pointer;background-color:#f5f5f5}.bfh-datepicker{position:relative}.bfh-datepicker-toggle{*margin-bottom:-3px}.bfh-datepicker-toggle>input[readonly]{cursor:inherit;background-color:inherit}.open>.bfh-datepicker-calendar{display:block}.bfh-timepicker-popover{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:100px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.bfh-timepicker-popover>table{width:180px;margin:0}.bfh-timepicker-popover>table>tbody>tr>td{text-align:center;border:0}.bfh-timepicker-popover>table>tbody>tr>td.separator{font-size:20px;font-weight:bold;line-height:28px}.bfh-timepicker-popover>table>tbody>tr>td>div>input{width:42px!important;text-align:center}.bfh-timepicker{position:relative}.bfh-timepicker-toggle{*margin-bottom:-3px}.bfh-timepicker-toggle>input[readonly]{cursor:inherit;background-color:inherit}.open>.bfh-timepicker-popover{display:block}.bfh-slider{height:20px;margin-top:8px;margin-bottom:23px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none}.bfh-slider>.bfh-slider-handle{position:absolute;width:20px;height:34px;margin-top:-7px;cursor:col-resize;background:#efefef;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px}.bfh-slider>.bfh-slider-handle>.bfh-slider-value{position:absolute;width:48px;height:20px;margin-top:5px;margin-left:-15px;line-height:20px;text-align:center;cursor:col-resize;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px}.bfh-slider>.bfh-slider-handle>.bfh-slider-value .disabled{color:#999}.bfh-slider.disabled .bfh-slider-value{color:#999}.bfh-colorpicker-popover{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:100px;padding:20px;cursor:default;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.bfh-colorpicker-popover>canvas{width:384px;height:256px}.bfh-colorpicker{position:relative}.bfh-colorpicker-toggle{*margin-bottom:-3px}.bfh-colorpicker-toggle>input[readonly]{cursor:inherit;background-color:inherit}.bfh-colorpicker-toggle .bfh-colorpicker-icon{display:block;width:16px;height:16px}.open>.bfh-colorpicker-popover{display:block}.input-group>.bfh-number{border-right:0}.input-group>.bfh-number-btn:hover{background-color:#ccc} \ No newline at end of file +.bfh-flag-AD,.bfh-flag-AE,.bfh-flag-AF,.bfh-flag-AG,.bfh-flag-AI,.bfh-flag-AL,.bfh-flag-AM,.bfh-flag-AN,.bfh-flag-AO,.bfh-flag-AQ,.bfh-flag-AR,.bfh-flag-AS,.bfh-flag-AT,.bfh-flag-AU,.bfh-flag-AW,.bfh-flag-AX,.bfh-flag-AZ,.bfh-flag-BA,.bfh-flag-BB,.bfh-flag-BD,.bfh-flag-BE,.bfh-flag-BF,.bfh-flag-BG,.bfh-flag-BH,.bfh-flag-BI,.bfh-flag-BJ,.bfh-flag-BL,.bfh-flag-BM,.bfh-flag-BN,.bfh-flag-BO,.bfh-flag-BR,.bfh-flag-BS,.bfh-flag-BT,.bfh-flag-BW,.bfh-flag-BY,.bfh-flag-BZ,.bfh-flag-CA,.bfh-flag-CD,.bfh-flag-CF,.bfh-flag-CG,.bfh-flag-CH,.bfh-flag-CI,.bfh-flag-CL,.bfh-flag-CM,.bfh-flag-CN,.bfh-flag-CO,.bfh-flag-CR,.bfh-flag-CU,.bfh-flag-CV,.bfh-flag-CY,.bfh-flag-CZ,.bfh-flag-DE,.bfh-flag-DJ,.bfh-flag-DK,.bfh-flag-DM,.bfh-flag-DO,.bfh-flag-DZ,.bfh-flag-EC,.bfh-flag-EE,.bfh-flag-EG,.bfh-flag-EH,.bfh-flag-ER,.bfh-flag-ES,.bfh-flag-ET,.bfh-flag-EU,.bfh-flag-FI,.bfh-flag-FJ,.bfh-flag-FK,.bfh-flag-FM,.bfh-flag-FO,.bfh-flag-FR,.bfh-flag-FX,.bfh-flag-GA,.bfh-flag-GB,.bfh-flag-GD,.bfh-flag-GE,.bfh-flag-GF,.bfh-flag-GG,.bfh-flag-GH,.bfh-flag-GL,.bfh-flag-GM,.bfh-flag-GN,.bfh-flag-GP,.bfh-flag-GQ,.bfh-flag-GR,.bfh-flag-GS,.bfh-flag-GT,.bfh-flag-GU,.bfh-flag-GW,.bfh-flag-GY,.bfh-flag-HK,.bfh-flag-HN,.bfh-flag-HR,.bfh-flag-HT,.bfh-flag-HU,.bfh-flag-ID,.bfh-flag-IE,.bfh-flag-IL,.bfh-flag-IM,.bfh-flag-IN,.bfh-flag-IQ,.bfh-flag-IR,.bfh-flag-IS,.bfh-flag-IT,.bfh-flag-JE,.bfh-flag-JM,.bfh-flag-JO,.bfh-flag-JP,.bfh-flag-KE,.bfh-flag-KG,.bfh-flag-KH,.bfh-flag-KI,.bfh-flag-KM,.bfh-flag-KN,.bfh-flag-KP,.bfh-flag-KR,.bfh-flag-KV,.bfh-flag-KW,.bfh-flag-KY,.bfh-flag-KZ,.bfh-flag-LA,.bfh-flag-LB,.bfh-flag-LC,.bfh-flag-LI,.bfh-flag-LK,.bfh-flag-LR,.bfh-flag-LS,.bfh-flag-LT,.bfh-flag-LU,.bfh-flag-LV,.bfh-flag-LY,.bfh-flag-MA,.bfh-flag-MC,.bfh-flag-MD,.bfh-flag-ME,.bfh-flag-MG,.bfh-flag-MH,.bfh-flag-MK,.bfh-flag-ML,.bfh-flag-MM,.bfh-flag-MN,.bfh-flag-MO,.bfh-flag-MP,.bfh-flag-MQ,.bfh-flag-MR,.bfh-flag-MS,.bfh-flag-MT,.bfh-flag-MU,.bfh-flag-MV,.bfh-flag-MW,.bfh-flag-MX,.bfh-flag-MY,.bfh-flag-MZ,.bfh-flag-NA,.bfh-flag-NC,.bfh-flag-NE,.bfh-flag-NF,.bfh-flag-NG,.bfh-flag-NI,.bfh-flag-NL,.bfh-flag-NO,.bfh-flag-NP,.bfh-flag-NR,.bfh-flag-NZ,.bfh-flag-OM,.bfh-flag-PA,.bfh-flag-PE,.bfh-flag-PF,.bfh-flag-PG,.bfh-flag-PH,.bfh-flag-PK,.bfh-flag-PL,.bfh-flag-PM,.bfh-flag-PN,.bfh-flag-PR,.bfh-flag-PS,.bfh-flag-PT,.bfh-flag-PW,.bfh-flag-PY,.bfh-flag-QA,.bfh-flag-RE,.bfh-flag-RO,.bfh-flag-RS,.bfh-flag-RU,.bfh-flag-RW,.bfh-flag-SA,.bfh-flag-SB,.bfh-flag-SC,.bfh-flag-SD,.bfh-flag-SE,.bfh-flag-SG,.bfh-flag-SH,.bfh-flag-SI,.bfh-flag-SK,.bfh-flag-SL,.bfh-flag-SM,.bfh-flag-SN,.bfh-flag-SO,.bfh-flag-SR,.bfh-flag-SS,.bfh-flag-ST,.bfh-flag-SV,.bfh-flag-SY,.bfh-flag-SZ,.bfh-flag-TC,.bfh-flag-TD,.bfh-flag-TF,.bfh-flag-TG,.bfh-flag-TH,.bfh-flag-TJ,.bfh-flag-TM,.bfh-flag-TN,.bfh-flag-TO,.bfh-flag-TP,.bfh-flag-TR,.bfh-flag-TT,.bfh-flag-TV,.bfh-flag-TW,.bfh-flag-TZ,.bfh-flag-UA,.bfh-flag-UG,.bfh-flag-US,.bfh-flag-UY,.bfh-flag-UZ,.bfh-flag-VA,.bfh-flag-VC,.bfh-flag-VE,.bfh-flag-VG,.bfh-flag-VI,.bfh-flag-VN,.bfh-flag-VU,.bfh-flag-WF,.bfh-flag-WS,.bfh-flag-YE,.bfh-flag-ZA,.bfh-flag-ZM,.bfh-flag-ZW{width:16px;height:14px;background:url(../img/bootstrap-formhelpers-countries.flags.png) no-repeat}.bfh-flag-AD:empty,.bfh-flag-AE:empty,.bfh-flag-AF:empty,.bfh-flag-AG:empty,.bfh-flag-AI:empty,.bfh-flag-AL:empty,.bfh-flag-AM:empty,.bfh-flag-AN:empty,.bfh-flag-AO:empty,.bfh-flag-AQ:empty,.bfh-flag-AR:empty,.bfh-flag-AS:empty,.bfh-flag-AT:empty,.bfh-flag-AU:empty,.bfh-flag-AW:empty,.bfh-flag-AX:empty,.bfh-flag-AZ:empty,.bfh-flag-BA:empty,.bfh-flag-BB:empty,.bfh-flag-BD:empty,.bfh-flag-BE:empty,.bfh-flag-BF:empty,.bfh-flag-BG:empty,.bfh-flag-BH:empty,.bfh-flag-BI:empty,.bfh-flag-BJ:empty,.bfh-flag-BL:empty,.bfh-flag-BM:empty,.bfh-flag-BN:empty,.bfh-flag-BO:empty,.bfh-flag-BR:empty,.bfh-flag-BS:empty,.bfh-flag-BT:empty,.bfh-flag-BW:empty,.bfh-flag-BY:empty,.bfh-flag-BZ:empty,.bfh-flag-CA:empty,.bfh-flag-CD:empty,.bfh-flag-CF:empty,.bfh-flag-CG:empty,.bfh-flag-CH:empty,.bfh-flag-CI:empty,.bfh-flag-CL:empty,.bfh-flag-CM:empty,.bfh-flag-CN:empty,.bfh-flag-CO:empty,.bfh-flag-CR:empty,.bfh-flag-CU:empty,.bfh-flag-CV:empty,.bfh-flag-CY:empty,.bfh-flag-CZ:empty,.bfh-flag-DE:empty,.bfh-flag-DJ:empty,.bfh-flag-DK:empty,.bfh-flag-DM:empty,.bfh-flag-DO:empty,.bfh-flag-DZ:empty,.bfh-flag-EC:empty,.bfh-flag-EE:empty,.bfh-flag-EG:empty,.bfh-flag-EH:empty,.bfh-flag-ER:empty,.bfh-flag-ES:empty,.bfh-flag-ET:empty,.bfh-flag-EU:empty,.bfh-flag-FI:empty,.bfh-flag-FJ:empty,.bfh-flag-FK:empty,.bfh-flag-FM:empty,.bfh-flag-FO:empty,.bfh-flag-FR:empty,.bfh-flag-FX:empty,.bfh-flag-GA:empty,.bfh-flag-GB:empty,.bfh-flag-GD:empty,.bfh-flag-GE:empty,.bfh-flag-GF:empty,.bfh-flag-GG:empty,.bfh-flag-GH:empty,.bfh-flag-GL:empty,.bfh-flag-GM:empty,.bfh-flag-GN:empty,.bfh-flag-GP:empty,.bfh-flag-GQ:empty,.bfh-flag-GR:empty,.bfh-flag-GS:empty,.bfh-flag-GT:empty,.bfh-flag-GU:empty,.bfh-flag-GW:empty,.bfh-flag-GY:empty,.bfh-flag-HK:empty,.bfh-flag-HN:empty,.bfh-flag-HR:empty,.bfh-flag-HT:empty,.bfh-flag-HU:empty,.bfh-flag-ID:empty,.bfh-flag-IE:empty,.bfh-flag-IL:empty,.bfh-flag-IM:empty,.bfh-flag-IN:empty,.bfh-flag-IQ:empty,.bfh-flag-IR:empty,.bfh-flag-IS:empty,.bfh-flag-IT:empty,.bfh-flag-JE:empty,.bfh-flag-JM:empty,.bfh-flag-JO:empty,.bfh-flag-JP:empty,.bfh-flag-KE:empty,.bfh-flag-KG:empty,.bfh-flag-KH:empty,.bfh-flag-KI:empty,.bfh-flag-KM:empty,.bfh-flag-KN:empty,.bfh-flag-KP:empty,.bfh-flag-KR:empty,.bfh-flag-KV:empty,.bfh-flag-KW:empty,.bfh-flag-KY:empty,.bfh-flag-KZ:empty,.bfh-flag-LA:empty,.bfh-flag-LB:empty,.bfh-flag-LC:empty,.bfh-flag-LI:empty,.bfh-flag-LK:empty,.bfh-flag-LR:empty,.bfh-flag-LS:empty,.bfh-flag-LT:empty,.bfh-flag-LU:empty,.bfh-flag-LV:empty,.bfh-flag-LY:empty,.bfh-flag-MA:empty,.bfh-flag-MC:empty,.bfh-flag-MD:empty,.bfh-flag-ME:empty,.bfh-flag-MG:empty,.bfh-flag-MH:empty,.bfh-flag-MK:empty,.bfh-flag-ML:empty,.bfh-flag-MM:empty,.bfh-flag-MN:empty,.bfh-flag-MO:empty,.bfh-flag-MP:empty,.bfh-flag-MQ:empty,.bfh-flag-MR:empty,.bfh-flag-MS:empty,.bfh-flag-MT:empty,.bfh-flag-MU:empty,.bfh-flag-MV:empty,.bfh-flag-MW:empty,.bfh-flag-MX:empty,.bfh-flag-MY:empty,.bfh-flag-MZ:empty,.bfh-flag-NA:empty,.bfh-flag-NC:empty,.bfh-flag-NE:empty,.bfh-flag-NF:empty,.bfh-flag-NG:empty,.bfh-flag-NI:empty,.bfh-flag-NL:empty,.bfh-flag-NO:empty,.bfh-flag-NP:empty,.bfh-flag-NR:empty,.bfh-flag-NZ:empty,.bfh-flag-OM:empty,.bfh-flag-PA:empty,.bfh-flag-PE:empty,.bfh-flag-PF:empty,.bfh-flag-PG:empty,.bfh-flag-PH:empty,.bfh-flag-PK:empty,.bfh-flag-PL:empty,.bfh-flag-PM:empty,.bfh-flag-PN:empty,.bfh-flag-PR:empty,.bfh-flag-PS:empty,.bfh-flag-PT:empty,.bfh-flag-PW:empty,.bfh-flag-PY:empty,.bfh-flag-QA:empty,.bfh-flag-RE:empty,.bfh-flag-RO:empty,.bfh-flag-RS:empty,.bfh-flag-RU:empty,.bfh-flag-RW:empty,.bfh-flag-SA:empty,.bfh-flag-SB:empty,.bfh-flag-SC:empty,.bfh-flag-SD:empty,.bfh-flag-SE:empty,.bfh-flag-SG:empty,.bfh-flag-SH:empty,.bfh-flag-SI:empty,.bfh-flag-SK:empty,.bfh-flag-SL:empty,.bfh-flag-SM:empty,.bfh-flag-SN:empty,.bfh-flag-SO:empty,.bfh-flag-SR:empty,.bfh-flag-SS:empty,.bfh-flag-ST:empty,.bfh-flag-SV:empty,.bfh-flag-SY:empty,.bfh-flag-SZ:empty,.bfh-flag-TC:empty,.bfh-flag-TD:empty,.bfh-flag-TF:empty,.bfh-flag-TG:empty,.bfh-flag-TH:empty,.bfh-flag-TJ:empty,.bfh-flag-TM:empty,.bfh-flag-TN:empty,.bfh-flag-TO:empty,.bfh-flag-TP:empty,.bfh-flag-TR:empty,.bfh-flag-TT:empty,.bfh-flag-TV:empty,.bfh-flag-TW:empty,.bfh-flag-TZ:empty,.bfh-flag-UA:empty,.bfh-flag-UG:empty,.bfh-flag-US:empty,.bfh-flag-UY:empty,.bfh-flag-UZ:empty,.bfh-flag-VA:empty,.bfh-flag-VC:empty,.bfh-flag-VE:empty,.bfh-flag-VG:empty,.bfh-flag-VI:empty,.bfh-flag-VN:empty,.bfh-flag-VU:empty,.bfh-flag-WF:empty,.bfh-flag-WS:empty,.bfh-flag-YE:empty,.bfh-flag-ZA:empty,.bfh-flag-ZM:empty,.bfh-flag-ZW:empty{width:16px}.bfh-flag-AD,.bfh-flag-AE,.bfh-flag-AF,.bfh-flag-AG,.bfh-flag-AI,.bfh-flag-AL,.bfh-flag-AM,.bfh-flag-AN,.bfh-flag-AO,.bfh-flag-AQ,.bfh-flag-AR,.bfh-flag-AS,.bfh-flag-AT,.bfh-flag-AU,.bfh-flag-AW,.bfh-flag-AX,.bfh-flag-AZ,.bfh-flag-BA,.bfh-flag-BB,.bfh-flag-BD,.bfh-flag-BE,.bfh-flag-BF,.bfh-flag-BG,.bfh-flag-BH,.bfh-flag-BI,.bfh-flag-BJ,.bfh-flag-BL,.bfh-flag-BM,.bfh-flag-BN,.bfh-flag-BO,.bfh-flag-BR,.bfh-flag-BS,.bfh-flag-BT,.bfh-flag-BW,.bfh-flag-BY,.bfh-flag-BZ,.bfh-flag-CA,.bfh-flag-CD,.bfh-flag-CF,.bfh-flag-CG,.bfh-flag-CH,.bfh-flag-CI,.bfh-flag-CL,.bfh-flag-CM,.bfh-flag-CN,.bfh-flag-CO,.bfh-flag-CR,.bfh-flag-CU,.bfh-flag-CV,.bfh-flag-CY,.bfh-flag-CZ,.bfh-flag-DE,.bfh-flag-DJ,.bfh-flag-DK,.bfh-flag-DM,.bfh-flag-DO,.bfh-flag-DZ,.bfh-flag-EC,.bfh-flag-EE,.bfh-flag-EG,.bfh-flag-EH,.bfh-flag-ER,.bfh-flag-ES,.bfh-flag-ET,.bfh-flag-EU,.bfh-flag-EUR,.bfh-flag-FI,.bfh-flag-FJ,.bfh-flag-FK,.bfh-flag-FM,.bfh-flag-FO,.bfh-flag-FR,.bfh-flag-FX,.bfh-flag-GA,.bfh-flag-GB,.bfh-flag-GD,.bfh-flag-GE,.bfh-flag-GF,.bfh-flag-GG,.bfh-flag-GH,.bfh-flag-GL,.bfh-flag-GM,.bfh-flag-GN,.bfh-flag-GP,.bfh-flag-GQ,.bfh-flag-GR,.bfh-flag-GS,.bfh-flag-GT,.bfh-flag-GU,.bfh-flag-GW,.bfh-flag-GY,.bfh-flag-HK,.bfh-flag-HN,.bfh-flag-HR,.bfh-flag-HT,.bfh-flag-HU,.bfh-flag-ID,.bfh-flag-IE,.bfh-flag-IL,.bfh-flag-IM,.bfh-flag-IN,.bfh-flag-IQ,.bfh-flag-IR,.bfh-flag-IS,.bfh-flag-IT,.bfh-flag-JE,.bfh-flag-JM,.bfh-flag-JO,.bfh-flag-JP,.bfh-flag-KE,.bfh-flag-KG,.bfh-flag-KH,.bfh-flag-KI,.bfh-flag-KM,.bfh-flag-KN,.bfh-flag-KP,.bfh-flag-KR,.bfh-flag-KV,.bfh-flag-KW,.bfh-flag-KY,.bfh-flag-KZ,.bfh-flag-LA,.bfh-flag-LB,.bfh-flag-LC,.bfh-flag-LI,.bfh-flag-LK,.bfh-flag-LR,.bfh-flag-LS,.bfh-flag-LT,.bfh-flag-LU,.bfh-flag-LV,.bfh-flag-LY,.bfh-flag-MA,.bfh-flag-MC,.bfh-flag-MD,.bfh-flag-ME,.bfh-flag-MG,.bfh-flag-MH,.bfh-flag-MK,.bfh-flag-ML,.bfh-flag-MM,.bfh-flag-MN,.bfh-flag-MO,.bfh-flag-MP,.bfh-flag-MQ,.bfh-flag-MR,.bfh-flag-MS,.bfh-flag-MT,.bfh-flag-MU,.bfh-flag-MV,.bfh-flag-MW,.bfh-flag-MX,.bfh-flag-MY,.bfh-flag-MZ,.bfh-flag-NA,.bfh-flag-NC,.bfh-flag-NE,.bfh-flag-NF,.bfh-flag-NG,.bfh-flag-NI,.bfh-flag-NL,.bfh-flag-NO,.bfh-flag-NP,.bfh-flag-NR,.bfh-flag-NZ,.bfh-flag-OM,.bfh-flag-PA,.bfh-flag-PE,.bfh-flag-PF,.bfh-flag-PG,.bfh-flag-PH,.bfh-flag-PK,.bfh-flag-PL,.bfh-flag-PM,.bfh-flag-PN,.bfh-flag-PR,.bfh-flag-PS,.bfh-flag-PT,.bfh-flag-PW,.bfh-flag-PY,.bfh-flag-QA,.bfh-flag-RE,.bfh-flag-RO,.bfh-flag-RS,.bfh-flag-RU,.bfh-flag-RW,.bfh-flag-SA,.bfh-flag-SB,.bfh-flag-SC,.bfh-flag-SD,.bfh-flag-SE,.bfh-flag-SG,.bfh-flag-SH,.bfh-flag-SI,.bfh-flag-SK,.bfh-flag-SL,.bfh-flag-SM,.bfh-flag-SN,.bfh-flag-SO,.bfh-flag-SR,.bfh-flag-SS,.bfh-flag-ST,.bfh-flag-SV,.bfh-flag-SY,.bfh-flag-SZ,.bfh-flag-TC,.bfh-flag-TD,.bfh-flag-TF,.bfh-flag-TG,.bfh-flag-TH,.bfh-flag-TJ,.bfh-flag-TM,.bfh-flag-TN,.bfh-flag-TO,.bfh-flag-TP,.bfh-flag-TR,.bfh-flag-TT,.bfh-flag-TV,.bfh-flag-TW,.bfh-flag-TZ,.bfh-flag-UA,.bfh-flag-UG,.bfh-flag-US,.bfh-flag-UY,.bfh-flag-UZ,.bfh-flag-VA,.bfh-flag-VC,.bfh-flag-VE,.bfh-flag-VG,.bfh-flag-VI,.bfh-flag-VN,.bfh-flag-VU,.bfh-flag-WF,.bfh-flag-WS,.bfh-flag-XCD,.bfh-flag-YE,.bfh-flag-ZA,.bfh-flag-ZM,.bfh-flag-ZW{margin-right:5px}.bfh-flag-AD{background-position:-1921px 0}.bfh-flag-AE{background-position:-1904px 0}.bfh-flag-AF{background-position:-3689px 0}.bfh-flag-AG{background-position:-34px 0}.bfh-flag-AI{background-position:-51px 0}.bfh-flag-AL{background-position:-68px 0}.bfh-flag-AM{background-position:-85px 0}.bfh-flag-AN{background-position:-102px 0}.bfh-flag-AO{background-position:-119px 0}.bfh-flag-AQ{background-position:-136px 0}.bfh-flag-AR{background-position:-153px 0}.bfh-flag-AS{background-position:-170px 0}.bfh-flag-AT{background-position:-187px 0}.bfh-flag-AU{background-position:-204px 0}.bfh-flag-AW{background-position:-221px 0}.bfh-flag-AX{background-position:-238px 0}.bfh-flag-AZ{background-position:-255px 0}.bfh-flag-BA{background-position:-272px 0}.bfh-flag-BB{background-position:-289px 0}.bfh-flag-BD{background-position:-306px 0}.bfh-flag-BE{background-position:-323px 0}.bfh-flag-BG{background-position:-340px 0}.bfh-flag-BH{background-position:-357px 0}.bfh-flag-BI{background-position:-374px 0}.bfh-flag-BJ{background-position:-391px 0}.bfh-flag-BL{background-position:-408px 0}.bfh-flag-BM{background-position:-425px 0}.bfh-flag-BN{background-position:-442px 0}.bfh-flag-BO{background-position:-459px 0}.bfh-flag-BR{background-position:-476px 0}.bfh-flag-BS{background-position:-493px 0}.bfh-flag-BT{background-position:-510px 0}.bfh-flag-BW{background-position:-527px 0}.bfh-flag-BY{background-position:-544px 0}.bfh-flag-BZ{background-position:-561px 0}.bfh-flag-CA{background-position:-578px 0}.bfh-flag-CD{background-position:-595px 0}.bfh-flag-CF{background-position:-612px 0}.bfh-flag-CG{background-position:-629px 0}.bfh-flag-CH{background-position:-646px 0}.bfh-flag-CI{background-position:-663px 0}.bfh-flag-CL{background-position:-680px 0}.bfh-flag-CM{background-position:-697px 0}.bfh-flag-CN{background-position:-714px 0}.bfh-flag-CO{background-position:-731px 0}.bfh-flag-CR{background-position:-748px 0}.bfh-flag-CV{background-position:-765px 0}.bfh-flag-CY{background-position:-782px 0}.bfh-flag-CZ{background-position:-799px 0}.bfh-flag-DJ{background-position:-816px 0}.bfh-flag-DK{background-position:-833px 0}.bfh-flag-DM{background-position:-850px 0}.bfh-flag-DO{background-position:-867px 0}.bfh-flag-DZ{background-position:-884px 0}.bfh-flag-EC{background-position:-901px 0}.bfh-flag-EE{background-position:-918px 0}.bfh-flag-EG{background-position:-935px 0}.bfh-flag-EH{background-position:-952px 0}.bfh-flag-ER{background-position:-969px 0}.bfh-flag-ES{background-position:-986px 0}.bfh-flag-ET{background-position:-1003px 0}.bfh-flag-EU{background-position:-1020px 0}.bfh-flag-FI{background-position:-1037px 0}.bfh-flag-FJ{background-position:-1054px 0}.bfh-flag-FK{background-position:-1071px 0}.bfh-flag-FM{background-position:-1088px 0}.bfh-flag-FO{background-position:-1105px 0}.bfh-flag-FR,.bfh-flag-FX,.bfh-flag-GF,.bfh-flag-GP,.bfh-flag-MQ,.bfh-flag-NC,.bfh-flag-PF,.bfh-flag-PM,.bfh-flag-RE,.bfh-flag-TF,.bfh-flag-WF{background-position:-1122px 0}.bfh-flag-GA{background-position:-1139px 0}.bfh-flag-GB{background-position:-1156px 0}.bfh-flag-GD{background-position:-1173px 0}.bfh-flag-GE{background-position:-1190px 0}.bfh-flag-GG{background-position:-1207px 0}.bfh-flag-GH{background-position:-1224px 0}.bfh-flag-GL{background-position:-1241px 0}.bfh-flag-GM{background-position:-1258px 0}.bfh-flag-GN{background-position:-1275px 0}.bfh-flag-GQ{background-position:-1292px 0}.bfh-flag-GR{background-position:-1309px 0}.bfh-flag-GS{background-position:-1326px 0}.bfh-flag-GT{background-position:-1343px 0}.bfh-flag-GU{background-position:-1360px 0}.bfh-flag-GW{background-position:-1377px 0}.bfh-flag-GY{background-position:-1394px 0}.bfh-flag-HK{background-position:-1411px 0}.bfh-flag-HN{background-position:-1428px 0}.bfh-flag-HR{background-position:-1445px 0}.bfh-flag-HT{background-position:-1462px 0}.bfh-flag-HU{background-position:-1479px 0}.bfh-flag-ID{background-position:-1496px 0}.bfh-flag-IE{background-position:-1513px 0}.bfh-flag-IL{background-position:-1530px 0}.bfh-flag-IM{background-position:-1547px 0}.bfh-flag-IN{background-position:-1564px 0}.bfh-flag-IQ{background-position:-1581px 0}.bfh-flag-IS{background-position:-1598px 0}.bfh-flag-IT{background-position:-1615px 0}.bfh-flag-JE{background-position:-1632px 0}.bfh-flag-JM{background-position:-1649px 0}.bfh-flag-JO{background-position:-1666px 0}.bfh-flag-JP{background-position:-1683px 0}.bfh-flag-KE{background-position:-1700px 0}.bfh-flag-KG{background-position:-1717px 0}.bfh-flag-KH{background-position:-1734px 0}.bfh-flag-KI{background-position:-1751px 0}.bfh-flag-KM{background-position:-1768px 0}.bfh-flag-KN{background-position:-1785px 0}.bfh-flag-KP{background-position:-1802px 0}.bfh-flag-KR{background-position:-1819px 0}.bfh-flag-KV{background-position:-1836px 0}.bfh-flag-KW{background-position:-1853px 0}.bfh-flag-KY{background-position:-1870px 0}.bfh-flag-LA{background-position:-1887px 0}.bfh-flag-LC{background-position:0 0}.bfh-flag-LK{background-position:-17px 0}.bfh-flag-LR{background-position:-1938px 0}.bfh-flag-LS{background-position:-1955px 0}.bfh-flag-LT{background-position:-1972px 0}.bfh-flag-LU{background-position:-1989px 0}.bfh-flag-LV{background-position:-2006px 0}.bfh-flag-LY{background-position:-2023px 0}.bfh-flag-MA{background-position:-2040px 0}.bfh-flag-ME{background-position:-2057px 0}.bfh-flag-MG{background-position:-2074px 0}.bfh-flag-MH{background-position:-2091px 0}.bfh-flag-ML{background-position:-2108px 0}.bfh-flag-MM{background-position:-2125px 0}.bfh-flag-MP{background-position:-2142px 0}.bfh-flag-MR{background-position:-2159px 0}.bfh-flag-MS{background-position:-2176px 0}.bfh-flag-MT{background-position:-2193px 0}.bfh-flag-MU{background-position:-2210px 0}.bfh-flag-MV{background-position:-2227px 0}.bfh-flag-MW{background-position:-2244px 0}.bfh-flag-MZ{background-position:-2261px 0}.bfh-flag-NA{background-position:-2278px 0}.bfh-flag-NE{background-position:-2295px 0}.bfh-flag-NF{background-position:-2312px 0}.bfh-flag-NG{background-position:-2329px 0}.bfh-flag-NI{background-position:-2346px 0}.bfh-flag-NL{background-position:-2363px 0}.bfh-flag-NO{background-position:-2380px 0}.bfh-flag-NP{background-position:-2397px 0}.bfh-flag-NR{background-position:-2414px 0}.bfh-flag-NZ{background-position:-2431px 0}.bfh-flag-OM{background-position:-2448px 0}.bfh-flag-PA{background-position:-2465px 0}.bfh-flag-PE{background-position:-2482px 0}.bfh-flag-PG{background-position:-2499px 0}.bfh-flag-PH{background-position:-2516px 0}.bfh-flag-PK{background-position:-2533px 0}.bfh-flag-PL{background-position:-2550px 0}.bfh-flag-PN{background-position:-2567px 0}.bfh-flag-PS{background-position:-2584px 0}.bfh-flag-PT{background-position:-2601px 0}.bfh-flag-PW{background-position:-2618px 0}.bfh-flag-PY{background-position:-2635px 0}.bfh-flag-QA{background-position:-2652px 0}.bfh-flag-RS{background-position:-2669px 0}.bfh-flag-RU{background-position:-2686px 0}.bfh-flag-RW{background-position:-2703px 0}.bfh-flag-SA{background-position:-2720px 0}.bfh-flag-SB{background-position:-2737px 0}.bfh-flag-SC{background-position:-2754px 0}.bfh-flag-SD{background-position:-2771px 0}.bfh-flag-SE{background-position:-2788px 0}.bfh-flag-SG{background-position:-2805px 0}.bfh-flag-SH{background-position:-2822px 0}.bfh-flag-SI{background-position:-2839px 0}.bfh-flag-SK{background-position:-2856px 0}.bfh-flag-SM{background-position:-2873px 0}.bfh-flag-SN{background-position:-2890px 0}.bfh-flag-SO{background-position:-2907px 0}.bfh-flag-SR{background-position:-2924px 0}.bfh-flag-SS{background-position:-2941px 0}.bfh-flag-ST{background-position:-2958px 0}.bfh-flag-SV{background-position:-2975px 0}.bfh-flag-SY{background-position:-2992px 0}.bfh-flag-SZ{background-position:-3009px 0}.bfh-flag-TC{background-position:-3026px 0}.bfh-flag-TD{background-position:-3043px 0}.bfh-flag-TG{background-position:-3060px 0}.bfh-flag-TH{background-position:-3077px 0}.bfh-flag-TJ{background-position:-3094px 0}.bfh-flag-TM{background-position:-3111px 0}.bfh-flag-TN{background-position:-3128px 0}.bfh-flag-TP{background-position:-3145px 0}.bfh-flag-TR{background-position:-3162px 0}.bfh-flag-TT{background-position:-3179px 0}.bfh-flag-TV{background-position:-3196px 0}.bfh-flag-TW{background-position:-3213px 0}.bfh-flag-TZ{background-position:-3230px 0}.bfh-flag-UA{background-position:-3247px 0}.bfh-flag-UG{background-position:-3264px 0}.bfh-flag-US{background-position:-3281px 0}.bfh-flag-UY{background-position:-3298px 0}.bfh-flag-UZ{background-position:-3315px 0}.bfh-flag-VC{background-position:-3332px 0}.bfh-flag-VE{background-position:-3349px 0}.bfh-flag-VG{background-position:-3366px 0}.bfh-flag-VI{background-position:-3383px 0}.bfh-flag-VN{background-position:-3400px 0}.bfh-flag-VU{background-position:-3417px 0}.bfh-flag-WS{background-position:-3434px 0}.bfh-flag-YE{background-position:-3451px 0}.bfh-flag-ZA{background-position:-3468px 0}.bfh-flag-ZM{background-position:-3485px 0}.bfh-flag-BF{background-position:-3502px 0}.bfh-flag-CU{background-position:-3519px 0}.bfh-flag-DE{background-position:-3536px 0}.bfh-flag-IR{background-position:-3553px 0}.bfh-flag-KZ{background-position:-3570px 0}.bfh-flag-LB{background-position:-3587px 0}.bfh-flag-LI{background-position:-3604px 0}.bfh-flag-MC{background-position:-3621px 0}.bfh-flag-MD{background-position:-3638px 0}.bfh-flag-MK{background-position:-3655px 0}.bfh-flag-MN{background-position:-3672px 0}.bfh-flag-MO{background-position:-3706px 0}.bfh-flag-MX{background-position:-3723px 0}.bfh-flag-MY{background-position:-3740px 0}.bfh-flag-PR{background-position:-3757px 0}.bfh-flag-RO{background-position:-3774px 0}.bfh-flag-SL{background-position:-3791px 0}.bfh-flag-TO{background-position:-3808px 0}.bfh-flag-VA{background-position:-3825px 0}.bfh-flag-ZW{background-position:-3842px 0}.bfh-flag-EUR{background:url(../img/eu.png) no-repeat}.bfh-flag-XCD{background:url(../img/xcd.png) no-repeat}.bfh-flag-AUD,.bfh-flag-CHF,.bfh-flag-DKK,.bfh-flag-EUR,.bfh-flag-XAF,.bfh-flag-XCD,.bfh-flag-XOF,.bfh-flag-XPF,.bfh-flag-ZAR{width:16px;height:14px;background:url(../img/bootstrap-formhelpers-currencies.flags.png) no-repeat}.bfh-flag-AUD:empty,.bfh-flag-CHF:empty,.bfh-flag-DKK:empty,.bfh-flag-EUR:empty,.bfh-flag-XAF:empty,.bfh-flag-XCD:empty,.bfh-flag-XOF:empty,.bfh-flag-XPF:empty,.bfh-flag-ZAR:empty{width:16px}.bfh-flag-AUD,.bfh-flag-CHF,.bfh-flag-DKK,.bfh-flag-EUR,.bfh-flag-XAF,.bfh-flag-XCD,.bfh-flag-XOF,.bfh-flag-XPF,.bfh-flag-ZAR{margin-right:5px}.bfh-flag-AUD{background-position:-32px 0}.bfh-flag-CHF{background-position:-224px 0}.bfh-flag-DKK{background-position:-64px -16px}.bfh-flag-EUR{background-position:-96px -16px}.bfh-flag-XAF{background-position:-160px -80px}.bfh-flag-XCD{background-position:-176px -80px}.bfh-flag-XOF{background-position:-192px -80px}.bfh-flag-XPF{background-position:-208px -80px}.bfh-flag-ZAR{background-position:-224px -80px}.bfh-selectbox{position:relative}.bfh-selectbox .bfh-selectbox-toggle{display:inline-block;padding:6px 24px 6px 12px;text-decoration:none}.bfh-selectbox .bfh-selectbox-toggle:focus{outline:0}.bfh-selectbox .bfh-selectbox-toggle .bfh-selectbox-option{display:inline-block;float:left;width:100%;height:20px;overflow:hidden;text-overflow:ellipsis}.bfh-selectbox .bfh-selectbox-toggle .selectbox-caret{float:right;margin-top:8px;margin-right:-16px;margin-left:-10px}.bfh-selectbox .bfh-selectbox-options{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:90px;padding:5px 0;margin:-1px 0 0;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.bfh-selectbox .bfh-selectbox-options.pull-right{right:0;left:auto}.bfh-selectbox .bfh-selectbox-options .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.bfh-selectbox .bfh-selectbox-options .bfh-selectbox-filter-container{width:100%;padding:5px}.bfh-selectbox .bfh-selectbox-options ul{max-width:500px;max-height:200px;padding:0;margin:5px 0 0;overflow-x:hidden;overflow-y:auto;list-style:none}.bfh-selectbox .bfh-selectbox-options ul li>a{display:block;width:100%;min-height:26px;padding:3px 20px;overflow-x:hidden;clear:both;font-weight:400;line-height:1.428571429;color:#333;text-overflow:ellipsis;white-space:nowrap}.bfh-selectbox .bfh-selectbox-options ul li>a:focus,.bfh-selectbox .bfh-selectbox-options ul li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.bfh-selectbox .bfh-selectbox-options ul .bfh-selectbox-options-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.bfh-selectbox .bfh-selectbox-options ul .disabled>a{color:#999}.bfh-selectbox .bfh-selectbox-options ul .disabled>a:focus,.bfh-selectbox .bfh-selectbox-options ul .disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.bfh-selectbox.open>.bfh-selectbox-options{display:block}.bfh-selectbox.open a{outline:0}.pull-right>.bfh-selectbox-options{right:0;left:auto}.bfh-selectbox-up .caret,.navbar-fixed-bottom .bfh-selectbox .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.bfh-selectbox-up .bfh-selectbox-options,.navbar-fixed-bottom .bfh-selectbox .bfh-selectbox-options{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .bfh-selectbox-options{right:0;left:auto}}.bfh-googlefonts .bfh-selectbox-options a{width:230px;height:30px;text-indent:-9999px;background-image:url(../img/bootstrap-formhelpers-googlefonts.png)}.bfh-googlefonts .bfh-selectbox-options a:focus{background-color:transparent;background-repeat:no-repeat;outline:0;filter:none}.bfh-googlefonts .bfh-selectbox-options .active>a,.bfh-googlefonts .bfh-selectbox-options .active>a:hover{background-color:transparent;background-image:url(../img/bootstrap-formhelpers-googlefonts.png);background-repeat:no-repeat;outline:0;filter:none}.bfh-datepicker-calendar{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:296px}.bfh-datepicker-calendar>table.calendar{width:376px;background:#fff}.bfh-datepicker-calendar>table.calendar .months-header>th{font-size:12px;text-align:center}.bfh-datepicker-calendar>table.calendar .months-header>th.month>span{display:inline-block;width:100px}.bfh-datepicker-calendar>table.calendar .months-header>th.year>span{display:inline-block;width:50px}.bfh-datepicker-calendar>table.calendar .days-header>th,.bfh-datepicker-calendar>table.calendar>tbody>tr>td{width:30px;font-size:11px;line-height:12px;text-align:center}.bfh-datepicker-calendar>table.calendar>tbody>tr>td.today{color:#fff;background-color:#428bca}.bfh-datepicker-calendar>table.calendar>tbody>tr>td.off{color:#999}.bfh-datepicker-calendar>table.calendar>tbody>tr>td:not(.off):hover{color:#262626;cursor:pointer;background-color:#f5f5f5}.bfh-datepicker{position:relative}.bfh-datepicker-toggle{*margin-bottom:-3px}.bfh-datepicker-toggle>input[readonly]{cursor:inherit;background-color:inherit}.open>.bfh-datepicker-calendar{display:block}.bfh-timepicker-popover{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:100px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.bfh-timepicker-popover>table{width:180px;margin:0}.bfh-timepicker-popover>table>tbody>tr>td{text-align:center;border:0}.bfh-timepicker-popover>table>tbody>tr>td.separator{font-size:20px;font-weight:700;line-height:28px}.bfh-timepicker-popover>table>tbody>tr>td>div>input{width:42px!important;text-align:center}.bfh-timepicker{position:relative}.bfh-timepicker-toggle{*margin-bottom:-3px}.bfh-timepicker-toggle>input[readonly]{cursor:inherit;background-color:inherit}.open>.bfh-timepicker-popover{display:block}.bfh-slider{height:20px;margin-top:8px;margin-bottom:23px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none}.bfh-slider>.bfh-slider-handle{width:20px;height:34px;margin-top:-7px;background:#efefef}.bfh-slider>.bfh-slider-handle,.bfh-slider>.bfh-slider-handle>.bfh-slider-value{position:absolute;cursor:col-resize;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px}.bfh-slider>.bfh-slider-handle>.bfh-slider-value{width:48px;height:20px;margin-top:5px;margin-left:-15px;line-height:20px;text-align:center;background-color:#fff}.bfh-slider.disabled .bfh-slider-value,.bfh-slider>.bfh-slider-handle>.bfh-slider-value .disabled{color:#999}.bfh-colorpicker-popover{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:100px;padding:20px;cursor:default;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.bfh-colorpicker-popover>canvas{width:384px;height:256px}.bfh-colorpicker{position:relative}.bfh-colorpicker-toggle{*margin-bottom:-3px}.bfh-colorpicker-toggle>input[readonly]{cursor:inherit;background-color:inherit}.bfh-colorpicker-toggle .bfh-colorpicker-icon{display:block;width:16px;height:16px}.open>.bfh-colorpicker-popover{display:block}.input-group>.bfh-number{border-right:0}.input-group>.bfh-number-btn:hover{background-color:#ccc} \ No newline at end of file diff --git a/themes/light/assets/css/browser.css b/themes/light/assets/css/browser.css index a075d4991a..72f9a90aa4 100644 --- a/themes/light/assets/css/browser.css +++ b/themes/light/assets/css/browser.css @@ -1,37 +1 @@ -.fileBrowserDialog { - max-height: 480px; - overflow-y: auto; -} - -.fileBrowserDialog ul { - margin: 0; - padding: 0; -} - -.fileBrowserDialog ul li { - margin: 2px 0; - cursor: pointer; - list-style-type: none; -} - -.fileBrowserDialog ul li a { - display: block; - padding: 4px 0; -} - -.fileBrowserDialog ul li a:hover { - color: rgb(0, 0, 255); - background: none; -} - -.fileBrowserDialog ul li a .ui-icon { - margin: 0 4px; - float: left; -} - -.ui-autocomplete { - max-height: 180px; - overflow-y: auto; - overflow-x: hidden; /* prevent horizontal scrollbar */ - padding-right: 20px; /* add padding to account for vertical scrollbar */ -} +.fileBrowserDialog{max-height:480px;overflow-y:auto}.fileBrowserDialog ul{margin:0;padding:0}.fileBrowserDialog ul li{margin:2px 0;cursor:pointer;list-style-type:none}.fileBrowserDialog ul li a{display:block;padding:4px 0}.fileBrowserDialog ul li a:hover{color:#00f;background:none}.fileBrowserDialog ul li a .ui-icon{margin:0 4px;float:left}.ui-autocomplete{max-height:180px;overflow-y:auto;overflow-x:hidden;padding-right:20px} \ No newline at end of file diff --git a/themes/light/assets/css/country-flags.css b/themes/light/assets/css/country-flags.css index bef42c5159..aae670f43d 100644 --- a/themes/light/assets/css/country-flags.css +++ b/themes/light/assets/css/country-flags.css @@ -1,256 +1 @@ -.country-flag { - width: 16px; - height: 11px; - background: url(../images/country-flags.png) no-repeat; -} -.country-flag.flag-ad { background-position: -16px 0; } -.country-flag.flag-ae { background-position: -32px 0; } -.country-flag.flag-af { background-position: -48px 0; } -.country-flag.flag-ag { background-position: -64px 0; } -.country-flag.flag-ai { background-position: -80px 0; } -.country-flag.flag-al { background-position: -96px 0; } -.country-flag.flag-am { background-position: -112px 0; } -.country-flag.flag-an { background-position: -128px 0; } -.country-flag.flag-ao { background-position: -144px 0; } -.country-flag.flag-ar { background-position: -160px 0; } -.country-flag.flag-as { background-position: -176px 0; } -.country-flag.flag-at { background-position: -192px 0; } -.country-flag.flag-au { background-position: -208px 0; } -.country-flag.flag-aw { background-position: -224px 0; } -.country-flag.flag-az { background-position: -240px 0; } -.country-flag.flag-ba { background-position: 0 -11px; } -.country-flag.flag-bb { background-position: -16px -11px; } -.country-flag.flag-bd { background-position: -32px -11px; } -.country-flag.flag-be { background-position: -48px -11px; } -.country-flag.flag-bf { background-position: -64px -11px; } -.country-flag.flag-bg { background-position: -80px -11px; } -.country-flag.flag-bh { background-position: -96px -11px; } -.country-flag.flag-bi { background-position: -112px -11px; } -.country-flag.flag-bj { background-position: -128px -11px; } -.country-flag.flag-bm { background-position: -144px -11px; } -.country-flag.flag-bn { background-position: -160px -11px; } -.country-flag.flag-bo { background-position: -176px -11px; } -.country-flag.flag-br { background-position: -192px -11px; } -.country-flag.flag-bs { background-position: -208px -11px; } -.country-flag.flag-bt { background-position: -224px -11px; } -.country-flag.flag-bv { background-position: -240px -11px; } -.country-flag.flag-bw { background-position: 0 -22px; } -.country-flag.flag-by { background-position: -16px -22px; } -.country-flag.flag-bz { background-position: -32px -22px; } -.country-flag.flag-ca { background-position: -48px -22px; } -.country-flag.flag-catalonia { background-position: -64px -22px; } -.country-flag.flag-cd { background-position: -80px -22px; } -.country-flag.flag-cf { background-position: -96px -22px; } -.country-flag.flag-cg { background-position: -112px -22px; } -.country-flag.flag-ch { background-position: -128px -22px; } -.country-flag.flag-ci { background-position: -144px -22px; } -.country-flag.flag-ck { background-position: -160px -22px; } -.country-flag.flag-cl { background-position: -176px -22px; } -.country-flag.flag-cm { background-position: -192px -22px; } -.country-flag.flag-cn { background-position: -208px -22px; } -.country-flag.flag-co { background-position: -224px -22px; } -.country-flag.flag-cr { background-position: -240px -22px; } -.country-flag.flag-cu { background-position: 0 -33px; } -.country-flag.flag-cv { background-position: -16px -33px; } -.country-flag.flag-cw { background-position: -32px -33px; } -.country-flag.flag-cy { background-position: -48px -33px; } -.country-flag.flag-cz { background-position: -64px -33px; } -.country-flag.flag-de { background-position: -80px -33px; } -.country-flag.flag-dj { background-position: -96px -33px; } -.country-flag.flag-dk { background-position: -112px -33px; } -.country-flag.flag-dm { background-position: -128px -33px; } -.country-flag.flag-do { background-position: -144px -33px; } -.country-flag.flag-dz { background-position: -160px -33px; } -.country-flag.flag-ec { background-position: -176px -33px; } -.country-flag.flag-ee { background-position: -192px -33px; } -.country-flag.flag-eg { background-position: -208px -33px; } -.country-flag.flag-eh { background-position: -224px -33px; } -.country-flag.flag-england { background-position: -240px -33px; } -.country-flag.flag-er { background-position: 0 -44px; } -.country-flag.flag-es { background-position: -16px -44px; } -.country-flag.flag-et { background-position: -32px -44px; } -.country-flag.flag-eu { background-position: -48px -44px; } -.country-flag.flag-fi { background-position: -64px -44px; } -.country-flag.flag-fj { background-position: -80px -44px; } -.country-flag.flag-fk { background-position: -96px -44px; } -.country-flag.flag-fm { background-position: -112px -44px; } -.country-flag.flag-fo { background-position: -128px -44px; } -.country-flag.flag-fr { background-position: -144px -44px; } -.country-flag.flag-ga { background-position: -160px -44px; } -.country-flag.flag-gb { background-position: -176px -44px; } -.country-flag.flag-gd { background-position: -192px -44px; } -.country-flag.flag-ge { background-position: -208px -44px; } -.country-flag.flag-gf { background-position: -224px -44px; } -.country-flag.flag-gg { background-position: -240px -44px; } -.country-flag.flag-gh { background-position: 0 -55px; } -.country-flag.flag-gi { background-position: -16px -55px; } -.country-flag.flag-gl { background-position: -32px -55px; } -.country-flag.flag-gm { background-position: -48px -55px; } -.country-flag.flag-gn { background-position: -64px -55px; } -.country-flag.flag-gp { background-position: -80px -55px; } -.country-flag.flag-gq { background-position: -96px -55px; } -.country-flag.flag-gr { background-position: -112px -55px; } -.country-flag.flag-gs { background-position: -128px -55px; } -.country-flag.flag-gt { background-position: -144px -55px; } -.country-flag.flag-gu { background-position: -160px -55px; } -.country-flag.flag-gw { background-position: -176px -55px; } -.country-flag.flag-gy { background-position: -192px -55px; } -.country-flag.flag-hk { background-position: -208px -55px; } -.country-flag.flag-hm { background-position: -224px -55px; } -.country-flag.flag-hn { background-position: -240px -55px; } -.country-flag.flag-hr { background-position: 0 -66px; } -.country-flag.flag-ht { background-position: -16px -66px; } -.country-flag.flag-hu { background-position: -32px -66px; } -.country-flag.flag-ic { background-position: -48px -66px; } -.country-flag.flag-id { background-position: -64px -66px; } -.country-flag.flag-ie { background-position: -80px -66px; } -.country-flag.flag-il { background-position: -96px -66px; } -.country-flag.flag-im { background-position: -112px -66px; } -.country-flag.flag-in { background-position: -128px -66px; } -.country-flag.flag-io { background-position: -144px -66px; } -.country-flag.flag-iq { background-position: -160px -66px; } -.country-flag.flag-ir { background-position: -176px -66px; } -.country-flag.flag-is { background-position: -192px -66px; } -.country-flag.flag-it { background-position: -208px -66px; } -.country-flag.flag-je { background-position: -224px -66px; } -.country-flag.flag-jm { background-position: -240px -66px; } -.country-flag.flag-jo { background-position: 0 -77px; } -.country-flag.flag-jp { background-position: -16px -77px; } -.country-flag.flag-ke { background-position: -32px -77px; } -.country-flag.flag-kg { background-position: -48px -77px; } -.country-flag.flag-kh { background-position: -64px -77px; } -.country-flag.flag-ki { background-position: -80px -77px; } -.country-flag.flag-km { background-position: -96px -77px; } -.country-flag.flag-kn { background-position: -112px -77px; } -.country-flag.flag-kp { background-position: -128px -77px; } -.country-flag.flag-kr { background-position: -144px -77px; } -.country-flag.flag-kurdistan { background-position: -160px -77px; } -.country-flag.flag-kw { background-position: -176px -77px; } -.country-flag.flag-ky { background-position: -192px -77px; } -.country-flag.flag-kz { background-position: -208px -77px; } -.country-flag.flag-la { background-position: -224px -77px; } -.country-flag.flag-lb { background-position: -240px -77px; } -.country-flag.flag-lc { background-position: 0 -88px; } -.country-flag.flag-li { background-position: -16px -88px; } -.country-flag.flag-lk { background-position: -32px -88px; } -.country-flag.flag-lr { background-position: -48px -88px; } -.country-flag.flag-ls { background-position: -64px -88px; } -.country-flag.flag-lt { background-position: -80px -88px; } -.country-flag.flag-lu { background-position: -96px -88px; } -.country-flag.flag-lv { background-position: -112px -88px; } -.country-flag.flag-ly { background-position: -128px -88px; } -.country-flag.flag-ma { background-position: -144px -88px; } -.country-flag.flag-mc { background-position: -160px -88px; } -.country-flag.flag-md { background-position: -176px -88px; } -.country-flag.flag-me { background-position: -192px -88px; } -.country-flag.flag-mg { background-position: -208px -88px; } -.country-flag.flag-mh { background-position: -224px -88px; } -.country-flag.flag-mk { background-position: -240px -88px; } -.country-flag.flag-ml { background-position: 0 -99px; } -.country-flag.flag-mm { background-position: -16px -99px; } -.country-flag.flag-mn { background-position: -32px -99px; } -.country-flag.flag-mo { background-position: -48px -99px; } -.country-flag.flag-mp { background-position: -64px -99px; } -.country-flag.flag-mq { background-position: -80px -99px; } -.country-flag.flag-mr { background-position: -96px -99px; } -.country-flag.flag-ms { background-position: -112px -99px; } -.country-flag.flag-mt { background-position: -128px -99px; } -.country-flag.flag-mu { background-position: -144px -99px; } -.country-flag.flag-mv { background-position: -160px -99px; } -.country-flag.flag-mw { background-position: -176px -99px; } -.country-flag.flag-mx { background-position: -192px -99px; } -.country-flag.flag-my { background-position: -208px -99px; } -.country-flag.flag-mz { background-position: -224px -99px; } -.country-flag.flag-na { background-position: -240px -99px; } -.country-flag.flag-nc { background-position: 0 -110px; } -.country-flag.flag-ne { background-position: -16px -110px; } -.country-flag.flag-nf { background-position: -32px -110px; } -.country-flag.flag-ng { background-position: -48px -110px; } -.country-flag.flag-ni { background-position: -64px -110px; } -.country-flag.flag-nl { background-position: -80px -110px; } -.country-flag.flag-no { background-position: -96px -110px; } -.country-flag.flag-np { background-position: -112px -110px; } -.country-flag.flag-nr { background-position: -128px -110px; } -.country-flag.flag-nu { background-position: -144px -110px; } -.country-flag.flag-nz { background-position: -160px -110px; } -.country-flag.flag-om { background-position: -176px -110px; } -.country-flag.flag-pa { background-position: -192px -110px; } -.country-flag.flag-pe { background-position: -208px -110px; } -.country-flag.flag-pf { background-position: -224px -110px; } -.country-flag.flag-pg { background-position: -240px -110px; } -.country-flag.flag-ph { background-position: 0 -121px; } -.country-flag.flag-pk { background-position: -16px -121px; } -.country-flag.flag-pl { background-position: -32px -121px; } -.country-flag.flag-pm { background-position: -48px -121px; } -.country-flag.flag-pn { background-position: -64px -121px; } -.country-flag.flag-pr { background-position: -80px -121px; } -.country-flag.flag-ps { background-position: -96px -121px; } -.country-flag.flag-pt { background-position: -112px -121px; } -.country-flag.flag-pw { background-position: -128px -121px; } -.country-flag.flag-py { background-position: -144px -121px; } -.country-flag.flag-qa { background-position: -160px -121px; } -.country-flag.flag-re { background-position: -176px -121px; } -.country-flag.flag-ro { background-position: -192px -121px; } -.country-flag.flag-rs { background-position: -208px -121px; } -.country-flag.flag-ru { background-position: -224px -121px; } -.country-flag.flag-rw { background-position: -240px -121px; } -.country-flag.flag-sa { background-position: 0 -132px; } -.country-flag.flag-sb { background-position: -16px -132px; } -.country-flag.flag-sc { background-position: -32px -132px; } -.country-flag.flag-scotland { background-position: -48px -132px; } -.country-flag.flag-sd { background-position: -64px -132px; } -.country-flag.flag-se { background-position: -80px -132px; } -.country-flag.flag-sg { background-position: -96px -132px; } -.country-flag.flag-sh { background-position: -112px -132px; } -.country-flag.flag-si { background-position: -128px -132px; } -.country-flag.flag-sk { background-position: -144px -132px; } -.country-flag.flag-sl { background-position: -160px -132px; } -.country-flag.flag-sm { background-position: -176px -132px; } -.country-flag.flag-sn { background-position: -192px -132px; } -.country-flag.flag-so { background-position: -208px -132px; } -.country-flag.flag-somaliland { background-position: -224px -132px; } -.country-flag.flag-sr { background-position: -240px -132px; } -.country-flag.flag-ss { background-position: 0 -143px; } -.country-flag.flag-st { background-position: -16px -143px; } -.country-flag.flag-sv { background-position: -32px -143px; } -.country-flag.flag-sx { background-position: -48px -143px; } -.country-flag.flag-sy { background-position: -64px -143px; } -.country-flag.flag-sz { background-position: -80px -143px; } -.country-flag.flag-tc { background-position: -96px -143px; } -.country-flag.flag-td { background-position: -112px -143px; } -.country-flag.flag-tf { background-position: -128px -143px; } -.country-flag.flag-tg { background-position: -144px -143px; } -.country-flag.flag-th { background-position: -160px -143px; } -.country-flag.flag-tj { background-position: -176px -143px; } -.country-flag.flag-tk { background-position: -192px -143px; } -.country-flag.flag-tl { background-position: -208px -143px; } -.country-flag.flag-tm { background-position: -224px -143px; } -.country-flag.flag-tn { background-position: -240px -143px; } -.country-flag.flag-to { background-position: 0 -154px; } -.country-flag.flag-tr { background-position: -16px -154px; } -.country-flag.flag-tt { background-position: -32px -154px; } -.country-flag.flag-tv { background-position: -48px -154px; } -.country-flag.flag-tw { background-position: -64px -154px; } -.country-flag.flag-tz { background-position: -80px -154px; } -.country-flag.flag-ua { background-position: -96px -154px; } -.country-flag.flag-ug { background-position: -112px -154px; } -.country-flag.flag-um { background-position: -128px -154px; } -.country-flag.flag-us { background-position: -144px -154px; } -.country-flag.flag-uy { background-position: -160px -154px; } -.country-flag.flag-uz { background-position: -176px -154px; } -.country-flag.flag-va { background-position: -192px -154px; } -.country-flag.flag-vc { background-position: -208px -154px; } -.country-flag.flag-ve { background-position: -224px -154px; } -.country-flag.flag-vg { background-position: -240px -154px; } -.country-flag.flag-vi { background-position: 0 -165px; } -.country-flag.flag-vn { background-position: -16px -165px; } -.country-flag.flag-vu { background-position: -32px -165px; } -.country-flag.flag-wales { background-position: -48px -165px; } -.country-flag.flag-wf { background-position: -64px -165px; } -.country-flag.flag-ws { background-position: -80px -165px; } -.country-flag.flag-ye { background-position: -96px -165px; } -.country-flag.flag-yt { background-position: -112px -165px; } -.country-flag.flag-za { background-position: -128px -165px; } -.country-flag.flag-zanzibar { background-position: -144px -165px; } -.country-flag.flag-zm { background-position: -160px -165px; } -.country-flag.flag-zw { background-position: -176px -165px; } +.country-flag{width:16px;height:11px;background:url(../images/country-flags.png) no-repeat}.country-flag.flag-ad{background-position:-16px 0}.country-flag.flag-ae{background-position:-32px 0}.country-flag.flag-af{background-position:-48px 0}.country-flag.flag-ag{background-position:-64px 0}.country-flag.flag-ai{background-position:-80px 0}.country-flag.flag-al{background-position:-96px 0}.country-flag.flag-am{background-position:-112px 0}.country-flag.flag-an{background-position:-128px 0}.country-flag.flag-ao{background-position:-144px 0}.country-flag.flag-ar{background-position:-160px 0}.country-flag.flag-as{background-position:-176px 0}.country-flag.flag-at{background-position:-192px 0}.country-flag.flag-au{background-position:-208px 0}.country-flag.flag-aw{background-position:-224px 0}.country-flag.flag-az{background-position:-240px 0}.country-flag.flag-ba{background-position:0 -11px}.country-flag.flag-bb{background-position:-16px -11px}.country-flag.flag-bd{background-position:-32px -11px}.country-flag.flag-be{background-position:-48px -11px}.country-flag.flag-bf{background-position:-64px -11px}.country-flag.flag-bg{background-position:-80px -11px}.country-flag.flag-bh{background-position:-96px -11px}.country-flag.flag-bi{background-position:-112px -11px}.country-flag.flag-bj{background-position:-128px -11px}.country-flag.flag-bm{background-position:-144px -11px}.country-flag.flag-bn{background-position:-160px -11px}.country-flag.flag-bo{background-position:-176px -11px}.country-flag.flag-br{background-position:-192px -11px}.country-flag.flag-bs{background-position:-208px -11px}.country-flag.flag-bt{background-position:-224px -11px}.country-flag.flag-bv{background-position:-240px -11px}.country-flag.flag-bw{background-position:0 -22px}.country-flag.flag-by{background-position:-16px -22px}.country-flag.flag-bz{background-position:-32px -22px}.country-flag.flag-ca{background-position:-48px -22px}.country-flag.flag-catalonia{background-position:-64px -22px}.country-flag.flag-cd{background-position:-80px -22px}.country-flag.flag-cf{background-position:-96px -22px}.country-flag.flag-cg{background-position:-112px -22px}.country-flag.flag-ch{background-position:-128px -22px}.country-flag.flag-ci{background-position:-144px -22px}.country-flag.flag-ck{background-position:-160px -22px}.country-flag.flag-cl{background-position:-176px -22px}.country-flag.flag-cm{background-position:-192px -22px}.country-flag.flag-cn{background-position:-208px -22px}.country-flag.flag-co{background-position:-224px -22px}.country-flag.flag-cr{background-position:-240px -22px}.country-flag.flag-cu{background-position:0 -33px}.country-flag.flag-cv{background-position:-16px -33px}.country-flag.flag-cw{background-position:-32px -33px}.country-flag.flag-cy{background-position:-48px -33px}.country-flag.flag-cz{background-position:-64px -33px}.country-flag.flag-de{background-position:-80px -33px}.country-flag.flag-dj{background-position:-96px -33px}.country-flag.flag-dk{background-position:-112px -33px}.country-flag.flag-dm{background-position:-128px -33px}.country-flag.flag-do{background-position:-144px -33px}.country-flag.flag-dz{background-position:-160px -33px}.country-flag.flag-ec{background-position:-176px -33px}.country-flag.flag-ee{background-position:-192px -33px}.country-flag.flag-eg{background-position:-208px -33px}.country-flag.flag-eh{background-position:-224px -33px}.country-flag.flag-england{background-position:-240px -33px}.country-flag.flag-er{background-position:0 -44px}.country-flag.flag-es{background-position:-16px -44px}.country-flag.flag-et{background-position:-32px -44px}.country-flag.flag-eu{background-position:-48px -44px}.country-flag.flag-fi{background-position:-64px -44px}.country-flag.flag-fj{background-position:-80px -44px}.country-flag.flag-fk{background-position:-96px -44px}.country-flag.flag-fm{background-position:-112px -44px}.country-flag.flag-fo{background-position:-128px -44px}.country-flag.flag-fr{background-position:-144px -44px}.country-flag.flag-ga{background-position:-160px -44px}.country-flag.flag-gb{background-position:-176px -44px}.country-flag.flag-gd{background-position:-192px -44px}.country-flag.flag-ge{background-position:-208px -44px}.country-flag.flag-gf{background-position:-224px -44px}.country-flag.flag-gg{background-position:-240px -44px}.country-flag.flag-gh{background-position:0 -55px}.country-flag.flag-gi{background-position:-16px -55px}.country-flag.flag-gl{background-position:-32px -55px}.country-flag.flag-gm{background-position:-48px -55px}.country-flag.flag-gn{background-position:-64px -55px}.country-flag.flag-gp{background-position:-80px -55px}.country-flag.flag-gq{background-position:-96px -55px}.country-flag.flag-gr{background-position:-112px -55px}.country-flag.flag-gs{background-position:-128px -55px}.country-flag.flag-gt{background-position:-144px -55px}.country-flag.flag-gu{background-position:-160px -55px}.country-flag.flag-gw{background-position:-176px -55px}.country-flag.flag-gy{background-position:-192px -55px}.country-flag.flag-hk{background-position:-208px -55px}.country-flag.flag-hm{background-position:-224px -55px}.country-flag.flag-hn{background-position:-240px -55px}.country-flag.flag-hr{background-position:0 -66px}.country-flag.flag-ht{background-position:-16px -66px}.country-flag.flag-hu{background-position:-32px -66px}.country-flag.flag-ic{background-position:-48px -66px}.country-flag.flag-id{background-position:-64px -66px}.country-flag.flag-ie{background-position:-80px -66px}.country-flag.flag-il{background-position:-96px -66px}.country-flag.flag-im{background-position:-112px -66px}.country-flag.flag-in{background-position:-128px -66px}.country-flag.flag-io{background-position:-144px -66px}.country-flag.flag-iq{background-position:-160px -66px}.country-flag.flag-ir{background-position:-176px -66px}.country-flag.flag-is{background-position:-192px -66px}.country-flag.flag-it{background-position:-208px -66px}.country-flag.flag-je{background-position:-224px -66px}.country-flag.flag-jm{background-position:-240px -66px}.country-flag.flag-jo{background-position:0 -77px}.country-flag.flag-jp{background-position:-16px -77px}.country-flag.flag-ke{background-position:-32px -77px}.country-flag.flag-kg{background-position:-48px -77px}.country-flag.flag-kh{background-position:-64px -77px}.country-flag.flag-ki{background-position:-80px -77px}.country-flag.flag-km{background-position:-96px -77px}.country-flag.flag-kn{background-position:-112px -77px}.country-flag.flag-kp{background-position:-128px -77px}.country-flag.flag-kr{background-position:-144px -77px}.country-flag.flag-kurdistan{background-position:-160px -77px}.country-flag.flag-kw{background-position:-176px -77px}.country-flag.flag-ky{background-position:-192px -77px}.country-flag.flag-kz{background-position:-208px -77px}.country-flag.flag-la{background-position:-224px -77px}.country-flag.flag-lb{background-position:-240px -77px}.country-flag.flag-lc{background-position:0 -88px}.country-flag.flag-li{background-position:-16px -88px}.country-flag.flag-lk{background-position:-32px -88px}.country-flag.flag-lr{background-position:-48px -88px}.country-flag.flag-ls{background-position:-64px -88px}.country-flag.flag-lt{background-position:-80px -88px}.country-flag.flag-lu{background-position:-96px -88px}.country-flag.flag-lv{background-position:-112px -88px}.country-flag.flag-ly{background-position:-128px -88px}.country-flag.flag-ma{background-position:-144px -88px}.country-flag.flag-mc{background-position:-160px -88px}.country-flag.flag-md{background-position:-176px -88px}.country-flag.flag-me{background-position:-192px -88px}.country-flag.flag-mg{background-position:-208px -88px}.country-flag.flag-mh{background-position:-224px -88px}.country-flag.flag-mk{background-position:-240px -88px}.country-flag.flag-ml{background-position:0 -99px}.country-flag.flag-mm{background-position:-16px -99px}.country-flag.flag-mn{background-position:-32px -99px}.country-flag.flag-mo{background-position:-48px -99px}.country-flag.flag-mp{background-position:-64px -99px}.country-flag.flag-mq{background-position:-80px -99px}.country-flag.flag-mr{background-position:-96px -99px}.country-flag.flag-ms{background-position:-112px -99px}.country-flag.flag-mt{background-position:-128px -99px}.country-flag.flag-mu{background-position:-144px -99px}.country-flag.flag-mv{background-position:-160px -99px}.country-flag.flag-mw{background-position:-176px -99px}.country-flag.flag-mx{background-position:-192px -99px}.country-flag.flag-my{background-position:-208px -99px}.country-flag.flag-mz{background-position:-224px -99px}.country-flag.flag-na{background-position:-240px -99px}.country-flag.flag-nc{background-position:0 -110px}.country-flag.flag-ne{background-position:-16px -110px}.country-flag.flag-nf{background-position:-32px -110px}.country-flag.flag-ng{background-position:-48px -110px}.country-flag.flag-ni{background-position:-64px -110px}.country-flag.flag-nl{background-position:-80px -110px}.country-flag.flag-no{background-position:-96px -110px}.country-flag.flag-np{background-position:-112px -110px}.country-flag.flag-nr{background-position:-128px -110px}.country-flag.flag-nu{background-position:-144px -110px}.country-flag.flag-nz{background-position:-160px -110px}.country-flag.flag-om{background-position:-176px -110px}.country-flag.flag-pa{background-position:-192px -110px}.country-flag.flag-pe{background-position:-208px -110px}.country-flag.flag-pf{background-position:-224px -110px}.country-flag.flag-pg{background-position:-240px -110px}.country-flag.flag-ph{background-position:0 -121px}.country-flag.flag-pk{background-position:-16px -121px}.country-flag.flag-pl{background-position:-32px -121px}.country-flag.flag-pm{background-position:-48px -121px}.country-flag.flag-pn{background-position:-64px -121px}.country-flag.flag-pr{background-position:-80px -121px}.country-flag.flag-ps{background-position:-96px -121px}.country-flag.flag-pt{background-position:-112px -121px}.country-flag.flag-pw{background-position:-128px -121px}.country-flag.flag-py{background-position:-144px -121px}.country-flag.flag-qa{background-position:-160px -121px}.country-flag.flag-re{background-position:-176px -121px}.country-flag.flag-ro{background-position:-192px -121px}.country-flag.flag-rs{background-position:-208px -121px}.country-flag.flag-ru{background-position:-224px -121px}.country-flag.flag-rw{background-position:-240px -121px}.country-flag.flag-sa{background-position:0 -132px}.country-flag.flag-sb{background-position:-16px -132px}.country-flag.flag-sc{background-position:-32px -132px}.country-flag.flag-scotland{background-position:-48px -132px}.country-flag.flag-sd{background-position:-64px -132px}.country-flag.flag-se{background-position:-80px -132px}.country-flag.flag-sg{background-position:-96px -132px}.country-flag.flag-sh{background-position:-112px -132px}.country-flag.flag-si{background-position:-128px -132px}.country-flag.flag-sk{background-position:-144px -132px}.country-flag.flag-sl{background-position:-160px -132px}.country-flag.flag-sm{background-position:-176px -132px}.country-flag.flag-sn{background-position:-192px -132px}.country-flag.flag-so{background-position:-208px -132px}.country-flag.flag-somaliland{background-position:-224px -132px}.country-flag.flag-sr{background-position:-240px -132px}.country-flag.flag-ss{background-position:0 -143px}.country-flag.flag-st{background-position:-16px -143px}.country-flag.flag-sv{background-position:-32px -143px}.country-flag.flag-sx{background-position:-48px -143px}.country-flag.flag-sy{background-position:-64px -143px}.country-flag.flag-sz{background-position:-80px -143px}.country-flag.flag-tc{background-position:-96px -143px}.country-flag.flag-td{background-position:-112px -143px}.country-flag.flag-tf{background-position:-128px -143px}.country-flag.flag-tg{background-position:-144px -143px}.country-flag.flag-th{background-position:-160px -143px}.country-flag.flag-tj{background-position:-176px -143px}.country-flag.flag-tk{background-position:-192px -143px}.country-flag.flag-tl{background-position:-208px -143px}.country-flag.flag-tm{background-position:-224px -143px}.country-flag.flag-tn{background-position:-240px -143px}.country-flag.flag-to{background-position:0 -154px}.country-flag.flag-tr{background-position:-16px -154px}.country-flag.flag-tt{background-position:-32px -154px}.country-flag.flag-tv{background-position:-48px -154px}.country-flag.flag-tw{background-position:-64px -154px}.country-flag.flag-tz{background-position:-80px -154px}.country-flag.flag-ua{background-position:-96px -154px}.country-flag.flag-ug{background-position:-112px -154px}.country-flag.flag-um{background-position:-128px -154px}.country-flag.flag-us{background-position:-144px -154px}.country-flag.flag-uy{background-position:-160px -154px}.country-flag.flag-uz{background-position:-176px -154px}.country-flag.flag-va{background-position:-192px -154px}.country-flag.flag-vc{background-position:-208px -154px}.country-flag.flag-ve{background-position:-224px -154px}.country-flag.flag-vg{background-position:-240px -154px}.country-flag.flag-vi{background-position:0 -165px}.country-flag.flag-vn{background-position:-16px -165px}.country-flag.flag-vu{background-position:-32px -165px}.country-flag.flag-wales{background-position:-48px -165px}.country-flag.flag-wf{background-position:-64px -165px}.country-flag.flag-ws{background-position:-80px -165px}.country-flag.flag-ye{background-position:-96px -165px}.country-flag.flag-yt{background-position:-112px -165px}.country-flag.flag-za{background-position:-128px -165px}.country-flag.flag-zanzibar{background-position:-144px -165px}.country-flag.flag-zm{background-position:-160px -165px}.country-flag.flag-zw{background-position:-176px -165px} \ No newline at end of file diff --git a/themes/light/assets/css/lib/jquery-ui-1.10.4.custom.min.css b/themes/light/assets/css/lib/jquery-ui-1.10.4.custom.min.css index 051c654727..008237b60d 100644 --- a/themes/light/assets/css/lib/jquery-ui-1.10.4.custom.min.css +++ b/themes/light/assets/css/lib/jquery-ui-1.10.4.custom.min.css @@ -2,6 +2,4 @@ * http://jqueryui.com * Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.tabs.css, jquery.ui.theme.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=%23ffffff&bgTextureHeader=flat&bgImgOpacityHeader=0&borderColorHeader=%23aaaaaa&fcHeader=%23222222&iconColorHeader=%23222222&bgColorContent=%23dcdcdc&bgTextureContent=highlight_soft&bgImgOpacityContent=75&borderColorContent=%23aaaaaa&fcContent=%23222222&iconColorContent=%23222222&bgColorDefault=%23efefef&bgTextureDefault=highlight_soft&bgImgOpacityDefault=75&borderColorDefault=%23aaaaaa&fcDefault=%23222222&iconColorDefault=%238c291d&bgColorHover=%23dddddd&bgTextureHover=highlight_soft&bgImgOpacityHover=75&borderColorHover=%23999999&fcHover=%23222222&iconColorHover=%23222222&bgColorActive=%23dfdfdf&bgTextureActive=inset_soft&bgImgOpacityActive=75&borderColorActive=%23aaaaaa&fcActive=%23140f06&iconColorActive=%238c291d&bgColorHighlight=%23fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=%23aaaaaa&fcHighlight=%23363636&iconColorHighlight=%232e83ff&bgColorError=%23fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=%23aaaaaa&fcError=%238c291d&iconColorError=%23cd0a0a&bgColorOverlay=%23aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=35&bgColorShadow=%23000000&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=35&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px&ctl=themeroller -* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ - -.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("images/animated-overlay.gif");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-widget{font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#dcdcdc url("images/ui-bg_highlight-soft_75_dcdcdc_1x100.png") 50% top repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#fff url("images/ui-bg_flat_0_ffffff_40x100.png") 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #aaa;background:#efefef url("images/ui-bg_highlight-soft_75_efefef_1x100.png") 50% 50% repeat-x;font-weight:bold;color:#222}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#222;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#ddd url("images/ui-bg_highlight-soft_75_dddddd_1x100.png") 50% 50% repeat-x;font-weight:bold;color:#222}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#222;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#dfdfdf url("images/ui-bg_inset-soft_75_dfdfdf_1x100.png") 50% 50% repeat-x;font-weight:bold;color:#140f06}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#140f06;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #aaa;background:#fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #aaa;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#8c291d}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#8c291d}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#8c291d}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_8c291d_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_8c291d_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_2e83ff_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;opacity:.35;filter:Alpha(Opacity=35)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#000 url("images/ui-bg_flat_0_000000_40x100.png") 50% 50% repeat-x;opacity:.35;filter:Alpha(Opacity=35);border-radius:8px} \ No newline at end of file +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:active,.ui-button:hover,.ui-button:link,.ui-button:visited{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-icons-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-icons-only .ui-button-icon-primary,.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary{left:.5em}.ui-button-icons-only .ui-button-icon-secondary,.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}button.ui-button::-moz-focus-inner,input.ui-button::-moz-focus-inner{border:0;padding:0}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:400}.ui-menu .ui-menu-item a.ui-state-active,.ui-menu .ui-menu-item a.ui-state-focus{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url(images/animated-overlay.gif);height:100%;filter:alpha(opacity=25);opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-widget{font-size:1.1em}.ui-widget .ui-widget,.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#dcdcdc url(images/ui-bg_highlight-soft_75_dcdcdc_1x100.png) 50% top repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_0_ffffff_40x100.png) 50% 50% repeat-x;color:#222;font-weight:700}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #aaa;background:#efefef url(images/ui-bg_highlight-soft_75_efefef_1x100.png) 50% 50% repeat-x;font-weight:700;color:#222}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#222;text-decoration:none}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #999;background:#ddd url(images/ui-bg_highlight-soft_75_dddddd_1x100.png) 50% 50% repeat-x;font-weight:700;color:#222}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#222;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#dfdfdf url(images/ui-bg_inset-soft_75_dfdfdf_1x100.png) 50% 50% repeat-x;font-weight:700;color:#140f06}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#140f06;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #aaa;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #aaa;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#8c291d}.ui-state-error-text,.ui-state-error a,.ui-widget-content .ui-state-error-text,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error-text,.ui-widget-header .ui-state-error a{color:#8c291d}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_8c291d_256x240.png)}.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_8c291d_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error-text .ui-icon,.ui-state-error .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-first,.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:4px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.35;filter:Alpha(Opacity=35)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#000 url(images/ui-bg_flat_0_000000_40x100.png) 50% 50% repeat-x;opacity:.35;filter:Alpha(Opacity=35);border-radius:8px} \ No newline at end of file diff --git a/themes/light/assets/css/lib/jquery.qtip-2.2.1.min.css b/themes/light/assets/css/lib/jquery.qtip-2.2.1.min.css index 27b9729645..296652e49c 100644 --- a/themes/light/assets/css/lib/jquery.qtip-2.2.1.min.css +++ b/themes/light/assets/css/lib/jquery.qtip-2.2.1.min.css @@ -1,3 +1 @@ -/* qTip2 v2.2.1 | Plugins: tips modal viewport svg imagemap ie6 | Styles: core basic css3 | qtip2.com | Licensed MIT | Sat Sep 06 2014 23:12:07 */ - -.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content{position:relative;padding:5px 9px;overflow:hidden;text-align:left;word-wrap:break-word}.qtip-titlebar{position:relative;padding:5px 35px 5px 10px;overflow:hidden;border-width:0 0 1px;font-weight:700}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{position:absolute;right:-9px;top:-9px;z-index:11;cursor:pointer;outline:0;border:1px solid transparent}.qtip-titlebar .qtip-close{right:4px;top:50%;margin-top:-9px}* html .qtip-titlebar .qtip-close{top:16px}.qtip-icon .ui-icon,.qtip-titlebar .ui-icon{display:block;text-indent:-1000em;direction:ltr}.qtip-icon,.qtip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{width:18px;height:14px;line-height:14px;text-align:center;text-indent:0;font:400 bold 10px/13px Tahoma,sans-serif;color:inherit;background:-100em -100em no-repeat}.qtip-default{border:1px solid #F1D031;background-color:#FFFFA3;color:#555}.qtip-default .qtip-titlebar{background-color:#FFEF93}.qtip-default .qtip-icon{border-color:#CCC;background:#F1F1F1;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#AAA;color:#111}.qtip-light{background-color:#fff;border-color:#E2E2E2;color:#454545}.qtip-light .qtip-titlebar{background-color:#f1f1f1}.qtip-dark{background-color:#505050;border-color:#303030;color:#f3f3f3}.qtip-dark .qtip-titlebar{background-color:#404040}.qtip-dark .qtip-icon{border-color:#444}.qtip-dark .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-cream{background-color:#FBF7AA;border-color:#F9E98E;color:#A27D35}.qtip-cream .qtip-titlebar{background-color:#F0DE7D}.qtip-cream .qtip-close .qtip-icon{background-position:-82px 0}.qtip-red{background-color:#F78B83;border-color:#D95252;color:#912323}.qtip-red .qtip-titlebar{background-color:#F06D65}.qtip-red .qtip-close .qtip-icon{background-position:-102px 0}.qtip-red .qtip-icon,.qtip-red .qtip-titlebar .ui-state-hover{border-color:#D95252}.qtip-green{background-color:#CAED9E;border-color:#90D93F;color:#3F6219}.qtip-green .qtip-titlebar{background-color:#B0DE78}.qtip-green .qtip-close .qtip-icon{background-position:-42px 0}.qtip-blue{background-color:#E5F6FE;border-color:#ADD9ED;color:#5E99BD}.qtip-blue .qtip-titlebar{background-color:#D0E9F5}.qtip-blue .qtip-close .qtip-icon{background-position:-2px 0}.qtip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-bootstrap,.qtip-rounded,.qtip-tipsy{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.qtip-rounded .qtip-titlebar{-moz-border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.qtip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border:0 solid transparent;background:#4A4A4A;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,#000));background-image:-webkit-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-moz-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-ms-linear-gradient(top,#4A4A4A 0,#000 100%);background-image:-o-linear-gradient(top,#4A4A4A 0,#000 100%)}.qtip-youtube .qtip-titlebar{background-color:transparent}.qtip-youtube .qtip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-linear-gradient(top,#717171,#232323);background-image:-ms-linear-gradient(top,#717171,#232323);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #ddd;border:2px solid rgba(241,241,241,1);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"}.qtip-jtools .qtip-content,.qtip-jtools .qtip-titlebar{background:0 0;color:#fff;border:0 dashed transparent}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#D9D9C2;color:#111;border:0 dashed transparent}.qtip-cluetip .qtip-titlebar{background-color:#87876A;color:#fff;border:0 dashed transparent}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-family:'Lucida Grande',sans-serif;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{padding:6px 35px 0 10px;background-color:transparent}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{border:3px solid #959FA9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#F9F9F9;color:#454545;font-weight:400;font-family:serif}.qtip-tipped .qtip-titlebar{border-bottom-width:0;color:#fff;background:#3A79B8;background-image:-webkit-gradient(linear,left top,left bottom,from(#3A79B8),to(#2E629D));background-image:-webkit-linear-gradient(top,#3A79B8,#2E629D);background-image:-moz-linear-gradient(top,#3A79B8,#2E629D);background-image:-ms-linear-gradient(top,#3A79B8,#2E629D);background-image:-o-linear-gradient(top,#3A79B8,#2E629D);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{border:2px solid #285589;background:#285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#FBFBFB;color:#555}.qtip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.qtip-bootstrap .qtip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.qtip-bootstrap .qtip-titlebar .qtip-close{right:11px;top:45%;border-style:none}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:0 0}.qtip-bootstrap .qtip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}.qtip .qtip-tip{margin:0 auto;overflow:hidden;z-index:10}.qtip .qtip-tip,x:-o-prefocus{visibility:hidden}.qtip .qtip-tip,.qtip .qtip-tip .qtip-vml,.qtip .qtip-tip canvas{position:absolute;color:#123456;background:0 0;border:0 dashed transparent}.qtip .qtip-tip canvas{top:0;left:0}.qtip .qtip-tip .qtip-vml{behavior:url(#default#VML);display:inline-block;visibility:visible}#qtip-overlay{position:fixed;left:0;top:0;width:100%;height:100%}#qtip-overlay.blurs{cursor:pointer}#qtip-overlay div{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;opacity:.7;filter:alpha(opacity=70);-ms-filter:"alpha(Opacity=70)"}.qtipmodal-ie6fix{position:absolute!important} \ No newline at end of file +.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px;direction:ltr;box-shadow:none;padding:0}.qtip-content{padding:5px 9px;text-align:left;word-wrap:break-word}.qtip-content,.qtip-titlebar{position:relative;overflow:hidden}.qtip-titlebar{padding:5px 35px 5px 10px;border-width:0 0 1px;font-weight:700}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{position:absolute;right:-9px;top:-9px;z-index:11;cursor:pointer;outline:0;border:1px solid transparent}.qtip-titlebar .qtip-close{right:4px;top:50%;margin-top:-9px}* html .qtip-titlebar .qtip-close{top:16px}.qtip-icon .ui-icon,.qtip-titlebar .ui-icon{display:block;text-indent:-1000em;direction:ltr}.qtip-icon,.qtip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{width:18px;height:14px;line-height:14px;text-align:center;text-indent:0;font:400 700 10px/13px Tahoma,sans-serif;color:inherit;background:-100em -100em no-repeat}.qtip-default{border:1px solid #f1d031;background-color:#ffffa3;color:#555}.qtip-default .qtip-titlebar{background-color:#ffef93}.qtip-default .qtip-icon{border-color:#ccc;background:#f1f1f1;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#aaa;color:#111}.qtip-light{background-color:#fff;border-color:#e2e2e2;color:#454545}.qtip-light .qtip-titlebar{background-color:#f1f1f1}.qtip-dark{background-color:#505050;border-color:#303030;color:#f3f3f3}.qtip-dark .qtip-titlebar{background-color:#404040}.qtip-dark .qtip-icon{border-color:#444}.qtip-dark .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-cream{background-color:#fbf7aa;border-color:#f9e98e;color:#a27d35}.qtip-cream .qtip-titlebar{background-color:#f0de7d}.qtip-cream .qtip-close .qtip-icon{background-position:-82px 0}.qtip-red{background-color:#f78b83;border-color:#d95252;color:#912323}.qtip-red .qtip-titlebar{background-color:#f06d65}.qtip-red .qtip-close .qtip-icon{background-position:-102px 0}.qtip-red .qtip-icon,.qtip-red .qtip-titlebar .ui-state-hover{border-color:#d95252}.qtip-green{background-color:#caed9e;border-color:#90d93f;color:#3f6219}.qtip-green .qtip-titlebar{background-color:#b0de78}.qtip-green .qtip-close .qtip-icon{background-position:-42px 0}.qtip-blue{background-color:#e5f6fe;border-color:#add9ed;color:#5e99bd}.qtip-blue .qtip-titlebar{background-color:#d0e9f5}.qtip-blue .qtip-close .qtip-icon{background-position:-2px 0}.qtip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-bootstrap,.qtip-rounded,.qtip-tipsy{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.qtip-rounded .qtip-titlebar{-moz-border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.qtip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border:0 solid transparent;background:#4a4a4a;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4a4a4a),color-stop(100%,#000));background-image:-webkit-linear-gradient(top,#4a4a4a,#000);background-image:-moz-linear-gradient(top,#4a4a4a 0,#000 100%);background-image:-ms-linear-gradient(top,#4a4a4a 0,#000 100%);background-image:-o-linear-gradient(top,#4a4a4a 0,#000 100%)}.qtip-youtube .qtip-titlebar{background-color:transparent}.qtip-youtube .qtip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from(#717171),to(#232323));background-image:-moz-linear-gradient(top,#717171,#232323);background-image:-webkit-linear-gradient(top,#717171,#232323);background-image:-ms-linear-gradient(top,#717171,#232323);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #f1f1f1;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"}.qtip-jtools .qtip-content,.qtip-jtools .qtip-titlebar{background:0 0;color:#fff;border:0 dashed transparent}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#d9d9c2;color:#111;border:0 dashed transparent}.qtip-cluetip .qtip-titlebar{background-color:#87876a;color:#fff;border:0 dashed transparent}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-family:Lucida Grande,sans-serif;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{padding:6px 35px 0 10px;background-color:transparent}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{border:3px solid #959fa9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#f9f9f9;color:#454545;font-weight:400;font-family:serif}.qtip-tipped .qtip-titlebar{border-bottom-width:0;color:#fff;background:#3a79b8;background-image:-webkit-gradient(linear,left top,left bottom,from(#3a79b8),to(#2e629d));background-image:-webkit-linear-gradient(top,#3a79b8,#2e629d);background-image:-moz-linear-gradient(top,#3a79b8,#2e629d);background-image:-ms-linear-gradient(top,#3a79b8,#2e629d);background-image:-o-linear-gradient(top,#3a79b8,#2e629d);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{border:2px solid #285589;background:#285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#fbfbfb;color:#555}.qtip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.qtip-bootstrap .qtip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.qtip-bootstrap .qtip-titlebar .qtip-close{right:11px;top:45%;border-style:none}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:0 0}.qtip-bootstrap .qtip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}.qtip .qtip-tip{margin:0 auto;overflow:hidden;z-index:10}.qtip .qtip-tip,x:-o-prefocus{visibility:hidden}.qtip .qtip-tip,.qtip .qtip-tip .qtip-vml,.qtip .qtip-tip canvas{position:absolute;color:#123456;background:0 0;border:0 dashed transparent}.qtip .qtip-tip canvas{top:0;left:0}.qtip .qtip-tip .qtip-vml{behavior:url(#default#VML);display:inline-block;visibility:visible}#qtip-overlay{position:fixed;left:0;top:0;width:100%;height:100%}#qtip-overlay.blurs{cursor:pointer}#qtip-overlay div{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;opacity:.7;filter:alpha(opacity=70);-ms-filter:"alpha(Opacity=70)"}.qtipmodal-ie6fix{position:absolute!important} \ No newline at end of file diff --git a/themes/light/assets/css/print.css b/themes/light/assets/css/print.css index 869b3c5e22..602b58f5bc 100644 --- a/themes/light/assets/css/print.css +++ b/themes/light/assets/css/print.css @@ -1,16 +1 @@ -@media print { - /* Remove the top padding because we don't print the top bar */ - body { - padding-top: 0; - } - - /* Hide URLs */ - a[href]::after { - content: none !important; - } - - #content { - margin-left: 0; - margin-right: 0; - } -} +@media print{body{padding-top:0}a[href]:after{content:none!important}#content{margin-left:0;margin-right:0}} \ No newline at end of file diff --git a/themes/light/assets/css/style.css b/themes/light/assets/css/style.css index 3f783bc0bd..53ee10c43c 100644 --- a/themes/light/assets/css/style.css +++ b/themes/light/assets/css/style.css @@ -1,4293 +1 @@ -strong.warning { - color: red; -} - -/* ======================================================================= -inc_top.mako -========================================================================== */ - -.header { - display: block; - clear: right; -} - -.navbaricon { - margin-top: -15px; - margin-bottom: -15px; -} - -.icon-white { - background-image: url("../images/glyphicons-halflings-white.png"); -} - -.ui-autocomplete-loading { - background: rgb(255, 255, 255) url("../images/loading16.gif") right center no-repeat; -} - -.browserDialog.busy .ui-dialog-buttonpane { - background: url("../images/loading.gif") 10px 50% no-repeat !important; -} - -.ui-progressbar .ui-progressbar-overlay { - background: url("../css/lib/images/animated-overlay.gif"); -} - -.ui-dialog, -.ui-dialog-buttonpane { - background: rgb(236, 234, 223) url("../css/lib/images/ui-bg_fine-grain_10_eceadf_60x60.png") 50% 50% repeat !important; -} - -/* restore 1.8.x resize handle on dialog button pane */ -.ui-dialog .ui-resizable-se { - width: 14px; - height: 14px; - right: 3px; - bottom: 3px; - background-position: -80px -224px; -} - -.ui-accordion-content, -.ui-tabs-panel { - background: rgb(237, 237, 237) !important; - background-image: none !important; -} - -.ui-widget { - font-family: inherit; - font-size: 1em; -} - -.ui-widget-content { - background: rgb(220, 220, 220) url("../css/lib/images/ui-bg_highlight-soft_75_dcdcdc_1x100.png") 50% top repeat-x; -} - -.ui-widget-header { - background: rgb(255, 255, 255) url("../css/lib/images/ui-bg_flat_0_ffffff_40x100.png") 50% 50% repeat-x; -} - -.ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header .ui-state-default { - background: rgb(255, 255, 255); - border: 1px solid rgb(204, 204, 204); -} - -.ui-state-hover, -.ui-widget-content .ui-state-hover, -.ui-widget-header .ui-state-hover, -.ui-state-focus, -.ui-widget-content .ui-state-focus, -.ui-widget-header .ui-state-focus { - background: rgb(255, 255, 255); -} - -.ui-state-active, -.ui-widget-content .ui-state-active, -.ui-widget-header .ui-state-active { - background: rgb(247, 247, 247); -} - -.ui-state-highlight, -.ui-widget-content .ui-state-highlight, -.ui-widget-header .ui-state-highlight { - background: rgb(251, 249, 238) url("../css/lib/images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x; -} - -.ui-state-error, -.ui-widget-content .ui-state-error, -.ui-widget-header .ui-state-error { - background: rgb(254, 241, 236) url("../css/lib/images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x; -} - -.ui-icon, -.ui-widget-content .ui-icon { - background-image: url("../css/lib/images/ui-icons_222222_256x240.png"); -} - -.ui-widget-header .ui-icon { - background-image: url("../css/lib/images/ui-icons_222222_256x240.png"); -} - -.ui-state-default .ui-icon { - background-image: url("../css/lib/images/ui-icons_8c291d_256x240.png"); -} - -.ui-state-hover .ui-icon, -.ui-state-focus .ui-icon { - background-image: url("../css/lib/images/ui-icons_222222_256x240.png"); -} - -.ui-state-active .ui-icon { - background-image: url("../css/lib/images/ui-icons_8c291d_256x240.png"); -} - -.ui-state-highlight .ui-icon { - background-image: url("../css/lib/images/ui-icons_2e83ff_256x240.png"); -} - -.ui-state-error .ui-icon, -.ui-state-error-text .ui-icon { - background-image: url("../css/lib/images/ui-icons_cd0a0a_256x240.png"); -} - -.ui-widget-overlay { - background: rgb(170, 170, 170) url("../css/lib/images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; -} - -.ui-widget-shadow { - background: rgb(0, 0, 0) url("../css/lib/images/ui-bg_flat_0_000000_40x100.png") 50% 50% repeat-x; -} - -.ui-state-active a, -.ui-state-active a:link, -.ui-state-active a:visited { - color: rgb(20, 15, 6); - text-decoration: none; -} - -.ui-state-default a, -.ui-state-default a:link, -.ui-state-default a:visited { - color: rgb(34, 34, 34); - text-decoration: none; -} - -/* jQuery ui-tabs (remove when everyting moved to vue-tabs */ - -.ui-tabs { - padding: 0; - background: none; - border-width: 0; -} - -.ui-tabs .ui-tabs-nav { - padding-left: 0; - background: transparent; - border-width: 0; - border-radius: 0; -} - -.ui-tabs .ui-tabs-panel { - background-color: rgb(247, 247, 247) !important; - border: 1px solid rgb(204, 204, 204) !important; - padding: 1em; -} - -.ui-tabs .ui-tabs-nav li.ui-tabs-active { - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} - -.ui-tabs-nav > :not(.ui-tabs-active) { - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} - -/* Vue Tabs alternative */ -.vue-tabs { - padding: 0; - background: none; - border-width: 0; -} - -.vue-tabs .nav-tabs-navigation { - padding-left: 0; - background: transparent; - border-width: 0; - border-radius: 0; -} - -.vue-tabs .tab-content { - background-color: rgb(247, 247, 247) !important; - border: 1px solid rgb(204, 204, 204) !important; - padding: 1em; -} - -.nav-tabs { - border-bottom: none; -} - -.nav-tabs li.tab { - background: rgb(255, 255, 255); - border: 1px solid rgb(204, 204, 204); - border-top-left-radius: 5px; - border-top-right-radius: 5px; - margin: 1px 0.2em 0 0; - padding: 0; - top: 1px; -} - -.nav-tabs li.tab.active { - background: rgb(247, 247, 247); - border-bottom-style: none !important; -} - -.vue-tabs li.tab:not(.active) { - top: 2px; -} - -.nav-tabs li.tab a { - background-color: transparent; - border-color: transparent; - padding: 0.5em 1em; - padding-top: 0.5em; - padding-right: 1em; - padding-bottom: 0.5em; - padding-left: 1em; - text-decoration: none; -} - -.nav-tabs li.tab a, -.nav-tabs li.tab a:hover, -.nav-tabs li.tab a:active, -.nav-tabs li.tab a:focus { - color: #555; - cursor: default; - background-color: transparent; - border: 0; - text-decoration: none; -} - -.nav-tabs :not(li.tab.active) { - border-top-left-radius: 5px; - border-top-right-radius: 5px; - border-bottom-width: 0; -} - -.nav-tabs li { - border-bottom-width: 0 !important; - padding: 0; - white-space: nowrap; -} - -/* End of nav tabs section */ - -#content { - margin-left: auto; - margin-right: auto; - clear: both; -} - -.upgrade-notification { - text-align: center; - margin-top: 20px; - display: inline-block; -} - -[class^="menu-icon-"], -[class*=" menu-icon-"] { - background: url("../images/menu/16x_sprite_colored_menu_icons.png"); - height: 16px; - width: 16px; - display: inline-block; - position: relative; - float: left; -} - -.menu-icon-addshow { - background-position: 0 0; -} - -.menu-icon-anime { - background-position: -21px 0; -} - -.menu-icon-backlog-view { - background-position: -42px 0; -} - -.menu-icon-backlog { - background-position: -63px 0; -} - -.menu-icon-bittorrent { - background-position: -84px 0; -} - -.menu-icon-config-index { - background-position: -105px 0; -} - -.menu-icon-config { - background-position: -126px 0; -} - -.menu-icon-failed-download { - background-position: -147px 0; -} - -.menu-icon-home { - background-position: -168px 0; -} - -.menu-icon-manage { - background-position: -189px 0; -} - -.menu-icon-manage-searches { - background-position: -210px 0; -} - -.menu-icon-poster { - background-position: -231px 0; -} - -.menu-icon-postprocess { - background-position: -252px 0; -} - -.menu-icon-restart { - background-position: -273px 0; -} - -.menu-icon-shutdown { - background-position: -294px 0; -} - -.menu-icon-update { - background-position: -315px 0; -} - -.menu-icon-viewlog-errors { - background-position: -336px 0; -} - -.menu-icon-viewlog { - background-position: -357px 0; -} - -.menu-icon-kodi { - background-position: -378px 0; -} - -.menu-icon-help { - background-position: -399px 0; -} - -.menu-icon-info { - background-position: -418px 0; -} - -.menu-icon-error { - background-position: -436px 0; -} - -.menu-icon-news { - background-position: -456px 0; -} - -.menu-icon-irc { - background-position: -478px 0; -} - -.menu-icon-changelog { - background-position: -495px 0; -} - -.menu-icon-support { - background-position: -516px 0; -} - -.menu-icon-plex { - background-position: -536px 0; -} - -.menu-icon-backup { - background-position: -556px 0; -} - -.menu-icon-provider { - background-position: -576px 0; -} - -.menu-icon-notification { - background-position: -597px 0; -} - -.menu-icon-emby { - background-position: -614px 0; -} - -.menu-icon-blackhole { - background-position: -632px 0; -} - -.menu-icon-schedule { - background-position: -653px 0; -} - -.menu-icon-manage2 { - background-position: -673px 0; -} - -.menu-icon-history { - background-position: -695px 0; -} - -.menu-icon-trash { - background-position: -711px 0; -} - -.menu-icon-cut { - background-position: -727px 0; -} - -.menu-icon-select { - background-position: -742px 0; -} - -.enable-daily-search-icon { - background-image: url("../images/search_daily_8x8.png") !important; - width: 8px; - height: 8px; - margin-top: 5px; - margin-right: 3px; -} - -.enable-backlog-search-icon { - background-image: url("../images/search_backlog_8x8.png") !important; - width: 8px; - height: 8px; - margin-top: 5px; - margin-right: 3px; -} - -.enable-manual-search-icon { - background-image: url("../images/search_manual_8x8.png") !important; - width: 8px; - height: 8px; - margin-top: 5px; - margin-right: 3px; -} - -/* ======================================================================= -inc_bottom.mako -========================================================================== */ - -.footer { - width: 100%; - padding: 20px 0; - color: rgb(78, 78, 78); - text-align: center; - font-size: 12px; -} - -.footerhighlight { - color: rgb(17, 17, 17); - display: inline; -} - -/* ======================================================================= -history.mako -========================================================================== */ -.layout-controls { - padding-top: 24px; -} - -.fanartOpacity { - opacity: 0.9; -} - -/* ======================================================================= -home.mako -========================================================================== */ - -.imgbanner .banner { - border: 1px solid rgb(204, 204, 204); - overflow: hidden; - height: 66px; - border-radius: 8px; - width: 360px; - display: block; - margin-left: auto; - margin-right: auto; -} - -.imgsmallposter .small { - height: 66px; - overflow: hidden; - border-radius: 3px; - vertical-align: middle; - width: 45px; - border: 1px solid rgb(204, 204, 204); - margin-right: 5px; -} - -.search { - margin-bottom: 10px; -} - -.ui-progressbar { - height: 20px; - line-height: 18px; -} - -.ui-progressbar .ui-progressbar-value { - box-sizing: content-box !important; - height: 20px; -} - -.progressbarText { - position: absolute; - top: 0; - width: 100%; - height: 100%; - overflow: visible; - text-align: center; - text-shadow: 0 0 0.1em rgb(255, 255, 255); - font-size: 12px; - color: rgb(0, 0, 0); -} - -.progress-100, -.progress-80, -.progress-60, -.progress-40, -.progress-20 { - border-radius: 3px; -} - -.progress-100 { - background-image: -moz-linear-gradient(rgb(57, 95, 7), rgb(42, 71, 5)) !important; - background-image: linear-gradient(rgb(57, 95, 7), rgb(42, 71, 5)) !important; - background-image: -webkit-linear-gradient(rgb(57, 95, 7), rgb(42, 71, 5)) !important; - background-image: -o-linear-gradient(rgb(57, 95, 7), rgb(42, 71, 5)) !important; -} - -.progress-80 { - background-image: -moz-linear-gradient(rgb(166, 207, 65), rgb(91, 153, 13)) !important; - background-image: linear-gradient(rgb(166, 207, 65), rgb(91, 153, 13)) !important; - background-image: -webkit-linear-gradient(rgb(166, 207, 65), rgb(91, 153, 13)) !important; - background-image: -o-linear-gradient(rgb(166, 207, 65), rgb(91, 153, 13)) !important; -} - -.progress-60 { - background-image: -moz-linear-gradient(rgb(250, 212, 64), rgb(242, 167, 13)) !important; - background-image: linear-gradient(rgb(250, 212, 64), rgb(242, 167, 13)) !important; - background-image: -webkit-linear-gradient(rgb(250, 212, 64), rgb(242, 167, 13)) !important; - background-image: -o-linear-gradient(rgb(250, 212, 64), rgb(242, 167, 13)) !important; -} - -.progress-40 { - background-image: -moz-linear-gradient(rgb(250, 181, 67), rgb(242, 112, 13)) !important; - background-image: linear-gradient(rgb(250, 181, 67), rgb(242, 112, 13)) !important; - background-image: -webkit-linear-gradient(rgb(250, 181, 67), rgb(242, 112, 13)) !important; - background-image: -o-linear-gradient(rgb(250, 181, 67), rgb(242, 112, 13)) !important; -} - -.progress-20 { - background-image: -moz-linear-gradient(rgb(218, 89, 69), rgb(177, 26, 16)) !important; - background-image: linear-gradient(rgb(218, 89, 69), rgb(177, 26, 16)) !important; - background-image: -webkit-linear-gradient(rgb(218, 89, 69), rgb(177, 26, 16)) !important; - background-image: -o-linear-gradient(rgb(218, 89, 69), rgb(177, 26, 16)) !important; -} - -div.ellipsis { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - width: 85%; -} - -div.xem { - position: absolute; - right: 1px; - top: 0; -} - -/* Show options */ - -.show-option { - float: left; - margin-left: 10px; - line-height: 40px; -} - -.show-add-options > div { - float: left; - padding-right: 10px; - line-height: 40px; -} - -.show-grid { - display: none; - margin-bottom: 60px !important; -} - -.nav-show-list { - position: relative; - margin-top: 4px; - background-color: transparent; - border: none; - float: left; -} - -.nav-show-list .icon-bar { - display: block; - width: 22px; - height: 3px; - margin-top: 4px; - background-color: rgb(51, 51, 51); -} - -#container-series, -#container-anime { - margin: 0 auto; -} - -.loading-spinner { - background-image: url("../images/loading32.gif"); - width: 32px; - height: 32px; - display: inline-block; -} - -.aligner { - display: flex; - align-items: center; -} - -/* FF hack */ -@-moz-document url-prefix() { - .aligner { - flex-flow: column-reverse; - align-items: inherit; - } -} - -/* IE 11 hack */ -@media all and (-ms-high-contrast: none) { - .poster-overlay { - left: 0; - top: 0; - width: 100%; - } -} - -.show-details { - height: 32px; - overflow: hidden; -} - -/* Used by isotope scaling */ -.show-image { - max-width: 100%; - overflow: hidden; - border: 1px solid rgb(136, 136, 136); -} - -.background-image img { - width: 100%; - overflow: hidden; -} - -.poster-overlay { - position: absolute; -} - -.show-container { - background-color: rgb(243, 243, 243); - border-color: rgb(243, 243, 243); -} - -.show-container .ui-progressbar { - height: 7px !important; - top: -2px; -} - -.show-container .ui-corner-all, -.ui-corner-bottom, -.ui-corner-right, -.ui-corner-br { - border-bottom-right-radius: 0; -} - -.show-container .ui-corner-all, -.ui-corner-bottom, -.ui-corner-left, -.ui-corner-bl { - border-bottom-left-radius: 0; -} - -.show-container .ui-corner-all, -.ui-corner-top, -.ui-corner-right, -.ui-corner-tr { - border-top-right-radius: 0; -} - -.show-container .ui-corner-all, -.ui-corner-top, -.ui-corner-left, -.ui-corner-tl { - border-top-left-radius: 0; -} - -.show-container .ui-widget-content { - border-top: 1px solid rgb(17, 17, 17); - border-bottom: 1px solid rgb(17, 17, 17); - border-left: 0; - border-right: 0; -} - -.ui-progressbar .progress-20 { - border: none; -} - -.show-container .progress-20, -.show-container .progress-40, -.show-container .progress-60, -.show-container .progress-80 { - border-radius: 0; - height: 7px; -} - -.show-title { - position: relative; - overflow: hidden; - white-space: nowrap; - font-size: 11px; - margin: 4px 4px 0; -} - -.show-attributes { - margin: 4px 4px 0; -} - -.show-title::after { - content: ""; - pointer-events: none; - position: absolute; - width: 20px; - height: 100%; - top: 0; - right: 0; - background-image: -webkit-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: -moz-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: -ms-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: -o-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: linear-gradient(to left, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); -} - -.show-date { - position: relative; - overflow: hidden; - white-space: nowrap; - font-size: 11px; - margin: 0 4px 4px; - color: rgb(148, 148, 148); -} - -.show-date::after { - content: ""; - pointer-events: none; - position: absolute; - width: 20px; - height: 100%; - top: 0; - right: 0; - background-image: -webkit-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: -moz-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: -ms-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: -o-linear-gradient(right, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); - background-image: linear-gradient(to left, rgba(243, 243, 243, 1), rgba(243, 243, 243, 0)); -} - -.show-table { - text-align: center; - vertical-align: middle; - width: 33%; -} - -.show-add { - font-size: 11px; - text-align: left; - display: block; -} - -.show-network-image { - width: 50px; - height: auto; -} - -#sort-by { - display: inline; - list-style-type: none; - padding: 0; - margin-left: 5px; -} - -#sort-by ul, -#sort-by li { - display: inline; - padding: 0; -} - -/* Used by History.mako */ -td.tvShow a { - color: rgb(0, 0, 0); - text-decoration: none; -} - -td.tvShow a:hover { - cursor: pointer; - color: rgb(66, 139, 202); -} - -/* Used by home.mako */ -span.tvShow a { - color: rgb(0, 0, 0); - text-decoration: none; -} - -span.tvShow a:hover { - cursor: pointer; - color: rgb(66, 139, 202); -} - -#popover-target label { - margin: 2px 4px 2px 0; - display: block; -} - -#popover-target input { - margin-left: 5px; -} - -.popover { - margin-left: -50px; -} - -.min-cell-width { - width: 1px; -} - -.nowrap { - white-space: nowrap; -} - -/* ======================================================================= -home_addShows.mako -========================================================================== */ - -#addShowPortal { - padding: 10px 0; - margin-right: auto; - margin-left: auto; -} - -#addShowPortal a { - padding: 10px; - max-width: 900px; - margin-left: auto; - margin-right: auto; - display: block; - margin-bottom: 15px; -} - -div.button { - display: table-cell; - vertical-align: middle; - padding-left: 10px; -} - -div.buttontext { - display: table-cell; - padding-left: 20px; - text-align: left; - white-space: normal; -} - -div.buttontext h3 { - margin-top: 10px; -} - -div.buttontext p { - font-size: 13px; -} - -[class^="add-list-icon-"], -[class*=" add-list-icon-"] { - background: url("../images/32x_sprite_colored_add_lists.png"); - height: 32px; - width: 32px; - display: inline-block; - position: relative; - top: 2px; - float: left; -} - -.add-list-icon-addnewshow { - background-position: 0 0; -} - -.add-list-icon-addtrakt { - background-position: -37px 0; -} - -.add-list-icon-addimdb { - background-position: -76px 0; -} - -.add-list-icon-addexistingshow { - background-position: -113px 0; -} - -.add-list-icon-addanime { - background-position: -150px 0; -} - -/* ======================================================================= -home_newShow.mako -========================================================================== */ - -#addShowForm, -#recommendedShowsForm { - max-width: 800px; - margin-left: auto; - margin-right: auto; - padding: 10px 0; - font-size: 13px; -} - -#addShowForm > div { - width: 100% !important; -} - -#addShowForm > div:nth-child(2) > div { - position: relative !important; -} - -.newShowPortal { - max-width: 960px; - padding: 10px 0; - margin-right: auto; - margin-left: auto; -} - -#displayText { - padding: 8px; - overflow: hidden; - font-size: 14px; - background-color: rgb(239, 239, 239); - border: 1px solid rgb(223, 222, 222); -} - -div.search-results { - height: 100%; -} - -div.search-results > div.no-results { - margin-top: 15px; -} - -table.search-results { - margin-top: 15px; - border-collapse: collapse; - border: 1px solid rgb(223, 222, 222); -} - -table.search-results th, -table.search-results td { - border: 1px solid rgb(223, 222, 222); - padding: 5px; - vertical-align: middle; - text-align: left; - max-width: 370px; -} - -table.search-results th { - background-color: rgb(239, 239, 239); -} - -table.search-results tbody tr.selected, -table.search-results tbody tr.selected:hover { - background-color: rgb(205, 233, 255); -} - -table.search-results tbody tr:hover { - background-color: rgb(239, 239, 239); -} - -table.search-results td.search-result { - text-align: center; - vertical-align: middle; -} - -table.search-results th.premiere, -table.search-results td.premiere { - text-align: center; - max-width: 90px; -} - -table.search-results th.network, -table.search-results td.network { - max-width: 200px; -} - -table.search-results th.indexer, -table.search-results td.indexer { - text-align: center; - max-width: 100px; -} - -table.search-results td.indexer img { - vertical-align: -3px; -} - -table.search-results input[type="radio"] { - margin: 4px 0 0; -} - -/* ======================================================================= -home_addExistingShow.mako -========================================================================== */ - -.existingtabs { - padding: 1em 1.4em; -} - -ul#rootDirStaticList { - margin-right: auto; - margin-left: auto; - text-align: left; - padding-left: 0; -} - -ul#rootDirStaticList li { - padding: 4px 5px; - margin: 2px; - list-style: none outside none; - cursor: pointer; - background: url("../css/lib/images/ui-bg_highlight-soft_75_efefef_1x100.png") repeat-x scroll 50% 50% rgb(239, 239, 239); -} - -ul#rootDirStaticList li label { - margin-top: 5px; - margin-bottom: 5px; -} - -ul#rootDirStaticList li input[type="checkbox"] { - vertical-align: -2px; -} - -/* ======================================================================= -home_recommendedShows.mako -========================================================================== */ - -.recommendedShowTitleIcons { - float: right; - padding-right: 4px; - padding-bottom: 4px; -} - -.recommended-container p { - padding-top: 2px; -} - -.recommended-container p img { - position: relative; - top: -2px; -} - -div.recommended-image { - background-color: #dfdacf; -} - -.show-in-list div.recommended-image { - opacity: 0.4; - zoom: 1; /* needed to trigger "hasLayout" in IE if no width or height is set */ - -webkit-filter: grayscale(100%); - filter: grayscale(100%); -} - -.show-in-list div#check-overlay { - opacity: 0.8; - background-image: url("../images/green-check.png"); - background-repeat: no-repeat; - background-position: 90% 5%; - background-size: 100px; - position: absolute; - height: 273px; - width: 187px; - top: 0; -} - -.recommended-container p, -.recommended-container i, -.recommended-container a { - white-space: nowrap; - font-size: 12px; - overflow: hidden; - margin: 0; - text-decoration: none; - color: rgb(255, 255, 255); -} - -.recommended-container { - left: -4px; - position: relative; - margin: 12px; - width: 188px; - background-color: rgb(223, 218, 207); - border: 1px solid rgb(17, 17, 17); - border-radius: 6px; -} - -.recommended-image { - height: 273px; - width: 186px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - border-bottom: 1px solid rgb(17, 17, 17); -} - -.recommended-container .anidb-url { - float: right; - padding-right: 4px; -} - -.anidb-inline { - height: 16px; -} - -.recommended-container .default-poster { - display: block; - z-index: 0; - background-image: url("../images/poster-dark.jpg"); -} - -/* ======================================================================= -home_postprocess.mako -========================================================================== */ - -#postProcess { - width: 800px; - padding-top: 10px; - margin-right: auto; - margin-left: auto; -} - -.lineH-40 { - line-height: 40px; -} - -#episodeDir { - width: 70%; - margin-right: 5px; -} - -.smallhelp { - line-height: 0; - font-size: 12px; -} - -#process td:nth-child(1) { - padding-right: 10px; - width: 290px; -} - -/* ======================================================================= -displayShow.mako -========================================================================== */ - -.modal-wide .modal-dialog { - width: 90%; -} - -.modal-dialog { - overflow-y: initial !important; -} - -.modal-body { - overflow-y: auto; -} - -.container-navShow { - margin-top: -2px; - margin-left: 305px; - z-index: 10; -} - -.tvshowImg { - border: 1px solid rgb(204, 204, 204); - border-radius: 5px; - height: 311px; - width: auto; - float: left; -} - -@media (max-width: 767px) and (min-width: 341px) { - .container-navShow { - margin-left: 305px; - display: none; - } - - #key-padding { - padding-bottom: 4px; - } -} - -@media (max-width: 340px) { - .container-navShow { - margin-left: 265px; - } -} - -@media (max-width: 767px) { - .pull-xs-left { - float: left; - } - - .pull-xs-right { - float: right; - } - - .no-padding-xs { - padding: 0; - } - - .nocheck { - padding-left: 0 !important; - } - - .tvshowImg { - margin-bottom: 10px; - float: none; - } - - .col-md-12 > .horizontal-scroll { - margin: 0 -13px; - } -} - -@media (min-width: 768px) { - .tvshowImg { - max-height: 245px; - } -} - -@media (min-width: 992px) and (max-width: 1199px) { - .pull-md-left { - float: left; - } - - .pull-md-right { - float: right; - } - - .tvshowImg { - max-height: 269px; - } -} - -@media (min-width: 1200px) { - .pull-lg-left { - float: left; - } - - .pull-lg-right { - float: right; - } - - .tvshowImg { - max-height: 269px; - } -} - -.navShow { - width: 18px; - max-height: 15px; - display: -webkit-box; - cursor: pointer; -} - -#prevShow, -#nextShow, -#topcontrol { - -webkit-filter: grayscale(100%); - filter: url("data:image/svg+xml;utf8,#greyscale"); - filter: grayscale(100%); - filter: rgb(128, 128, 128); -} - -h1.title { - padding-bottom: 12px; - margin-bottom: 15px; - line-height: 30px; - text-align: left; - text-rendering: optimizeLegibility; - border-bottom: 1px solid rgb(136, 136, 136); -} - -h1.title a { - text-decoration: none; -} - -.displayspecials { - position: relative; -} - -#showinfo { - cursor: default; - display: inline-block; - position: relative; - top: -3px; -} - -#showinfo a { - text-decoration: none; -} - -span.imdbstars { - display: inline-block; - vertical-align: top; - cursor: help; - margin-top: 4px; -} - -span.imdbstars, -span.imdbstars > * { - height: 12px; - background: url("../images/rating.png") 0 -12px repeat-x; - width: 120px; - display: inline-block; - vertical-align: top; -} - -span.imdbstars > * { - background-position: 0 0; - max-width: 120px; -} - -ul.tags { - list-style-type: none; - position: relative; - top: 4px; - margin-left: -40px; -} - -ul.tags li { - margin-right: 4px; - margin-bottom: 5px; - padding: 2px 7px 2px 25px; - background: url("../images/tag.png") no-repeat scroll 5px 4px rgb(85, 85, 85); - border-radius: 1px; - border: 1px solid rgb(17, 17, 17); - color: rgb(255, 255, 255); - font: 14px/18px "Open Sans", "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; - text-shadow: 0 1px rgba(0, 0, 0, 0.8); - float: left; -} - -ul.tags li a { - color: rgb(255, 255, 255); -} - -#summary { - overflow: auto; - cursor: default; -} - -#checkboxControls { - padding-top: 2px; -} - -#checkboxControls span { - padding: 3px 10px 5px; - font-size: 11px; - font-weight: bold; -} - -#checkboxControls label { - white-space: nowrap; - display: inline-block; -} - -#checkboxControls input[type="checkbox"] { - vertical-align: -2px; -} - -.unaired { - background-color: rgb(245, 241, 228); -} - -.skipped { - background-color: rgb(190, 222, 237); -} - -.good { - background-color: rgb(195, 227, 200); -} - -.archived { - background-color: rgb(195, 227, 200); -} - -.qual { - background-color: rgb(255, 218, 138); -} - -.wanted { - background-color: rgb(255, 176, 176); -} - -.snatched { - background-color: rgb(235, 193, 234); -} - -.downloaded { - background-color: rgb(195, 227, 200); -} - -.failed { - background-color: rgb(255, 153, 153); -} - -.allowed { - background-color: rgb(255, 218, 138); -} - -span.unaired { - color: rgb(88, 75, 32); -} - -span.skipped { - color: rgb(29, 80, 104); -} - -span.good { - color: rgb(41, 87, 48); -} - -span.qual { - color: rgb(118, 81, 0); -} - -span.wanted { - color: rgb(137, 0, 0); -} - -span.snatched { - color: rgb(101, 33, 100); -} - -span.unaired b, -span.skipped b, -span.good b, -span.qual b, -span.wanted b, -span.snatched b { - color: rgb(0, 0, 0); - font-weight: 800; -} - -.displayShowTable { - table-layout: auto; - width: 100%; - border-collapse: collapse; - border-spacing: 0; - text-align: center; - border: none; - empty-cells: show; - color: rgb(0, 0, 0) !important; -} - -.displayShowTable.display_show { - clear: both; -} - -.displayShowTable th.row-seasonheader { - border: none !important; - background-color: rgb(34, 34, 34) !important; - color: rgb(255, 255, 255) !important; - padding-top: 15px !important; - text-align: left !important; -} - -.displayShowTable td.col-search { - text-align: center; -} - -.displayShowTableFanArt { - table-layout: auto; - width: 100%; - border-collapse: collapse; - border-spacing: 0; - text-align: center; - border: none; - empty-cells: show; - color: rgb(0, 0, 0) !important; -} - -.displayShowTableFanArt.display_show { - clear: both; - opacity: 0.9; -} - -.summaryFanArt { - opacity: 0.9; -} - -.displayShowTableFanArt th.row-seasonheader { - border: none !important; - background-color: transparent !important; - color: rgb(255, 255, 255) !important; - padding-top: 15px !important; - text-align: left !important; -} - -.displayShowTableFanArt td.col-search { - text-align: center; -} - -.snatchTitle { - color: rgb(255, 255, 255) !important; -} - -.tablesorterFanArt { - background-color: transparent !important; -} - -.defaultTable { - table-layout: auto; - width: 100%; - border-collapse: collapse; - border-spacing: 0; - text-align: center; - border: none; - empty-cells: show; -} - -.defaultTable.display_show { - clear: both; -} - -.defaultTable th { - color: rgb(255, 255, 255); - text-align: center; - background-color: rgb(51, 51, 51); - white-space: nowrap; -} - -.defaultTable th, -.defaultTable td { - border-top: 1px solid rgb(255, 255, 255); - border-left: 1px solid rgb(255, 255, 255); - padding: 4px; -} - -th.row-seasonheader { - border: none; - background-color: rgb(255, 255, 255); - color: rgb(0, 0, 0); - padding-top: 15px; - text-align: left; -} - -tr.seasonheader { - padding-bottom: 5px; - padding-top: 10px; - text-align: left; - border: none; - color: rgb(255, 255, 255); -} - -th.col-checkbox, -td.col-checkbox { - width: 30px; - border-left: none; - text-align: center; -} - -th.col-checkbox input[type="checkbox"], -td.col-checkbox input[type="checkbox"] { - vertical-align: -2px; -} - -th.col-metadata, -td.col-metadata { - width: 28px; -} - -th.col-ep, -td.col-ep { - width: 50px; - white-space: nowrap; -} - -th.col-airdate, -td.col-airdate { - width: 86px; - white-space: nowrap; -} - -th.col-name, -td.col-name { - min-width: 100px; -} - -td.col-name { - text-align: left; -} - -th.col-footer { - text-align: left !important; -} - -th.col-subtitles, -td.col-subtitles { - width: 150px; - text-align: center; -} - -th.col-status, -td.col-status { - text-align: center; -} - -@media screen and (min-width: 992px) { - td.col-status { - white-space: nowrap; - } -} - -th.col-quality, -td.col-quality { - width: 110px; -} - -th.col-legend, -td.col-legend { - width: 80px; -} - -th.col-search, -td.col-search { - width: 65px; -} - -td.col-date { - text-align: center; - white-space: nowrap; -} - -td.col-size { - text-align: center; - white-space: nowrap; -} - -td.col-provider { - text-align: center; - white-space: nowrap; -} - -td.col-group { - min-width: 90px; - text-align: center; -} - -.input-scene { - height: 20px; - line-height: 1.5; - border-radius: 3px; -} - -#editShow { - width: 700px; - padding-top: 10px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 768px) { - .form-group > div.content { - margin-top: 7px; - margin-bottom: 0; - text-align: left; - } -} - -.form-group label.control-label { - font-size: 13px; - font-weight: bold; -} - -div.season-scene-exception { - display: inline; -} - -.show-banner { - float: right; - height: 50px; - border: 1px solid rgb(136, 136, 136); -} - -.fanart { - margin-top: -1px; - vertical-align: middle; -} - -.showOptions { - width: 180px; - float: right; -} - -button.selectColumns { - margin-right: 2px; -} - -/* ======================================================================= -schedule.mako -========================================================================== */ - -.key { - line-height: 25px; -} - -.listing-key { - padding: 2px 5px; - font-size: 13px; - font-weight: bold; -} - -.listing-default { - background-color: rgb(245, 241, 228); -} - -.listing-current { - background-color: rgb(221, 255, 221); -} - -.listing-overdue { - background-color: rgb(255, 221, 221); -} - -.listing-toofar { - background-color: rgb(190, 222, 237); -} - -span.listing-default { - color: rgb(130, 111, 48); - border: 1px solid rgb(130, 111, 48); -} - -span.listing-current { - color: rgb(41, 87, 48); - border: 1px solid rgb(41, 87, 48); -} - -span.listing-overdue { - color: rgb(137, 0, 0); - border: 1px solid rgb(137, 0, 0); -} - -span.listing-toofar { - color: rgb(29, 80, 104); - border: 1px solid rgb(29, 80, 104); -} - -h2.day, -h2.network { - margin: 10px 0; - font-size: 24px; - line-height: 36px; - font-weight: bold; - letter-spacing: 1px; - color: rgb(255, 255, 255); - text-align: center; - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(51, 51, 51); -} - -.tvshowDiv { - display: block; - clear: both; - border: 1px solid rgb(204, 204, 204); - margin: auto; - padding: 0; - text-align: left; - border-radius: 5px; - background: rgb(255, 255, 255); - cursor: default; - overflow: hidden; -} - -.tvshowDiv a:hover { - color: rgb(66, 139, 202); -} - -.tvshowDiv a, -.tvshowDiv a:link, -.tvshowDiv a:visited, -.tvshowDiv a:hover { - text-decoration: none; - background: none; -} - -.tvshowTitle a { - color: rgb(0, 0, 0); - float: left; - line-height: 1.4em; - font-size: 1.4em; - text-shadow: -1px -1px 0 rgb(255, 255, 255); -} - -.tvshowTitleIcons { - float: right; - padding: 3px 5px; -} - -.tvshowDiv td { - padding: 5px 10px; -} - -.tvshowDiv td.next_episode { - width: 100%; - height: 90%; - border-bottom: 1px solid rgb(204, 204, 204); - vertical-align: top; - color: rgb(0, 0, 0); -} - -.bannerThumb { - vertical-align: top; - height: auto; - width: 748px; - border-bottom: 1px solid rgb(204, 204, 204); -} - -.posterThumb { - vertical-align: top; - height: auto; - width: 180px; - border-right: 1px solid rgb(204, 204, 204); -} - -.ep_listing { - width: auto; - border: 1px solid rgb(204, 204, 204); - margin-bottom: 10px; - padding: 10px; -} - -.ep_summary { - margin-left: 5px; - font-style: italic; -} - -.ep_summaryTrigger { - cursor: pointer; - vertical-align: middle; -} - -.ep_summaryTriggerNone { - opacity: 0.4; - vertical-align: middle; -} - -.calendarWrapper { - width: 1000px; - margin: 0 auto; - padding: 0 3px; -} - -.calendarTable { - float: left; - width: 142px !important; - white-space: nowrap; - table-layout: fixed !important; -} - -.calendarShow { - padding: 0 !important; -} - -.calendarShow .poster { - padding-bottom: 2px; - height: 212px; -} - -.calendarShow .poster img { - width: 142px; - height: auto; -} - -.calendarShow .text { - padding: 0 5px 10px; -} - -.calendarShow .text .airtime, -.calendarShow .text .episode-title { - overflow: hidden; - text-overflow: ellipsis; - display: block; - font-size: 11px; -} - -.calendarShow .show-status { - padding: 5px 10px 10px; - text-align: center; -} - -/* ======================================================================= -config*.mako -========================================================================== */ - -#config-content { - display: block; - padding: 0 0 40px; - margin: 0 auto; - clear: both; - text-align: left; -} - -.component-group { - padding: 15px 15px 25px; - border-bottom: 1px dotted rgb(204, 204, 204); - min-height: 200px; -} - -.component-item { - padding: 15px 15px 25px; - border-bottom: 1px dotted rgb(102, 102, 102); - min-height: 100px; -} - -.component-group-desc-legacy { - margin-top: 5px; - float: left; - width: 250px; -} - -.component-group-desc { - margin-top: 5px; -} - -.component-group-desc h3 { - margin-top: 5px; -} - -.component-group-desc p { - width: 90%; - margin: 10px 0; - color: rgb(102, 102, 102); -} - -#config div.field-pair { - padding: 12px 0; -} - -#config div.field-pair select, -#config div.field-pair input { - margin-right: 6px; -} - -#config div.field-pair input { - float: left; -} - -#config .nocheck, -.metadataDiv { - padding-left: 20px; -} - -#config span.component-title { - float: left; - width: 172px; - margin-right: 10px; - font-size: 13px; - font-weight: bold; -} - -#config span.component-desc { - font-size: 12px; - font-weight: normal; - display: block; - max-width: 475px; - margin-left: 182px; -} - -#config label.space-right { - margin-right: 10px; -} - -.component-group-save { - float: right; - padding-top: 10px; -} - -select .selected { - font-weight: 700; -} - -.jumbo { - font-size: 15px !important; - line-height: 24px; -} - -.testNotification { - padding: 5px; - margin-bottom: 10px; - line-height: 20px; - border: 1px dotted rgb(204, 204, 204); -} - -#providerOrderList { - width: 250px; - padding-left: 20px; - list-style-type: none; -} - -#provider_order_list, -#service_order_list { - width: 250px; - padding-left: 20px; - list-style-type: none; -} - -#provider_order_list li, -#service_order_list li { - padding: 5px; - margin: 5px 0; - font-size: 14px; -} - -#provider_order_list .ui-state-default.torrent-provider { - background-color: rgb(255, 255, 255) !important; -} - -#provider_order_list .ui-state-default.nzb-provider { - background-color: rgb(221, 221, 221) !important; -} - -#provider_order_list input, -#service_order_list input { - margin: 0 2px; -} - -#config .tip_scale label span.component-title { - width: 85px !important; - font-size: 12px !important; - margin-top: 2px !important; -} - -#config .tip_scale label span.component-desc { - margin-left: 120px !important; - width: 220px !important; -} - -.infoTableHeader, -.infoTableCell { - padding: 5px; -} - -.infoTableSeperator { - border-top: 1px dotted rgb(102, 102, 102); -} - -.infoTableHeader { - vertical-align: top; -} - -[class^="icon16-config-"], -[class*=" icon16-config-"] { - background-image: url("../images/16x_sprite_colored_help-info.png"); - background-position: -40px 0; - background-repeat: no-repeat; - display: inline-block; - height: 16px; - line-height: 16px; - vertical-align: text-top; - width: 16px; -} - -.icon16-config-application { - background-position: 0 0; -} - -.icon16-config-version { - background-position: -17px 0; -} - -.icon16-config-python { - background-position: -37px 0; -} - -.icon16-config-ssl { - background-position: -56px 0; -} - -.icon16-config-locale { - background-position: -73px 0; -} - -.icon16-config-user { - background-position: -91px 0; -} - -.icon16-config-dir { - background-position: -111px 0; -} - -.icon16-config-config { - background-position: -129px 0; -} - -.icon16-config-db { - background-position: -147px 0; -} - -.icon16-config-cache { - background-position: -166px 0; -} - -.icon16-config-log { - background-position: -182px 0; -} - -.icon16-config-arguments { - background-position: -204px 0; -} - -.icon16-config-github { - background-position: -224px 0; -} - -.icon16-config-mirc { - background-position: -243px 0; -} - -.icon16-config-web { - background-position: -262px 0; -} - -.icon16-config-os { - background-position: -280px 0; -} - -.icon16-config-wiki { - background-position: -299px 0; -} - -.icon16-config-docker { - background-position: -318px 0; -} - -[class^="add-client-icon-"], -[class*=" add-client-icon-"] { - background: url("../images/32x_sprite_colored_clients.png"); - height: 32px; - width: 32px; - display: inline-block; - position: relative; - top: 2px; - float: left; -} - -.add-client-icon-sabnzbd { - background-position: 0 0; -} - -.add-client-icon-nzbget { - background-position: -34px 0; -} - -.add-client-icon-blackhole { - background-position: -71px 0; -} - -.add-client-icon-deluge { - background-position: -106px 0; -} - -.add-client-icon-deluged { - background-position: -106px 0; -} - -.add-client-icon-qbittorrent { - background-position: -138px 0; -} - -.add-client-icon-rtorrent { - background-position: -172px 0; -} - -.add-client-icon-downloadstation { - background-position: -205px 0; -} - -.add-client-icon-transmission { - background-position: -241px 0; -} - -.add-client-icon-utorrent { - background-position: -273px 0; -} - -.add-client-icon-spotnet { - background-position: -311px 0; -} - -.add-client-icon-mlnet { - background-position: -344px 0; -} - -.add-client-icon-rss { - background-position: -380px 0; -} - -.add-client-icon-folder { - background-position: -416px 0; -} - -.add-client-icon-ftp { - background-position: -452px 0; -} - -.add-client-icon-irc { - background-position: -488px 0; -} - -/* ======================================================================= -config_postProcessing.mako -========================================================================== */ - -#config div.example { - padding: 10px; - background-color: rgb(239, 239, 239); -} - -.Key { - width: 100%; - padding: 6px; - font-size: 13px; - background-color: rgb(244, 244, 244); - border: 1px solid rgb(204, 204, 204); - border-collapse: collapse; - border-spacing: 0; -} - -.Key th, -.tableHeader { - padding: 3px 9px; - margin: 0; - color: rgb(255, 255, 255); - text-align: center; - background: none repeat scroll 0 0 rgb(102, 102, 102); -} - -.Key td { - padding: 1px 5px !important; -} - -.Key tr { - border-bottom: 1px solid rgb(204, 204, 204); -} - -.Key tr.even { - background-color: rgb(223, 222, 222); -} - -.legend { - position: relative; - top: 2px; -} - -/* ======================================================================= -config_notifications.mako -========================================================================== */ - -div.metadata_options_wrapper { - float: left; - width: 190px; -} - -div.metadata_example_wrapper { - float: right; - width: 325px; -} - -div.metadata_options { - padding: 7px; - overflow: auto; - background: rgb(245, 241, 228); - border: 1px solid rgb(204, 204, 204); -} - -div.metadata_options label:hover { - color: rgb(255, 255, 255); - background-color: rgb(87, 68, 43); - cursor: pointer; -} - -div.metadata_options label { - display: block; - padding-left: 7px; - line-height: 20px; - color: rgb(0, 51, 102); -} - -div.metadata_example { - padding: 8px; -} - -div.metadata_example label { - display: block; - line-height: 21px; - color: rgb(0, 0, 0); - cursor: pointer; -} - -div.metadataDiv .disabled { - color: rgb(204, 204, 204); -} - -.notifier-icon { - float: left; - margin: 6px 4px 0 0; -} - -.warning { - border-color: rgb(248, 148, 6); - background: url("../images/warning16.png") no-repeat right 5px center rgb(255, 255, 255); -} - -[class^="icon-notifiers-"], -[class*=" icon-notifiers-"] { - background: url("../images/32x_sprite_colored_notifiers.png"); - height: 32px; - width: 32px; - display: inline-block; - position: relative; - top: 2px; - float: left; -} - -.icon-notifiers-kodi { - background-position: 0 0; -} - -.icon-notifiers-plex { - background-position: -32px 0; -} - -.icon-notifiers-plexth { - background-position: -64px 0; -} - -.icon-notifiers-emby { - background-position: -96px 0; -} - -.icon-notifiers-nmj { - background-position: -128px 0; -} - -.icon-notifiers-syno1 { - background-position: -160px 0; -} - -.icon-notifiers-syno2 { - background-position: -192px 0; -} - -.icon-notifiers-pytivo { - background-position: -224px 0; -} - -.icon-notifiers-growl { - background-position: -256px 0; -} - -.icon-notifiers-prowl { - background-position: -288px 0; -} - -.icon-notifiers-libnotify { - background-position: -320px 0; -} - -.icon-notifiers-pushover { - background-position: -352px 0; -} - -.icon-notifiers-boxcar2 { - background-position: -384px 0; -} - -.icon-notifiers-pushalot { - background-position: -416px 0; -} - -.icon-notifiers-pushbullet { - background-position: -448px 0; -} - -.icon-notifiers-freemobile { - background-position: -480px 0; -} - -.icon-notifiers-telegram { - background-position: -512px 0; -} - -.icon-notifiers-twitter { - background-position: -544px 0; -} - -.icon-notifiers-trakt { - background-position: -576px 0; -} - -.icon-notifiers-email { - background-position: -608px 0; -} - -.icon-notifiers-anime { - background-position: -640px 0; -} - -.icon-notifiers-look { - background-position: -672px 0; -} - -.icon-notifiers-slack { - background-position: -704px 0; -} - -.icon-notifiers-join { - background-position: -736px 0; -} - -.icon-notifiers-discord { - background-position: -768px 0; -} - -div#config-components h3 > a { - padding-left: 5px; -} - -/* ======================================================================= -manage*.mako -========================================================================== */ - -.manageTable th { - white-space: normal; - line-height: 24px; -} - -.manageTable td.tableright { - text-align: left; -} - -td.tableright { - text-align: center; -} - -.optionWrapper { - width: 450px; - margin-left: auto; - margin-right: auto; - padding: 6px 12px; -} - -.optionWrapper span.selectTitle { - float: left; - text-align: left; - width: 225px; - padding: 6px 0; -} - -.optionWrapper div.selectChoices { - float: left; - width: 175px; - margin-left: 25px; -} - -.optionWrapper br { - clear: both; -} - -.manageCustom { - text-align: center; - padding: 6px; - margin-left: 25px; -} - -.separator { - font-size: 90%; - color: rgb(51, 51, 51); -} - -a.whitelink { - color: rgb(255, 255, 255); -} - -/* BacklogOverview */ -#status-summary { - padding-top: 10px; - padding-bottom: 2px; -} - -/* ======================================================================= -Global -========================================================================== */ - -span.path { - padding: 3px 6px; - color: rgb(139, 0, 0); - background-color: rgb(245, 241, 228); -} - -.align-left { - text-align: left !important; -} - -.h2footer { - line-height: 18px; - clear: both; -} - -/* red */ -span.false { - color: rgb(153, 51, 51); -} - -/* green */ -span.true { - color: rgb(102, 153, 102); -} - -.break-word { - word-break: break-all; - word-wrap: break-word; -} - -a.wiki { - color: red; -} - -a.wiki strong { - color: red; -} - -option.flag { - padding-left: 35px; - background-repeat: no-repeat; - background-position: 10px 50%; -} - -/* - * This is currently used by addShow_addExistingShows.mako and addShows_recommended.mako. - * Which in turn calls inc_addShowOptions.mako - * After these routes have been vueified, these templates can be removed as the below css. -*/ - -/* Anime section for editShow */ -.bwlWrapper { - height: auto; - margin: 0 auto; -} - -#Anime { - clear: both; - overflow-x: hidden; - overflow-y: hidden; - font-size: 14px; -} - -#Anime div.component-group-desc { - float: left; - width: 165px; -} - -#Anime div.component-group-desc p { - margin: 0.4em 0; - width: 95%; -} - -div.blackwhitelist { - float: left; - text-align: center; -} - -div.blackwhitelist input { - margin: 5px 0; -} - -div.blackwhitelist.pool select { - width: 230px; -} - -div.blackwhitelist.white select, -div.blackwhitelist.black select { - width: 150px; -} - -div.blackwhitelist span { - display: block; - text-align: center; -} - -div.blackwhitelist.anidb, -div.blackwhitelist.manual { - margin: 7px 0; -} - -ul.simpleList { - padding-left: 0; -} - -ul.simpleList li { - list-style-type: none; -} - -/* ======================================================================= -bootstrap Overrides -========================================================================== */ - -#vue-wrap { - padding-top: 75px; -} - -body { - overflow-y: scroll; - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; - color: rgb(0, 0, 0); -} - -html * { - outline: 0 !important; -} - -input[type="checkbox"] { - margin: 2px 5px 0; - line-height: normal; - transform: scale(1.2, 1.2); -} - -input[type="radio"] { - margin: 2px 0 0; - line-height: normal; -} - -input, -textarea, -select, -.uneditable-input { - width: auto; - color: rgb(0, 0, 0); -} - -.navbar-brand { - padding: 0; -} - -/* navbar styling */ -.navbar-default .navbar-brand { - color: rgb(255, 255, 255); -} - -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: rgb(255, 255, 255); - background-color: transparent; -} - -.navbar-default .navbar-text { - color: rgb(221, 221, 221); -} - -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: rgb(255, 255, 255); -} - -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: rgb(255, 255, 255); - background-color: rgb(51, 51, 51); -} - -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: rgb(204, 204, 204); - background-color: transparent; -} - -.navbar-default .navbar-toggle { - border-color: rgb(204, 204, 204); -} - -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: rgb(51, 51, 51); -} - -.navbar-default .navbar-toggle .icon-bar { - background-color: rgb(51, 51, 51); -} - -.navbar-default .navbar-nav > li > a { - color: rgb(221, 221, 221); -} - -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: rgb(51, 51, 51); - color: rgb(255, 255, 255); -} - -.navbar-default .navbar-nav > li.navbar-split > a { - float: left; - border: 1px solid rgba(0, 0, 0, 0.15); -} - -.navbar-default .navbar-nav > li.navbar-split > a:first-child { - padding-right: 8px; -} - -.navbar-default .navbar-nav > li.navbar-split > a:nth-child(2) { - padding-left: 8px; -} - -@media (max-width: 767px) { - .navbar-default .navbar-nav > li { - float: left; - min-width: 100px; - } - - .navbar-default .navbar-nav > li > a { - width: 100%; - } - - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: rgb(221, 221, 221); - } - - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: rgb(255, 255, 255); - background-color: transparent; - } - - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: rgb(255, 255, 255); - background-color: rgb(51, 51, 51); - } - - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: rgb(204, 204, 204); - background-color: transparent; - } -} - -.navbar-default .navbar-link { - color: rgb(221, 221, 221); -} - -.navbar-default .navbar-link:hover { - color: rgb(255, 255, 255); -} - -.navbar-default .btn-link { - color: rgb(152, 151, 139); -} - -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: rgb(221, 221, 221); -} - -.navbar-default .btn-link[disabled]:hover, -fieldset[disabled] .navbar-default .btn-link:hover, -.navbar-default .btn-link[disabled]:focus, -fieldset[disabled] .navbar-default .btn-link:focus { - color: rgb(204, 204, 204); -} - -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - color: rgb(38, 38, 38); - text-decoration: none; - background-color: rgb(245, 245, 245); -} - -.dropdown-menu > li > a { - padding: 4px 36px 4px 20px; -} - -.dropdown-menu-custom > li > a { - padding: 15px 36px 15px 5px; - border-bottom: 1px solid darkgrey; -} - -.dropdown-menu-custom > li:last-child > a { - border-bottom-style: none; -} - -.dropdown-menu { - background-color: rgb(245, 241, 228); - border: 1px solid rgba(0, 0, 0, 0.15); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176); -} - -/* Vueified DisplayShow uses the vue component vue-good-table to display tables. */ -.vgt-table { - color: rgb(0, 0, 0); -} - -.vgt-table th, -.vgt-table td { - border-top: rgb(255, 255, 255) 1px solid; - border-left: rgb(255, 255, 255) 1px solid; -} - -.vgt-table th { - color: rgb(255, 255, 255); - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(51, 51, 51); -} - -.vgt-table thead th.sorting.sorting-desc { - background-color: rgb(85, 85, 85); - background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); -} - -.vgt-table thead th.sorting.sorting-asc { - background-color: rgb(85, 85, 85); - background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); -} - -.vgt-table tfoot tr { - color: rgb(255, 255, 255); - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(51, 51, 51); -} - -.vgt-table tfoot a { - color: rgb(255, 255, 255); -} - -.vgt-table tr:nth-child(even) { - background-color: rgb(223, 218, 207); -} - -.vgt-table tr:nth-child(odd) { - background-color: rgb(245, 241, 228); -} - -.vgt-dropdown > .button-group { - margin-bottom: 10px; -} - -.vgt-dropdown-menu { - background-color: rgb(245, 241, 228); - border: 1px solid rgba(0, 0, 0, 0.15); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176); -} - -.vgt-dropdown-menu > li > a:hover, -.vgt-dropdown-menu > li > a:focus { - color: rgb(38, 38, 38); - text-decoration: none; - background-color: rgb(245, 245, 245); -} - -.vgt-dropdown-menu > li > span { - padding: 4px 36px 4px 20px; - color: #333; -} - -.form-control { - color: rgb(0, 0, 0); -} - -/* @TODO: Fix this stupid bootstrap hack http://stackoverflow.com/a/24008735/2311366 */ -.form-control-inline { - display: inline; - width: auto; -} - -.form-control-inline-max { - display: inline; - width: 100%; -} - -.input-sm-smallfont { - font-size: 11px; -} - -.input-sm-custom { - padding: 2px 5px 3px; - border-radius: 1px; - line-height: 1.5; - height: auto; -} - -.shadow { - box-shadow: 3px 3px 3px rgba(17, 17, 17, 0.5); -} - -.shadow-background { - background-color: rgb(239, 239, 239, 0.8); -} - -.border-bottom { - border-width: 1px; - border-style: none none solid; - border-color: rgb(62, 63, 58); -} - -.btn-medusa { - display: inline-block; - *display: inline; - padding: 4px 10px; - margin-bottom: 0; - *margin-left: 0.3em; - font-size: 12px; - line-height: 16px; - *line-height: 20px; - color: rgb(51, 51, 51); - text-align: center; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - vertical-align: middle; - cursor: pointer; - background-color: rgb(245, 245, 245); - *background-color: rgb(230, 230, 230); - background-image: -ms-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(255, 255, 255)), to(rgb(230, 230, 230))); - background-image: -webkit-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: -o-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: linear-gradient(to top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: -moz-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-repeat: repeat-x; - border: 1px solid rgb(204, 204, 204); - *border: 0; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - border-color: rgb(230, 230, 230) rgb(230, 230, 230) rgb(191, 191, 191); - border-bottom-color: rgb(179, 179, 179); - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 1px; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); - *zoom: 1; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -.btn-medusa:hover, -.btn-medusa:active, -.btn-medusa.active, -.btn-medusa.disabled, -.btn-medusa[disabled] { - background-color: rgb(230, 230, 230); - *background-color: rgb(217, 217, 217); -} - -.btn-medusa:first-child { - *margin-left: 0; -} - -.btn-medusa:hover { - color: rgb(51, 51, 51); - text-decoration: none; - background-color: rgb(230, 230, 230); - *background-color: rgb(217, 217, 217); - background-position: 0 -15px; - -webkit-transition: background-position 0.1s linear; - -moz-transition: background-position 0.1s linear; - -ms-transition: background-position 0.1s linear; - -o-transition: background-position 0.1s linear; - transition: background-position 0.1s linear; -} - -.btn-medusa:focus { - outline: thin dotted rgb(51, 51, 51); - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} - -.btn-medusa.active, -.btn-medusa:active { - background-color: rgb(230, 230, 230); - background-color: rgb(217, 217, 217) \9; - background-image: none; - outline: 0; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -.btn-medusa.disabled, -.btn-medusa[disabled] { - cursor: default; - background-color: rgb(230, 230, 230); - background-image: none; - opacity: 0.65; - filter: alpha(opacity=65); - box-shadow: none; -} - -.btn-large { - padding: 9px 14px; - font-size: 15px; - line-height: normal; - border-radius: 1px; -} - -.btn-large [class^="icon-"] { - margin-top: 1px; -} - -.btn-small { - padding: 5px 9px; - font-size: 11px; - line-height: 16px; -} - -.btn-small [class^="icon-"] { - margin-top: -1px; -} - -.btn-mini { - padding: 2px 6px; - font-size: 11px; - line-height: 14px; -} - -.btn-primary, -.btn-primary:hover, -.btn-warning, -.btn-warning:hover, -.btn-danger, -.btn-danger:hover, -.btn-success, -.btn-success:hover, -.btn-info, -.btn-info:hover, -.btn-inverse, -.btn-inverse:hover { - color: rgb(255, 255, 255); - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} - -.btn-primary.active, -.btn-warning.active, -.btn-danger.active, -.btn-success.active, -.btn-info.active, -.btn-inverse.active { - color: rgba(255, 255, 255, 0.75); -} - -.btn-primary { - background-color: rgb(0, 116, 204); - *background-color: rgb(0, 85, 204); - background-image: -ms-linear-gradient(top, rgb(0, 136, 204), rgb(0, 85, 204)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(0, 136, 204)), to(rgb(0, 85, 204))); - background-image: -webkit-linear-gradient(top, rgb(0, 136, 204), rgb(0, 85, 204)); - background-image: -o-linear-gradient(top, rgb(0, 136, 204), rgb(0, 85, 204)); - background-image: -moz-linear-gradient(top, rgb(0, 136, 204), rgb(0, 85, 204)); - background-image: linear-gradient(to top, rgb(0, 136, 204), rgb(0, 85, 204)); - background-repeat: repeat-x; - border-color: rgb(0, 85, 204) rgb(0, 85, 204) rgb(0, 53, 128); - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); -} - -.btn-primary:hover, -.btn-primary:active, -.btn-primary.active, -.btn-primary.disabled, -.btn-primary[disabled] { - background-color: rgb(0, 85, 204); - *background-color: rgb(0, 74, 179); -} - -.btn-primary:active, -.btn-primary.active { - background-color: rgb(0, 64, 153) \9; -} - -.btn-warning { - background-color: rgb(250, 167, 50); - *background-color: rgb(248, 148, 6); - background-image: -ms-linear-gradient(top, rgb(251, 180, 80), rgb(248, 148, 6)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(251, 180, 80)), to(rgb(248, 148, 6))); - background-image: -webkit-linear-gradient(top, rgb(251, 180, 80), rgb(248, 148, 6)); - background-image: -o-linear-gradient(top, rgb(251, 180, 80), rgb(248, 148, 6)); - background-image: -moz-linear-gradient(top, rgb(251, 180, 80), rgb(248, 148, 6)); - background-image: linear-gradient(to top, rgb(251, 180, 80), rgb(248, 148, 6)); - background-repeat: repeat-x; - border-color: rgb(248, 148, 6) rgb(248, 148, 6) rgb(173, 103, 4); - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); -} - -.btn-warning:hover, -.btn-warning:active, -.btn-warning.active, -.btn-warning.disabled, -.btn-warning[disabled] { - background-color: rgb(248, 148, 6); - *background-color: rgb(223, 133, 5); -} - -.btn-warning:active, -.btn-warning.active { - background-color: rgb(198, 118, 5) \9; -} - -.btn-danger { - background-color: rgb(218, 79, 73); - *background-color: rgb(189, 54, 47); - background-image: -ms-linear-gradient(top, rgb(238, 95, 91), rgb(189, 54, 47)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(238, 95, 91)), to(rgb(189, 54, 47))); - background-image: -webkit-linear-gradient(top, rgb(238, 95, 91), rgb(189, 54, 47)); - background-image: -o-linear-gradient(top, rgb(238, 95, 91), rgb(189, 54, 47)); - background-image: -moz-linear-gradient(top, rgb(238, 95, 91), rgb(189, 54, 47)); - background-image: linear-gradient(to top, rgb(238, 95, 91), rgb(189, 54, 47)); - background-repeat: repeat-x; - border-color: rgb(189, 54, 47) rgb(189, 54, 47) rgb(128, 36, 32); - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); -} - -.btn-danger:hover, -.btn-danger:active, -.btn-danger.active, -.btn-danger.disabled, -.btn-danger[disabled] { - background-color: rgb(189, 54, 47); - *background-color: rgb(169, 48, 42); -} - -.btn-danger:active, -.btn-danger.active { - background-color: rgb(148, 42, 37) \9; -} - -.btn-success { - background-color: rgb(91, 183, 91); - *background-color: rgb(81, 163, 81); - background-image: -ms-linear-gradient(top, rgb(98, 196, 98), rgb(81, 163, 81)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(98, 196, 98)), to(rgb(81, 163, 81))); - background-image: -webkit-linear-gradient(top, rgb(98, 196, 98), rgb(81, 163, 81)); - background-image: -o-linear-gradient(top, rgb(98, 196, 98), rgb(81, 163, 81)); - background-image: -moz-linear-gradient(top, rgb(98, 196, 98), rgb(81, 163, 81)); - background-image: linear-gradient(to top, rgb(98, 196, 98), rgb(81, 163, 81)); - background-repeat: repeat-x; - border-color: rgb(81, 163, 81) rgb(81, 163, 81) rgb(56, 112, 56); - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); -} - -.btn-success:hover, -.btn-success:active, -.btn-success.active, -.btn-success.disabled, -.btn-success[disabled] { - background-color: rgb(81, 163, 81); - *background-color: rgb(73, 146, 73); -} - -.btn-success:active, -.btn-success.active { - background-color: rgb(64, 129, 64) \9; -} - -.btn-info { - background-color: rgb(73, 175, 205); - *background-color: rgb(47, 150, 180); - background-image: -ms-linear-gradient(top, rgb(91, 192, 222), rgb(47, 150, 180)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(91, 192, 222)), to(rgb(47, 150, 180))); - background-image: -webkit-linear-gradient(top, rgb(91, 192, 222), rgb(47, 150, 180)); - background-image: -o-linear-gradient(top, rgb(91, 192, 222), rgb(47, 150, 180)); - background-image: -moz-linear-gradient(top, rgb(91, 192, 222), rgb(47, 150, 180)); - background-image: linear-gradient(to top, rgb(91, 192, 222), rgb(47, 150, 180)); - background-repeat: repeat-x; - border-color: rgb(47, 150, 180) rgb(47, 150, 180) rgb(31, 99, 119); - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); -} - -.btn-info:hover, -.btn-info:active, -.btn-info.active, -.btn-info.disabled, -.btn-info[disabled] { - background-color: rgb(47, 150, 180); - *background-color: rgb(42, 133, 160); -} - -.btn-info:active, -.btn-info.active { - background-color: rgb(36, 116, 140) \9; -} - -.btn-inverse { - background-color: rgb(65, 65, 65); - *background-color: rgb(34, 34, 34); - background-image: -ms-linear-gradient(top, rgb(85, 85, 85), rgb(34, 34, 34)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(85, 85, 85)), to(rgb(34, 34, 34))); - background-image: -webkit-linear-gradient(top, rgb(85, 85, 85), rgb(34, 34, 34)); - background-image: -o-linear-gradient(top, rgb(85, 85, 85), rgb(34, 34, 34)); - background-image: -moz-linear-gradient(top, rgb(85, 85, 85), rgb(34, 34, 34)); - background-image: linear-gradient(to top, rgb(85, 85, 85), rgb(34, 34, 34)); - background-repeat: repeat-x; - border-color: rgb(34, 34, 34) rgb(34, 34, 34) rgb(0, 0, 0); - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); -} - -.btn-inverse:hover, -.btn-inverse:active, -.btn-inverse.active, -.btn-inverse.disabled, -.btn-inverse[disabled] { - background-color: rgb(34, 34, 34); - *background-color: rgb(21, 21, 21); -} - -.btn-inverse:active, -.btn-inverse.active { - background-color: rgb(8, 8, 8) \9; -} - -.btn-xs { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 1px; -} - -@media (min-width: 768px) { - .navbar .nav > li > .dropdown-menu::after { - position: absolute; - top: -6px; - right: 12px; - display: inline-block; - border-right: 6px solid transparent; - border-bottom: 6px solid rgb(245, 241, 228); - border-left: 6px solid transparent; - content: ""; - } -} - -label { - font-weight: normal; -} - -pre { - border: 1px solid; -} - -.alert { - padding: 10px; - text-align: center; -} - -/* ======================================================================= -input sizing (for config pages) -========================================================================== */ - -/* Don't style root-dirs select */ -#config select:not([size]) { - width: auto; - display: inline; -} - -.btn-inline { - margin-top: -3px; -} - -.input75 { - width: 75px; - margin-top: -4px; -} - -.input100 { - width: 100px; - margin-top: -4px; -} - -.input150 { - width: 150px; - margin-top: -4px; -} - -.input200 { - width: 200px; - margin-top: -4px; -} - -.input250 { - width: 250px; - margin-top: -4px; -} - -.input300 { - width: 300px; - margin-top: -4px; -} - -.input350 { - width: 350px; - margin-top: -4px; -} - -/* Added max-width, as setting width is really not optimal on smaller viewports */ -.max-input75 { - max-width: 75px; - margin-top: -4px; -} - -.max-input100 { - max-width: 100px; - margin-top: -4px; -} - -.max-input150 { - max-width: 150px; - margin-top: -4px; -} - -.max-input200 { - max-width: 200px; - margin-top: -4px; -} - -.max-input250 { - max-width: 250px; - margin-top: -4px; -} - -.max-input300 { - max-width: 300px; - margin-top: -4px; -} - -.max-input350 { - max-width: 350px; - margin-top: -4px; -} - -select.input-sm { - font-size: 0.9em; -} - -/* ======================================================================= -formWizard.css -========================================================================== */ - -div.stepsguide .step p { - margin: 12px 0; -} - -fieldset.sectionwrap { - padding: 5px; - text-align: left; - border-width: 0; - width: 100%; -} - -legend.legendStep { - color: rgb(87, 68, 43); - margin-bottom: 0; -} - -div.stepsguide { - margin-bottom: 15px; - overflow: hidden; - text-align: left; - cursor: pointer; - display: table; -} - -div.stepsguide .step { - display: table-cell; - width: 33%; - font: bold 24px Arial, sans-serif; - border-bottom: 4px solid rgb(87, 68, 43); -} - -div.stepsguide .disabledstep { - color: rgb(196, 196, 196); - border-bottom: 4px solid rgb(138, 119, 94); -} - -div.stepsguide .disabledstep p { - border-bottom: none; -} - -div.stepsguide .step .smalltext { - font-size: 13px; - font-weight: normal; -} - -div.formpaginate { - width: 800px; - margin-top: 1em; - overflow: auto; - font-weight: bold; - text-align: center; -} - -div.formpaginate .prev, -div.formpaginate .next { - padding: 3px 6px; - color: rgb(255, 255, 255); - cursor: hand; - cursor: pointer; - background: rgb(87, 68, 43); - border-radius: 6px; -} - -.stepDiv { - padding: 15px 0; -} - -#tabs .nocheck, -.stepDiv .nocheck { - padding-left: 16px; -} - -#tabs label span.component-title, -.stepDiv label span.component-title { - padding-bottom: 10px; - float: left; - width: 172px; - margin-right: 10px; - font-size: 13px; - font-weight: bold; -} - -#tabs label span.component-desc, -.stepDiv label span.component-desc { - padding-bottom: 10px; - font-size: 12px; - font-weight: normal; - display: block; - margin-left: 182px; -} - -div.field-pair input { - margin-right: 6px; - float: left; -} - -/* ======================================================================= -tablesorter.css -========================================================================== */ - -.tablesorter { - width: 100%; - margin-right: auto; - margin-left: auto; - color: rgb(0, 0, 0); - text-align: left; - background-color: rgb(255, 255, 255); - border-spacing: 0; -} - -.tablesorter th, -.tablesorter td { - padding: 4px; - border-top: rgb(255, 255, 255) 1px solid; - border-left: rgb(255, 255, 255) 1px solid; - vertical-align: middle; -} - -/* remove extra border from left edge */ -.tablesorter th:first-child, -.tablesorter td:first-child { - border-left: none; -} - -.tablesorter th { - color: rgb(255, 255, 255); - text-align: center; - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(51, 51, 51); - border-collapse: collapse; - font-weight: normal; -} - -.tablesorter .tablesorter-header { - padding: 4px 18px; - cursor: pointer; - background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==); - background-position: center right; - background-repeat: no-repeat; -} - -.tablesorter thead .tablesorter-headerDesc { - background-color: rgb(85, 85, 85); - background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); -} - -.tablesorter thead .tablesorter-headerAsc { - background-color: rgb(85, 85, 85); - background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); -} - -.tablesorter thead .sorter-false { - background-image: none; - padding: 4px; - cursor: default; -} - -thead.tablesorter-stickyHeader { - border-top: 2px solid rgb(255, 255, 255); - border-bottom: 2px solid rgb(255, 255, 255); -} - -/* Zebra Widget - row alternating colors */ -.tablesorter tr.odd, -.defaultTable tr.odd { - background-color: rgb(245, 241, 228); -} - -.tablesorter tr.even, -.defaultTable tr.even { - background-color: rgb(223, 218, 207); -} - -/* filter widget */ -.tablesorter .filtered { - display: none; -} - -.tablesorter input.tablesorter-filter { - width: 98%; - height: auto; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -.tablesorter tr.tablesorter-filter-row, -.tablesorter tr.tablesorter-filter-row td { - text-align: center; - background: rgb(238, 238, 238); - border-bottom: 1px solid rgb(221, 221, 221); -} - -/* optional disabled input styling */ -.tablesorter input.tablesorter-filter-row .disabled { - display: none; -} - -.tablesorter-header-inner { - padding: 0 2px; - text-align: center; -} - -.tablesorter tfoot tr { - color: rgb(255, 255, 255); - text-align: center; - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); - background-color: rgb(51, 51, 51); - border-collapse: collapse; -} - -.tablesorter tfoot a { - color: rgb(255, 255, 255); - text-decoration: none; -} - -/* ======================================================================= -token-input.css -========================================================================== */ - -ul.token-input-list { - overflow: hidden; - height: auto !important; - height: 1%; - width: 273px; - border: 1px solid rgb(204, 204, 204); - cursor: text; - font-size: 10px; - font-family: Verdana, sans-serif; - z-index: 999; - margin: 0; - padding: 0 0 1px; - background-color: rgb(255, 255, 255); - list-style-type: none; - border-radius: 3px; -} - -ul.token-input-list li { - list-style-type: none; -} - -ul.token-input-list li input { - border: 0; - padding: 3px 4px; - background-color: rgb(255, 255, 255); -} - -li.token-input-token { - overflow: hidden; - height: auto !important; - height: 1%; - margin: 3px; - padding: 3px 5px 0; - background-color: rgb(208, 239, 160); - color: rgb(0, 0, 0); - font-weight: bold; - cursor: default; - display: block; -} - -li.token-input-token img { - padding-right: 4px; - float: left; -} - -li.token-input-token input { - padding-top: 2px !important; - padding-right: 4px !important; - float: left; -} - -li.token-input-token p { - float: left; - padding: 0; - margin: 0; - line-height: 2 !important; -} - -li.token-input-token span { - float: right; - color: rgb(119, 119, 119); - cursor: pointer; -} - -li.token-input-selected-token { - background-color: rgb(8, 132, 78); - color: rgb(255, 255, 255); -} - -li.token-input-selected-token span { - color: rgb(187, 187, 187); -} - -li.token-input-input-token input { - margin: 3px !important; -} - -div.token-input-dropdown { - position: absolute; - width: 273px; - overflow: hidden; - border-left: 1px solid; - border-right: 1px solid; - border-bottom: 1px solid; - cursor: default; - font-size: 11px; - font-family: Verdana, sans-serif; - z-index: 1; -} - -div.token-input-dropdown p { - margin: 0; - padding: 3px; - font-weight: bold; - color: rgb(119, 119, 119); -} - -div.token-input-dropdown ul { - margin: 0; - padding: 0; -} - -div.token-input-dropdown ul li { - background-color: rgb(255, 255, 255); - padding: 3px; - list-style-type: none; -} - -div.token-input-dropdown ul li.token-input-dropdown-item { - background-color: rgb(250, 250, 250); -} - -div.token-input-dropdown ul li.token-input-dropdown-item2 { - background-color: rgb(255, 255, 255); -} - -div.token-input-dropdown ul li em { - font-weight: bold; - font-style: normal; -} - -div.token-input-dropdown ul li.token-input-selected-dropdown-item { - background-color: rgb(97, 150, 194); -} - -span.token-input-delete-token { - margin: 0 1px; -} - -.red-text { - color: rgb(221, 51, 51); -} - -.clear-left { - clear: left; -} - -.nextline-block { - display: block; -} - -/* ======================================================================= -jquery.confirm.css -========================================================================== */ - -#confirmOverlay { - width: 100%; - height: 100%; - position: fixed; - top: 0; - left: 0; - background: url("../images/bg.gif"); - background: -moz-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)) repeat-x rgba(0, 0, 0, 0.5); - background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.5))) repeat-x rgba(0, 0, 0, 0.5); - z-index: 100000; -} - -#confirmBox { - background: rgb(245, 241, 228); - width: 460px; - position: fixed; - left: 50%; - top: 50%; - margin: -130px 0 0 -230px; - border: 1px solid rgb(17, 17, 17); - box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.175); -} - -#confirmBox h1, -#confirmBox p { - padding: 6px 10px; -} - -#confirmBox h1 { - background-color: rgb(51, 51, 51); - border-bottom: 1px solid rgb(17, 17, 17); - color: rgb(255, 255, 255); - margin: 0; - font-size: 22px; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); -} - -#confirmBox p { - padding-top: 20px; - color: rgb(0, 0, 0); - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); -} - -#confirmButtons { - padding: 15px 0; - text-align: center; -} - -#confirmBox .button { - margin-right: 15px; - padding: 2px 20px; - text-decoration: none; - display: inline-block; - color: rgb(255, 255, 255); - text-align: center; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.75); - background-clip: padding-box; - border: 1px solid rgb(17, 17, 17); - border-radius: 3px; - cursor: pointer; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0.25)); - background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0.25)); - background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0.25)); - background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, 0.25)); - box-shadow: inset 0 1px rgba(255, 255, 255, 0.1), inset 0 -1px 3px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.08), 0 1px 2px rgba(0, 0, 0, 0.15); -} - -#confirmBox .button:last-child { - margin-right: 0; -} - -#confirmBox .green { - background-color: rgb(63, 118, 54); -} - -#confirmBox .green:hover { - background-color: rgb(72, 135, 62); -} - -#confirmBox .red { - background-color: rgb(141, 45, 43); -} - -#confirmBox .red:hover { - background-color: rgb(161, 51, 49); -} - -/* ======================================================================= -pnotify.css -========================================================================== */ - -.ui-pnotify-sticker { - margin-top: -12px; -} - -.ui-pnotify-closer { - margin-top: -12px; - margin-right: -10px; -} - -/* ======================================================================= -Fix the file browser -========================================================================== */ -.ui-button { - display: inline-block; - *display: inline; - padding: 4px 10px; - margin-bottom: 0; - *margin-left: 0.3em; - font-size: 12px; - line-height: 16px; - *line-height: 20px; - color: rgb(51, 51, 51); - text-align: center; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - vertical-align: middle; - cursor: pointer; - background-color: rgb(245, 245, 245); - *background-color: rgb(230, 230, 230); - background-image: -ms-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(255, 255, 255)), to(rgb(230, 230, 230))); - background-image: -webkit-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: -o-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: linear-gradient(to top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-image: -moz-linear-gradient(top, rgb(255, 255, 255), rgb(230, 230, 230)); - background-repeat: repeat-x; - border: 1px solid rgb(204, 204, 204); - *border: 0; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - border-color: rgb(230, 230, 230) rgb(230, 230, 230) rgb(191, 191, 191); - border-bottom-color: rgb(179, 179, 179); - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 1px; - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); - *zoom: 1; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -/* ======================================================================= -login.css -========================================================================== */ - -.login { - display: block; -} - -.login h1 { - padding: 0 0 10px; - font-size: 60px; - font-family: Lobster, cursive; - font-weight: normal; -} - -.login form { - padding: 0; - height: 300px; - width: 400px; - position: fixed; - left: 50%; - top: 50%; - margin: -200px 0 0 -200px; -} - -@media all and (max-width: 480px) { - .login form { - padding: 0; - height: 300px; - width: 90%; - position: absolute; - left: 5%; - top: 10px; - margin: 0; - } -} - -.login .ctrlHolder { - padding: 0; - margin: 0 0 20px; -} - -.login .ctrlHolder:hover { - background: none; -} - -.login input[type=text], -.login input[type=password] { - width: 100% !important; - font-size: 25px; - padding: 14px !important; -} - -.login .remember_me { - font-size: 15px; - float: left; - width: 150px; - padding: 20px 0; -} - -.login .remember_me .check { - margin: 5px 5px 0 0; -} - -.login .button { - font-size: 25px; - padding: 20px; - float: right; -} - -/* ======================================================================= -IMDB Popular -========================================================================== */ - -.popularShow { - margin-bottom: 30px; -} - -.popularShow h3 { - padding: 0; - margin: 0; - display: inline-block; - margin-right: 30px; -} - -.popularShow .left { - float: left; - width: 100px; -} - -.popularShow .right { - float: left; - width: 600px; -} - -.popularShow .year { - font-style: italic; - opacity: 0.7; -} - -.popularShow .coverImage { - width: 80%; - padding-left: 20px; - margin-top: 4px; -} - -.popularShow .rating { - font-size: 90%; - display: inline-block; - margin-left: 0; -} - -.popularShow p { - margin-bottom: 0; -} - -table.home-header { - margin-top: 20px; - margin-bottom: 10px; -} - -input.tablesorter-filter.disabled { - display: none; -} - -/* This fixes bold font be used | @TODO replace this with proper CSS overrides */ -.ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header { - font-weight: normal !important; -} - -/* ======================================================================= -snatchSelection.mako -========================================================================== */ - -div#searchNotification { - display: inline-block; -} - -.left-30 { - margin-left: -30px; -} - -.right-30 { - margin-right: -30px; -} - -.vMiddle { - vertical-align: middle; -} - -.curHelp { - cursor: help; -} - -#snatchhistory.tablesorter tbody:nth-child(1) tr:nth-child(1) { - height: 60px; -} - -#snatchhistory.tablesorter tbody:nth-child(4) tr:nth-child(1) { - height: 30px; -} - -#snatchhistory.tablesorter tbody:nth-child(2) tr:nth-child(2) { - height: 30px; -} - -#snatchhistory th.row-seasonheader { - vertical-align: bottom; - width: auto; -} - -#snatchhistory th.row-seasonheader h3 { - display: inline; -} - -#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(1) { - width: 15%; - text-align: center !important; -} - -#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(2) { - width: 15%; - text-align: center !important; -} - -#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(3) { - width: 15%; - text-align: center !important; -} - -#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(4) { - width: 52%; - text-align: center !important; -} - -#snatchhistory.tablesorter td:nth-child(1) { - width: 15%; - text-align: center !important; -} - -#snatchhistory.tablesorter td:nth-child(2) { - width: 18%; - text-align: center !important; -} - -#snatchhistory.tablesorter td:nth-child(3) { - width: 15%; - text-align: center !important; -} - -#snatchhistory.tablesorter td:nth-child(4) { - width: 52%; -} - -#srchresults.tablesorter td:nth-child(1) { - width: 56%; -} - -#srchresults.tablesorter td:nth-child(n+2) { - width: 4%; - text-align: center; -} - -.release-name-ellipses { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - max-width: 250px; -} - -.release-name-ellipses-toggled { - overflow: visible; - white-space: nowrap; - position: relative; - max-width: 250px; -} - -.release-name-ellipses:hover { - text-decoration: underline; -} - -.release-name-ellipses-toggled span { - background-color: rgb(190, 222, 237); - border-width: 1px; - border-style: solid; - border-color: rgb(136, 136, 136); - padding: 5px; - box-shadow: 3px 3px 3px rgba(17, 17, 17, 0.5); -} - -/* ========================================================================== */ - -/* Pull left in mobile resolutions */ -@media (max-width: 767px) { - .pull-xs-right { - float: right !important; - } - - .pull-xs-left { - float: left !important; - } - - .radio-inline.pull-xs-left + .radio-inline.pull-xs-left, - .checkbox-inline.pull-xs-left + .checkbox-inline.pull-xs-left { - margin-left: 0; - } - - .radio-inline.pull-xs-left, - .checkbox-inline.pull-xs-left { - margin-right: 10px; - } -} - -/* ======================================================================== -CSS helper classes -=========================================================================== */ - -.top-5 { - margin-top: 5px; -} - -.top-10 { - margin-top: 10px; -} - -.top-15 { - margin-top: 15px; -} - -.top-20 { - margin-top: 20px; -} - -.top-25 { - margin-top: 25px; -} - -.bottom-5 { - margin-bottom: 5px; -} - -.bottom-10 { - margin-bottom: 10px; -} - -.bottom-15 { - margin-bottom: 15px; -} - -.bottom-20 { - margin-bottom: 20px; -} - -.bottom-25 { - margin-bottom: 25px; -} - -.horizontal-scroll { - overflow-x: auto; -} - -@media (max-width: 767px) { - .col-md-12 > .horizontal-scroll { - margin: 0 -13px; - } -} - -/* sub-menu */ - -@media screen and (min-width: 0) and (max-width: 768px) { - .full-width { display: none; } /* show it on small screens */ - .mobile { display: block; } - .mobile .ui-icon { display: inline-block; } - - .dropdown-menu-custom > li > a { - padding: 15px 36px 15px 5px; - border-bottom-style: solid; - border-bottom-width: 1px; - } - - .mobile > ul > li > a { - padding-top: 15px; - padding-bottom: 15px; - padding-left: 8px; - } - - .mobile .img-align { - width: 25px; - float: left; - } -} - -@media screen and (min-width: 769px) { - .full-width { display: block; } /* show it on small screens */ - .mobile { display: none; } -} - -/* navbar padding, to make room for in-page scrollbars */ -.padding-right-15 { - padding-right: 15px !important; -} - -.backlog-quality { - color: rgb(255, 255, 255); - background-color: rgb(55, 55, 55); -} - -@media (max-width: 1700px) { - #key-padding { - margin-left: 0; - margin-right: 5px; - } -} - -.triggerhighlight { - cursor: default; -} - -/* CSS for Nav dropdown hover -.dropdown:hover .dropdown-menu { - display: block; -} -*/ - -/* These classes should be natively available in bootstrap 4 */ -.d-block { - display: block; -} +strong.warning{color:red}.header{display:block;clear:right}.navbaricon{margin-top:-15px;margin-bottom:-15px}.icon-white{background-image:url(../images/glyphicons-halflings-white.png)}.ui-autocomplete-loading{background:#fff url(../images/loading16.gif) 100% no-repeat}.browserDialog.busy .ui-dialog-buttonpane{background:url(../images/loading.gif) 10px 50% no-repeat!important}.ui-progressbar .ui-progressbar-overlay{background:url(../css/lib/images/animated-overlay.gif)}.ui-dialog,.ui-dialog-buttonpane{background:#eceadf url(../css/lib/images/ui-bg_fine-grain_10_eceadf_60x60.png) 50% 50% repeat!important}.ui-dialog .ui-resizable-se{width:14px;height:14px;right:3px;bottom:3px;background-position:-80px -224px}.ui-accordion-content,.ui-tabs-panel{background:#ededed!important;background-image:none!important}.ui-widget{font-family:inherit;font-size:1em}.ui-widget-content{background:#dcdcdc url(../css/lib/images/ui-bg_highlight-soft_75_dcdcdc_1x100.png) 50% top repeat-x}.ui-widget-header{background:#fff url(../css/lib/images/ui-bg_flat_0_ffffff_40x100.png) 50% 50% repeat-x}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{background:#fff;border:1px solid #ccc}.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{background:#fff}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{background:#f7f7f7}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{background:#fbf9ee url(../css/lib/images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{background:#fef1ec url(../css/lib/images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon{background-image:url(../css/lib/images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(../css/lib/images/ui-icons_8c291d_256x240.png)}.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(../css/lib/images/ui-icons_222222_256x240.png)}.ui-state-active .ui-icon{background-image:url(../css/lib/images/ui-icons_8c291d_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(../css/lib/images/ui-icons_2e83ff_256x240.png)}.ui-state-error-text .ui-icon,.ui-state-error .ui-icon{background-image:url(../css/lib/images/ui-icons_cd0a0a_256x240.png)}.ui-widget-overlay{background:#aaa url(../css/lib/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x}.ui-widget-shadow{background:#000 url(../css/lib/images/ui-bg_flat_0_000000_40x100.png) 50% 50% repeat-x}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#140f06;text-decoration:none}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#222;text-decoration:none}.ui-tabs{padding:0;background:none;border-width:0}.ui-tabs .ui-tabs-nav{padding-left:0;background:transparent;border-width:0;border-radius:0}.ui-tabs .ui-tabs-panel{background-color:#f7f7f7!important;border:1px solid #ccc!important;padding:1em}.ui-tabs-nav>:not(.ui-tabs-active),.ui-tabs .ui-tabs-nav li.ui-tabs-active{border-top-left-radius:5px;border-top-right-radius:5px}.vue-tabs{padding:0;background:none;border-width:0}.vue-tabs .nav-tabs-navigation{padding-left:0;background:transparent;border-width:0;border-radius:0}.vue-tabs .tab-content{background-color:#f7f7f7!important;border:1px solid #ccc!important;padding:1em}.nav-tabs{border-bottom:none}.nav-tabs li.tab{background:#fff;border:1px solid #ccc;border-top-left-radius:5px;border-top-right-radius:5px;margin:1px .2em 0 0;padding:0;top:1px}.nav-tabs li.tab.active{background:#f7f7f7;border-bottom-style:none!important}.vue-tabs li.tab:not(.active){top:2px}.nav-tabs li.tab a{background-color:transparent;border-color:transparent;padding:.5em 1em;text-decoration:none}.nav-tabs li.tab a,.nav-tabs li.tab a:active,.nav-tabs li.tab a:focus,.nav-tabs li.tab a:hover{color:#555;cursor:default;background-color:transparent;border:0;text-decoration:none}.nav-tabs :not(li.tab.active){border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-width:0}.nav-tabs li{border-bottom-width:0!important;padding:0;white-space:nowrap}#content{margin-left:auto;margin-right:auto;clear:both}.upgrade-notification{text-align:center;margin-top:20px;display:inline-block}[class*=" menu-icon-"],[class^=menu-icon-]{background:url(../images/menu/16x_sprite_colored_menu_icons.png);height:16px;width:16px;display:inline-block;position:relative;float:left}.menu-icon-addshow{background-position:0 0}.menu-icon-anime{background-position:-21px 0}.menu-icon-backlog-view{background-position:-42px 0}.menu-icon-backlog{background-position:-63px 0}.menu-icon-bittorrent{background-position:-84px 0}.menu-icon-config-index{background-position:-105px 0}.menu-icon-config{background-position:-126px 0}.menu-icon-failed-download{background-position:-147px 0}.menu-icon-home{background-position:-168px 0}.menu-icon-manage{background-position:-189px 0}.menu-icon-manage-searches{background-position:-210px 0}.menu-icon-poster{background-position:-231px 0}.menu-icon-postprocess{background-position:-252px 0}.menu-icon-restart{background-position:-273px 0}.menu-icon-shutdown{background-position:-294px 0}.menu-icon-update{background-position:-315px 0}.menu-icon-viewlog-errors{background-position:-336px 0}.menu-icon-viewlog{background-position:-357px 0}.menu-icon-kodi{background-position:-378px 0}.menu-icon-help{background-position:-399px 0}.menu-icon-info{background-position:-418px 0}.menu-icon-error{background-position:-436px 0}.menu-icon-news{background-position:-456px 0}.menu-icon-irc{background-position:-478px 0}.menu-icon-changelog{background-position:-495px 0}.menu-icon-support{background-position:-516px 0}.menu-icon-plex{background-position:-536px 0}.menu-icon-backup{background-position:-556px 0}.menu-icon-provider{background-position:-576px 0}.menu-icon-notification{background-position:-597px 0}.menu-icon-emby{background-position:-614px 0}.menu-icon-blackhole{background-position:-632px 0}.menu-icon-schedule{background-position:-653px 0}.menu-icon-manage2{background-position:-673px 0}.menu-icon-history{background-position:-695px 0}.menu-icon-trash{background-position:-711px 0}.menu-icon-cut{background-position:-727px 0}.menu-icon-select{background-position:-742px 0}.enable-daily-search-icon{background-image:url(../images/search_daily_8x8.png)!important;width:8px;height:8px;margin-top:5px;margin-right:3px}.enable-backlog-search-icon{background-image:url(../images/search_backlog_8x8.png)!important;width:8px;height:8px;margin-top:5px;margin-right:3px}.enable-manual-search-icon{background-image:url(../images/search_manual_8x8.png)!important;width:8px;height:8px;margin-top:5px;margin-right:3px}.footer{width:100%;padding:20px 0;color:#4e4e4e;text-align:center;font-size:12px}.footerhighlight{color:#111;display:inline}.layout-controls{padding-top:24px}.fanartOpacity{opacity:.9}.imgbanner .banner{border:1px solid #ccc;overflow:hidden;height:66px;border-radius:8px;width:360px;display:block;margin-left:auto;margin-right:auto}.imgsmallposter .small{height:66px;overflow:hidden;border-radius:3px;vertical-align:middle;width:45px;border:1px solid #ccc;margin-right:5px}.search{margin-bottom:10px}.ui-progressbar{height:20px;line-height:18px}.ui-progressbar .ui-progressbar-value{box-sizing:content-box!important;height:20px}.progressbarText{position:absolute;top:0;width:100%;height:100%;overflow:visible;text-align:center;text-shadow:0 0 .1em #fff;font-size:12px;color:#000}.progress-20,.progress-40,.progress-60,.progress-80,.progress-100{border-radius:3px}.progress-100{background-image:-moz-linear-gradient(#395f07,#2a4705)!important;background-image:linear-gradient(#395f07,#2a4705)!important;background-image:-webkit-linear-gradient(#395f07,#2a4705)!important;background-image:-o-linear-gradient(#395f07,#2a4705)!important}.progress-80{background-image:-moz-linear-gradient(#a6cf41,#5b990d)!important;background-image:linear-gradient(#a6cf41,#5b990d)!important;background-image:-webkit-linear-gradient(#a6cf41,#5b990d)!important;background-image:-o-linear-gradient(#a6cf41,#5b990d)!important}.progress-60{background-image:-moz-linear-gradient(#fad440,#f2a70d)!important;background-image:linear-gradient(#fad440,#f2a70d)!important;background-image:-webkit-linear-gradient(#fad440,#f2a70d)!important;background-image:-o-linear-gradient(#fad440,#f2a70d)!important}.progress-40{background-image:-moz-linear-gradient(#fab543,#f2700d)!important;background-image:linear-gradient(#fab543,#f2700d)!important;background-image:-webkit-linear-gradient(#fab543,#f2700d)!important;background-image:-o-linear-gradient(#fab543,#f2700d)!important}.progress-20{background-image:-moz-linear-gradient(#da5945,#b11a10)!important;background-image:linear-gradient(#da5945,#b11a10)!important;background-image:-webkit-linear-gradient(#da5945,#b11a10)!important;background-image:-o-linear-gradient(#da5945,#b11a10)!important}div.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:85%}div.xem{position:absolute;right:1px;top:0}.show-option{float:left;margin-left:10px;line-height:40px}.show-add-options>div{float:left;padding-right:10px;line-height:40px}.show-grid{display:none;margin-bottom:60px!important}.nav-show-list{position:relative;margin-top:4px;background-color:transparent;border:none;float:left}.nav-show-list .icon-bar{display:block;width:22px;height:3px;margin-top:4px;background-color:#333}#container-anime,#container-series{margin:0 auto}.loading-spinner{background-image:url(../images/loading32.gif);width:32px;height:32px;display:inline-block}.aligner{display:flex;align-items:center}@-moz-document url-prefix(){.aligner{flex-flow:column-reverse;align-items:inherit}}@media (-ms-high-contrast:none){.poster-overlay{left:0;top:0;width:100%}}.show-details{height:32px;overflow:hidden}.show-image{max-width:100%;overflow:hidden;border:1px solid #888}.background-image img{width:100%;overflow:hidden}.poster-overlay{position:absolute}.show-container{background-color:#f3f3f3;border-color:#f3f3f3}.show-container .ui-progressbar{height:7px!important;top:-2px}.show-container .ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:0}.show-container .ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:0}.show-container .ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:0}.show-container .ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:0}.show-container .ui-widget-content{border-top:1px solid #111;border-bottom:1px solid #111;border-left:0;border-right:0}.ui-progressbar .progress-20{border:none}.show-container .progress-20,.show-container .progress-40,.show-container .progress-60,.show-container .progress-80{border-radius:0;height:7px}.show-title{position:relative;overflow:hidden;white-space:nowrap;font-size:11px}.show-attributes,.show-title{margin:4px 4px 0}.show-title:after{content:"";pointer-events:none;position:absolute;width:20px;height:100%;top:0;right:0;background-image:-webkit-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:-moz-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:-ms-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:-o-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:linear-gradient(270deg,#f3f3f3,hsla(0,0%,95.3%,0))}.show-date{position:relative;overflow:hidden;white-space:nowrap;font-size:11px;margin:0 4px 4px;color:#949494}.show-date:after{content:"";pointer-events:none;position:absolute;width:20px;height:100%;top:0;right:0;background-image:-webkit-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:-moz-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:-ms-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:-o-linear-gradient(right,#f3f3f3,hsla(0,0%,95.3%,0));background-image:linear-gradient(270deg,#f3f3f3,hsla(0,0%,95.3%,0))}.show-table{text-align:center;vertical-align:middle;width:33%}.show-add{font-size:11px;text-align:left;display:block}.show-network-image{width:50px;height:auto}#sort-by{list-style-type:none;margin-left:5px}#sort-by,#sort-by li,#sort-by ul{display:inline;padding:0}td.tvShow a{color:#000;text-decoration:none}td.tvShow a:hover{cursor:pointer;color:#428bca}span.tvShow a{color:#000;text-decoration:none}span.tvShow a:hover{cursor:pointer;color:#428bca}#popover-target label{margin:2px 4px 2px 0;display:block}#popover-target input{margin-left:5px}.popover{margin-left:-50px}.min-cell-width{width:1px}.nowrap{white-space:nowrap}#addShowPortal{padding:10px 0}#addShowPortal,#addShowPortal a{margin-right:auto;margin-left:auto}#addShowPortal a{padding:10px;max-width:900px;display:block;margin-bottom:15px}div.button{display:table-cell;vertical-align:middle;padding-left:10px}div.buttontext{display:table-cell;padding-left:20px;text-align:left;white-space:normal}div.buttontext h3{margin-top:10px}div.buttontext p{font-size:13px}[class*=" add-list-icon-"],[class^=add-list-icon-]{background:url(../images/32x_sprite_colored_add_lists.png);height:32px;width:32px;display:inline-block;position:relative;top:2px;float:left}.add-list-icon-addnewshow{background-position:0 0}.add-list-icon-addtrakt{background-position:-37px 0}.add-list-icon-addimdb{background-position:-76px 0}.add-list-icon-addexistingshow{background-position:-113px 0}.add-list-icon-addanime{background-position:-150px 0}#addShowForm,#recommendedShowsForm{max-width:800px;margin-left:auto;margin-right:auto;padding:10px 0;font-size:13px}#addShowForm>div{width:100%!important}#addShowForm>div:nth-child(2)>div{position:relative!important}.newShowPortal{max-width:960px;padding:10px 0;margin-right:auto;margin-left:auto}#displayText{padding:8px;overflow:hidden;font-size:14px;background-color:#efefef;border:1px solid #dfdede}div.search-results{height:100%}div.search-results>div.no-results{margin-top:15px}table.search-results{margin-top:15px;border-collapse:collapse;border:1px solid #dfdede}table.search-results td,table.search-results th{border:1px solid #dfdede;padding:5px;vertical-align:middle;text-align:left;max-width:370px}table.search-results th{background-color:#efefef}table.search-results tbody tr.selected,table.search-results tbody tr.selected:hover{background-color:#cde9ff}table.search-results tbody tr:hover{background-color:#efefef}table.search-results td.search-result{text-align:center;vertical-align:middle}table.search-results td.premiere,table.search-results th.premiere{text-align:center;max-width:90px}table.search-results td.network,table.search-results th.network{max-width:200px}table.search-results td.indexer,table.search-results th.indexer{text-align:center;max-width:100px}table.search-results td.indexer img{vertical-align:-3px}table.search-results input[type=radio]{margin:4px 0 0}.existingtabs{padding:1em 1.4em}ul#rootDirStaticList{margin-right:auto;margin-left:auto;text-align:left;padding-left:0}ul#rootDirStaticList li{padding:4px 5px;margin:2px;list-style:none outside none;cursor:pointer;background:url(../css/lib/images/ui-bg_highlight-soft_75_efefef_1x100.png) repeat-x scroll 50% 50% #efefef}ul#rootDirStaticList li label{margin-top:5px;margin-bottom:5px}ul#rootDirStaticList li input[type=checkbox]{vertical-align:-2px}.recommendedShowTitleIcons{float:right;padding-right:4px;padding-bottom:4px}.recommended-container p{padding-top:2px}.recommended-container p img{position:relative;top:-2px}div.recommended-image{background-color:#dfdacf}.show-in-list div.recommended-image{opacity:.4;zoom:1;-webkit-filter:grayscale(100%);filter:grayscale(100%)}.show-in-list div#check-overlay{opacity:.8;background-image:url(../images/green-check.png);background-repeat:no-repeat;background-position:90% 5%;background-size:100px;position:absolute;height:273px;width:187px;top:0}.recommended-container a,.recommended-container i,.recommended-container p{white-space:nowrap;font-size:12px;overflow:hidden;margin:0;text-decoration:none;color:#fff}.recommended-container{left:-4px;position:relative;margin:12px;width:188px;background-color:#dfdacf;border:1px solid #111;border-radius:6px}.recommended-image{height:273px;width:186px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:1px solid #111}.recommended-container .anidb-url{float:right;padding-right:4px}.anidb-inline{height:16px}.recommended-container .default-poster{display:block;z-index:0;background-image:url(../images/poster-dark.jpg)}#postProcess{width:800px;padding-top:10px;margin-right:auto;margin-left:auto}.lineH-40{line-height:40px}#episodeDir{width:70%;margin-right:5px}.smallhelp{line-height:0;font-size:12px}#process td:first-child{padding-right:10px;width:290px}.modal-wide .modal-dialog{width:90%}.modal-dialog{overflow-y:initial!important}.modal-body{overflow-y:auto}.container-navShow{margin-top:-2px;margin-left:305px;z-index:10}.tvshowImg{border:1px solid #ccc;border-radius:5px;height:311px;width:auto;float:left}@media (max-width:767px) and (min-width:341px){.container-navShow{margin-left:305px;display:none}#key-padding{padding-bottom:4px}}@media (max-width:340px){.container-navShow{margin-left:265px}}@media (max-width:767px){.pull-xs-left{float:left}.pull-xs-right{float:right}.no-padding-xs{padding:0}.nocheck{padding-left:0!important}.tvshowImg{margin-bottom:10px;float:none}.col-md-12>.horizontal-scroll{margin:0 -13px}}@media (min-width:768px){.tvshowImg{max-height:245px}}@media (min-width:992px) and (max-width:1199px){.pull-md-left{float:left}.pull-md-right{float:right}.tvshowImg{max-height:269px}}@media (min-width:1200px){.pull-lg-left{float:left}.pull-lg-right{float:right}.tvshowImg{max-height:269px}}.navShow{width:18px;max-height:15px;display:-webkit-box;cursor:pointer}#nextShow,#prevShow,#topcontrol{-webkit-filter:grayscale(100%);filter:url("data:image/svg+xml;utf8,#greyscale");filter:grayscale(100%);filter:rgb(128,128,128)}h1.title{padding-bottom:12px;margin-bottom:15px;line-height:30px;text-align:left;text-rendering:optimizeLegibility;border-bottom:1px solid #888}h1.title a{text-decoration:none}#showinfo,.displayspecials{position:relative}#showinfo{cursor:default;display:inline-block;top:-3px}#showinfo a{text-decoration:none}span.imdbstars{display:inline-block;vertical-align:top;cursor:help;margin-top:4px}span.imdbstars,span.imdbstars>*{height:12px;background:url(../images/rating.png) 0 -12px repeat-x;width:120px;display:inline-block;vertical-align:top}span.imdbstars>*{background-position:0 0;max-width:120px}ul.tags{list-style-type:none;position:relative;top:4px;margin-left:-40px}ul.tags li{margin-right:4px;margin-bottom:5px;padding:2px 7px 2px 25px;background:url(../images/tag.png) no-repeat scroll 5px 4px #555;border-radius:1px;border:1px solid #111;color:#fff;font:14px/18px Open Sans,Helvetica Neue,Helvetica,Arial,Geneva,sans-serif;text-shadow:0 1px rgba(0,0,0,.8);float:left}ul.tags li a{color:#fff}#summary{overflow:auto;cursor:default}#checkboxControls{padding-top:2px}#checkboxControls span{padding:3px 10px 5px;font-size:11px;font-weight:700}#checkboxControls label{white-space:nowrap;display:inline-block}#checkboxControls input[type=checkbox]{vertical-align:-2px}.unaired{background-color:#f5f1e4}.skipped{background-color:#bedeed}.archived,.good{background-color:#c3e3c8}.qual{background-color:#ffda8a}.wanted{background-color:#ffb0b0}.snatched{background-color:#ebc1ea}.downloaded{background-color:#c3e3c8}.failed{background-color:#f99}.allowed{background-color:#ffda8a}span.unaired{color:#584b20}span.skipped{color:#1d5068}span.good{color:#295730}span.qual{color:#765100}span.wanted{color:#890000}span.snatched{color:#652164}span.good b,span.qual b,span.skipped b,span.snatched b,span.unaired b,span.wanted b{color:#000;font-weight:800}.displayShowTable{table-layout:auto;width:100%;border-collapse:collapse;border-spacing:0;text-align:center;border:none;empty-cells:show;color:#000!important}.displayShowTable.display_show{clear:both}.displayShowTable th.row-seasonheader{border:none!important;background-color:#222!important;color:#fff!important;padding-top:15px!important;text-align:left!important}.displayShowTable td.col-search{text-align:center}.displayShowTableFanArt{table-layout:auto;width:100%;border-collapse:collapse;border-spacing:0;text-align:center;border:none;empty-cells:show;color:#000!important}.displayShowTableFanArt.display_show{clear:both;opacity:.9}.summaryFanArt{opacity:.9}.displayShowTableFanArt th.row-seasonheader{border:none!important;background-color:transparent!important;color:#fff!important;padding-top:15px!important;text-align:left!important}.displayShowTableFanArt td.col-search{text-align:center}.snatchTitle{color:#fff!important}.tablesorterFanArt{background-color:transparent!important}.defaultTable{table-layout:auto;width:100%;border-collapse:collapse;border-spacing:0;text-align:center;border:none;empty-cells:show}.defaultTable.display_show{clear:both}.defaultTable th{color:#fff;text-align:center;background-color:#333;white-space:nowrap}.defaultTable td,.defaultTable th{border-top:1px solid #fff;border-left:1px solid #fff;padding:4px}th.row-seasonheader{border:none;background-color:#fff;color:#000;padding-top:15px;text-align:left}tr.seasonheader{padding-bottom:5px;padding-top:10px;text-align:left;border:none;color:#fff}td.col-checkbox,th.col-checkbox{width:30px;border-left:none;text-align:center}td.col-checkbox input[type=checkbox],th.col-checkbox input[type=checkbox]{vertical-align:-2px}td.col-metadata,th.col-metadata{width:28px}td.col-ep,th.col-ep{width:50px;white-space:nowrap}td.col-airdate,th.col-airdate{width:86px;white-space:nowrap}td.col-name,th.col-name{min-width:100px}td.col-name{text-align:left}th.col-footer{text-align:left!important}td.col-subtitles,th.col-subtitles{width:150px;text-align:center}td.col-status,th.col-status{text-align:center}@media screen and (min-width:992px){td.col-status{white-space:nowrap}}td.col-quality,th.col-quality{width:110px}td.col-legend,th.col-legend{width:80px}td.col-search,th.col-search{width:65px}td.col-date,td.col-provider,td.col-size{text-align:center;white-space:nowrap}td.col-group{min-width:90px;text-align:center}.input-scene{height:20px;line-height:1.5;border-radius:3px}#editShow{width:700px;padding-top:10px;margin-right:auto;margin-left:auto}@media (min-width:768px){.form-group>div.content{margin-top:7px;margin-bottom:0;text-align:left}}.form-group label.control-label{font-size:13px;font-weight:700}div.season-scene-exception{display:inline}.show-banner{float:right;height:50px;border:1px solid #888}.fanart{margin-top:-1px;vertical-align:middle}.showOptions{width:180px;float:right}button.selectColumns{margin-right:2px}.key{line-height:25px}.listing-key{padding:2px 5px;font-size:13px;font-weight:700}.listing-default{background-color:#f5f1e4}.listing-current{background-color:#dfd}.listing-overdue{background-color:#fdd}.listing-toofar{background-color:#bedeed}span.listing-default{color:#826f30;border:1px solid #826f30}span.listing-current{color:#295730;border:1px solid #295730}span.listing-overdue{color:#890000;border:1px solid #890000}span.listing-toofar{color:#1d5068;border:1px solid #1d5068}h2.day,h2.network{margin:10px 0;font-size:24px;line-height:36px;font-weight:700;letter-spacing:1px;color:#fff;text-align:center;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#333}.tvshowDiv{display:block;clear:both;border:1px solid #ccc;margin:auto;padding:0;text-align:left;border-radius:5px;background:#fff;cursor:default;overflow:hidden}.tvshowDiv a:hover{color:#428bca}.tvshowDiv a,.tvshowDiv a:hover,.tvshowDiv a:link,.tvshowDiv a:visited{text-decoration:none;background:none}.tvshowTitle a{color:#000;float:left;line-height:1.4em;font-size:1.4em;text-shadow:-1px -1px 0 #fff}.tvshowTitleIcons{float:right;padding:3px 5px}.tvshowDiv td{padding:5px 10px}.tvshowDiv td.next_episode{width:100%;height:90%;color:#000}.bannerThumb,.tvshowDiv td.next_episode{border-bottom:1px solid #ccc;vertical-align:top}.bannerThumb{height:auto;width:748px}.posterThumb{vertical-align:top;height:auto;width:180px;border-right:1px solid #ccc}.ep_listing{width:auto;border:1px solid #ccc;margin-bottom:10px;padding:10px}.ep_summary{margin-left:5px;font-style:italic}.ep_summaryTrigger{cursor:pointer;vertical-align:middle}.ep_summaryTriggerNone{opacity:.4;vertical-align:middle}.calendarWrapper{width:1000px;margin:0 auto;padding:0 3px}.calendarTable{float:left;width:142px!important;white-space:nowrap;table-layout:fixed!important}.calendarShow{padding:0!important}.calendarShow .poster{padding-bottom:2px;height:212px}.calendarShow .poster img{width:142px;height:auto}.calendarShow .text{padding:0 5px 10px}.calendarShow .text .airtime,.calendarShow .text .episode-title{overflow:hidden;text-overflow:ellipsis;display:block;font-size:11px}.calendarShow .show-status{padding:5px 10px 10px;text-align:center}#config-content{display:block;padding:0 0 40px;margin:0 auto;clear:both;text-align:left}.component-group{padding:15px 15px 25px;border-bottom:1px dotted #ccc;min-height:200px}.component-item{padding:15px 15px 25px;border-bottom:1px dotted #666;min-height:100px}.component-group-desc-legacy{margin-top:5px;float:left;width:250px}.component-group-desc,.component-group-desc h3{margin-top:5px}.component-group-desc p{width:90%;margin:10px 0;color:#666}#config div.field-pair{padding:12px 0}#config div.field-pair input,#config div.field-pair select{margin-right:6px}#config div.field-pair input{float:left}#config .nocheck,.metadataDiv{padding-left:20px}#config span.component-title{float:left;width:172px;margin-right:10px;font-size:13px;font-weight:700}#config span.component-desc{font-size:12px;font-weight:400;display:block;max-width:475px;margin-left:182px}#config label.space-right{margin-right:10px}.component-group-save{float:right;padding-top:10px}select .selected{font-weight:700}.jumbo{font-size:15px!important;line-height:24px}.testNotification{padding:5px;margin-bottom:10px;line-height:20px;border:1px dotted #ccc}#provider_order_list,#providerOrderList,#service_order_list{width:250px;padding-left:20px;list-style-type:none}#provider_order_list li,#service_order_list li{padding:5px;margin:5px 0;font-size:14px}#provider_order_list .ui-state-default.torrent-provider{background-color:#fff!important}#provider_order_list .ui-state-default.nzb-provider{background-color:#ddd!important}#provider_order_list input,#service_order_list input{margin:0 2px}#config .tip_scale label span.component-title{width:85px!important;font-size:12px!important;margin-top:2px!important}#config .tip_scale label span.component-desc{margin-left:120px!important;width:220px!important}.infoTableCell,.infoTableHeader{padding:5px}.infoTableSeperator{border-top:1px dotted #666}.infoTableHeader{vertical-align:top}[class*=" icon16-config-"],[class^=icon16-config-]{background-image:url(../images/16x_sprite_colored_help-info.png);background-position:-40px 0;background-repeat:no-repeat;display:inline-block;height:16px;line-height:16px;vertical-align:text-top;width:16px}.icon16-config-application{background-position:0 0}.icon16-config-version{background-position:-17px 0}.icon16-config-python{background-position:-37px 0}.icon16-config-ssl{background-position:-56px 0}.icon16-config-locale{background-position:-73px 0}.icon16-config-user{background-position:-91px 0}.icon16-config-dir{background-position:-111px 0}.icon16-config-config{background-position:-129px 0}.icon16-config-db{background-position:-147px 0}.icon16-config-cache{background-position:-166px 0}.icon16-config-log{background-position:-182px 0}.icon16-config-arguments{background-position:-204px 0}.icon16-config-github{background-position:-224px 0}.icon16-config-mirc{background-position:-243px 0}.icon16-config-web{background-position:-262px 0}.icon16-config-os{background-position:-280px 0}.icon16-config-wiki{background-position:-299px 0}.icon16-config-docker{background-position:-318px 0}[class*=" add-client-icon-"],[class^=add-client-icon-]{background:url(../images/32x_sprite_colored_clients.png);height:32px;width:32px;display:inline-block;position:relative;top:2px;float:left}.add-client-icon-sabnzbd{background-position:0 0}.add-client-icon-nzbget{background-position:-34px 0}.add-client-icon-blackhole{background-position:-71px 0}.add-client-icon-deluge,.add-client-icon-deluged{background-position:-106px 0}.add-client-icon-qbittorrent{background-position:-138px 0}.add-client-icon-rtorrent{background-position:-172px 0}.add-client-icon-downloadstation{background-position:-205px 0}.add-client-icon-transmission{background-position:-241px 0}.add-client-icon-utorrent{background-position:-273px 0}.add-client-icon-spotnet{background-position:-311px 0}.add-client-icon-mlnet{background-position:-344px 0}.add-client-icon-rss{background-position:-380px 0}.add-client-icon-folder{background-position:-416px 0}.add-client-icon-ftp{background-position:-452px 0}.add-client-icon-irc{background-position:-488px 0}#config div.example{padding:10px;background-color:#efefef}.Key{width:100%;padding:6px;font-size:13px;background-color:#f4f4f4;border:1px solid #ccc;border-collapse:collapse;border-spacing:0}.Key th,.tableHeader{padding:3px 9px;margin:0;color:#fff;text-align:center;background:none repeat scroll 0 0 #666}.Key td{padding:1px 5px!important}.Key tr{border-bottom:1px solid #ccc}.Key tr.even{background-color:#dfdede}.legend{position:relative;top:2px}div.metadata_options_wrapper{float:left;width:190px}div.metadata_example_wrapper{float:right;width:325px}div.metadata_options{padding:7px;overflow:auto;background:#f5f1e4;border:1px solid #ccc}div.metadata_options label:hover{color:#fff;background-color:#57442b;cursor:pointer}div.metadata_options label{display:block;padding-left:7px;line-height:20px;color:#036}div.metadata_example{padding:8px}div.metadata_example label{display:block;line-height:21px;color:#000;cursor:pointer}div.metadataDiv .disabled{color:#ccc}.notifier-icon{float:left;margin:6px 4px 0 0}.warning{border-color:#f89406;background:url(../images/warning16.png) no-repeat right 5px center #fff}[class*=" icon-notifiers-"],[class^=icon-notifiers-]{background:url(../images/32x_sprite_colored_notifiers.png);height:32px;width:32px;display:inline-block;position:relative;top:2px;float:left}.icon-notifiers-kodi{background-position:0 0}.icon-notifiers-plex{background-position:-32px 0}.icon-notifiers-plexth{background-position:-64px 0}.icon-notifiers-emby{background-position:-96px 0}.icon-notifiers-nmj{background-position:-128px 0}.icon-notifiers-syno1{background-position:-160px 0}.icon-notifiers-syno2{background-position:-192px 0}.icon-notifiers-pytivo{background-position:-224px 0}.icon-notifiers-growl{background-position:-256px 0}.icon-notifiers-prowl{background-position:-288px 0}.icon-notifiers-libnotify{background-position:-320px 0}.icon-notifiers-pushover{background-position:-352px 0}.icon-notifiers-boxcar2{background-position:-384px 0}.icon-notifiers-pushalot{background-position:-416px 0}.icon-notifiers-pushbullet{background-position:-448px 0}.icon-notifiers-freemobile{background-position:-480px 0}.icon-notifiers-telegram{background-position:-512px 0}.icon-notifiers-twitter{background-position:-544px 0}.icon-notifiers-trakt{background-position:-576px 0}.icon-notifiers-email{background-position:-608px 0}.icon-notifiers-anime{background-position:-640px 0}.icon-notifiers-look{background-position:-672px 0}.icon-notifiers-slack{background-position:-704px 0}.icon-notifiers-join{background-position:-736px 0}.icon-notifiers-discord{background-position:-768px 0}div#config-components h3>a{padding-left:5px}.manageTable th{white-space:normal;line-height:24px}.manageTable td.tableright{text-align:left}td.tableright{text-align:center}.optionWrapper{width:450px;margin-left:auto;margin-right:auto;padding:6px 12px}.optionWrapper span.selectTitle{float:left;text-align:left;width:225px;padding:6px 0}.optionWrapper div.selectChoices{float:left;width:175px;margin-left:25px}.optionWrapper br{clear:both}.manageCustom{text-align:center;padding:6px;margin-left:25px}.separator{font-size:90%;color:#333}a.whitelink{color:#fff}#status-summary{padding-top:10px;padding-bottom:2px}span.path{padding:3px 6px;color:#8b0000;background-color:#f5f1e4}.align-left{text-align:left!important}.h2footer{line-height:18px;clear:both}span.false{color:#933}span.true{color:#696}.break-word{word-break:break-all;word-wrap:break-word}a.wiki,a.wiki strong{color:red}option.flag{padding-left:35px;background-repeat:no-repeat;background-position:10px 50%}.bwlWrapper{height:auto;margin:0 auto}#Anime{clear:both;overflow-x:hidden;overflow-y:hidden;font-size:14px}#Anime div.component-group-desc{float:left;width:165px}#Anime div.component-group-desc p{margin:.4em 0;width:95%}div.blackwhitelist{float:left;text-align:center}div.blackwhitelist input{margin:5px 0}div.blackwhitelist.pool select{width:230px}div.blackwhitelist.black select,div.blackwhitelist.white select{width:150px}div.blackwhitelist span{display:block;text-align:center}div.blackwhitelist.anidb,div.blackwhitelist.manual{margin:7px 0}ul.simpleList{padding-left:0}ul.simpleList li{list-style-type:none}#vue-wrap{padding-top:75px}body{overflow-y:scroll;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#000}html *{outline:0!important}input[type=checkbox]{margin:2px 5px 0;line-height:normal;transform:scale(1.2)}input[type=radio]{margin:2px 0 0;line-height:normal}.uneditable-input,input,select,textarea{width:auto;color:#000}.navbar-brand{padding:0}.navbar-default .navbar-brand{color:#fff}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-default .navbar-text{color:#ddd}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#fff}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#fff;background-color:#333}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ccc}.navbar-default .navbar-toggle .icon-bar,.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#333}.navbar-default .navbar-nav>li>a{color:#ddd}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#333;color:#fff}.navbar-default .navbar-nav>li.navbar-split>a{float:left;border:1px solid rgba(0,0,0,.15)}.navbar-default .navbar-nav>li.navbar-split>a:first-child{padding-right:8px}.navbar-default .navbar-nav>li.navbar-split>a:nth-child(2){padding-left:8px}@media (max-width:767px){.navbar-default .navbar-nav>li{float:left;min-width:100px}.navbar-default .navbar-nav>li>a{width:100%}.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#ddd}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#333}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#ddd}.navbar-default .navbar-link:hover{color:#fff}.navbar-default .btn-link{color:#98978b}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#ddd}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>li>a{padding:4px 36px 4px 20px}.dropdown-menu-custom>li>a{padding:15px 36px 15px 5px;border-bottom:1px solid #a9a9a9}.dropdown-menu-custom>li:last-child>a{border-bottom-style:none}.dropdown-menu{background-color:#f5f1e4;border:1px solid rgba(0,0,0,.15);box-shadow:0 6px 12px rgba(0,0,0,.176)}.vgt-table{color:#000}.vgt-table td,.vgt-table th{border-top:1px solid #fff;border-left:1px solid #fff}.vgt-table th{color:#fff;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#333}.vgt-table thead th.sorting.sorting-desc{background-color:#555;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7)}.vgt-table thead th.sorting.sorting-asc{background-color:#555;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7)}.vgt-table tfoot tr{color:#fff;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#333}.vgt-table tfoot a{color:#fff}.vgt-table tr:nth-child(2n){background-color:#dfdacf}.vgt-table tr:nth-child(odd){background-color:#f5f1e4}.vgt-dropdown>.button-group{margin-bottom:10px}.vgt-dropdown-menu{background-color:#f5f1e4;border:1px solid rgba(0,0,0,.15);box-shadow:0 6px 12px rgba(0,0,0,.176)}.vgt-dropdown-menu>li>a:focus,.vgt-dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.vgt-dropdown-menu>li>span{padding:4px 36px 4px 20px;color:#333}.form-control{color:#000}.form-control-inline{display:inline;width:auto}.form-control-inline-max{display:inline;width:100%}.input-sm-smallfont{font-size:11px}.input-sm-custom{padding:2px 5px 3px;border-radius:1px;line-height:1.5;height:auto}.shadow{box-shadow:3px 3px 3px rgba(17,17,17,.5)}.shadow-background{background-color:hsla(0,0%,93.7%,.8)}.border-bottom{border:1px #3e3f3a;border-style:none none solid}.btn-medusa{display:inline-block;*display:inline;padding:4px 10px;margin-bottom:0;*margin-left:.3em;font-size:12px;line-height:16px;*line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px hsla(0,0%,100%,.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-ms-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(0deg,#fff,#e6e6e6);background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:1px;filter:progid:dximagetransform.microsoft.gradient(startColorstr="#ffffff",endColorstr="#e6e6e6",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);*zoom:1;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.2),0 1px 2px rgba(0,0,0,.05)}.btn-medusa.active,.btn-medusa.disabled,.btn-medusa:active,.btn-medusa:hover,.btn-medusa[disabled]{background-color:#e6e6e6;*background-color:#d9d9d9}.btn-medusa:first-child{*margin-left:0}.btn-medusa:hover{color:#333;text-decoration:none;background-color:#e6e6e6;*background-color:#d9d9d9;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-ms-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn-medusa:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn-medusa.active,.btn-medusa:active{background-color:#e6e6e6;background-color:#d9d9d9\9;background-image:none;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-medusa.disabled,.btn-medusa[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;filter:alpha(opacity=65);box-shadow:none}.btn-large{padding:9px 14px;font-size:15px;line-height:normal;border-radius:1px}.btn-large [class^=icon-]{margin-top:1px}.btn-small{padding:5px 9px;font-size:11px;line-height:16px}.btn-small [class^=icon-]{margin-top:-1px}.btn-mini{padding:2px 6px;font-size:11px;line-height:14px}.btn-danger,.btn-danger:hover,.btn-info,.btn-info:hover,.btn-inverse,.btn-inverse:hover,.btn-primary,.btn-primary:hover,.btn-success,.btn-success:hover,.btn-warning,.btn-warning:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.btn-danger.active,.btn-info.active,.btn-inverse.active,.btn-primary.active,.btn-success.active,.btn-warning.active{color:hsla(0,0%,100%,.75)}.btn-primary{background-color:#0074cc;*background-color:#05c;background-image:-ms-linear-gradient(top,#08c,#05c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#05c));background-image:-webkit-linear-gradient(top,#08c,#05c);background-image:-o-linear-gradient(top,#08c,#05c);background-image:-moz-linear-gradient(top,#08c,#05c);background-image:linear-gradient(0deg,#08c,#05c);background-repeat:repeat-x;border-color:#05c #05c #003580;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr="#0088cc",endColorstr="#0055cc",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-primary.active,.btn-primary.disabled,.btn-primary:active,.btn-primary:hover,.btn-primary[disabled]{background-color:#05c;*background-color:#004ab3}.btn-primary.active,.btn-primary:active{background-color:#004099\9}.btn-warning{background-color:#faa732;*background-color:#f89406;background-image:-ms-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(0deg,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr="#fbb450",endColorstr="#f89406",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-warning.active,.btn-warning.disabled,.btn-warning:active,.btn-warning:hover,.btn-warning[disabled]{background-color:#f89406;*background-color:#df8505}.btn-warning.active,.btn-warning:active{background-color:#c67605\9}.btn-danger{background-color:#da4f49;*background-color:#bd362f;background-image:-ms-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(0deg,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr="#ee5f5b",endColorstr="#bd362f",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-danger.active,.btn-danger.disabled,.btn-danger:active,.btn-danger:hover,.btn-danger[disabled]{background-color:#bd362f;*background-color:#a9302a}.btn-danger.active,.btn-danger:active{background-color:#942a25\9}.btn-success{background-color:#5bb75b;*background-color:#51a351;background-image:-ms-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(0deg,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr="#62c462",endColorstr="#51a351",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-success.active,.btn-success.disabled,.btn-success:active,.btn-success:hover,.btn-success[disabled]{background-color:#51a351;*background-color:#499249}.btn-success.active,.btn-success:active{background-color:#408140\9}.btn-info{background-color:#49afcd;*background-color:#2f96b4;background-image:-ms-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(0deg,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr="#5bc0de",endColorstr="#2f96b4",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-info.active,.btn-info.disabled,.btn-info:active,.btn-info:hover,.btn-info[disabled]{background-color:#2f96b4;*background-color:#2a85a0}.btn-info.active,.btn-info:active{background-color:#24748c\9}.btn-inverse{background-color:#414141;*background-color:#222;background-image:-ms-linear-gradient(top,#555,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#555),to(#222));background-image:-webkit-linear-gradient(top,#555,#222);background-image:-o-linear-gradient(top,#555,#222);background-image:-moz-linear-gradient(top,#555,#222);background-image:linear-gradient(0deg,#555,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr="#555555",endColorstr="#222222",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-inverse.active,.btn-inverse.disabled,.btn-inverse:active,.btn-inverse:hover,.btn-inverse[disabled]{background-color:#222;*background-color:#151515}.btn-inverse.active,.btn-inverse:active{background-color:#080808\9}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:1px}@media (min-width:768px){.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;right:12px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #f5f1e4;border-left:6px solid transparent;content:""}}label{font-weight:400}pre{border:1px solid}.alert{padding:10px;text-align:center}#config select:not([size]){width:auto;display:inline}.btn-inline{margin-top:-3px}.input75{width:75px;margin-top:-4px}.input100{width:100px;margin-top:-4px}.input150{width:150px;margin-top:-4px}.input200{width:200px;margin-top:-4px}.input250{width:250px;margin-top:-4px}.input300{width:300px;margin-top:-4px}.input350{width:350px;margin-top:-4px}.max-input75{max-width:75px;margin-top:-4px}.max-input100{max-width:100px;margin-top:-4px}.max-input150{max-width:150px;margin-top:-4px}.max-input200{max-width:200px;margin-top:-4px}.max-input250{max-width:250px;margin-top:-4px}.max-input300{max-width:300px;margin-top:-4px}.max-input350{max-width:350px;margin-top:-4px}select.input-sm{font-size:.9em}div.stepsguide .step p{margin:12px 0}fieldset.sectionwrap{padding:5px;text-align:left;border-width:0;width:100%}legend.legendStep{color:#57442b;margin-bottom:0}div.stepsguide{margin-bottom:15px;overflow:hidden;text-align:left;cursor:pointer;display:table}div.stepsguide .step{display:table-cell;width:33%;font:700 24px Arial,sans-serif;border-bottom:4px solid #57442b}div.stepsguide .disabledstep{color:#c4c4c4;border-bottom:4px solid #8a775e}div.stepsguide .disabledstep p{border-bottom:none}div.stepsguide .step .smalltext{font-size:13px;font-weight:400}div.formpaginate{width:800px;margin-top:1em;overflow:auto;font-weight:700;text-align:center}div.formpaginate .next,div.formpaginate .prev{padding:3px 6px;color:#fff;cursor:hand;cursor:pointer;background:#57442b;border-radius:6px}.stepDiv{padding:15px 0}#tabs .nocheck,.stepDiv .nocheck{padding-left:16px}#tabs label span.component-title,.stepDiv label span.component-title{padding-bottom:10px;float:left;width:172px;margin-right:10px;font-size:13px;font-weight:700}#tabs label span.component-desc,.stepDiv label span.component-desc{padding-bottom:10px;font-size:12px;font-weight:400;display:block;margin-left:182px}div.field-pair input{margin-right:6px;float:left}.tablesorter{width:100%;margin-right:auto;margin-left:auto;color:#000;text-align:left;background-color:#fff;border-spacing:0}.tablesorter td,.tablesorter th{padding:4px;border-top:1px solid #fff;border-left:1px solid #fff;vertical-align:middle}.tablesorter td:first-child,.tablesorter th:first-child{border-left:none}.tablesorter th{color:#fff;text-align:center;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#333;border-collapse:collapse;font-weight:400}.tablesorter .tablesorter-header{padding:4px 18px;cursor:pointer;background-image:url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);background-position:100%;background-repeat:no-repeat}.tablesorter thead .tablesorter-headerDesc{background-color:#555;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7)}.tablesorter thead .tablesorter-headerAsc{background-color:#555;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7)}.tablesorter thead .sorter-false{background-image:none;padding:4px;cursor:default}thead.tablesorter-stickyHeader{border-top:2px solid #fff;border-bottom:2px solid #fff}.defaultTable tr.odd,.tablesorter tr.odd{background-color:#f5f1e4}.defaultTable tr.even,.tablesorter tr.even{background-color:#dfdacf}.tablesorter .filtered{display:none}.tablesorter input.tablesorter-filter{width:98%;height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tablesorter tr.tablesorter-filter-row,.tablesorter tr.tablesorter-filter-row td{text-align:center;background:#eee;border-bottom:1px solid #ddd}.tablesorter input.tablesorter-filter-row .disabled{display:none}.tablesorter-header-inner{padding:0 2px;text-align:center}.tablesorter tfoot tr{color:#fff;text-align:center;text-shadow:-1px -1px 0 rgba(0,0,0,.3);background-color:#333;border-collapse:collapse}.tablesorter tfoot a{color:#fff;text-decoration:none}ul.token-input-list{overflow:hidden;height:auto!important;height:1%;width:273px;border:1px solid #ccc;cursor:text;font-size:10px;font-family:Verdana,sans-serif;z-index:999;margin:0;padding:0 0 1px;background-color:#fff;border-radius:3px}ul.token-input-list,ul.token-input-list li{list-style-type:none}ul.token-input-list li input{border:0;padding:3px 4px;background-color:#fff}li.token-input-token{overflow:hidden;height:auto!important;height:1%;margin:3px;padding:3px 5px 0;background-color:#d0efa0;color:#000;font-weight:700;cursor:default;display:block}li.token-input-token img{padding-right:4px;float:left}li.token-input-token input{padding-top:2px!important;padding-right:4px!important;float:left}li.token-input-token p{float:left;padding:0;margin:0;line-height:2!important}li.token-input-token span{float:right;color:#777;cursor:pointer}li.token-input-selected-token{background-color:#08844e;color:#fff}li.token-input-selected-token span{color:#bbb}li.token-input-input-token input{margin:3px!important}div.token-input-dropdown{position:absolute;width:273px;overflow:hidden;border-left:1px solid;border-right:1px solid;border-bottom:1px solid;cursor:default;font-size:11px;font-family:Verdana,sans-serif;z-index:1}div.token-input-dropdown p{margin:0;padding:3px;font-weight:700;color:#777}div.token-input-dropdown ul{margin:0;padding:0}div.token-input-dropdown ul li{background-color:#fff;padding:3px;list-style-type:none}div.token-input-dropdown ul li.token-input-dropdown-item{background-color:#fafafa}div.token-input-dropdown ul li.token-input-dropdown-item2{background-color:#fff}div.token-input-dropdown ul li em{font-weight:700;font-style:normal}div.token-input-dropdown ul li.token-input-selected-dropdown-item{background-color:#6196c2}span.token-input-delete-token{margin:0 1px}.red-text{color:#d33}.clear-left{clear:left}.nextline-block{display:block}#confirmOverlay{width:100%;height:100%;position:fixed;top:0;left:0;background:url(../images/bg.gif);background:-moz-linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)) repeat-x rgba(0,0,0,.5);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.5))) repeat-x rgba(0,0,0,.5);z-index:100000}#confirmBox{background:#f5f1e4;width:460px;position:fixed;left:50%;top:50%;margin:-130px 0 0 -230px;border:1px solid #111;box-shadow:0 0 12px 0 rgba(0,0,0,.175)}#confirmBox h1,#confirmBox p{padding:6px 10px}#confirmBox h1{background-color:#333;border-bottom:1px solid #111;color:#fff;margin:0;font-size:22px;text-shadow:0 1px 1px rgba(0,0,0,.75)}#confirmBox p{padding-top:20px;color:#000;text-shadow:0 1px 1px hsla(0,0%,100%,.75)}#confirmButtons{padding:15px 0;text-align:center}#confirmBox .button{margin-right:15px;padding:2px 20px;text-decoration:none;display:inline-block;color:#fff;text-align:center;text-shadow:0 1px 1px rgba(0,0,0,.75);background-clip:padding-box;border:1px solid #111;border-radius:3px;cursor:pointer;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-image:-webkit-linear-gradient(top,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 50%,transparent 51%,rgba(0,0,0,.25));background-image:-moz-linear-gradient(top,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 50%,transparent 51%,rgba(0,0,0,.25));background-image:-o-linear-gradient(top,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 50%,transparent 51%,rgba(0,0,0,.25));background-image:linear-gradient(180deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,0) 50%,transparent 51%,rgba(0,0,0,.25));box-shadow:inset 0 1px hsla(0,0%,100%,.1),inset 0 -1px 3px rgba(0,0,0,.3),inset 0 0 0 1px hsla(0,0%,100%,.08),0 1px 2px rgba(0,0,0,.15)}#confirmBox .button:last-child{margin-right:0}#confirmBox .green{background-color:#3f7636}#confirmBox .green:hover{background-color:#48873e}#confirmBox .red{background-color:#8d2d2b}#confirmBox .red:hover{background-color:#a13331}.ui-pnotify-sticker{margin-top:-12px}.ui-pnotify-closer{margin-top:-12px;margin-right:-10px}.ui-button{display:inline-block;*display:inline;padding:4px 10px;margin-bottom:0;*margin-left:.3em;font-size:12px;line-height:16px;*line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px hsla(0,0%,100%,.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-ms-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(0deg,#fff,#e6e6e6);background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:1px;filter:progid:dximagetransform.microsoft.gradient(startColorstr="#ffffff",endColorstr="#e6e6e6",GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);*zoom:1;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.2),0 1px 2px rgba(0,0,0,.05)}.login{display:block}.login h1{padding:0 0 10px;font-size:60px;font-family:Lobster,cursive;font-weight:400}.login form{padding:0;height:300px;width:400px;position:fixed;left:50%;top:50%;margin:-200px 0 0 -200px}@media (max-width:480px){.login form{padding:0;height:300px;width:90%;position:absolute;left:5%;top:10px;margin:0}}.login .ctrlHolder{padding:0;margin:0 0 20px}.login .ctrlHolder:hover{background:none}.login input[type=password],.login input[type=text]{width:100%!important;font-size:25px;padding:14px!important}.login .remember_me{font-size:15px;float:left;width:150px;padding:20px 0}.login .remember_me .check{margin:5px 5px 0 0}.login .button{font-size:25px;padding:20px;float:right}.popularShow{margin-bottom:30px}.popularShow h3{padding:0;display:inline-block;margin:0 30px 0 0}.popularShow .left{float:left;width:100px}.popularShow .right{float:left;width:600px}.popularShow .year{font-style:italic;opacity:.7}.popularShow .coverImage{width:80%;padding-left:20px;margin-top:4px}.popularShow .rating{font-size:90%;display:inline-block;margin-left:0}.popularShow p{margin-bottom:0}table.home-header{margin-top:20px;margin-bottom:10px}input.tablesorter-filter.disabled{display:none}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header{font-weight:400!important}div#searchNotification{display:inline-block}.left-30{margin-left:-30px}.right-30{margin-right:-30px}.vMiddle{vertical-align:middle}.curHelp{cursor:help}#snatchhistory.tablesorter tbody:first-child tr:first-child{height:60px}#snatchhistory.tablesorter tbody:nth-child(2) tr:nth-child(2),#snatchhistory.tablesorter tbody:nth-child(4) tr:first-child{height:30px}#snatchhistory th.row-seasonheader{vertical-align:bottom;width:auto}#snatchhistory th.row-seasonheader h3{display:inline}#snatchhistory.tablesorter tbody:nth-child(2) th:first-child,#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(2),#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(3){width:15%;text-align:center!important}#snatchhistory.tablesorter tbody:nth-child(2) th:nth-child(4){width:52%;text-align:center!important}#snatchhistory.tablesorter td:first-child{width:15%;text-align:center!important}#snatchhistory.tablesorter td:nth-child(2){width:18%;text-align:center!important}#snatchhistory.tablesorter td:nth-child(3){width:15%;text-align:center!important}#snatchhistory.tablesorter td:nth-child(4){width:52%}#srchresults.tablesorter td:first-child{width:56%}#srchresults.tablesorter td:nth-child(n+2){width:4%;text-align:center}.release-name-ellipses{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px}.release-name-ellipses-toggled{overflow:visible;white-space:nowrap;position:relative;max-width:250px}.release-name-ellipses:hover{text-decoration:underline}.release-name-ellipses-toggled span{background-color:#bedeed;border:1px solid #888;padding:5px;box-shadow:3px 3px 3px rgba(17,17,17,.5)}@media (max-width:767px){.pull-xs-right{float:right!important}.pull-xs-left{float:left!important}.checkbox-inline.pull-xs-left+.checkbox-inline.pull-xs-left,.radio-inline.pull-xs-left+.radio-inline.pull-xs-left{margin-left:0}.checkbox-inline.pull-xs-left,.radio-inline.pull-xs-left{margin-right:10px}}.top-5{margin-top:5px}.top-10{margin-top:10px}.top-15{margin-top:15px}.top-20{margin-top:20px}.top-25{margin-top:25px}.bottom-5{margin-bottom:5px}.bottom-10{margin-bottom:10px}.bottom-15{margin-bottom:15px}.bottom-20{margin-bottom:20px}.bottom-25{margin-bottom:25px}.horizontal-scroll{overflow-x:auto}@media (max-width:767px){.col-md-12>.horizontal-scroll{margin:0 -13px}}@media screen and (min-width:0) and (max-width:768px){.full-width{display:none}.mobile{display:block}.mobile .ui-icon{display:inline-block}.dropdown-menu-custom>li>a{padding:15px 36px 15px 5px;border-bottom-style:solid;border-bottom-width:1px}.mobile>ul>li>a{padding-top:15px;padding-bottom:15px;padding-left:8px}.mobile .img-align{width:25px;float:left}}@media screen and (min-width:769px){.full-width{display:block}.mobile{display:none}}.padding-right-15{padding-right:15px!important}.backlog-quality{color:#fff;background-color:#373737}@media (max-width:1700px){#key-padding{margin-left:0;margin-right:5px}}.triggerhighlight{cursor:default}.d-block{display:block} \ No newline at end of file diff --git a/themes/light/assets/css/themed.css b/themes/light/assets/css/themed.css index a716c8f40c..b67bf45733 100644 --- a/themes/light/assets/css/themed.css +++ b/themes/light/assets/css/themed.css @@ -1,201 +1 @@ -/* ======================================================================= -home.mako -========================================================================== */ - -.progress-100 { - background-image: -moz-linear-gradient(rgb(166, 207, 65), rgb(91, 153, 13)) !important; - background-image: linear-gradient(rgb(166, 207, 65), rgb(91, 153, 13)) !important; - background-image: -webkit-linear-gradient(rgb(166, 207, 65), rgb(91, 153, 13)) !important; - background-image: -o-linear-gradient(rgb(166, 207, 65), rgb(91, 153, 13)) !important; - border-radius: 3px; -} - -.progress-80 { - background-image: -moz-linear-gradient(rgb(225, 255, 151), rgb(157, 178, 105)) !important; - background-image: linear-gradient(rgb(225, 255, 151), rgb(157, 178, 105)) !important; - background-image: -webkit-linear-gradient(rgb(225, 255, 151), rgb(157, 178, 105)) !important; - background-image: -o-linear-gradient(rgb(225, 255, 151), rgb(157, 178, 105)) !important; - border-radius: 3px; -} - -.progress-60 { - background-image: -moz-linear-gradient(rgb(250, 212, 64), rgb(242, 167, 13)) !important; - background-image: linear-gradient(rgb(250, 212, 64), rgb(242, 167, 13)) !important; - background-image: -webkit-linear-gradient(rgb(250, 212, 64), rgb(242, 167, 13)) !important; - background-image: -o-linear-gradient(rgb(250, 212, 64), rgb(242, 167, 13)) !important; - border-radius: 3px; -} - -.progress-40 { - background-image: -moz-linear-gradient(rgb(250, 181, 67), rgb(242, 112, 13)) !important; - background-image: linear-gradient(rgb(250, 181, 67), rgb(242, 112, 13)) !important; - background-image: -webkit-linear-gradient(rgb(250, 181, 67), rgb(242, 112, 13)) !important; - background-image: -o-linear-gradient(rgb(250, 181, 67), rgb(242, 112, 13)) !important; - border-radius: 3px; -} - -.progress-20 { - background-image: -moz-linear-gradient(rgb(218, 89, 69), rgb(177, 26, 16)) !important; - background-image: linear-gradient(rgb(218, 89, 69), rgb(177, 26, 16)) !important; - background-image: -webkit-linear-gradient(rgb(218, 89, 69), rgb(177, 26, 16)) !important; - background-image: -o-linear-gradient(rgb(218, 89, 69), rgb(177, 26, 16)) !important; - border-radius: 3px; -} - -/* ======================================================================= -displayShow.mako -========================================================================== */ - -.displayShowTable th.row-seasonheader { - border: none !important; - background-color: rgb(255, 255, 255) !important; - color: rgb(0, 0, 0) !important; - padding-top: 15px !important; - text-align: left !important; -} - -.displayShowTableFanArt th.row-seasonheader { - border: none !important; - background-color: transparent !important; - color: rgb(0, 0, 0) !important; - padding-top: 15px !important; - text-align: left !important; -} - -.snatchTitle { - color: rgb(0, 0, 0) !important; -} - -/* ======================================================================= -testRename.mako -========================================================================== */ - -tr.seasonheader { - color: rgb(0, 0, 0) !important; -} - -/* ======================================================================= -schedule.mako -========================================================================== */ - -table.cal-odd { - background-color: rgb(221, 221, 221); -} - -table.cal-even { - background-color: rgb(210, 210, 210); -} - -.calendarShow .text .airtime { - color: rgb(0, 0, 0); -} - -.calendarShow .text .episode-title { - color: rgb(136, 136, 136); -} - -/* ======================================================================= -bootstrap Overrides -========================================================================== */ - -/* navbar styling */ -.navbar-default { - background-color: rgb(51, 51, 51); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#555555', endColorstr='#333333'); - /* stylelint-disable declaration-block-no-shorthand-property-overrides */ - background: -webkit-gradient(linear, left top, left bottom, from(rgb(85, 85, 85)), to(rgb(51, 51, 51))); - background: -moz-linear-gradient(top, rgb(85, 85, 85), rgb(51, 51, 51)); - /* stylelint-enable */ - border-color: rgb(62, 63, 58); -} - -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: rgb(62, 63, 58); -} - -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - background-color: rgb(51, 51, 51); -} - -/* ssubmenu styling */ -#sub-menu-container { - background-color: rgb(85, 85, 85); - filter: progid:dximagetransform.microsoft.gradient(startColorstr='#555555', endColorstr='#555555'); - /* stylelint-disable declaration-block-no-shorthand-property-overrides */ - background: -webkit-gradient(linear, left top, left bottom, from(rgb(85, 85, 85)), to(rgb(85, 85, 85))); - background: -moz-linear-gradient(top, rgb(85, 85, 85), rgb(85, 85, 85)); - /* stylelint-enable */ - border-color: rgb(62, 63, 58); -} - -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - color: rgb(255, 255, 255); - text-decoration: none; - background-color: rgb(51, 51, 51); -} - -pre { - color: rgb(0, 0, 0); - background-color: rgb(245, 245, 245); - border-color: rgb(204, 204, 204); -} - -/* ======================================================================= -tablesorter.css -========================================================================== */ - -.tablesorter { - width: 100%; - margin-right: auto; - margin-left: auto; - color: rgb(0, 0, 0); - text-align: left; - background-color: rgb(221, 221, 221); - border-spacing: 0; -} - -/* hidden filter row */ -.tablesorter-filter-row.hideme td { - /* Change the padding to modify the thickness of the closed filter row (height = padding x 2) */ - padding: 2px; - margin: 0; - line-height: 0; - cursor: pointer; -} - -.tablesorter-filter-row.hideme * { - height: 1px; - min-height: 0; - border: 0; - padding: 0; - margin: 0; - opacity: 0; /* Don't use visibility: hidden because it disables tabbing */ - filter: alpha(opacity=0); -} - -/* ======================================================================= -token-input.css -========================================================================== */ - -div.token-input-dropdown { - background-color: rgb(255, 255, 255); - color: rgb(0, 0, 0); - border-left-color: rgb(204, 204, 204); - border-right-color: rgb(204, 204, 204); - border-bottom-color: rgb(204, 204, 204); -} - -/* ======================================================================= -bootstrap modal -========================================================================== */ - -.modal-header { - padding: 9px 15px; - border-bottom: 1px solid rgb(238, 238, 238); - background-color: rgb(245, 241, 228); - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} +.progress-100{background-image:-moz-linear-gradient(#a6cf41,#5b990d)!important;background-image:linear-gradient(#a6cf41,#5b990d)!important;background-image:-webkit-linear-gradient(#a6cf41,#5b990d)!important;background-image:-o-linear-gradient(#a6cf41,#5b990d)!important;border-radius:3px}.progress-80{background-image:-moz-linear-gradient(#e1ff97,#9db269)!important;background-image:linear-gradient(#e1ff97,#9db269)!important;background-image:-webkit-linear-gradient(#e1ff97,#9db269)!important;background-image:-o-linear-gradient(#e1ff97,#9db269)!important;border-radius:3px}.progress-60{background-image:-moz-linear-gradient(#fad440,#f2a70d)!important;background-image:linear-gradient(#fad440,#f2a70d)!important;background-image:-webkit-linear-gradient(#fad440,#f2a70d)!important;background-image:-o-linear-gradient(#fad440,#f2a70d)!important;border-radius:3px}.progress-40{background-image:-moz-linear-gradient(#fab543,#f2700d)!important;background-image:linear-gradient(#fab543,#f2700d)!important;background-image:-webkit-linear-gradient(#fab543,#f2700d)!important;background-image:-o-linear-gradient(#fab543,#f2700d)!important;border-radius:3px}.progress-20{background-image:-moz-linear-gradient(#da5945,#b11a10)!important;background-image:linear-gradient(#da5945,#b11a10)!important;background-image:-webkit-linear-gradient(#da5945,#b11a10)!important;background-image:-o-linear-gradient(#da5945,#b11a10)!important;border-radius:3px}.displayShowTable th.row-seasonheader{background-color:#fff!important}.displayShowTableFanArt th.row-seasonheader,.displayShowTable th.row-seasonheader{border:none!important;color:#000!important;padding-top:15px!important;text-align:left!important}.displayShowTableFanArt th.row-seasonheader{background-color:transparent!important}.snatchTitle,tr.seasonheader{color:#000!important}table.cal-odd{background-color:#ddd}table.cal-even{background-color:#d2d2d2}.calendarShow .text .airtime{color:#000}.calendarShow .text .episode-title{color:#888}.navbar-default{background-color:#333;filter:progid:dximagetransform.microsoft.gradient(startColorstr="#555555",endColorstr="#333333");background:-webkit-gradient(linear,left top,left bottom,from(#555),to(#333));background:-moz-linear-gradient(top,#555,#333)}.navbar-default,.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#3e3f3a}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:#333}#sub-menu-container{background-color:#555;filter:progid:dximagetransform.microsoft.gradient(startColorstr="#555555",endColorstr="#555555");background:-webkit-gradient(linear,left top,left bottom,from(#555),to(#555));background:-moz-linear-gradient(top,#555,#555);border-color:#3e3f3a}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#fff;text-decoration:none;background-color:#333}pre{color:#000;background-color:#f5f5f5;border-color:#ccc}.tablesorter{width:100%;margin-right:auto;margin-left:auto;color:#000;text-align:left;background-color:#ddd;border-spacing:0}.tablesorter-filter-row.hideme td{padding:2px;margin:0;line-height:0;cursor:pointer}.tablesorter-filter-row.hideme *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0;filter:alpha(opacity=0)}div.token-input-dropdown{background-color:#fff;color:#000;border-left-color:#ccc;border-right-color:#ccc;border-bottom-color:#ccc}.modal-header{padding:9px 15px;border-bottom:1px solid #eee;background-color:#f5f1e4;border-top-left-radius:5px;border-top-right-radius:5px} \ No newline at end of file diff --git a/themes/light/assets/css/vender.min.css b/themes/light/assets/css/vender.min.css index 865ad57d85..2f2fab08ac 100644 --- a/themes/light/assets/css/vender.min.css +++ b/themes/light/assets/css/vender.min.css @@ -1 +1 @@ -ul.token-input-list{overflow:hidden;height:auto!important;height:1%;width:400px;border:1px solid #999;cursor:text;font-size:12px;font-family:Verdana,sans-serif;z-index:999;margin:0;padding:0;background-color:#fff;list-style-type:none;clear:left}ul.token-input-list li{list-style-type:none}ul.token-input-list li input{border:0;width:350px;padding:3px 8px;background-color:#fff;-webkit-appearance:caret}ul.token-input-disabled,ul.token-input-disabled li input{background-color:#e8e8e8}ul.token-input-disabled li.token-input-token{background-color:#d9e3ca;color:#7d7d7d}ul.token-input-disabled li.token-input-token span{color:#cfcfcf;cursor:default}li.token-input-token{overflow:hidden;height:auto!important;height:1%;margin:3px;padding:3px 5px;background-color:#d0efa0;color:#000;font-weight:700;cursor:default;display:block}li.token-input-token p{float:left;padding:0;margin:0}li.token-input-token span{float:right;color:#777;cursor:pointer}li.token-input-selected-token{background-color:#08844e;color:#fff}li.token-input-selected-token span{color:#bbb}div.token-input-dropdown{position:absolute;width:400px;background-color:#fff;overflow:hidden;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;cursor:default;font-size:12px;font-family:Verdana,sans-serif;z-index:1}div.token-input-dropdown p{margin:0;padding:5px;font-weight:700;color:#777}div.token-input-dropdown ul{margin:0;padding:0}div.token-input-dropdown ul li{background-color:#fff;padding:3px;list-style-type:none}div.token-input-dropdown ul li.token-input-dropdown-item{background-color:#fafafa}div.token-input-dropdown ul li.token-input-dropdown-item2{background-color:#fff}div.token-input-dropdown ul li em{font-weight:700;font-style:normal}div.token-input-dropdown ul li.token-input-selected-dropdown-item{background-color:#d0efa0}.ui-pnotify{top:25px;right:25px;position:absolute;height:auto;z-index:9999}html>body>.ui-pnotify{position:fixed}.ui-pnotify .ui-pnotify-shadow{-webkit-box-shadow:0 2px 10px rgba(50,50,50,.5);-moz-box-shadow:0 2px 10px rgba(50,50,50,.5);box-shadow:0 2px 10px rgba(50,50,50,.5)}.ui-pnotify-container{background-position:0 0;padding:.8em;height:100%;margin:0}.ui-pnotify-container.ui-pnotify-sharp{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui-pnotify-title{display:block;margin-bottom:.4em;margin-top:0}.ui-pnotify-text{display:block}.ui-pnotify-icon,.ui-pnotify-icon span{display:block;float:left;margin-right:.2em}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-topleft{left:25px;right:auto}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-bottomright{bottom:25px;top:auto}.ui-pnotify{top:25px;right:25px;position:absolute;height:auto;z-index:9999}html>body>.ui-pnotify{position:fixed}.ui-pnotify .ui-pnotify-shadow{-webkit-box-shadow:0 2px 10px rgba(50,50,50,.5);-moz-box-shadow:0 2px 10px rgba(50,50,50,.5);box-shadow:0 2px 10px rgba(50,50,50,.5)}.ui-pnotify-container{background-position:0 0;padding:.8em;height:100%;margin:0}.ui-pnotify-container.ui-pnotify-sharp{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui-pnotify-title{display:block;margin-bottom:.4em;margin-top:0}.ui-pnotify-text{display:block}.ui-pnotify-icon,.ui-pnotify-icon span{display:block;float:left;margin-right:.2em}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-topleft{left:25px;right:auto}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-bottomright{bottom:25px;top:auto}.ui-pnotify-closer,.ui-pnotify-sticker{float:right;margin-left:.2em}.ui-pnotify-closer,.ui-pnotify-sticker{float:right;margin-left:.2em}.ui-pnotify-history-container{position:absolute;top:0;right:18px;width:70px;border-top:none;padding:0;-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0;z-index:10000}.ui-pnotify-history-container.ui-pnotify-history-fixed{position:fixed}.ui-pnotify-history-container .ui-pnotify-history-header{padding:2px;text-align:center}.ui-pnotify-history-container button{cursor:pointer;display:block;width:100%}.ui-pnotify-history-container .ui-pnotify-history-pulldown{display:block;margin:0 auto}.ui-pnotify-history-container{position:absolute;top:0;right:18px;width:70px;border-top:none;padding:0;-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0;z-index:10000}.ui-pnotify-history-container.ui-pnotify-history-fixed{position:fixed}.ui-pnotify-history-container .ui-pnotify-history-header{padding:2px;text-align:center}.ui-pnotify-history-container button{cursor:pointer;display:block;width:100%}.ui-pnotify-history-container .ui-pnotify-history-pulldown{display:block;margin:0 auto} \ No newline at end of file +ul.token-input-list{overflow:hidden;height:auto!important;height:1%;width:400px;border:1px solid #999;cursor:text;font-size:12px;font-family:Verdana,sans-serif;z-index:999;margin:0;padding:0;background-color:#fff;clear:left}ul.token-input-list,ul.token-input-list li{list-style-type:none}ul.token-input-list li input{border:0;width:350px;padding:3px 8px;background-color:#fff;-webkit-appearance:caret}ul.token-input-disabled,ul.token-input-disabled li input{background-color:#e8e8e8}ul.token-input-disabled li.token-input-token{background-color:#d9e3ca;color:#7d7d7d}ul.token-input-disabled li.token-input-token span{color:#cfcfcf;cursor:default}li.token-input-token{overflow:hidden;height:auto!important;height:1%;margin:3px;padding:3px 5px;background-color:#d0efa0;color:#000;font-weight:700;cursor:default;display:block}li.token-input-token p{float:left;padding:0;margin:0}li.token-input-token span{float:right;color:#777;cursor:pointer}li.token-input-selected-token{background-color:#08844e;color:#fff}li.token-input-selected-token span{color:#bbb}div.token-input-dropdown{position:absolute;width:400px;background-color:#fff;overflow:hidden;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;cursor:default;font-size:12px;font-family:Verdana,sans-serif;z-index:1}div.token-input-dropdown p{margin:0;padding:5px;font-weight:700;color:#777}div.token-input-dropdown ul{margin:0;padding:0}div.token-input-dropdown ul li{background-color:#fff;padding:3px;list-style-type:none}div.token-input-dropdown ul li.token-input-dropdown-item{background-color:#fafafa}div.token-input-dropdown ul li.token-input-dropdown-item2{background-color:#fff}div.token-input-dropdown ul li em{font-weight:700;font-style:normal}div.token-input-dropdown ul li.token-input-selected-dropdown-item{background-color:#d0efa0}.ui-pnotify{top:25px;right:25px;position:absolute;height:auto;z-index:9999}html>body>.ui-pnotify{position:fixed}.ui-pnotify .ui-pnotify-shadow{-webkit-box-shadow:0 2px 10px rgba(50,50,50,.5);-moz-box-shadow:0 2px 10px rgba(50,50,50,.5);box-shadow:0 2px 10px rgba(50,50,50,.5)}.ui-pnotify-container{background-position:0 0;padding:.8em;height:100%;margin:0}.ui-pnotify-container.ui-pnotify-sharp{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.ui-pnotify-title{display:block;margin-bottom:.4em;margin-top:0}.ui-pnotify-text{display:block}.ui-pnotify-icon,.ui-pnotify-icon span{display:block;float:left;margin-right:.2em}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-topleft{left:25px;right:auto}.ui-pnotify.stack-bottomleft,.ui-pnotify.stack-bottomright{bottom:25px;top:auto}.ui-pnotify-closer,.ui-pnotify-sticker{float:right;margin-left:.2em}.ui-pnotify-history-container{position:absolute;top:0;right:18px;width:70px;border-top:none;padding:0;-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;border-top-right-radius:0;z-index:10000}.ui-pnotify-history-container.ui-pnotify-history-fixed{position:fixed}.ui-pnotify-history-container .ui-pnotify-history-header{padding:2px;text-align:center}.ui-pnotify-history-container button{cursor:pointer;display:block;width:100%}.ui-pnotify-history-container .ui-pnotify-history-pulldown{display:block;margin:0 auto} \ No newline at end of file diff --git a/themes/light/assets/css/vendors.css b/themes/light/assets/css/vendors.css index b9deef4721..118a021682 100644 --- a/themes/light/assets/css/vendors.css +++ b/themes/light/assets/css/vendors.css @@ -2,788 +2,4 @@ * Bootstrap v3.4.1 (https://getbootstrap.com/) * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:"Glyphicons Halflings";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} -.snotifyToast { - -webkit-animation-fill-mode: both; - animation-fill-mode: both; } - -.snotify-leftTop .fadeIn, -.snotify-leftCenter .fadeIn, -.snotify-leftBottom .fadeIn { - -webkit-animation-name: fadeInLeft; - animation-name: fadeInLeft; } - -.snotify-leftTop .fadeOut, -.snotify-leftCenter .fadeOut, -.snotify-leftBottom .fadeOut { - -webkit-animation-name: fadeOutLeft; - animation-name: fadeOutLeft; } - -.snotify-rightTop .fadeIn, -.snotify-rightCenter .fadeIn, -.snotify-rightBottom .fadeIn { - -webkit-animation-name: fadeInRight; - animation-name: fadeInRight; } - -.snotify-rightTop .fadeOut, -.snotify-rightCenter .fadeOut, -.snotify-rightBottom .fadeOut { - -webkit-animation-name: fadeOutRight; - animation-name: fadeOutRight; } - -.snotify-centerTop .fadeIn { - -webkit-animation-name: fadeInDown; - animation-name: fadeInDown; } - -.snotify-centerTop .fadeOut { - -webkit-animation-name: fadeOutUp; - animation-name: fadeOutUp; } - -.snotify-centerCenter .fadeIn { - -webkit-animation-name: fadeIn; - animation-name: fadeIn; } - -.snotify-centerCenter .fadeOut { - -webkit-animation-name: fadeOut; - animation-name: fadeOut; } - -.snotify-centerBottom .fadeIn { - -webkit-animation-name: fadeInUp; - animation-name: fadeInUp; } - -.snotify-centerBottom .fadeOut { - -webkit-animation-name: fadeOutDown; - animation-name: fadeOutDown; } - -@-webkit-keyframes fadeInLeft { - 0% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) scaleX(1.2); - transform: translate3d(-100%, 0, 0) scaleX(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@keyframes fadeInLeft { - 0% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) scaleX(1.2); - transform: translate3d(-100%, 0, 0) scaleX(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@-webkit-keyframes fadeInRight { - 0% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) scaleX(1.2); - transform: translate3d(100%, 0, 0) scaleX(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@keyframes fadeInRight { - 0% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) scaleX(1.2); - transform: translate3d(100%, 0, 0) scaleX(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@-webkit-keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0) scaleY(1.2); - transform: translate3d(0, 100%, 0) scaleY(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0) scaleY(1.2); - transform: translate3d(0, 100%, 0) scaleY(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@-webkit-keyframes fadeInDown { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0) scaleY(1.2); - transform: translate3d(0, -100%, 0) scaleY(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@keyframes fadeInDown { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0) scaleY(1.2); - transform: translate3d(0, -100%, 0) scaleY(1.2); } - 100% { - opacity: 1; - -webkit-transform: none; - transform: none; } } - -@-webkit-keyframes fadeIn { - 0% { - opacity: 0; } - 100% { - opacity: 1; } } - -@keyframes fadeIn { - 0% { - opacity: 0; } - 100% { - opacity: 1; } } - -@-webkit-keyframes fadeOut { - 0% { - opacity: 1; } - 100% { - opacity: 0; } } - -@keyframes fadeOut { - 0% { - opacity: 1; } - 100% { - opacity: 0; } } - -@-webkit-keyframes fadeOutDown { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); } } - -@keyframes fadeOutDown { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); } } - -@-webkit-keyframes fadeOutLeft { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); } } - -@keyframes fadeOutLeft { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); } } - -@-webkit-keyframes fadeOutRight { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); } } - -@keyframes fadeOutRight { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); } } - -@-webkit-keyframes fadeOutUp { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); } } - -@keyframes fadeOutUp { - 0% { - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); } } - -@-webkit-keyframes appear { - 0% { - max-height: 0; } - 100% { - max-height: 50vh; } } - -@keyframes appear { - 0% { - max-height: 0; } - 100% { - max-height: 50vh; } } - -@-webkit-keyframes disappear { - 0% { - opacity: 0; - max-height: 50vh; } - 100% { - opacity: 0; - max-height: 0; } } - -@keyframes disappear { - 0% { - opacity: 0; - max-height: 50vh; } - 100% { - opacity: 0; - max-height: 0; } } - -@-webkit-keyframes async { - 0% { - -webkit-transform: translate(0, -50%) rotate(0deg); - transform: translate(0, -50%) rotate(0deg); } - 100% { - -webkit-transform: translate(0, -50%) rotate(360deg); - transform: translate(0, -50%) rotate(360deg); } } - -@keyframes async { - 0% { - -webkit-transform: translate(0, -50%) rotate(0deg); - transform: translate(0, -50%) rotate(0deg); } - 100% { - -webkit-transform: translate(0, -50%) rotate(360deg); - transform: translate(0, -50%) rotate(360deg); } } - -.snotify { - display: block; - position: fixed; - width: 300px; - z-index: 9999; - -webkit-box-sizing: border-box; - box-sizing: border-box; - pointer-events: none; } - .snotify * { - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.snotify-leftTop, -.snotify-leftCenter, -.snotify-leftBottom { - left: 10px; } - -.snotify-rightTop, -.snotify-rightCenter, -.snotify-rightBottom { - right: 10px; } - -.snotify-centerTop, -.snotify-centerCenter, -.snotify-centerBottom { - left: calc(50% - 300px / 2); } - -.snotify-leftTop, -.snotify-centerTop, -.snotify-rightTop { - top: 10px; } - -.snotify-leftCenter, -.snotify-rightCenter, -.snotify-centerCenter { - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); } - -.snotify-leftBottom, -.snotify-rightBottom, -.snotify-centerBottom { - bottom: 10px; } - -.snotify-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - background-color: #000; - opacity: 0; - z-index: 9998; - -webkit-transition: opacity .3s; - transition: opacity .3s; } - -.snotifyToast { - display: block; - cursor: pointer; - background-color: #fff; - height: 100%; - margin: 5px; - opacity: 0; - border-radius: 5px; - overflow: hidden; - pointer-events: auto; } - .snotifyToast--in { - -webkit-animation-name: appear; - animation-name: appear; } - .snotifyToast--out { - -webkit-animation-name: disappear; - animation-name: disappear; } - .snotifyToast__inner { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -webkit-flex-flow: column nowrap; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - position: relative; - padding: 5px 65px 5px 15px; - min-height: 78px; - font-size: 16px; - color: #000; } - .snotifyToast__noIcon { - padding: 5px 15px 5px 15px; } - .snotifyToast__progressBar { - position: relative; - width: 100%; - height: 10px; - background-color: #c7c7c7; } - .snotifyToast__progressBar__percentage { - position: absolute; - top: 0; - left: 0; - height: 10px; - background-color: #4c4c4c; - max-width: 100%; } - .snotifyToast__title { - font-size: 1.8em; - line-height: 1.2em; - margin-bottom: 5px; - color: #fff; } - .snotifyToast__body { - font-size: 1em; } - -.snotifyToast-show { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - opacity: 1; } - -.snotifyToast-remove { - max-height: 0; - overflow: hidden; - -webkit-transform: translate(0, 50%); - transform: translate(0, 50%); - opacity: 0; } - -.fadeOutRight { - -webkit-animation-name: fadeOutRight; - animation-name: fadeOutRight; } - -/*************** - ** Modifiers ** - **************/ -.snotify-simple .snotifyToast__title, -.snotify-simple .snotifyToast__body { - color: #000; } - -.snotify-success { - background-color: #4caf50; } - .snotify-success .snotifyToast__progressBar { - background-color: #388e3c; } - .snotify-success .snotifyToast__progressBar__percentage { - background-color: #81c784; } - .snotify-success .snotifyToast__body { - color: #c8e6c9; } - -.snotify-info { - background-color: #1e88e5; } - .snotify-info .snotifyToast__progressBar { - background-color: #1565c0; } - .snotify-info .snotifyToast__progressBar__percentage { - background-color: #64b5f6; } - .snotify-info .snotifyToast__body { - color: #e3f2fd; } - -.snotify-warning { - background-color: #ff9800; } - .snotify-warning .snotifyToast__progressBar { - background-color: #ef6c00; } - .snotify-warning .snotifyToast__progressBar__percentage { - background-color: #ffcc80; } - .snotify-warning .snotifyToast__body { - color: #fff3e0; } - -.snotify-error { - background-color: #f44336; } - .snotify-error .snotifyToast__progressBar { - background-color: #c62828; } - .snotify-error .snotifyToast__progressBar__percentage { - background-color: #ef9a9a; } - .snotify-error .snotifyToast__body { - color: #ffebee; } - -.snotify-async { - background-color: #1e88e5; } - .snotify-async .snotifyToast__progressBar { - background-color: #1565c0; } - .snotify-async .snotifyToast__progressBar__percentage { - background-color: #64b5f6; } - .snotify-async .snotifyToast__body { - color: #e3f2fd; } - -.snotify-confirm { - background-color: #009688; } - .snotify-confirm .snotifyToast__progressBar { - background-color: #4db6ac; } - .snotify-confirm .snotifyToast__progressBar__percentage { - background-color: #80cbc4; } - .snotify-confirm .snotifyToast__body { - color: #e0f2f1; } - -.snotify-prompt { - background-color: #009688; } - .snotify-prompt .snotifyToast__title { - margin-bottom: 0; } - .snotify-prompt .snotifyToast__body { - color: #e0f2f1; } - -.snotify-confirm .snotifyToast__inner, -.snotify-prompt .snotifyToast__inner { - padding: 10px 15px; } - -.snotifyToast__input { - position: relative; - z-index: 1; - display: inline-block; - margin: 0; - width: 100%; - vertical-align: top; - -webkit-transition: all .5s; - transition: all .5s; - -webkit-transition-delay: .3s; - transition-delay: .3s; - -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } - .snotifyToast__input__field { - position: relative; - display: block; - float: right; - padding: .85em .5em; - width: 100%; - border: none; - border-radius: 0; - background: transparent; - color: #333; - font-weight: bold; - -webkit-appearance: none; - /* for box shadows to show on iOS */ - opacity: 0; - -webkit-transition: opacity .3s; - transition: opacity .3s; } - .snotifyToast__input__field:focus { - outline: none; } - .snotifyToast__input__label { - display: inline-block; - float: right; - padding: 0 .85em; - width: 100%; - color: #e0f2f1; - font-weight: bold; - font-size: 70.25%; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - position: absolute; - left: 0; - height: 100%; - text-align: left; - pointer-events: none; } - .snotifyToast__input__label::before, .snotifyToast__input__label::after { - content: ''; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; } - .snotifyToast__input__label::before { - border-top: 2px solid #fff; - -webkit-transform: translate3d(0, 100%, 0) translate3d(0, -2px, 0); - transform: translate3d(0, 100%, 0) translate3d(0, -2px, 0); - -webkit-transition-delay: .3s; - transition-delay: .3s; } - .snotifyToast__input__label::after { - z-index: -1; - background: #b2dfdb; - -webkit-transform: scale3d(1, 0, 1); - transform: scale3d(1, 0, 1); - -webkit-transform-origin: 50% 0; - transform-origin: 50% 0; } - .snotifyToast__input__labelContent { - position: relative; - display: block; - padding: 1em 0; - width: 100%; - -webkit-transition: -webkit-transform .3s .3s; - transition: -webkit-transform .3s .3s; - transition: transform .3s .3s; - transition: transform .3s .3s, -webkit-transform .3s .3s; } - -.snotifyToast__input--filled { - margin-top: 2.5em; } - .snotifyToast__input--filled:focus, - .snotifyToast__input--filled .snotifyToast__input__field { - opacity: 1; - -webkit-transition-delay: .3s; - transition-delay: .3s; } - -.snotifyToast__input__field:focus + .snotifyToast__input__label .snotifyToast__input__labelContent, -.snotifyToast__input--filled .snotifyToast__input__labelContent { - -webkit-transform: translate(0, -80%); - transform: translate(0, -80%); - -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } - -.snotifyToast__input__field:focus + .snotifyToast__input__label::before, -.snotifyToast__input--filled .snotifyToast__input__label::before { - -webkit-transition-delay: 0s; - transition-delay: 0s; } - -.snotifyToast__input__field:focus + .snotifyToast__input__label::before, -.snotifyToast__input--filled .snotifyToast__input__label::before { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); } - -.snotifyToast__input__field:focus + .snotifyToast__input__label::after, -.snotifyToast__input--filled .snotifyToast__input__label::after { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition-delay: .3s; - transition-delay: .3s; - -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); - transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); } - -.snotifyToast--invalid .snotifyToast__input__label::before { - border-color: #f44336; } - -.snotifyToast--valid .snotifyToast__input__label::before { - border-color: #4caf50; } - -.snotifyToast__buttons { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -webkit-flex-flow: row nowrap; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - border-top: 1px solid rgba(0, 0, 0, 0.1); } - .snotifyToast__buttons button { - position: relative; - width: 100%; - border-right: 1px solid rgba(0, 0, 0, 0.1); - border-left: 1px solid rgba(0, 0, 0, 0.1); - border-top: none; - border-bottom: none; - background: transparent; - padding: 8px; - text-transform: capitalize; - color: #fff; - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; } - .snotifyToast__buttons button::after { - content: ''; - position: absolute; - top: 50%; - left: 50%; - width: 5px; - height: 5px; - background: rgba(255, 255, 255, 0.3); - opacity: 0; - border-radius: 100%; - -webkit-transform: scale(1, 1) translate(-50%); - transform: scale(1, 1) translate(-50%); - -webkit-transform-origin: 50% 50%; - transform-origin: 50% 50%; } - .snotifyToast__buttons button:focus:not(:active)::after { - -webkit-animation: ripple 1s ease-out; - animation: ripple 1s ease-out; } - .snotifyToast__buttons button:hover, .snotifyToast__buttons button:focus { - background: rgba(0, 0, 0, 0.1); - outline: none; } - .snotifyToast__buttons button:active { - background: rgba(0, 0, 0, 0.15); } - .snotifyToast__buttons button:last-child { - border-right: none; } - .snotifyToast__buttons button:first-child { - border-left: none; } - .snotifyToast__buttons--bold { - font-weight: 700; } - -@-webkit-keyframes ripple { - 0% { - -webkit-transform: scale(0, 0); - transform: scale(0, 0); - opacity: 1; } - 20% { - -webkit-transform: scale(25, 25); - transform: scale(25, 25); - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: scale(40, 40); - transform: scale(40, 40); } } - -@keyframes ripple { - 0% { - -webkit-transform: scale(0, 0); - transform: scale(0, 0); - opacity: 1; } - 20% { - -webkit-transform: scale(25, 25); - transform: scale(25, 25); - opacity: 1; } - 100% { - opacity: 0; - -webkit-transform: scale(40, 40); - transform: scale(40, 40); } } - -.snotify-icon { - position: absolute; - right: 10px; - top: 50%; - line-height: 0; - -webkit-transform: translate(0, -50%); - transform: translate(0, -50%); - max-height: 48px; - max-width: 48px; - width: 100%; - height: 100%; } - -.snotify-icon--error { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20version=%221.1%22%20x=%220px%22%20y=%220px%22%20viewBox=%220%200%20512%20512%22%20fill=%22%23ffcdd2%22%3E%3Cg%3E%3Cpath%20d=%22M437,75A256,256,0,1,0,75,437,256,256,0,1,0,437,75ZM416.43,416.43a226.82,226.82,0,0,1-320.86,0C7.11,328,7.11,184,95.57,95.57a226.82,226.82,0,0,1,320.86,0C504.89,184,504.89,328,416.43,416.43Z%22/%3E%3Cpath%20d=%22M368.81,143.19a14.5,14.5,0,0,0-20.58,0L256,235.42l-92.23-92.23a14.55,14.55,0,0,0-20.58,20.58L235.42,256l-92.23,92.23a14.6,14.6,0,0,0,10.24,24.89,14.19,14.19,0,0,0,10.24-4.31l92.23-92.23,92.23,92.23a14.64,14.64,0,0,0,10.24,4.31,14,14,0,0,0,10.24-4.31,14.5,14.5,0,0,0,0-20.58l-92-92.23,92.23-92.23A14.5,14.5,0,0,0,368.81,143.19Z%22/%3E%3C/g%3E%3C/svg%3E"); } - -.snotify-icon--warning { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20version=%221.1%22%20x=%220px%22%20y=%220px%22%20viewBox=%220%200%20512%20512%22%20fill=%22%23ffccbc%22%3E%3Cg%3E%3Cpath%20d=%22M256,512c141.15,0,256-114.84,256-256S397.15,0,256,0,0,114.84,0,256,114.85,512,256,512Zm0-480.49c123.79,0,224.49,100.71,224.49,224.49S379.79,480.49,256,480.49,31.51,379.79,31.51,256,132.21,31.51,256,31.51Z%22/%3E%3Ccircle%20cx=%22260.08%22%20cy=%22343.87%22%20r=%2226.35%22/%3E%3Cpath%20d=%22M254.68,278.39a15.76,15.76,0,0,0,15.75-15.75V128.72a15.75,15.75,0,1,0-31.51,0V262.63A15.76,15.76,0,0,0,254.68,278.39Z%22/%3E%3C/g%3E%3C/svg%3E"); } - -.snotify-icon--info { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20version=%221.1%22%20x=%220px%22%20y=%220px%22%20viewBox=%220%200%20512%20512%22%20fill=%22%23bbdefb%22%3E%3Cg%3E%3Cpath%20d=%22M256,0C114.84,0,0,114.84,0,256S114.84,512,256,512,512,397.16,512,256,397.15,0,256,0Zm0,478.43C133.35,478.43,33.57,378.64,33.57,256S133.35,33.58,256,33.58,478.42,133.36,478.42,256,378.64,478.43,256,478.43Z%22/%3E%3Cpath%20d=%22M251.26,161.24a22.39,22.39,0,1,0-22.38-22.39A22.39,22.39,0,0,0,251.26,161.24Z%22/%3E%3Cpath%20d=%22M286.84,357.87h-14v-160A16.79,16.79,0,0,0,256,181.05H225.17a16.79,16.79,0,0,0,0,33.58h14.05V357.87H225.17a16.79,16.79,0,0,0,0,33.57h61.67a16.79,16.79,0,1,0,0-33.57Z%22/%3E%3C/g%3E%3C/svg%3E"); } - -.snotify-icon--success { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20version=%221.1%22%20x=%220px%22%20y=%220px%22%20viewBox=%220%200%20512%20512%22%20fill=%22%23c8e6c9%22%3E%3Cg%3E%3Cpath%20d=%22M256,0C114.85,0,0,114.84,0,256S114.85,512,256,512,512,397.16,512,256,397.15,0,256,0Zm0,492.31c-130.29,0-236.31-106-236.31-236.31S125.71,19.69,256,19.69,492.31,125.71,492.31,256,386.29,492.31,256,492.31Z%22/%3E%3Cpath%20class=%22cls-1%22%20d=%22M376.64,151,225.31,321.24l-91.17-72.93a9.85,9.85,0,0,0-12.3,15.38l98.46,78.77a9.86,9.86,0,0,0,13.52-1.15L391.36,164.08A9.85,9.85,0,0,0,376.64,151Z%22/%3E%3C/g%3E%3C/svg%3E"); } - -.snotify-icon--async { - background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20version=%221.1%22%20x=%220px%22%20y=%220px%22%20viewBox=%220%200%20512%20512%22%20fill=%22%23bbdefb%22%3E%3Cg%3E%3Cpath%20d=%22M256,0a32,32,0,0,0-32,32V96a32,32,0,0,0,64,0V32A32,32,0,0,0,256,0Zm0,384a32,32,0,0,0-32,32v64a32,32,0,0,0,64,0V416A32,32,0,0,0,256,384ZM391.74,165.5,437,120.22A32,32,0,0,0,391.74,75L346.5,120.22a32,32,0,0,0,45.25,45.28Zm-271.52,181L75,391.74A32,32,0,0,0,120.22,437l45.25-45.25a32,32,0,0,0-45.25-45.25Zm0-271.52A32,32,0,1,0,75,120.22l45.25,45.28a32,32,0,1,0,45.25-45.28ZM391.74,346.5a32,32,0,0,0-45.25,45.25L391.74,437A32,32,0,0,0,437,391.74ZM480,224H416a32,32,0,0,0,0,64h64a32,32,0,0,0,0-64ZM128,256a32,32,0,0,0-32-32H32a32,32,0,0,0,0,64H96A32,32,0,0,0,128,256Z%22/%3E%3C/g%3E%3C/svg%3E"); - -webkit-animation: async 3s infinite linear; - animation: async 3s infinite linear; - -webkit-transform-origin: 50% 50%; - transform-origin: 50% 50%; } - -.tablesorter-blue{width:100%;background-color:#fff;margin:10px 0 15px;text-align:left;border-spacing:0;border:#cdcdcd 1px solid;border-width:1px 0 0 1px}.tablesorter-blue td,.tablesorter-blue th{border:#cdcdcd 1px solid;border-width:0 1px 1px 0}.tablesorter-blue th,.tablesorter-blue thead td{font:12px/18px Arial,Sans-serif;font-weight:700;color:#000;background-color:#99bfe6;border-collapse:collapse;padding:4px;text-shadow:0 1px 0 rgba(204,204,204,.7)}.tablesorter-blue tbody td,.tablesorter-blue tfoot td,.tablesorter-blue tfoot th{padding:4px;vertical-align:top}.tablesorter-blue .header,.tablesorter-blue .tablesorter-header{background-image:url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);background-repeat:no-repeat;background-position:center right;padding:4px 18px 4px 4px;white-space:normal;cursor:pointer}.tablesorter-blue .headerSortUp,.tablesorter-blue .tablesorter-headerAsc,.tablesorter-blue .tablesorter-headerSortUp{background-color:#9fbfdf;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7)}.tablesorter-blue .headerSortDown,.tablesorter-blue .tablesorter-headerDesc,.tablesorter-blue .tablesorter-headerSortDown{background-color:#8cb3d9;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7)}.tablesorter-blue thead .sorter-false{background-image:none;cursor:default;padding:4px}.tablesorter-blue tfoot .tablesorter-headerAsc,.tablesorter-blue tfoot .tablesorter-headerDesc,.tablesorter-blue tfoot .tablesorter-headerSortDown,.tablesorter-blue tfoot .tablesorter-headerSortUp{background-image:none}.tablesorter-blue td{color:#3d3d3d;background-color:#fff;padding:4px;vertical-align:top}.tablesorter-blue tbody>tr.even.hover>td,.tablesorter-blue tbody>tr.even:hover+tr.tablesorter-childRow+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.even:hover+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.even:hover>td,.tablesorter-blue tbody>tr.hover>td,.tablesorter-blue tbody>tr:hover+tr.tablesorter-childRow+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr:hover+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr:hover>td{background-color:#d9d9d9}.tablesorter-blue tbody>tr.odd.hover>td,.tablesorter-blue tbody>tr.odd:hover+tr.tablesorter-childRow+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.odd:hover+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.odd:hover>td{background-color:#bfbfbf}.tablesorter-blue .tablesorter-processing{background-position:center center!important;background-repeat:no-repeat!important;background-image:url(data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=)!important}.tablesorter-blue tbody tr.odd>td{background-color:#ebf2fa}.tablesorter-blue tbody tr.even>td{background-color:#fff}.tablesorter-blue td.primary,.tablesorter-blue tr.odd td.primary{background-color:#99b3e6}.tablesorter-blue tr.even td.primary{background-color:#c2d1f0}.tablesorter-blue td.secondary,.tablesorter-blue tr.odd td.secondary{background-color:#c2d1f0}.tablesorter-blue tr.even td.secondary{background-color:#d6e0f5}.tablesorter-blue td.tertiary,.tablesorter-blue tr.odd td.tertiary{background-color:#d6e0f5}.tablesorter-blue tr.even td.tertiary{background-color:#ebf0fa}.tablesorter-blue>caption{background-color:#fff}.tablesorter-blue .tablesorter-filter-row{background-color:#eee}.tablesorter-blue .tablesorter-filter-row td{background-color:#eee;line-height:normal;text-align:center;-webkit-transition:line-height .1s ease;-moz-transition:line-height .1s ease;-o-transition:line-height .1s ease;transition:line-height .1s ease}.tablesorter-blue .tablesorter-filter-row .disabled{opacity:.5;cursor:not-allowed}.tablesorter-blue .tablesorter-filter-row.hideme td{padding:2px;margin:0;line-height:0;cursor:pointer}.tablesorter-blue .tablesorter-filter-row.hideme *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}.tablesorter-blue input.tablesorter-filter,.tablesorter-blue select.tablesorter-filter{width:98%;height:auto;margin:0;padding:4px;background-color:#fff;border:1px solid #bbb;color:#333;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:height .1s ease;-moz-transition:height .1s ease;-o-transition:height .1s ease;transition:height .1s ease}.tablesorter .filtered{display:none}.tablesorter .tablesorter-errorRow td{text-align:center;cursor:pointer;background-color:#e6bf99} -/* open-sans-300 - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - src: local('Open Sans Light'), local('OpenSans-Light'), url(../fonts/open-sans-v15-latin-300.ttf) format('truetype'); -} -/* open-sans-300italic - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'), url(../fonts/open-sans-v15-latin-300italic.ttf) format('truetype'); -} -/* open-sans-regular - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: local('Open Sans Regular'), local('OpenSans-Regular'), url(../fonts/open-sans-v15-latin-regular.ttf) format('truetype'); -} -/* open-sans-italic - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - src: local('Open Sans Italic'), local('OpenSans-Italic'), url(../fonts/open-sans-v15-latin-italic.ttf) format('truetype'); -} -/* open-sans-600italic - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), url(../fonts/open-sans-v15-latin-600italic.ttf) format('truetype'); -} -/* open-sans-600 - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url(../fonts/open-sans-v15-latin-600.ttf) format('truetype'); -} -/* open-sans-700 - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: local('Open Sans Bold'), local('OpenSans-Bold'), url(../fonts/open-sans-v15-latin-700.ttf) format('truetype'); -} -/* open-sans-700italic - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(../fonts/open-sans-v15-latin-700italic.ttf) format('truetype'); -} -/* open-sans-800 - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), url(../fonts/open-sans-v15-latin-800.ttf) format('truetype'); -} -/* open-sans-800italic - latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), url(../fonts/open-sans-v15-latin-800italic.ttf) format('truetype'); -} - -fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:48px;height:35px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border:2px solid transparent;border-top-color:#41b883;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;-ms-touch-action:manipulation;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input:-ms-input-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"\D7";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus,.multiselect__tag-icon:hover{background:#369a6e}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 0;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}} + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:Glyphicons Halflings;src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:Glyphicons Halflings;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}code,kbd{padding:2px 4px;font-size:90%}kbd{color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777}caption,th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;margin:0}fieldset,legend{padding:0;border:0}legend{display:block;width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:7px}.form-control,output{display:block;font-size:14px;line-height:1.42857143;color:#555}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox-inline input[type=checkbox],.checkbox input[type=checkbox],.radio-inline input[type=radio],.radio input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success.checkbox-inline label,.has-success.checkbox label,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.radio-inline label,.has-success.radio label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning.checkbox-inline label,.has-warning.checkbox label,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.radio-inline label,.has-warning.radio label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error.checkbox-inline label,.has-error.checkbox label,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.radio-inline label,.has-error.radio label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group .form-control:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li,.nav>li>a{position:relative;display:block}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid;border-color:#ddd #ddd transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container-fluid .navbar-brand,.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);margin:8px -15px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container-fluid .jumbotron,.container .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container-fluid .jumbotron,.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table-responsive>.table caption,.panel>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal,.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{left:5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel,.carousel-inner{position:relative}.carousel-inner{width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:left .6s ease-in-out;-o-transition:.6s ease-in-out left;transition:left .6s ease-in-out}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media (-webkit-transform-3d),(transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translateZ(0);transform:translateZ(0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:transparent;filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,.0001));background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000",endColorstr="#00000000",GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001),rgba(0,0,0,.5));background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(90deg,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}.snotifyToast{-webkit-animation-fill-mode:both;animation-fill-mode:both}.snotify-leftBottom .fadeIn,.snotify-leftCenter .fadeIn,.snotify-leftTop .fadeIn{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}.snotify-leftBottom .fadeOut,.snotify-leftCenter .fadeOut,.snotify-leftTop .fadeOut{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}.snotify-rightBottom .fadeIn,.snotify-rightCenter .fadeIn,.snotify-rightTop .fadeIn{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}.snotify-rightBottom .fadeOut,.snotify-rightCenter .fadeOut,.snotify-rightTop .fadeOut{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}.snotify-centerTop .fadeIn{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.snotify-centerTop .fadeOut{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.snotify-centerCenter .fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}.snotify-centerCenter .fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}.snotify-centerBottom .fadeIn{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}.snotify-centerBottom .fadeOut{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) scaleX(1.2);transform:translate3d(-100%,0,0) scaleX(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) scaleX(1.2);transform:translate3d(-100%,0,0) scaleX(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0) scaleX(1.2);transform:translate3d(100%,0,0) scaleX(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0) scaleX(1.2);transform:translate3d(100%,0,0) scaleX(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0) scaleY(1.2);transform:translate3d(0,100%,0) scaleY(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0) scaleY(1.2);transform:translate3d(0,100%,0) scaleY(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0) scaleY(1.2);transform:translate3d(0,-100%,0) scaleY(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0) scaleY(1.2);transform:translate3d(0,-100%,0) scaleY(1.2)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@-webkit-keyframes appear{0%{max-height:0}to{max-height:50vh}}@keyframes appear{0%{max-height:0}to{max-height:50vh}}@-webkit-keyframes disappear{0%{opacity:0;max-height:50vh}to{opacity:0;max-height:0}}@keyframes disappear{0%{opacity:0;max-height:50vh}to{opacity:0;max-height:0}}@-webkit-keyframes async{0%{-webkit-transform:translateY(-50%) rotate(0deg);transform:translateY(-50%) rotate(0deg)}to{-webkit-transform:translateY(-50%) rotate(1turn);transform:translateY(-50%) rotate(1turn)}}@keyframes async{0%{-webkit-transform:translateY(-50%) rotate(0deg);transform:translateY(-50%) rotate(0deg)}to{-webkit-transform:translateY(-50%) rotate(1turn);transform:translateY(-50%) rotate(1turn)}}.snotify{display:block;position:fixed;width:300px;z-index:9999;pointer-events:none}.snotify,.snotify *{-webkit-box-sizing:border-box;box-sizing:border-box}.snotify-leftBottom,.snotify-leftCenter,.snotify-leftTop{left:10px}.snotify-rightBottom,.snotify-rightCenter,.snotify-rightTop{right:10px}.snotify-centerBottom,.snotify-centerCenter,.snotify-centerTop{left:calc(50% - 150px)}.snotify-centerTop,.snotify-leftTop,.snotify-rightTop{top:10px}.snotify-centerCenter,.snotify-leftCenter,.snotify-rightCenter{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.snotify-centerBottom,.snotify-leftBottom,.snotify-rightBottom{bottom:10px}.snotify-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000;opacity:0;z-index:9998;-webkit-transition:opacity .3s;transition:opacity .3s}.snotifyToast{display:block;cursor:pointer;background-color:#fff;height:100%;margin:5px;opacity:0;border-radius:5px;overflow:hidden;pointer-events:auto}.snotifyToast--in{-webkit-animation-name:appear;animation-name:appear}.snotifyToast--out{-webkit-animation-name:disappear;animation-name:disappear}.snotifyToast__inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:relative;padding:5px 65px 5px 15px;min-height:78px;font-size:16px;color:#000}.snotifyToast__noIcon{padding:5px 15px}.snotifyToast__progressBar{position:relative;width:100%;height:10px;background-color:#c7c7c7}.snotifyToast__progressBar__percentage{position:absolute;top:0;left:0;height:10px;background-color:#4c4c4c;max-width:100%}.snotifyToast__title{font-size:1.8em;line-height:1.2em;margin-bottom:5px;color:#fff}.snotifyToast__body{font-size:1em}.snotifyToast-show{-webkit-transform:translate(0);transform:translate(0);opacity:1}.snotifyToast-remove{max-height:0;overflow:hidden;-webkit-transform:translateY(50%);transform:translateY(50%);opacity:0}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}.snotify-simple .snotifyToast__body,.snotify-simple .snotifyToast__title{color:#000}.snotify-success{background-color:#4caf50}.snotify-success .snotifyToast__progressBar{background-color:#388e3c}.snotify-success .snotifyToast__progressBar__percentage{background-color:#81c784}.snotify-success .snotifyToast__body{color:#c8e6c9}.snotify-info{background-color:#1e88e5}.snotify-info .snotifyToast__progressBar{background-color:#1565c0}.snotify-info .snotifyToast__progressBar__percentage{background-color:#64b5f6}.snotify-info .snotifyToast__body{color:#e3f2fd}.snotify-warning{background-color:#ff9800}.snotify-warning .snotifyToast__progressBar{background-color:#ef6c00}.snotify-warning .snotifyToast__progressBar__percentage{background-color:#ffcc80}.snotify-warning .snotifyToast__body{color:#fff3e0}.snotify-error{background-color:#f44336}.snotify-error .snotifyToast__progressBar{background-color:#c62828}.snotify-error .snotifyToast__progressBar__percentage{background-color:#ef9a9a}.snotify-error .snotifyToast__body{color:#ffebee}.snotify-async{background-color:#1e88e5}.snotify-async .snotifyToast__progressBar{background-color:#1565c0}.snotify-async .snotifyToast__progressBar__percentage{background-color:#64b5f6}.snotify-async .snotifyToast__body{color:#e3f2fd}.snotify-confirm{background-color:#009688}.snotify-confirm .snotifyToast__progressBar{background-color:#4db6ac}.snotify-confirm .snotifyToast__progressBar__percentage{background-color:#80cbc4}.snotify-confirm .snotifyToast__body{color:#e0f2f1}.snotify-prompt{background-color:#009688}.snotify-prompt .snotifyToast__title{margin-bottom:0}.snotify-prompt .snotifyToast__body{color:#e0f2f1}.snotify-confirm .snotifyToast__inner,.snotify-prompt .snotifyToast__inner{padding:10px 15px}.snotifyToast__input{position:relative;z-index:1;display:inline-block;margin:0;width:100%;vertical-align:top;-webkit-transition:all .5s;transition:all .5s;-webkit-transition-delay:.3s;transition-delay:.3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.snotifyToast__input__field{position:relative;display:block;float:right;padding:.85em .5em;width:100%;border:none;border-radius:0;background:transparent;color:#333;font-weight:700;-webkit-appearance:none;opacity:0;-webkit-transition:opacity .3s;transition:opacity .3s}.snotifyToast__input__field:focus{outline:none}.snotifyToast__input__label{display:inline-block;float:right;padding:0 .85em;width:100%;color:#e0f2f1;font-weight:700;font-size:70.25%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;left:0;height:100%;text-align:left;pointer-events:none}.snotifyToast__input__label:after,.snotifyToast__input__label:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.snotifyToast__input__label:before{border-top:2px solid #fff;-webkit-transform:translate3d(0,100%,0) translate3d(0,-2px,0);transform:translate3d(0,100%,0) translate3d(0,-2px,0);-webkit-transition-delay:.3s;transition-delay:.3s}.snotifyToast__input__label:after{z-index:-1;background:#b2dfdb;-webkit-transform:scaleY(0);transform:scaleY(0);-webkit-transform-origin:50% 0;transform-origin:50% 0}.snotifyToast__input__labelContent{position:relative;display:block;padding:1em 0;width:100%;-webkit-transition:-webkit-transform .3s .3s;transition:-webkit-transform .3s .3s;transition:transform .3s .3s;transition:transform .3s .3s,-webkit-transform .3s .3s}.snotifyToast__input--filled{margin-top:2.5em}.snotifyToast__input--filled .snotifyToast__input__field,.snotifyToast__input--filled:focus{opacity:1;-webkit-transition-delay:.3s;transition-delay:.3s}.snotifyToast__input--filled .snotifyToast__input__labelContent,.snotifyToast__input__field:focus+.snotifyToast__input__label .snotifyToast__input__labelContent{-webkit-transform:translateY(-80%);transform:translateY(-80%);-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.snotifyToast__input--filled .snotifyToast__input__label:before,.snotifyToast__input__field:focus+.snotifyToast__input__label:before{-webkit-transition-delay:0s;transition-delay:0s;-webkit-transform:translate(0);transform:translate(0)}.snotifyToast__input--filled .snotifyToast__input__label:after,.snotifyToast__input__field:focus+.snotifyToast__input__label:after{-webkit-transform:scale(1);transform:scale(1);-webkit-transition-delay:.3s;transition-delay:.3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.snotifyToast--invalid .snotifyToast__input__label:before{border-color:#f44336}.snotifyToast--valid .snotifyToast__input__label:before{border-color:#4caf50}.snotifyToast__buttons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;border-top:1px solid rgba(0,0,0,.1)}.snotifyToast__buttons button{position:relative;width:100%;border:1px solid rgba(0,0,0,.1);border-top:none;border-bottom:none;background:transparent;padding:8px;text-transform:capitalize;color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.snotifyToast__buttons button:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:hsla(0,0%,100%,.3);opacity:0;border-radius:100%;-webkit-transform:scale(1) translate(-50%);transform:scale(1) translate(-50%);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.snotifyToast__buttons button:focus:not(:active):after{-webkit-animation:ripple 1s ease-out;animation:ripple 1s ease-out}.snotifyToast__buttons button:focus,.snotifyToast__buttons button:hover{background:rgba(0,0,0,.1);outline:none}.snotifyToast__buttons button:active{background:rgba(0,0,0,.15)}.snotifyToast__buttons button:last-child{border-right:none}.snotifyToast__buttons button:first-child{border-left:none}.snotifyToast__buttons--bold{font-weight:700}@-webkit-keyframes ripple{0%{-webkit-transform:scale(0);transform:scale(0);opacity:1}20%{-webkit-transform:scale(25);transform:scale(25);opacity:1}to{opacity:0;-webkit-transform:scale(40);transform:scale(40)}}@keyframes ripple{0%{-webkit-transform:scale(0);transform:scale(0);opacity:1}20%{-webkit-transform:scale(25);transform:scale(25);opacity:1}to{opacity:0;-webkit-transform:scale(40);transform:scale(40)}}.snotify-icon{position:absolute;right:10px;top:50%;line-height:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);max-height:48px;max-width:48px;width:100%;height:100%}.snotify-icon--error{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23ffcdd2'%3E%3Cpath d='M437 75A256 256 0 1075 437 256 256 0 10437 75zm-20.57 341.43a226.82 226.82 0 01-320.86 0C7.11 328 7.11 184 95.57 95.57a226.82 226.82 0 01320.86 0c88.46 88.43 88.46 232.43 0 320.86z'/%3E%3Cpath d='M368.81 143.19a14.5 14.5 0 00-20.58 0L256 235.42l-92.23-92.23a14.55 14.55 0 00-20.58 20.58L235.42 256l-92.23 92.23a14.6 14.6 0 0010.24 24.89 14.19 14.19 0 0010.24-4.31l92.23-92.23 92.23 92.23a14.64 14.64 0 0010.24 4.31 14 14 0 0010.24-4.31 14.5 14.5 0 000-20.58l-92-92.23 92.23-92.23a14.5 14.5 0 00-.03-20.58z'/%3E%3C/svg%3E")}.snotify-icon--warning{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23ffccbc'%3E%3Cpath d='M256 512c141.15 0 256-114.84 256-256S397.15 0 256 0 0 114.84 0 256s114.85 256 256 256zm0-480.49c123.79 0 224.49 100.71 224.49 224.49S379.79 480.49 256 480.49 31.51 379.79 31.51 256 132.21 31.51 256 31.51z'/%3E%3Ccircle cx='260.08' cy='343.87' r='26.35'/%3E%3Cpath d='M254.68 278.39a15.76 15.76 0 0015.75-15.75V128.72a15.75 15.75 0 10-31.51 0v133.91a15.76 15.76 0 0015.76 15.76z'/%3E%3C/svg%3E")}.snotify-icon--info{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23bbdefb'%3E%3Cpath d='M256 0C114.84 0 0 114.84 0 256s114.84 256 256 256 256-114.84 256-256S397.15 0 256 0zm0 478.43c-122.65 0-222.43-99.79-222.43-222.43S133.35 33.58 256 33.58 478.42 133.36 478.42 256 378.64 478.43 256 478.43z'/%3E%3Cpath d='M251.26 161.24a22.39 22.39 0 10-22.38-22.39 22.39 22.39 0 0022.38 22.39zM286.84 357.87h-14v-160A16.79 16.79 0 00256 181.05h-30.83a16.79 16.79 0 000 33.58h14.05v143.24h-14.05a16.79 16.79 0 000 33.57h61.67a16.79 16.79 0 100-33.57z'/%3E%3C/svg%3E")}.snotify-icon--success{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23c8e6c9'%3E%3Cpath d='M256 0C114.85 0 0 114.84 0 256s114.85 256 256 256 256-114.84 256-256S397.15 0 256 0zm0 492.31c-130.29 0-236.31-106-236.31-236.31S125.71 19.69 256 19.69 492.31 125.71 492.31 256 386.29 492.31 256 492.31z'/%3E%3Cpath class='cls-1' d='M376.64 151L225.31 321.24l-91.17-72.93a9.85 9.85 0 00-12.3 15.38l98.46 78.77a9.86 9.86 0 0013.52-1.15l157.54-177.23A9.85 9.85 0 00376.64 151z'/%3E%3C/svg%3E")}.snotify-icon--async{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23bbdefb'%3E%3Cpath d='M256 0a32 32 0 00-32 32v64a32 32 0 0064 0V32a32 32 0 00-32-32zm0 384a32 32 0 00-32 32v64a32 32 0 0064 0v-64a32 32 0 00-32-32zm135.74-218.5L437 120.22A32 32 0 00391.74 75l-45.24 45.22a32 32 0 0045.25 45.28zm-271.52 181L75 391.74A32 32 0 00120.22 437l45.25-45.25a32 32 0 00-45.25-45.25zm0-271.52A32 32 0 1075 120.22l45.25 45.28a32 32 0 1045.25-45.28zM391.74 346.5a32 32 0 00-45.25 45.25L391.74 437A32 32 0 00437 391.74zM480 224h-64a32 32 0 000 64h64a32 32 0 000-64zm-352 32a32 32 0 00-32-32H32a32 32 0 000 64h64a32 32 0 0032-32z'/%3E%3C/svg%3E");-webkit-animation:async 3s linear infinite;animation:async 3s linear infinite;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.tablesorter-blue{width:100%;background-color:#fff;margin:10px 0 15px;text-align:left;border-spacing:0;border:1px solid #cdcdcd;border-width:1px 0 0 1px}.tablesorter-blue td,.tablesorter-blue th{border:1px solid #cdcdcd;border-width:0 1px 1px 0}.tablesorter-blue th,.tablesorter-blue thead td{font:12px/18px Arial,Sans-serif;font-weight:700;color:#000;background-color:#99bfe6;border-collapse:collapse;padding:4px;text-shadow:0 1px 0 hsla(0,0%,80%,.7)}.tablesorter-blue tbody td,.tablesorter-blue tfoot td,.tablesorter-blue tfoot th{padding:4px;vertical-align:top}.tablesorter-blue .header,.tablesorter-blue .tablesorter-header{background-image:url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);background-repeat:no-repeat;background-position:100%;padding:4px 18px 4px 4px;white-space:normal;cursor:pointer}.tablesorter-blue .headerSortUp,.tablesorter-blue .tablesorter-headerAsc,.tablesorter-blue .tablesorter-headerSortUp{background-color:#9fbfdf;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7)}.tablesorter-blue .headerSortDown,.tablesorter-blue .tablesorter-headerDesc,.tablesorter-blue .tablesorter-headerSortDown{background-color:#8cb3d9;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7)}.tablesorter-blue thead .sorter-false{background-image:none;cursor:default;padding:4px}.tablesorter-blue tfoot .tablesorter-headerAsc,.tablesorter-blue tfoot .tablesorter-headerDesc,.tablesorter-blue tfoot .tablesorter-headerSortDown,.tablesorter-blue tfoot .tablesorter-headerSortUp{background-image:none}.tablesorter-blue td{color:#3d3d3d;background-color:#fff;padding:4px;vertical-align:top}.tablesorter-blue tbody>tr.even.hover>td,.tablesorter-blue tbody>tr.even:hover+tr.tablesorter-childRow+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.even:hover+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.even:hover>td,.tablesorter-blue tbody>tr.hover>td,.tablesorter-blue tbody>tr:hover+tr.tablesorter-childRow+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr:hover+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr:hover>td{background-color:#d9d9d9}.tablesorter-blue tbody>tr.odd.hover>td,.tablesorter-blue tbody>tr.odd:hover+tr.tablesorter-childRow+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.odd:hover+tr.tablesorter-childRow>td,.tablesorter-blue tbody>tr.odd:hover>td{background-color:#bfbfbf}.tablesorter-blue .tablesorter-processing{background-position:50%!important;background-repeat:no-repeat!important;background-image:url(data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=)!important}.tablesorter-blue tbody tr.odd>td{background-color:#ebf2fa}.tablesorter-blue tbody tr.even>td{background-color:#fff}.tablesorter-blue td.primary,.tablesorter-blue tr.odd td.primary{background-color:#99b3e6}.tablesorter-blue td.secondary,.tablesorter-blue tr.even td.primary,.tablesorter-blue tr.odd td.secondary{background-color:#c2d1f0}.tablesorter-blue td.tertiary,.tablesorter-blue tr.even td.secondary,.tablesorter-blue tr.odd td.tertiary{background-color:#d6e0f5}.tablesorter-blue tr.even td.tertiary{background-color:#ebf0fa}.tablesorter-blue>caption{background-color:#fff}.tablesorter-blue .tablesorter-filter-row{background-color:#eee}.tablesorter-blue .tablesorter-filter-row td{background-color:#eee;line-height:normal;text-align:center;-webkit-transition:line-height .1s ease;-moz-transition:line-height .1s ease;-o-transition:line-height .1s ease;transition:line-height .1s ease}.tablesorter-blue .tablesorter-filter-row .disabled{opacity:.5;cursor:not-allowed}.tablesorter-blue .tablesorter-filter-row.hideme td{padding:2px;margin:0;line-height:0;cursor:pointer}.tablesorter-blue .tablesorter-filter-row.hideme *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}.tablesorter-blue input.tablesorter-filter,.tablesorter-blue select.tablesorter-filter{width:98%;height:auto;margin:0;padding:4px;background-color:#fff;border:1px solid #bbb;color:#333;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:height .1s ease;-moz-transition:height .1s ease;-o-transition:height .1s ease;transition:height .1s ease}.tablesorter .filtered{display:none}.tablesorter .tablesorter-errorRow td{text-align:center;cursor:pointer;background-color:#e6bf99}@font-face{font-family:Open Sans;font-style:normal;font-weight:300;src:local("Open Sans Light"),local("OpenSans-Light"),url(../fonts/open-sans-v15-latin-300.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:italic;font-weight:300;src:local("Open Sans Light Italic"),local("OpenSans-LightItalic"),url(../fonts/open-sans-v15-latin-300italic.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(../fonts/open-sans-v15-latin-regular.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:italic;font-weight:400;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(../fonts/open-sans-v15-latin-italic.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:italic;font-weight:600;src:local("Open Sans SemiBold Italic"),local("OpenSans-SemiBoldItalic"),url(../fonts/open-sans-v15-latin-600italic.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;src:local("Open Sans SemiBold"),local("OpenSans-SemiBold"),url(../fonts/open-sans-v15-latin-600.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(../fonts/open-sans-v15-latin-700.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:italic;font-weight:700;src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(../fonts/open-sans-v15-latin-700italic.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:normal;font-weight:800;src:local("Open Sans ExtraBold"),local("OpenSans-ExtraBold"),url(../fonts/open-sans-v15-latin-800.ttf) format("truetype")}@font-face{font-family:Open Sans;font-style:italic;font-weight:800;src:local("Open Sans ExtraBold Italic"),local("OpenSans-ExtraBoldItalic"),url(../fonts/open-sans-v15-latin-800italic.ttf) format("truetype")}fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:48px;height:35px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border:2px solid transparent;border-top-color:#41b883;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;-ms-touch-action:manipulation;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input:-ms-input-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"\D7";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus,.multiselect__tag-icon:hover{background:#369a6e}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 0;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}} \ No newline at end of file diff --git a/themes/light/assets/js/app.js b/themes/light/assets/js/app.js index 10aace1bcb..07cb283195 100644 --- a/themes/light/assets/js/app.js +++ b/themes/light/assets/js/app.js @@ -1,15 +1 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["app"],{ - -/***/ "./src/app.js": -/*!********************!*\ - !*** ./src/app.js ***! - \********************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.js\");\n/* harmony import */ var _global_vue_shim__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./global-vue-shim */ \"./src/global-vue-shim.js\");\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./router */ \"./src/router/index.js\");\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./store */ \"./src/store/index.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/core */ \"./src/utils/core.js\");\n\n\n\n\n\n\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].config.devtools = true;\nvue__WEBPACK_IMPORTED_MODULE_0__[\"default\"].config.performance = true;\nObject(_global_vue_shim__WEBPACK_IMPORTED_MODULE_1__[\"registerPlugins\"])(); // @TODO: Remove this before v1.0.0\n\nObject(_global_vue_shim__WEBPACK_IMPORTED_MODULE_1__[\"registerGlobalComponents\"])();\nconst app = new vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({\n name: 'app',\n router: _router__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n store: _store__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n\n data() {\n return {\n globalLoading: false,\n pageComponent: false\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_4__[\"mapState\"])({\n showsLoading: state => state.shows.loading\n })\n },\n\n mounted() {\n const {\n getShows,\n setLoadingDisplay,\n setLoadingFinished\n } = this;\n\n if (_utils_core__WEBPACK_IMPORTED_MODULE_5__[\"isDevelopment\"]) {\n console.log('App Mounted!');\n }\n\n if (!window.location.pathname.includes('/login')) {\n const {\n $store\n } = this;\n Promise.all([$store.dispatch('login', {\n username: window.username\n }), $store.dispatch('getConfig'), $store.dispatch('getStats')]).then(([_, config]) => {\n if (_utils_core__WEBPACK_IMPORTED_MODULE_5__[\"isDevelopment\"]) {\n console.log('App Loaded!');\n } // Legacy - send config.general to jQuery (received by index.js)\n\n\n const event = new CustomEvent('medusa-config-loaded', {\n detail: {\n general: config.general,\n layout: config.layout\n }\n });\n window.dispatchEvent(event);\n }).catch(error => {\n console.debug(error);\n alert('Unable to connect to Medusa!'); // eslint-disable-line no-alert\n });\n } // Let's bootstrap the app with essential data.\n\n\n getShows().then(() => {\n console.log('Finished loading all shows.');\n setTimeout(() => {\n setLoadingFinished(true);\n setLoadingDisplay(false);\n }, 2000);\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_4__[\"mapActions\"])({\n getShows: 'getShows'\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_4__[\"mapMutations\"])(['setLoadingDisplay', 'setLoadingFinished'])\n }\n}).$mount('#vue-wrap');\n/* harmony default export */ __webpack_exports__[\"default\"] = (app);\n\n//# sourceURL=webpack:///./src/app.js?"); - -/***/ }) - -},[["./src/app.js","vendors","medusa-runtime","vendors~date-fns"]]]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{289:function(e,o,t){"use strict";t.r(o);var n=t(5),a=t(30),s=t(24),i=t(23),d=t(1),c=t(4);n.default.config.devtools=!0,n.default.config.performance=!0,Object(a.c)(),Object(a.b)();const l=new n.default({name:"app",router:s.b,store:i.a,data:()=>({globalLoading:!1,pageComponent:!1}),computed:{...Object(d.f)({showsLoading:e=>e.shows.loading})},mounted(){const{getShows:e,setLoadingDisplay:o,setLoadingFinished:t}=this;if(c.g&&console.log("App Mounted!"),!window.location.pathname.includes("/login")){const{$store:e}=this;Promise.all([e.dispatch("login",{username:window.username}),e.dispatch("getConfig"),e.dispatch("getStats")]).then(([e,o])=>{c.g&&console.log("App Loaded!");const t=new CustomEvent("medusa-config-loaded",{detail:{general:o.general,layout:o.layout}});window.dispatchEvent(t)}).catch(e=>{console.debug(e),alert("Unable to connect to Medusa!")})}e().then(()=>{console.log("Finished loading all shows."),setTimeout(()=>{t(!0),o(!1)},2e3)})},methods:{...Object(d.c)({getShows:"getShows"}),...Object(d.e)(["setLoadingDisplay","setLoadingFinished"])}}).$mount("#vue-wrap");o.default=l}},[[289,1,0,2]]]); \ No newline at end of file diff --git a/themes/light/assets/js/index.js b/themes/light/assets/js/index.js index a390efc75a..9750fe3142 100644 --- a/themes/light/assets/js/index.js +++ b/themes/light/assets/js/index.js @@ -1,15 +1 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["index"],{ - -/***/ "./src/index.js": -/*!**********************!*\ - !*** ./src/index.js ***! - \**********************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! bootstrap */ \"./node_modules/bootstrap/dist/js/npm.js\");\n/* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(bootstrap__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var bootstrap_dist_css_bootstrap_min_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bootstrap/dist/css/bootstrap.min.css */ \"./node_modules/bootstrap/dist/css/bootstrap.min.css\");\n/* harmony import */ var bootstrap_dist_css_bootstrap_min_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(bootstrap_dist_css_bootstrap_min_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue_snotify_styles_material_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue-snotify/styles/material.css */ \"./node_modules/vue-snotify/styles/material.css\");\n/* harmony import */ var vue_snotify_styles_material_css__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vue_snotify_styles_material_css__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _vendor_js_tablesorter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../vendor/js/tablesorter */ \"./vendor/js/tablesorter.js\");\n/* harmony import */ var _vendor_css_open_sans_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../vendor/css/open-sans.css */ \"./vendor/css/open-sans.css\");\n/* harmony import */ var _vendor_css_open_sans_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_vendor_css_open_sans_css__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue-js-toggle-button */ \"./node_modules/vue-js-toggle-button/dist/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! axios */ \"./node_modules/axios/index.js\");\n/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\");\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./store */ \"./src/store/index.js\");\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./router */ \"./src/router/index.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./api */ \"./src/api.js\");\n/* harmony import */ var _global_vue_shim__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./global-vue-shim */ \"./src/global-vue-shim.js\");\n/* eslint-disable import/no-unassigned-import */\n\n\n\n\n\n\n/* eslint-enable import/no-unassigned-import */\n\n\n\n\n\n\n\n\n\n\n\nif (window) {\n // @TODO: Remove this before v1.0.0\n window.globalVueShim = _global_vue_shim__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; // Adding libs to window so mako files can use them\n\n window.$ = jquery__WEBPACK_IMPORTED_MODULE_0___default.a;\n window.jQuery = jquery__WEBPACK_IMPORTED_MODULE_0___default.a;\n window.Vue = vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\n window.Vuex = vuex__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n window.ToggleButton = vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_8__[\"ToggleButton\"];\n window.axios = axios__WEBPACK_IMPORTED_MODULE_9___default.a;\n window._ = {\n debounce: (lodash_debounce__WEBPACK_IMPORTED_MODULE_10___default())\n };\n window.store = _store__WEBPACK_IMPORTED_MODULE_11__[\"default\"];\n window.router = _router__WEBPACK_IMPORTED_MODULE_12__[\"default\"];\n window.apiRoute = _api__WEBPACK_IMPORTED_MODULE_13__[\"apiRoute\"];\n window.apiv1 = _api__WEBPACK_IMPORTED_MODULE_13__[\"apiv1\"];\n window.api = _api__WEBPACK_IMPORTED_MODULE_13__[\"api\"];\n window.MEDUSA = {\n common: {},\n config: {\n general: {},\n layout: {}\n },\n home: {},\n addShows: {}\n };\n window.webRoot = _api__WEBPACK_IMPORTED_MODULE_13__[\"webRoot\"];\n window.apiKey = _api__WEBPACK_IMPORTED_MODULE_13__[\"apiKey\"]; // Push x-template components to this array to register them globally\n\n window.components = [];\n}\n\nconst UTIL = {\n exec(controller, action) {\n const ns = MEDUSA;\n action = action === undefined ? 'init' : action;\n\n if (controller !== '' && ns[controller] && typeof ns[controller][action] === 'function') {\n ns[controller][action]();\n }\n },\n\n init() {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[v-cloak]').removeAttr('v-cloak');\n const {\n body\n } = document;\n const controller = body.getAttribute('data-controller');\n const action = body.getAttribute('data-action');\n UTIL.exec('common'); // Load common\n\n UTIL.exec(controller); // Load MEDUSA[controller]\n\n UTIL.exec(controller, action); // Load MEDUSA[controller][action]\n\n window.dispatchEvent(new Event('medusa-loaded'));\n }\n\n};\nconst {\n pathname\n} = window.location;\n\nif (!pathname.includes('/login') && !pathname.includes('/apibuilder')) {\n const configLoaded = event => {\n const {\n general,\n layout\n } = event.detail;\n MEDUSA.config.general = { ...MEDUSA.config.general,\n ...general\n };\n const themeSpinner = layout.themeName === 'dark' ? '-dark' : '';\n MEDUSA.config.layout = { ...MEDUSA.config.layout,\n ...layout,\n themeSpinner,\n loading: ''\n };\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).ready(UTIL.init);\n };\n\n window.addEventListener('medusa-config-loaded', configLoaded, {\n once: true\n });\n}\n\n//# sourceURL=webpack:///./src/index.js?"); - -/***/ }) - -},[["./src/index.js","vendors","medusa-runtime","vendors~date-fns"]]]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{147:function(o,n,e){"use strict";e.r(n);var i=e(6),t=e.n(i),d=(e(148),e(161),e(162),e(163),e(171),e(5)),w=e(1),a=e(16),c=e(28),l=e.n(c),u=e(27),g=e.n(u),r=e(23),s=e(24),m=e(3),p=e(30);window&&(window.globalVueShim=p.a,window.$=t.a,window.jQuery=t.a,window.Vue=d.default,window.Vuex=w.b,window.ToggleButton=a.ToggleButton,window.axios=l.a,window._={debounce:g()},window.store=r.a,window.router=s.b,window.apiRoute=m.c,window.apiv1=m.d,window.api=m.a,window.MEDUSA={common:{},config:{general:{},layout:{}},home:{},addShows:{}},window.webRoot=m.e,window.apiKey=m.b,window.components=[]);const b={exec(o,n){const e=MEDUSA;n=void 0===n?"init":n,""!==o&&e[o]&&"function"==typeof e[o][n]&&e[o][n]()},init(){t()("[v-cloak]").removeAttr("v-cloak");const{body:o}=document,n=o.getAttribute("data-controller"),e=o.getAttribute("data-action");b.exec("common"),b.exec(n),b.exec(n,e),window.dispatchEvent(new Event("medusa-loaded"))}},{pathname:f}=window.location;if(!f.includes("/login")&&!f.includes("/apibuilder")){const o=o=>{const{general:n,layout:e}=o.detail;MEDUSA.config.general={...MEDUSA.config.general,...n};const i="dark"===e.themeName?"-dark":"";MEDUSA.config.layout={...MEDUSA.config.layout,...e,themeSpinner:i,loading:''},t()(document).ready(b.init)};window.addEventListener("medusa-config-loaded",o,{once:!0})}}},[[147,1,0,2]]]); \ No newline at end of file diff --git a/themes/light/assets/js/medusa-runtime.js b/themes/light/assets/js/medusa-runtime.js index d41a4d67a2..43593cc14f 100644 --- a/themes/light/assets/js/medusa-runtime.js +++ b/themes/light/assets/js/medusa-runtime.js @@ -1,5239 +1 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["medusa-runtime"],{ - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/add-recommended.vue?vue&type=script&lang=js&": -/*!***************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/add-recommended.vue?vue&type=script&lang=js& ***! - \***************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'add-recommended',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"AppLink\"]\n },\n computed: {\n header() {\n return this.$route.meta.header;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/add-recommended.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/add-show-options.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/add-show-options.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var _anidb_release_group_ui_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./anidb-release-group-ui.vue */ \"./src/components/anidb-release-group-ui.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'add-show-options',\n components: {\n AnidbReleaseGroupUi: _anidb_release_group_ui_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n ConfigToggleSlider: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigToggleSlider\"],\n QualityChooser: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"QualityChooser\"]\n },\n props: {\n showName: {\n type: String,\n default: '',\n required: false\n },\n enableAnimeOptions: {\n type: Boolean,\n default: false\n }\n },\n\n data() {\n return {\n saving: false,\n selectedStatus: null,\n selectedStatusAfter: null,\n quality: {\n allowed: [],\n preferred: []\n },\n selectedSubtitleEnabled: false,\n selectedSeasonFoldersEnabled: false,\n selectedAnimeEnabled: false,\n selectedSceneEnabled: false,\n release: {\n blacklist: [],\n whitelist: []\n }\n };\n },\n\n mounted() {\n const {\n defaultConfig,\n update\n } = this;\n this.selectedStatus = defaultConfig.status;\n this.selectedStatusAfter = defaultConfig.statusAfter;\n this.$nextTick(() => update());\n this.$watch(vm => [vm.selectedStatus, vm.selectedStatusAfter, vm.selectedSubtitleEnabled, vm.selectedSeasonFoldersEnabled, vm.selectedSceneEnabled, vm.selectedAnimeEnabled].join(), () => {\n this.update();\n });\n },\n\n methods: {\n update() {\n const {\n selectedSubtitleEnabled,\n selectedStatus,\n selectedStatusAfter,\n selectedSeasonFoldersEnabled,\n selectedAnimeEnabled,\n selectedSceneEnabled,\n release,\n quality\n } = this;\n this.$nextTick(() => {\n this.$emit('change', {\n subtitles: selectedSubtitleEnabled,\n status: selectedStatus,\n statusAfter: selectedStatusAfter,\n seasonFolders: selectedSeasonFoldersEnabled,\n anime: selectedAnimeEnabled,\n scene: selectedSceneEnabled,\n release,\n quality\n });\n });\n },\n\n onChangeReleaseGroupsAnime(groupNames) {\n this.release.whitelist = groupNames.whitelist;\n this.release.blacklist = groupNames.blacklist;\n this.update();\n },\n\n saveDefaults() {\n const {\n $store,\n selectedStatus,\n selectedStatusAfter,\n combinedQualities,\n selectedSubtitleEnabled,\n selectedSeasonFoldersEnabled,\n selectedAnimeEnabled,\n selectedSceneEnabled\n } = this;\n const section = 'main';\n const config = {\n showDefaults: {\n status: selectedStatus,\n statusAfter: selectedStatusAfter,\n quality: combinedQualities,\n subtitles: selectedSubtitleEnabled,\n seasonFolders: selectedSeasonFoldersEnabled,\n anime: selectedAnimeEnabled,\n scene: selectedSceneEnabled\n }\n };\n this.saving = true;\n $store.dispatch('setConfig', {\n section,\n config\n }).then(() => {\n this.$snotify.success('Your \"add show\" defaults have been set to your current selections.', 'Saved Defaults');\n }).catch(error => {\n this.$snotify.error('Error while trying to save \"add show\" defaults: ' + (error.message || 'Unknown'), 'Error');\n }).finally(() => {\n this.saving = false;\n });\n }\n\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n defaultConfig: state => state.config.general.showDefaults,\n namingForceFolders: state => state.config.general.namingForceFolders,\n subtitlesEnabled: state => state.config.general.subtitles.enabled,\n episodeStatuses: state => state.config.consts.statuses\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])(['getStatus']),\n\n defaultEpisodeStatusOptions() {\n const {\n getStatus\n } = this;\n\n if (this.episodeStatuses.length === 0) {\n return [];\n } // Get status objects, in this order\n\n\n return ['skipped', 'wanted', 'ignored'].map(key => getStatus({\n key\n }));\n },\n\n /**\n * Calculate the combined value of the selected qualities.\n * @returns {number} - An unsigned integer.\n */\n combinedQualities() {\n const {\n quality\n } = this;\n const {\n allowed,\n preferred\n } = quality;\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"combineQualities\"])(allowed, preferred);\n },\n\n /**\n * Check if any changes were made to determine if the \"Save Defaults\" button should be enabled.\n * @returns {boolean} - Should the save default buttons be disabled?\n */\n saveDefaultsDisabled() {\n const {\n enableAnimeOptions,\n defaultConfig,\n namingForceFolders,\n selectedStatus,\n selectedStatusAfter,\n combinedQualities,\n selectedSeasonFoldersEnabled,\n selectedSubtitleEnabled,\n selectedAnimeEnabled,\n selectedSceneEnabled\n } = this;\n return [selectedStatus === defaultConfig.status, selectedStatusAfter === defaultConfig.statusAfter, combinedQualities === defaultConfig.quality, selectedSeasonFoldersEnabled === (defaultConfig.seasonFolders || namingForceFolders), selectedSubtitleEnabled === defaultConfig.subtitles, !enableAnimeOptions || selectedAnimeEnabled === defaultConfig.anime, selectedSceneEnabled === defaultConfig.scene].every(Boolean);\n }\n\n },\n watch: {\n release: {\n handler() {\n this.$emit('refresh');\n this.update();\n },\n\n deep: true,\n immediate: false\n },\n\n /**\n * Whenever something changes that can impact the height of the component,\n * we need to update the parent formWizard, and make it resize.\n */\n quality: {\n handler() {\n this.$emit('refresh');\n this.update();\n },\n\n deep: true,\n immediate: false\n },\n\n selectedAnimeEnabled() {\n this.$emit('refresh');\n this.update();\n },\n\n defaultConfig(newValue) {\n const {\n namingForceFolders\n } = this;\n this.selectedStatus = newValue.status;\n this.selectedStatusAfter = newValue.statusAfter;\n this.selectedSubtitleEnabled = newValue.subtitles;\n this.selectedAnimeEnabled = newValue.anime;\n this.selectedSeasonFoldersEnabled = newValue.seasonFolders || namingForceFolders;\n this.selectedSceneEnabled = newValue.scene;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/add-show-options.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/add-shows.vue?vue&type=script&lang=js&": -/*!*********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/add-shows.vue?vue&type=script&lang=js& ***! - \*********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'add-shows',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"AppLink\"]\n },\n computed: {\n header() {\n return this.$route.meta.header;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/add-shows.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/anidb-release-group-ui.vue?vue&type=script&lang=js&": -/*!**********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/anidb-release-group-ui.vue?vue&type=script&lang=js& ***! - \**********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../api */ \"./src/api.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'anidb-release-group-ui',\n components: {\n StateSwitch: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"StateSwitch\"]\n },\n props: {\n showName: {\n type: String,\n required: true\n },\n blacklist: {\n type: Array,\n default: () => []\n },\n whitelist: {\n type: Array,\n default: () => []\n }\n },\n\n data() {\n return {\n index: 0,\n allReleaseGroups: [],\n newGroup: '',\n fetchingGroups: false,\n remoteGroups: []\n };\n },\n\n mounted() {\n this.createIndexedObjects(this.blacklist, 'blacklist');\n this.createIndexedObjects(this.whitelist, 'whitelist');\n this.createIndexedObjects(this.remoteGroups, 'releasegroups');\n this.fetchGroups();\n },\n\n methods: {\n async fetchGroups() {\n const {\n showName\n } = this;\n\n if (!showName) {\n return;\n }\n\n this.fetchingGroups = true;\n console.log('Fetching release groups');\n const params = {\n series_name: showName // eslint-disable-line camelcase\n\n };\n\n try {\n const {\n data\n } = await _api__WEBPACK_IMPORTED_MODULE_1__[\"apiRoute\"].get('home/fetch_releasegroups', {\n params,\n timeout: 30000\n });\n\n if (data.result !== 'success') {\n throw new Error('Failed to get release groups, check server logs for errors.');\n }\n\n this.remoteGroups = data.groups || [];\n } catch (error) {\n const message = `Error while trying to fetch release groups for show \"${showName}\": ${error || 'Unknown'}`;\n this.$snotify.warning(message, 'Error');\n console.error(message);\n } finally {\n this.fetchingGroups = false;\n }\n },\n\n toggleItem(release) {\n this.allReleaseGroups = this.allReleaseGroups.map(x => {\n if (x.id === release.id) {\n x.toggled = !x.toggled;\n }\n\n return x;\n });\n },\n\n createIndexedObjects(releaseGroups, list) {\n for (let release of releaseGroups) {\n // Whitelist and blacklist pass an array of strings not objects.\n if (typeof release === 'string') {\n release = {\n name: release\n };\n } // Merge the passed object with some additional information.\n\n\n const itemAsObject = Object.assign({\n id: this.index,\n toggled: false,\n memberOf: list\n }, release);\n\n if (this.allReleaseGroups.filter(group => group.name === itemAsObject.name && group.memberOf === list).length === 0) {\n this.allReleaseGroups.push(itemAsObject);\n this.index += 1; // Increment the counter for our next item.\n }\n }\n },\n\n moveToList(list) {\n // Only move items that have been toggled and that are not yet in that list.\n // It's matching them by item.name.\n for (const group of this.allReleaseGroups) {\n const inList = this.allReleaseGroups.find(releaseGroup => {\n return releaseGroup.memberOf === list && releaseGroup.name === group.name;\n }) !== undefined;\n\n if (group.toggled && !inList) {\n group.toggled = false;\n group.memberOf = list;\n }\n }\n /*\n * Check if there is a value in the custom release group input box,\n * and move this to the selected group (whitelist or blacklist)\n */\n\n\n if (this.newGroup && list !== 'releasegroups') {\n this.allReleaseGroups.push({\n id: this.index,\n name: this.newGroup,\n toggled: false,\n memberOf: list\n });\n this.index += 1;\n this.newGroup = '';\n }\n },\n\n deleteFromList(list) {\n this.allReleaseGroups = this.allReleaseGroups.filter(x => x.memberOf !== list || !x.toggled);\n }\n\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n layout: state => state.config.layout\n }),\n\n itemsWhitelist() {\n return this.allReleaseGroups.filter(x => x.memberOf === 'whitelist');\n },\n\n itemsBlacklist() {\n return this.allReleaseGroups.filter(x => x.memberOf === 'blacklist');\n },\n\n itemsReleaseGroups() {\n return this.allReleaseGroups.filter(x => x.memberOf === 'releasegroups');\n },\n\n showDeleteFromWhitelist() {\n return this.allReleaseGroups.filter(x => x.memberOf === 'whitelist' && x.toggled === true).length !== 0;\n },\n\n showDeleteFromBlacklist() {\n return this.allReleaseGroups.filter(x => x.memberOf === 'blacklist' && x.toggled === true).length !== 0;\n }\n\n },\n watch: {\n showName() {\n this.fetchGroups();\n },\n\n allReleaseGroups: {\n deep: true,\n\n handler(items) {\n const groupNames = {\n whitelist: [],\n blacklist: []\n };\n items.forEach(item => {\n if (Object.keys(groupNames).includes(item.memberOf)) {\n groupNames[item.memberOf].push(item.name);\n }\n });\n this.$emit('change', groupNames);\n }\n\n },\n\n remoteGroups(newGroups) {\n this.createIndexedObjects(newGroups, 'releasegroups');\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/anidb-release-group-ui.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/app-footer.vue?vue&type=script&lang=js&": -/*!**********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/app-footer.vue?vue&type=script&lang=js& ***! - \**********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var date_fns_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! date-fns/format */ \"./node_modules/date-fns/esm/format/index.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'app-footer',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"AppLink\"]\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n layout: state => state.config.layout,\n system: state => state.config.system,\n stats: state => state.stats\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])(['getStatus', 'getScheduler']),\n\n snatchedStatus() {\n const status = this.getStatus({\n key: 'snatched'\n });\n return status ? status.value : '';\n },\n\n episodePercentage() {\n const {\n downloaded,\n total\n } = this.stats.overall.episodes;\n\n if (!total) {\n return '';\n }\n\n const raw = downloaded / total * 100;\n return raw.toFixed(1) + '%';\n },\n\n nowInUserPreset() {\n const {\n dateStyle,\n timeStyle\n } = this.layout;\n const preset = Object(_utils_core__WEBPACK_IMPORTED_MODULE_2__[\"convertDateFormat\"])(`${dateStyle} ${timeStyle}`);\n return Object(date_fns_format__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(new Date(), preset);\n }\n\n },\n methods: {\n /**\n * Return a formatted next run time of the scheduler matching the provided key.\n *\n * @param {string} scheduler A scheduler key.\n * @returns {string} The formatted next run time.\n */\n schedulerNextRun(scheduler) {\n /** @type {import('../store/modules/system').Scheduler} */\n const {\n nextRun\n } = this.getScheduler(scheduler); // The next run can be `undefined` when the scheduler was not initialized\n // on the backend, and `null` when the scheduler is not enabled.\n\n if (nextRun === undefined) {\n return '??:??:??';\n }\n\n if (nextRun === null) {\n return 'Disabled';\n }\n\n return this.formatTimeDuration(nextRun);\n },\n\n /**\n * Return a formatted string representing the provided duration.\n *\n * This function will not use any units greater than a day.\n * @param {number} durationInMs Duration of time in milliseconds.\n * @returns {string} The formatted duration.\n *\n * @example\n */\n formatTimeDuration(durationInMs) {\n const days = Number.parseInt(durationInMs / 86400000, 10);\n let daysText = '';\n\n if (days > 0) {\n daysText = String(days) + (days > 1 ? ' days, ' : ' day, ');\n }\n\n const date = new Date(durationInMs % 86400000);\n\n const zeroPad = (num, len = 2) => String(num).padStart(len, '0');\n\n const hours = String(date.getUTCHours());\n const minutes = zeroPad(date.getUTCMinutes());\n const seconds = zeroPad(date.getUTCSeconds() + Math.round(date.getUTCMilliseconds() / 1000));\n return daysText + [hours, minutes, seconds].join(':');\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/app-footer.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/app-header.vue?vue&type=script&lang=js&": -/*!**********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/app-header.vue?vue&type=script&lang=js& ***! - \**********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'app-header',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"AppLink\"]\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n clients: state => state.config.clients,\n notifiers: state => state.config.notifiers,\n postprocessing: state => state.config.postprocessing,\n search: state => state.config.search,\n system: state => state.config.system,\n isAuthenticated: state => state.auth.isAuthenticated,\n username: state => state.auth.user.username,\n warningLevel: state => state.config.general.logs.loggingLevels.warning\n }),\n\n recentShows() {\n const {\n config\n } = this;\n const {\n recentShows\n } = config;\n return recentShows.map(show => {\n const {\n name,\n indexerName,\n showId\n } = show;\n const link = `home/displayShow?indexername=${indexerName}&seriesid=${showId}`;\n return {\n name,\n link\n };\n });\n },\n\n topMenu() {\n return this.$route.meta.topMenu;\n },\n\n toolsBadgeCount() {\n const {\n config\n } = this;\n const {\n system\n } = this;\n const {\n logs\n } = config;\n const {\n news\n } = system;\n return logs.numErrors + logs.numWarnings + news.unread;\n },\n\n toolsBadgeClass() {\n const {\n config\n } = this;\n const {\n logs\n } = config;\n\n if (logs.numErrors > 0) {\n return ' btn-danger';\n }\n\n if (logs.numWarnings > 0) {\n return ' btn-warning';\n }\n\n return '';\n },\n\n linkVisible() {\n const {\n clients,\n config,\n notifiers,\n postprocessing,\n search\n } = this;\n const {\n subtitles\n } = config;\n const {\n general\n } = search;\n const {\n kodi,\n plex,\n emby\n } = notifiers;\n return {\n plex: plex.server.enabled && plex.server.host.length !== 0,\n kodi: kodi.enabled && kodi.host.length !== 0,\n\n /* @TODO: Originally there was a check to make sure the API key\n was configured for Emby: ` app.EMBY_APIKEY != '' ` */\n emby: emby.enabled && emby.host,\n manageTorrents: clients.torrents.enabled && clients.torrents.method !== 'blackhole',\n failedDownloads: general.failedDownloads.enabled,\n subtitleMissed: subtitles.enabled,\n subtitleMissedPP: postprocessing.postponeIfNoSubs\n };\n }\n\n },\n\n mounted() {\n const {\n $el\n } = this; // Auto close menus when clicking a RouterLink\n\n $el.clickCloseMenus = event => {\n const {\n target\n } = event;\n\n if (target.matches('#main_nav a.router-link, #main_nav a.router-link *')) {\n const dropdown = target.closest('.dropdown');\n dropdown.querySelector('.dropdown-toggle').setAttribute('aria-expanded', false);\n dropdown.querySelector('.dropdown-menu').style.display = 'none'; // Also collapse the main nav if it's open\n\n $('#main_nav').collapse('hide');\n }\n };\n\n $el.addEventListener('click', $el.clickCloseMenus, {\n passive: true\n }); // Hover Dropdown for Nav\n\n $($el).on({\n mouseenter(event) {\n const $target = $(event.currentTarget);\n $target.find('.dropdown-menu').stop(true, true).delay(200).fadeIn(500, () => {\n $target.find('.dropdown-toggle').attr('aria-expanded', 'true');\n });\n },\n\n mouseleave(event) {\n const $target = $(event.currentTarget);\n $target.find('.dropdown-toggle').attr('aria-expanded', 'false');\n $target.find('.dropdown-menu').stop(true, true).delay(200).fadeOut(500);\n }\n\n }, 'ul.nav li.dropdown'); // @TODO Replace this with a real touchscreen check\n // hack alert: if we don't have a touchscreen, and we are already hovering the mouse, then click should link instead of toggle\n\n if ((navigator.maxTouchPoints || 0) < 2) {\n $($el).on('click', '.dropdown-toggle', event => {\n const $target = $(event.currentTarget);\n\n if ($target.attr('aria-expanded') === 'true') {\n window.location.href = $target.attr('href');\n }\n });\n }\n },\n\n destroyed() {\n // Revert `mounted()`\n const {\n $el\n } = this; // Auto close menus when clicking a RouterLink\n\n $el.removeEventListener('click', $el.clickCloseMenus); // Hover Dropdown for Nav\n\n $($el).off('mouseenter mouseleave', 'ul.nav li.dropdown'); // @TODO Replace this with a real touchscreen check\n // hack alert: if we don't have a touchscreen, and we are already hovering the mouse, then click should link instead of toggle\n\n if ((navigator.maxTouchPoints || 0) < 2) {\n $($el).off('click', '.dropdown-toggle');\n }\n },\n\n methods: {\n confirmDialog(event, action) {\n const options = {\n confirmButton: 'Yes',\n cancelButton: 'Cancel',\n dialogClass: 'modal-dialog',\n post: false,\n button: $(event.currentTarget),\n\n confirm($element) {\n window.location.href = $element[0].href;\n }\n\n };\n\n if (action === 'restart') {\n options.title = 'Restart';\n options.text = 'Are you sure you want to restart Medusa?';\n } else if (action === 'shutdown') {\n options.title = 'Shutdown';\n options.text = 'Are you sure you want to shutdown Medusa?';\n } else if (action === 'logout') {\n options.title = 'Logout';\n options.text = 'Are you sure you want to logout from Medusa?';\n } else {\n return;\n }\n\n $.confirm(options, event);\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/app-header.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/backstretch.vue?vue&type=script&lang=js&": -/*!***********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/backstretch.vue?vue&type=script&lang=js& ***! - \***********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../api */ \"./src/api.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'backstretch',\n render: h => h(),\n // Doesn't render anything\n props: {\n slug: String\n },\n\n data() {\n return {\n created: false\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n enabled: state => state.config.layout.fanartBackground,\n opacity: state => state.config.layout.fanartBackgroundOpacity\n }),\n\n offset() {\n let offset = '90px';\n\n if ($('#sub-menu-container').length === 0) {\n offset = '50px';\n }\n\n if ($(window).width() < 1280) {\n offset = '50px';\n }\n\n return offset;\n }\n\n },\n\n async mounted() {\n try {\n await Object(_utils_core__WEBPACK_IMPORTED_MODULE_2__[\"waitFor\"])(() => this.enabled !== null);\n } catch (error) {\n console.error(error);\n }\n\n if (!this.enabled) {\n return;\n }\n\n const {\n opacity,\n slug,\n offset\n } = this;\n\n if (slug) {\n const imgUrl = `${_api__WEBPACK_IMPORTED_MODULE_1__[\"webRoot\"]}/api/v2/series/${slug}/asset/fanart?api_key=${_api__WEBPACK_IMPORTED_MODULE_1__[\"apiKey\"]}`; // If no element is supplied, attaches to ``\n\n const {\n $wrap\n } = $.backstretch(imgUrl);\n $wrap.css('top', offset);\n $wrap.css('opacity', opacity).fadeIn(500);\n this.created = true;\n }\n },\n\n destroyed() {\n if (this.created) {\n $.backstretch('destroy');\n }\n },\n\n watch: {\n opacity(newOpacity) {\n if (this.created) {\n const {\n $wrap\n } = $('body').data('backstretch');\n $wrap.css('opacity', newOpacity).fadeIn(500);\n }\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/backstretch.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-anime.vue?vue&type=script&lang=js&": -/*!************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-anime.vue?vue&type=script&lang=js& ***! - \************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-nav-tabs/dist/vue-tabs.js */ \"./node_modules/vue-nav-tabs/dist/vue-tabs.js\");\n/* harmony import */ var vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-post-processing',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"AppLink\"],\n ConfigTextbox: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"ConfigTextbox\"],\n ConfigToggleSlider: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"ConfigToggleSlider\"],\n VueTabs: vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__[\"VueTabs\"],\n VTab: vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__[\"VTab\"]\n },\n\n data() {\n return {\n saving: false\n };\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])(['setConfig']),\n\n async save() {\n const {\n anime,\n setConfig\n } = this; // Disable the save button until we're done.\n\n this.saving = true;\n const section = 'main';\n\n try {\n await setConfig({\n section,\n config: {\n anime\n }\n });\n this.$snotify.success('Saved Anime config', 'Saved', {\n timeout: 5000\n });\n } catch (error) {\n this.$snotify.error('Error while trying to save anime config', 'Error');\n } finally {\n this.saving = false;\n }\n }\n\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n anime: state => state.config.anime\n })\n }\n});\n\n//# sourceURL=webpack:///./src/components/config-anime.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-general.vue?vue&type=script&lang=js&": -/*!**************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-general.vue?vue&type=script&lang=js& ***! - \**************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../api.js */ \"./src/api.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _root_dirs_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./root-dirs.vue */ \"./src/components/root-dirs.vue\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var _utils_core_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/core.js */ \"./src/utils/core.js\");\n/* harmony import */ var date_fns_format__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! date-fns/format */ \"./node_modules/date-fns/esm/format/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue-js-toggle-button */ \"./node_modules/vue-js-toggle-button/dist/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var vue_multiselect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vue-multiselect */ \"./node_modules/vue-multiselect/dist/vue-multiselect.min.js\");\n/* harmony import */ var vue_multiselect__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(vue_multiselect__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var vue_multiselect_dist_vue_multiselect_min_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue-multiselect/dist/vue-multiselect.min.css */ \"./node_modules/vue-multiselect/dist/vue-multiselect.min.css\");\n/* harmony import */ var vue_multiselect_dist_vue_multiselect_min_css__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue_multiselect_dist_vue_multiselect_min_css__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! v-tooltip */ \"./node_modules/v-tooltip/dist/v-tooltip.esm.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-general',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"AppLink\"],\n ConfigTemplate: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"ConfigTemplate\"],\n ConfigTextbox: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"ConfigTextbox\"],\n ConfigTextboxNumber: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"ConfigTextboxNumber\"],\n ConfigToggleSlider: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"ConfigToggleSlider\"],\n LanguageSelect: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"LanguageSelect\"],\n Multiselect: (vue_multiselect__WEBPACK_IMPORTED_MODULE_7___default()),\n SortedSelectList: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"SortedSelectList\"],\n VPopover: v_tooltip__WEBPACK_IMPORTED_MODULE_9__[\"VPopover\"],\n ToggleButton: vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_6__[\"ToggleButton\"],\n RootDirs: _root_dirs_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n directives: {\n tooltip: v_tooltip__WEBPACK_IMPORTED_MODULE_9__[\"VTooltip\"]\n },\n\n data() {\n const defaultPageOptions = [{\n value: 'home',\n text: 'Shows'\n }, {\n value: 'schedule',\n text: 'Schedule'\n }, {\n value: 'history',\n text: 'History'\n }, {\n value: 'news',\n text: 'News'\n }, {\n value: 'IRC',\n text: 'IRC'\n }];\n const privacyLevelOptions = [{\n value: 'high',\n text: 'HIGH'\n }, {\n value: 'normal',\n text: 'NORMAL'\n }, {\n value: 'low',\n text: 'LOW'\n }];\n return {\n defaultPageOptions,\n privacyLevelOptions,\n githubBranchesForced: [],\n resetBranchSelected: null,\n saving: false\n };\n },\n\n beforeMount() {\n // Wait for the next tick, so the component is rendered\n this.$nextTick(() => {\n $('#config-components').tabs();\n });\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])({\n general: state => state.config.general,\n configLoaded: state => state.config.consts.statuses.length > 0,\n layout: state => state.config.layout,\n statuses: state => state.config.consts.statuses,\n indexers: state => state.config.indexers,\n system: state => state.config.system\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapGetters\"])(['getStatus']),\n indexerDefault: {\n get() {\n const {\n general\n } = this;\n const {\n indexerDefault\n } = general;\n return indexerDefault || 0;\n },\n\n set(indexer) {\n // TODO: commit instead\n this.general.indexerDefault = indexer;\n }\n\n },\n\n indexerListOptions() {\n const {\n indexers\n } = this;\n const allIndexers = [{\n text: 'All Indexers',\n value: 0\n }];\n const indexerOptions = Object.values(indexers.indexers).map(indexer => ({\n value: indexer.id,\n text: indexer.name\n }));\n return [...allIndexers, ...indexerOptions];\n },\n\n datePresetOptions() {\n const {\n general\n } = this;\n const {\n datePresets\n } = general;\n const systemDefault = [{\n value: '%x',\n text: 'Use System Default'\n }];\n const formattedDatePresets = datePresets.map(preset => ({\n value: preset,\n text: Object(date_fns_format__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(new Date(), Object(_utils_core_js__WEBPACK_IMPORTED_MODULE_4__[\"convertDateFormat\"])(preset))\n }));\n return [...systemDefault, ...formattedDatePresets];\n },\n\n timePresetOptions() {\n const {\n general\n } = this;\n const {\n timePresets\n } = general;\n const systemDefault = [{\n value: '%x',\n text: 'Use System Default'\n }];\n const formattedTimePresets = timePresets.map(preset => ({\n value: preset,\n text: Object(date_fns_format__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(new Date(), Object(_utils_core_js__WEBPACK_IMPORTED_MODULE_4__[\"convertDateFormat\"])(preset))\n }));\n return [...systemDefault, ...formattedTimePresets];\n },\n\n availableThemesOptions() {\n const {\n general\n } = this;\n const {\n availableThemes\n } = general;\n\n if (!availableThemes) {\n return [];\n }\n\n return availableThemes.map(theme => ({\n value: theme.name,\n text: `${theme.name} (${theme.version})`\n }));\n },\n\n cpuPresetOptions() {\n const {\n system\n } = this;\n const {\n cpuPresets\n } = system;\n\n if (!cpuPresets) {\n return [];\n }\n\n return Object.keys(cpuPresets).map(key => ({\n value: key,\n text: key\n }));\n },\n\n defaultDeletedEpOptions() {\n const {\n general,\n getStatus\n } = this;\n let status = [];\n\n if (general.skipRemovedFiles) {\n status = ['skipped', 'ignored'].map(key => getStatus({\n key\n }));\n } else {\n // Get status objects, when skip removed files is enabled\n status = ['skipped', 'ignored', 'archived'].map(key => getStatus({\n key\n }));\n }\n\n if (status.every(x => x !== undefined)) {\n return status.map(status => ({\n text: status.name,\n value: status.value\n }));\n }\n\n return [];\n },\n\n githubRemoteBranchesOptions() {\n const {\n general,\n githubBranches,\n githubBranchForceUpdate\n } = this;\n const {\n system\n } = this;\n const {\n username,\n password,\n token\n } = general.git;\n\n if (!system.gitRemoteBranches) {\n return [];\n }\n\n if (!system.gitRemoteBranches.length > 0) {\n githubBranchForceUpdate();\n }\n\n let filteredBranches = [];\n\n if ((username && password || token) && general.developer) {\n filteredBranches = githubBranches;\n } else if (username && password || token) {\n filteredBranches = githubBranches.filter(branch => ['master', 'develop'].includes(branch));\n } else {\n filteredBranches = githubBranches.filter(branch => ['master'].includes(branch));\n }\n\n return filteredBranches.map(branch => ({\n text: branch,\n value: branch\n }));\n },\n\n githubBranches() {\n const {\n system,\n githubBranchesForced\n } = this;\n return system.gitRemoteBranches || githubBranchesForced;\n },\n\n githubTokenPopover() {\n const {\n general\n } = this;\n return '

    Copy the generated token and paste it in the token input box.

    ' + `

    ` + '


    ';\n }\n\n },\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapActions\"])({\n setConfig: 'setConfig',\n setTheme: 'setTheme',\n getApiKey: 'getApiKey',\n setLayoutShow: 'setLayoutShow'\n }),\n\n async githubBranchForceUpdate() {\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/branchForceUpdate');\n\n if (response.data._size > 0) {\n this.githubBranchesForced = response.data.resetBranches;\n }\n },\n\n async generateApiKey() {\n const {\n getApiKey,\n save\n } = this;\n\n try {\n await getApiKey();\n this.$snotify.success('Saving and reloading the page, to utilize the new api key', 'Warning', {\n timeout: 5000\n });\n setTimeout(() => {\n // Save the new apiKey. No choice to reload because of /src/api.js\n save();\n }, 500);\n setTimeout(() => {\n // For now we reload the page since the layouts use python still\n location.reload();\n }, 500);\n } catch (error) {\n this.$snotify.error('Error while trying to get a new api key', `Error: ${error}`);\n }\n },\n\n async changeTheme(themeName) {\n const {\n setTheme\n } = this;\n\n try {\n await setTheme({\n themeName\n });\n this.$snotify.success('Saving and reloading the page', 'Saving', {\n timeout: 5000\n });\n setTimeout(() => {\n // For now we reload the page since the layouts use python still\n location.reload();\n }, 1000);\n } catch (error) {\n this.$snotify.error('Error while trying to change the theme', `Error: ${error}`);\n }\n },\n\n async save() {\n const {\n general,\n layout,\n setConfig\n } = this; // Disable the save button until we're done.\n\n this.saving = true;\n const {\n availableThemes,\n backlogOverview,\n datePresets,\n loggingLevels,\n logs,\n timePresets,\n randomShowSlug,\n recentShows,\n themeName,\n ...filteredConfig\n } = general;\n const {\n local,\n ...filteredLayout\n } = layout;\n const configMain = {\n section: 'main',\n config: { ...filteredConfig,\n ...{\n layout: filteredLayout\n },\n ...{\n logs: {\n debug: general.logs.debug,\n dbDebug: general.logs.dbDebug,\n actualLogDir: general.logs.actualLogDir,\n nr: general.logs.nr,\n size: general.logs.size,\n subliminalLog: general.logs.subliminalLog,\n privacyLevel: general.logs.privacyLevel\n }\n }\n }\n };\n\n try {\n await setConfig(configMain);\n this.$snotify.success('Saved general config', 'Saved', {\n timeout: 5000\n });\n } catch (error) {\n this.$snotify.error('Error while trying to save general config', `Error: ${error}`);\n } finally {\n this.saving = false;\n }\n },\n\n saveShowListOrder(value) {\n const {\n layout,\n setLayoutShow\n } = this;\n const mergedShowLayout = { ...layout.show,\n ...{\n showListOrder: value.map(item => item.value)\n }\n };\n setLayoutShow(mergedShowLayout);\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/config-general.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-notifications.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-notifications.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../api.js */ \"./src/api.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-notifications',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"AppLink\"],\n ConfigTemplate: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigTemplate\"],\n ConfigTextbox: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigTextbox\"],\n ConfigTextboxNumber: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigTextboxNumber\"],\n ConfigToggleSlider: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigToggleSlider\"],\n SelectList: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"SelectList\"],\n ShowSelector: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ShowSelector\"]\n },\n\n data() {\n return {\n prowlSelectedShow: null,\n prowlSelectedShowApiKeys: [],\n prowlPriorityOptions: [{\n text: 'Very Low',\n value: -2\n }, {\n text: 'Moderate',\n value: -1\n }, {\n text: 'Normal',\n value: 0\n }, {\n text: 'High',\n value: 1\n }, {\n text: 'Emergency',\n value: 2\n }],\n pushoverPriorityOptions: [{\n text: 'Lowest',\n value: -2\n }, {\n text: 'Low',\n value: -1\n }, {\n text: 'Normal',\n value: 0\n }, {\n text: 'High',\n value: 1\n }, {\n text: 'Emergency',\n value: 2\n }],\n pushoverSoundOptions: [{\n text: 'Default',\n value: 'default'\n }, {\n text: 'Pushover',\n value: 'pushover'\n }, {\n text: 'Bike',\n value: 'bike'\n }, {\n text: 'Bugle',\n value: 'bugle'\n }, {\n text: 'Cash Register',\n value: 'cashregister'\n }, {\n text: 'classical',\n value: 'classical'\n }, {\n text: 'Cosmic',\n value: 'cosmic'\n }, {\n text: 'Falling',\n value: 'falling'\n }, {\n text: 'Gamelan',\n value: 'gamelan'\n }, {\n text: 'Incoming',\n value: 'incoming'\n }, {\n text: 'Intermission',\n value: 'intermission'\n }, {\n text: 'Magic',\n value: 'magic'\n }, {\n text: 'Mechanical',\n value: 'mechanical'\n }, {\n text: 'Piano Bar',\n value: 'pianobar'\n }, {\n text: 'Siren',\n value: 'siren'\n }, {\n text: 'Space Alarm',\n value: 'spacealarm'\n }, {\n text: 'Tug Boat',\n value: 'tugboat'\n }, {\n text: 'Alien Alarm (long)',\n value: 'alien'\n }, {\n text: 'Climb (long)',\n value: 'climb'\n }, {\n text: 'Persistent (long)',\n value: 'persistant'\n }, {\n text: 'Pushover Echo (long)',\n value: 'echo'\n }, {\n text: 'Up Down (long)',\n value: 'updown'\n }, {\n text: 'None (silent)',\n value: 'none'\n }],\n pushbulletDeviceOptions: [{\n text: 'All devices',\n value: ''\n }],\n traktMethodOptions: [{\n text: 'Skip all',\n value: 0\n }, {\n text: 'Download pilot only',\n value: 1\n }, {\n text: 'Get whole show',\n value: 2\n }],\n pushbulletTestInfo: 'Click below to test.',\n joinTestInfo: 'Click below to test.',\n twitterTestInfo: 'Click below to test.',\n twitterKey: '',\n emailSelectedShow: null,\n emailSelectedShowAdresses: [],\n saving: false\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])({\n config: state => state.config.general,\n indexers: state => state.config.indexers,\n notifiers: state => state.config.notifiers\n }),\n\n traktNewTokenMessage() {\n const {\n accessToken\n } = this.notifiers.trakt;\n return true ? 'New ' : undefined;\n },\n\n traktIndexersOptions() {\n const {\n indexers\n } = this;\n const {\n traktIndexers\n } = indexers.main;\n const validTraktIndexer = Object.keys(indexers.indexers).filter(k => traktIndexers[k]);\n return validTraktIndexer.map(indexer => {\n return {\n text: indexer,\n value: indexers.indexers[indexer].id\n };\n });\n }\n\n },\n\n beforeMount() {\n // Wait for the next tick, so the component is rendered\n this.$nextTick(() => {\n $('#config-components').tabs();\n });\n },\n\n mounted() {\n // TODO: vueify this.\n $('#trakt_pin').on('keyup change', () => {\n if ($('#trakt_pin').val().length === 0) {\n $('#TraktGetPin').removeClass('hide');\n $('#authTrakt').addClass('hide');\n } else {\n $('#TraktGetPin').addClass('hide');\n $('#authTrakt').removeClass('hide');\n }\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapActions\"])(['getShows', 'setConfig']),\n\n onChangeProwlApi(items) {\n this.notifiers.prowl.api = items.map(item => item.value);\n },\n\n savePerShowNotifyList(listType, values) {\n const {\n emailSelectedShow,\n prowlSelectedShow\n } = this;\n const form = new FormData();\n\n if (listType === 'prowl') {\n form.set('show', prowlSelectedShow);\n form.set('prowlAPIs', values.map(apiKey => apiKey.value));\n } else {\n form.set('show', emailSelectedShow);\n form.set('emails', values.map(apiKey => apiKey.value));\n } // Save the list\n\n\n _api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"].post('home/saveShowNotifyList', form);\n },\n\n async prowlUpdateApiKeys(selectedShow) {\n this.prowlSelectedShow = selectedShow;\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/loadShowNotifyLists');\n\n if (response.data._size > 0) {\n const list = response.data[selectedShow].prowl_notify_list ? response.data[selectedShow].prowl_notify_list.split(',') : [];\n this.prowlSelectedShowApiKeys = selectedShow ? list : [];\n }\n },\n\n async emailUpdateShowEmail(selectedShow) {\n this.emailSelectedShow = selectedShow;\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/loadShowNotifyLists');\n\n if (response.data._size > 0) {\n const list = response.data[selectedShow].list ? response.data[selectedShow].list.split(',') : [];\n this.emailSelectedShowAdresses = selectedShow ? list : [];\n }\n },\n\n emailUpdateAddressList(items) {\n this.notifiers.email.addressList = items.map(x => x.value);\n },\n\n async getPushbulletDeviceOptions() {\n const {\n api: pushbulletApiKey\n } = this.notifiers.pushbullet;\n\n if (!pushbulletApiKey) {\n this.pushbulletTestInfo = 'You didn\\'t supply a Pushbullet api key';\n $('#pushbullet_api').find('input').focus();\n return false;\n }\n\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/getPushbulletDevices', {\n params: {\n api: pushbulletApiKey\n }\n });\n const options = [];\n const {\n data\n } = response;\n\n if (!data) {\n return false;\n }\n\n options.push({\n text: 'All devices',\n value: ''\n });\n\n for (const device of data.devices) {\n if (device.active === true) {\n options.push({\n text: device.nickname,\n value: device.iden\n });\n }\n }\n\n this.pushbulletDeviceOptions = options;\n this.pushbulletTestInfo = 'Device list updated. Please choose a device to push to.';\n },\n\n async testPushbulletApi() {\n const {\n api: pushbulletApiKey\n } = this.notifiers.pushbullet;\n\n if (!pushbulletApiKey) {\n this.pushbulletTestInfo = 'You didn\\'t supply a Pushbullet api key';\n $('#pushbullet_api').find('input').focus();\n return false;\n }\n\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/testPushbullet', {\n params: {\n api: pushbulletApiKey\n }\n });\n const {\n data\n } = response;\n\n if (data) {\n this.pushbulletTestInfo = data;\n }\n },\n\n async testJoinApi() {\n const {\n api: joinApiKey\n } = this.notifiers.join;\n\n if (!joinApiKey) {\n this.joinTestInfo = 'You didn\\'t supply a Join api key';\n $('#join_api').find('input').focus();\n return false;\n }\n\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/testJoin', {\n params: {\n api: joinApiKey\n }\n });\n const {\n data\n } = response;\n\n if (data) {\n this.joinTestInfo = data;\n }\n },\n\n async twitterStep1() {\n this.twitterTestInfo = MEDUSA.config.layout.loading;\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/twitterStep1');\n const {\n data\n } = response;\n window.open(data);\n this.twitterTestInfo = 'Step1: Confirm Authorization';\n },\n\n async twitterStep2() {\n const twitter = {};\n const {\n twitterKey\n } = this;\n twitter.key = twitterKey;\n\n if (twitter.key) {\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/twitterStep2', {\n params: {\n key: twitter.key\n }\n });\n const {\n data\n } = response;\n this.twitterTestInfo = data;\n } else {\n this.twitterTestInfo = 'Please fill out the necessary fields above.';\n }\n },\n\n async twitterTest() {\n try {\n const response = await Object(_api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/testTwitter');\n const {\n data\n } = response;\n this.twitterTestInfo = data;\n } catch (error) {\n this.twitterTestInfo = 'Error while trying to request for a test on the twitter api.';\n }\n },\n\n async save() {\n const {\n notifiers,\n setConfig\n } = this; // Disable the save button until we're done.\n\n this.saving = true;\n const section = 'main';\n\n try {\n await setConfig({\n section,\n config: {\n notifiers\n }\n });\n this.$snotify.success('Saved Notifiers config', 'Saved', {\n timeout: 5000\n });\n } catch (error) {\n this.$snotify.error('Error while trying to save notifiers config', 'Error');\n } finally {\n this.saving = false;\n }\n },\n\n testGrowl() {\n const growl = {};\n growl.host = $.trim($('#growl_host').val());\n growl.password = $.trim($('#growl_password').val());\n\n if (!growl.host) {\n $('#testGrowl-result').html('Please fill out the necessary fields above.');\n $('#growl_host').addClass('warning');\n return;\n }\n\n $('#growl_host').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testGrowl-result').html(MEDUSA.config.layout.loading);\n $.get('home/testGrowl', {\n host: growl.host,\n password: growl.password\n }).done(data => {\n $('#testGrowl-result').html(data);\n $('#testGrowl').prop('disabled', false);\n });\n },\n\n testProwl() {\n const prowl = {};\n prowl.api = $.trim($('#prowl_api').find('input').val());\n prowl.priority = $('#prowl_priority').find('input').val();\n\n if (!prowl.api) {\n $('#testProwl-result').html('Please fill out the necessary fields above.');\n $('#prowl_api').find('input').addClass('warning');\n return;\n }\n\n $('#prowl_api').find('input').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testProwl-result').html(MEDUSA.config.layout.loading);\n $.get('home/testProwl', {\n prowl_api: prowl.api,\n // eslint-disable-line camelcase\n prowl_priority: prowl.priority // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testProwl-result').html(data);\n $('#testProwl').prop('disabled', false);\n });\n },\n\n testKODI() {\n const kodi = {};\n const kodiHostInput = $('#kodi_host').find('input');\n const kodiHosts = kodiHostInput.toArray().map(value => value.value).filter(item => item !== '');\n kodi.host = kodiHosts.join(',');\n kodi.username = $.trim($('#kodi_username').val());\n kodi.password = $.trim($('#kodi_password').val());\n\n if (!kodi.host) {\n $('#testKODI-result').html('Please fill out the necessary fields above.');\n $('#kodi_host').find('input').addClass('warning');\n return;\n }\n\n $('#kodi_host').find('input').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testKODI-result').html(MEDUSA.config.layout.loading);\n $.get('home/testKODI', {\n host: kodi.host,\n username: kodi.username,\n password: kodi.password\n }).done(data => {\n $('#testKODI-result').html(data);\n $('#testKODI').prop('disabled', false);\n });\n },\n\n testPHT() {\n const plex = {};\n plex.client = {};\n const plexHostsInput = $('#plex_client_host').find('input');\n const plexHosts = plexHostsInput.toArray().map(value => value.value).filter(item => item !== '');\n plex.client.host = plexHosts.join(',');\n plex.client.username = $.trim($('#plex_client_username').val());\n plex.client.password = $.trim($('#plex_client_password').val());\n\n if (!plex.client.host) {\n $('#testPHT-result').html('Please fill out the necessary fields above.');\n $('#plex_client_host').find('input').addClass('warning');\n return;\n }\n\n $('#plex_client_host').find('input').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testPHT-result').html(MEDUSA.config.layout.loading);\n $.get('home/testPHT', {\n host: plex.client.host,\n username: plex.client.username,\n password: plex.client.password\n }).done(data => {\n $('#testPHT-result').html(data);\n $('#testPHT').prop('disabled', false);\n });\n },\n\n testPMS() {\n const plex = {};\n plex.server = {};\n const plexHostsInput = $('#plex_server_host').find('input');\n const plexHosts = plexHostsInput.toArray().map(value => value.value).filter(item => item !== '');\n plex.server.host = plexHosts.join(',');\n plex.server.username = $.trim($('#plex_server_username').val());\n plex.server.password = $.trim($('#plex_server_password').val());\n plex.server.token = $.trim($('#plex_server_token').val());\n\n if (!plex.server.host) {\n $('#testPMS-result').html('Please fill out the necessary fields above.');\n $('#plex_server_host').find('input').addClass('warning');\n return;\n }\n\n $('#plex_server_host').find('input').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testPMS-result').html(MEDUSA.config.layout.loading);\n $.get('home/testPMS', {\n host: plex.server.host,\n username: plex.server.username,\n password: plex.server.password,\n plex_server_token: plex.server.token // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testPMS-result').html(data);\n $('#testPMS').prop('disabled', false);\n });\n },\n\n testEMBY() {\n const emby = {};\n emby.host = $('#emby_host').val();\n emby.apikey = $('#emby_apikey').val();\n\n if (!emby.host || !emby.apikey) {\n $('#testEMBY-result').html('Please fill out the necessary fields above.');\n $('#emby_host').addRemoveWarningClass(emby.host);\n $('#emby_apikey').addRemoveWarningClass(emby.apikey);\n return;\n }\n\n $('#emby_host,#emby_apikey').children('input').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testEMBY-result').html(MEDUSA.config.layout.loading);\n $.get('home/testEMBY', {\n host: emby.host,\n emby_apikey: emby.apikey // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testEMBY-result').html(data);\n $('#testEMBY').prop('disabled', false);\n });\n },\n\n testBoxcar2() {\n const boxcar2 = {};\n boxcar2.accesstoken = $.trim($('#boxcar2_accesstoken').val());\n\n if (!boxcar2.accesstoken) {\n $('#testBoxcar2-result').html('Please fill out the necessary fields above.');\n $('#boxcar2_accesstoken').addClass('warning');\n return;\n }\n\n $('#boxcar2_accesstoken').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testBoxcar2-result').html(MEDUSA.config.layout.loading);\n $.get('home/testBoxcar2', {\n accesstoken: boxcar2.accesstoken\n }).done(data => {\n $('#testBoxcar2-result').html(data);\n $('#testBoxcar2').prop('disabled', false);\n });\n },\n\n testPushover() {\n const pushover = {};\n pushover.userkey = $('#pushover_userkey').val();\n pushover.apikey = $('#pushover_apikey').val();\n\n if (!pushover.userkey || !pushover.apikey) {\n $('#testPushover-result').html('Please fill out the necessary fields above.');\n $('#pushover_userkey').addRemoveWarningClass(pushover.userkey);\n $('#pushover_apikey').addRemoveWarningClass(pushover.apikey);\n return;\n }\n\n $('#pushover_userkey,#pushover_apikey').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testPushover-result').html(MEDUSA.config.layout.loading);\n $.get('home/testPushover', {\n userKey: pushover.userkey,\n apiKey: pushover.apikey\n }).done(data => {\n $('#testPushover-result').html(data);\n $('#testPushover').prop('disabled', false);\n });\n },\n\n testLibnotify() {\n $('#testLibnotify-result').html(MEDUSA.config.layout.loading);\n $.get('home/testLibnotify', data => {\n $('#testLibnotify-result').html(data);\n });\n },\n\n settingsNMJ() {\n const nmj = {};\n nmj.host = $('#nmj_host').val();\n\n if (nmj.host) {\n $('#testNMJ-result').html(MEDUSA.config.layout.loading);\n $.get('home/settingsNMJ', {\n host: nmj.host\n }, data => {\n if (data === null) {\n $('#nmj_database').removeAttr('readonly');\n $('#nmj_mount').removeAttr('readonly');\n }\n\n const JSONData = $.parseJSON(data);\n $('#testNMJ-result').html(JSONData.message);\n $('#nmj_database').val(JSONData.database);\n $('#nmj_mount').val(JSONData.mount);\n\n if (JSONData.database) {\n $('#nmj_database').prop('readonly', true);\n } else {\n $('#nmj_database').removeAttr('readonly');\n }\n\n if (JSONData.mount) {\n $('#nmj_mount').prop('readonly', true);\n } else {\n $('#nmj_mount').removeAttr('readonly');\n }\n });\n } else {\n alert('Please fill in the Popcorn IP address'); // eslint-disable-line no-alert\n\n $('#nmj_host').focus();\n }\n },\n\n testNMJ() {\n const nmj = {};\n nmj.host = $.trim($('#nmj_host').val());\n nmj.database = $('#nmj_database').val();\n nmj.mount = $('#nmj_mount').val();\n\n if (nmj.host) {\n $('#nmj_host').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testNMJ-result').html(MEDUSA.config.layout.loading);\n $.get('home/testNMJ', {\n host: nmj.host,\n database: nmj.database,\n mount: nmj.mount\n }).done(data => {\n $('#testNMJ-result').html(data);\n $('#testNMJ').prop('disabled', false);\n });\n } else {\n $('#testNMJ-result').html('Please fill out the necessary fields above.');\n $('#nmj_host').addClass('warning');\n }\n },\n\n settingsNMJv2() {\n const nmjv2 = {};\n nmjv2.host = $('#nmjv2_host').val();\n\n if (nmjv2.host) {\n $('#testNMJv2-result').html(MEDUSA.config.layout.loading);\n nmjv2.dbloc = '';\n const radios = document.getElementsByName('nmjv2_dbloc');\n\n for (let i = 0, len = radios.length; i < len; i++) {\n if (radios[i].checked) {\n nmjv2.dbloc = radios[i].value;\n break;\n }\n }\n\n nmjv2.dbinstance = $('#NMJv2db_instance').val();\n $.get('home/settingsNMJv2', {\n host: nmjv2.host,\n dbloc: nmjv2.dbloc,\n instance: nmjv2.dbinstance\n }, data => {\n if (data === null) {\n $('#nmjv2_database').removeAttr('readonly');\n }\n\n const JSONData = $.parseJSON(data);\n $('#testNMJv2-result').html(JSONData.message);\n $('#nmjv2_database').val(JSONData.database);\n\n if (JSONData.database) {\n $('#nmjv2_database').prop('readonly', true);\n } else {\n $('#nmjv2_database').removeAttr('readonly');\n }\n });\n } else {\n alert('Please fill in the Popcorn IP address'); // eslint-disable-line no-alert\n\n $('#nmjv2_host').focus();\n }\n },\n\n testNMJv2() {\n const nmjv2 = {};\n nmjv2.host = $.trim($('#nmjv2_host').val());\n\n if (nmjv2.host) {\n $('#nmjv2_host').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testNMJv2-result').html(MEDUSA.config.layout.loading);\n $.get('home/testNMJv2', {\n host: nmjv2.host\n }).done(data => {\n $('#testNMJv2-result').html(data);\n $('#testNMJv2').prop('disabled', false);\n });\n } else {\n $('#testNMJv2-result').html('Please fill out the necessary fields above.');\n $('#nmjv2_host').addClass('warning');\n }\n },\n\n testFreeMobile() {\n const freemobile = {};\n freemobile.id = $.trim($('#freemobile_id').val());\n freemobile.apikey = $.trim($('#freemobile_apikey').val());\n\n if (!freemobile.id || !freemobile.apikey) {\n $('#testFreeMobile-result').html('Please fill out the necessary fields above.');\n\n if (freemobile.id) {\n $('#freemobile_id').removeClass('warning');\n } else {\n $('#freemobile_id').addClass('warning');\n }\n\n if (freemobile.apikey) {\n $('#freemobile_apikey').removeClass('warning');\n } else {\n $('#freemobile_apikey').addClass('warning');\n }\n\n return;\n }\n\n $('#freemobile_id,#freemobile_apikey').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testFreeMobile-result').html(MEDUSA.config.layout.loading);\n $.get('home/testFreeMobile', {\n freemobile_id: freemobile.id,\n // eslint-disable-line camelcase\n freemobile_apikey: freemobile.apikey // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testFreeMobile-result').html(data);\n $('#testFreeMobile').prop('disabled', false);\n });\n },\n\n testTelegram() {\n const telegram = {};\n telegram.id = $.trim($('#telegram_id').val());\n telegram.apikey = $.trim($('#telegram_apikey').val());\n\n if (!telegram.id || !telegram.apikey) {\n $('#testTelegram-result').html('Please fill out the necessary fields above.');\n $('#telegram_id').addRemoveWarningClass(telegram.id);\n $('#telegram_apikey').addRemoveWarningClass(telegram.apikey);\n return;\n }\n\n $('#telegram_id,#telegram_apikey').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testTelegram-result').html(MEDUSA.config.layout.loading);\n $.get('home/testTelegram', {\n telegram_id: telegram.id,\n // eslint-disable-line camelcase\n telegram_apikey: telegram.apikey // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testTelegram-result').html(data);\n $('#testTelegram').prop('disabled', false);\n });\n },\n\n testDiscord() {\n const {\n notifiers\n } = this;\n\n if (!notifiers.discord.webhook) {\n $('#testDiscord-result').html('Please fill out the necessary fields above.');\n $('#discord_webhook').addRemoveWarningClass(notifiers.discord.webhook);\n return;\n }\n\n $('#discord_id,#discord_apikey').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testDiscord-result').html(MEDUSA.config.layout.loading);\n $.get('home/testDiscord', {\n discord_webhook: notifiers.discord.webhook,\n // eslint-disable-line camelcase\n discord_tts: notifiers.discord.tts // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testDiscord-result').html(data);\n $('#testDiscord').prop('disabled', false);\n });\n },\n\n testSlack() {\n const slack = {};\n slack.webhook = $.trim($('#slack_webhook').val());\n\n if (!slack.webhook) {\n $('#testSlack-result').html('Please fill out the necessary fields above.');\n $('#slack_webhook').addRemoveWarningClass(slack.webhook);\n return;\n }\n\n $('#slack_webhook').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testSlack-result').html(MEDUSA.config.layout.loading);\n $.get('home/testslack', {\n slack_webhook: slack.webhook // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testSlack-result').html(data);\n $('#testSlack').prop('disabled', false);\n });\n },\n\n TraktGetPin() {\n window.open($('#trakt_pin_url').val(), 'popUp', 'toolbar=no, scrollbars=no, resizable=no, top=200, left=200, width=650, height=550');\n $('#trakt_pin').prop('disabled', false);\n },\n\n authTrakt() {\n const trakt = {};\n trakt.pin = $('#trakt_pin').val();\n\n if (trakt.pin.length !== 0) {\n $.get('home/getTraktToken', {\n trakt_pin: trakt.pin // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testTrakt-result').html(data);\n $('#authTrakt').addClass('hide');\n $('#trakt_pin').prop('disabled', true);\n $('#trakt_pin').val('');\n $('#TraktGetPin').removeClass('hide');\n });\n }\n },\n\n testTrakt() {\n const trakt = {};\n trakt.username = $.trim($('#trakt_username').val());\n trakt.trendingBlacklist = $.trim($('#trakt_blacklist_name').val());\n\n if (!trakt.username) {\n $('#testTrakt-result').html('Please fill out the necessary fields above.');\n $('#trakt_username').addRemoveWarningClass(trakt.username);\n return;\n }\n\n if (/\\s/g.test(trakt.trendingBlacklist)) {\n $('#testTrakt-result').html('Check blacklist name; the value needs to be a trakt slug');\n $('#trakt_blacklist_name').addClass('warning');\n return;\n }\n\n $('#trakt_username').removeClass('warning');\n $('#trakt_blacklist_name').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testTrakt-result').html(MEDUSA.config.layout.loading);\n $.get('home/testTrakt', {\n username: trakt.username,\n blacklist_name: trakt.trendingBlacklist // eslint-disable-line camelcase\n\n }).done(data => {\n $('#testTrakt-result').html(data);\n $('#testTrakt').prop('disabled', false);\n });\n },\n\n traktForceSync() {\n $('#testTrakt-result').html(MEDUSA.config.layout.loading);\n $.getJSON('home/forceTraktSync', data => {\n $('#testTrakt-result').html(data.result);\n });\n },\n\n testEmail() {\n let to = '';\n const status = $('#testEmail-result');\n status.html(MEDUSA.config.layout.loading);\n let host = $('#email_host').val();\n host = host.length > 0 ? host : null;\n let port = $('#email_port').val();\n port = port.length > 0 ? port : null;\n const tls = $('#email_tls').find('input').is(':checked') ? 1 : 0;\n let from = $('#email_from').val();\n from = from.length > 0 ? from : 'root@localhost';\n const user = $('#email_username').val().trim();\n const pwd = $('#email_password').val();\n let err = '';\n\n if (host === null) {\n err += '
  • You must specify an SMTP hostname!
  • ';\n }\n\n if (port === null) {\n err += '
  • You must specify an SMTP port!
  • ';\n } else if (port.match(/^\\d+$/) === null || Number.parseInt(port, 10) > 65535) {\n err += '
  • SMTP port must be between 0 and 65535!
  • ';\n }\n\n if (err.length > 0) {\n err = '
      ' + err + '
    ';\n status.html(err);\n } else {\n to = prompt('Enter an email address to send the test to:', null); // eslint-disable-line no-alert\n\n if (to === null || to.length === 0 || to.match(/.*@.*/) === null) {\n status.html('

    You must provide a recipient email address!

    ');\n } else {\n $.get('home/testEmail', {\n host,\n port,\n smtp_from: from,\n // eslint-disable-line camelcase\n use_tls: tls,\n // eslint-disable-line camelcase\n user,\n pwd,\n to\n }, msg => {\n $('#testEmail-result').html(msg);\n });\n }\n }\n },\n\n testPushalot() {\n const pushalot = {};\n pushalot.authToken = $.trim($('#pushalot_authorizationtoken').val());\n\n if (!pushalot.authToken) {\n $('#testPushalot-result').html('Please fill out the necessary fields above.');\n $('#pushalot_authorizationtoken').addClass('warning');\n return;\n }\n\n $('#pushalot_authorizationtoken').removeClass('warning');\n $(this).prop('disabled', true);\n $('#testPushalot-result').html(MEDUSA.config.layout.loading);\n $.get('home/testPushalot', {\n authorizationToken: pushalot.authToken\n }).done(data => {\n $('#testPushalot-result').html(data);\n $('#testPushalot').prop('disabled', false);\n });\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/config-notifications.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-post-processing.vue?vue&type=script&lang=js&": -/*!**********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-post-processing.vue?vue&type=script&lang=js& ***! - \**********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-js-toggle-button */ \"./node_modules/vue-js-toggle-button/dist/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-post-processing',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"AppLink\"],\n FileBrowser: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"FileBrowser\"],\n NamePattern: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"NamePattern\"],\n SelectList: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"SelectList\"],\n ToggleButton: vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1__[\"ToggleButton\"]\n },\n\n data() {\n return {\n presets: [{\n pattern: 'Season %0S/%SN - %Sx%0E - %EN',\n example: 'Season 02/Show Name - 2x03 - Ep Name'\n }, {\n pattern: 'Season %0S/%S.N.S%0SE%0E.%E.N',\n example: 'Season 02/Show.Name.S02E03.Ep.Name'\n }, {\n pattern: 'Season %S/%S_N_%Sx%0E_%E_N',\n example: 'Season 2/Show_Name_2x03_Ep_Name'\n }, {\n pattern: 'Season %S/%SN S%0SE%0E %SQN',\n example: 'Season 2/Show Name S02E03 720p HDTV x264'\n }, {\n pattern: 'Season %0S/%S.N.S%0SE%0E.%Q.N-%RG',\n example: 'Season 02/Show.Name.S02E03.720p.HDTV-RLSGROUP'\n }],\n processMethods: [{\n value: 'copy',\n text: 'Copy'\n }, {\n value: 'move',\n text: 'Move'\n }, {\n value: 'hardlink',\n text: 'Hard Link'\n }, {\n value: 'symlink',\n text: 'Symbolic Link'\n }, {\n value: 'keeplink',\n text: 'Keep Link'\n }],\n timezoneOptions: [{\n value: 'local',\n text: 'Local'\n }, {\n value: 'network',\n text: 'Network'\n }],\n metadataProviderSelected: null,\n saving: false\n };\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])(['setConfig']),\n\n onChangeSyncFiles(items) {\n const {\n postprocessing\n } = this;\n postprocessing.syncFiles = items.map(item => item.value);\n },\n\n onChangeAllowedExtensions(items) {\n const {\n postprocessing\n } = this;\n postprocessing.allowedExtensions = items.map(item => item.value);\n },\n\n onChangeExtraScripts(items) {\n const {\n postprocessing\n } = this;\n postprocessing.extraScripts = items.map(item => item.value);\n },\n\n saveNaming(values) {\n const {\n postprocessing\n } = this;\n\n if (!this.configLoaded) {\n return;\n }\n\n postprocessing.naming.pattern = values.pattern;\n postprocessing.naming.multiEp = values.multiEpStyle;\n },\n\n saveNamingSports(values) {\n const {\n postprocessing\n } = this;\n\n if (!this.configLoaded) {\n return;\n }\n\n postprocessing.naming.patternSports = values.pattern;\n postprocessing.naming.enableCustomNamingSports = values.enabled;\n },\n\n saveNamingAbd(values) {\n const {\n postprocessing\n } = this;\n\n if (!this.configLoaded) {\n return;\n }\n\n postprocessing.naming.patternAirByDate = values.pattern;\n postprocessing.naming.enableCustomNamingAirByDate = values.enabled;\n },\n\n saveNamingAnime(values) {\n const {\n postprocessing\n } = this;\n\n if (!this.configLoaded) {\n return;\n }\n\n postprocessing.naming.patternAnime = values.pattern;\n postprocessing.naming.animeMultiEp = values.multiEpStyle;\n postprocessing.naming.animeNamingType = values.animeNamingType;\n postprocessing.naming.enableCustomNamingAnime = values.enabled;\n },\n\n async save() {\n const {\n postprocessing,\n metadata,\n setConfig\n } = this; // We want to wait until the page has been fully loaded, before starting to save stuff.\n\n if (!this.configLoaded) {\n return;\n } // Disable the save button until we're done.\n\n\n this.saving = true; // Clone the config into a new object\n\n const config = Object.assign({}, {\n postProcessing: postprocessing,\n metadata\n }); // Use destructuring to remove the unwanted keys.\n\n const {\n multiEpStrings,\n reflinkAvailable,\n extraScriptsUrl,\n ...rest\n } = postprocessing; // Assign the object with the keys removed to our copied object.\n\n config.postProcessing = rest;\n const section = 'main';\n\n try {\n await setConfig({\n section,\n config\n });\n this.$snotify.success('Saved Post-Processing config', 'Saved', {\n timeout: 5000\n });\n } catch (error) {\n this.$snotify.error('Error while trying to save Post-Processing config', 'Error');\n } finally {\n this.saving = false;\n }\n },\n\n /**\n * Get the first enabled metadata provider based on enabled features.\n * @param {Object} providers - The metadata providers object.\n * @return {String} - The id of the first enabled provider.\n */\n getFirstEnabledMetadataProvider() {\n const {\n metadata\n } = this;\n const firstEnabledProvider = Object.values(metadata.metadataProviders).find(provider => {\n return provider.showMetadata || provider.episodeMetadata;\n });\n return firstEnabledProvider === undefined ? 'kodi' : firstEnabledProvider.id;\n }\n\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n metadata: state => state.config.metadata,\n postprocessing: state => state.config.postprocessing,\n system: state => state.config.system\n }),\n\n configLoaded() {\n const {\n postprocessing\n } = this;\n return postprocessing.processAutomatically !== null;\n },\n\n multiEpStringsSelect() {\n const {\n postprocessing\n } = this;\n\n if (!postprocessing.multiEpStrings) {\n return [];\n }\n\n return Object.keys(postprocessing.multiEpStrings).map(k => ({\n value: Number(k),\n text: postprocessing.multiEpStrings[k]\n }));\n }\n\n },\n\n beforeMount() {\n // Wait for the next tick, so the component is rendered\n this.$nextTick(() => {\n $('#config-components').tabs();\n });\n },\n\n watch: {\n 'metadata.metadataProviders': function (providers) {\n // eslint-disable-line object-shorthand\n const {\n getFirstEnabledMetadataProvider\n } = this;\n\n if (Object.keys(providers).length > 0) {\n this.metadataProviderSelected = getFirstEnabledMetadataProvider();\n }\n }\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/config-post-processing.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-search.vue?vue&type=script&lang=js&": -/*!*************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-search.vue?vue&type=script&lang=js& ***! - \*************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../api.js */ \"./src/api.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-search',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"AppLink\"],\n ConfigTemplate: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigTemplate\"],\n ConfigTextbox: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigTextbox\"],\n ConfigTextboxNumber: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigTextboxNumber\"],\n ConfigToggleSlider: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ConfigToggleSlider\"],\n FileBrowser: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"FileBrowser\"],\n SelectList: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"SelectList\"]\n },\n\n data() {\n return {\n configLoaded: false,\n checkPropersIntervalLabels: [{\n text: '24 hours',\n value: 'daily'\n }, {\n text: '4 hours',\n value: '4h'\n }, {\n text: '90 mins',\n value: '90m'\n }, {\n text: '45 mins',\n value: '45m'\n }, {\n text: '30 mins',\n value: '30m'\n }, {\n text: '15 mins',\n value: '15m'\n }],\n nzbGetPriorityOptions: [{\n text: 'Very low',\n value: -100\n }, {\n text: 'Low',\n value: -50\n }, {\n text: 'Normal',\n value: 0\n }, {\n text: 'High',\n value: 50\n }, {\n text: 'Very high',\n value: 100\n }, {\n text: 'Force',\n value: 900\n }],\n // Static clients config\n clientsConfig: {\n torrent: {\n blackhole: {\n title: 'Black hole'\n },\n utorrent: {\n title: 'uTorrent',\n description: 'URL to your uTorrent client (e.g. http://localhost:8000)',\n labelOption: true,\n labelAnimeOption: true,\n seedTimeOption: true,\n pausedOption: true,\n testStatus: 'Click below to test'\n },\n transmission: {\n title: 'Transmission',\n description: 'URL to your Transmission client (e.g. http://localhost:9091)',\n pathOption: true,\n removeFromClientOption: true,\n seedLocationOption: true,\n seedTimeOption: true,\n pausedOption: true,\n testStatus: 'Click below to test'\n },\n deluge: {\n title: 'Deluge (via WebUI)',\n shortTitle: 'Deluge',\n description: 'URL to your Deluge client (e.g. http://localhost:8112)',\n pathOption: true,\n removeFromClientOption: true,\n labelOption: true,\n labelAnimeOption: true,\n seedLocationOption: true,\n pausedOption: true,\n verifySSLOption: true,\n testStatus: 'Click below to test'\n },\n deluged: {\n title: 'Deluge (via Daemon)',\n shortTitle: 'Deluge',\n description: 'IP or Hostname of your Deluge Daemon (e.g. scgi://localhost:58846)',\n pathOption: true,\n removeFromClientOption: true,\n labelOption: true,\n labelAnimeOption: true,\n seedLocationOption: true,\n pausedOption: true,\n verifySSLOption: true,\n testStatus: 'Click below to test'\n },\n downloadstation: {\n title: 'Synology DS',\n description: 'URL to your Synology DS client (e.g. http://localhost:5000)',\n pathOption: true,\n testStatus: 'Click below to test'\n },\n rtorrent: {\n title: 'rTorrent',\n description: 'URL to your rTorrent client (e.g. scgi://localhost:5000
    or https://localhost/rutorrent/plugins/httprpc/action.php)',\n pathOption: true,\n labelOption: true,\n labelAnimeOption: true,\n verifySSLOption: true,\n testStatus: 'Click below to test'\n },\n qbittorrent: {\n title: 'qBittorrent',\n description: 'URL to your qBittorrent client (e.g. http://localhost:8080)',\n pathOption: true,\n labelOption: true,\n labelAnimeOption: true,\n pausedOption: true,\n verifySSLOption: true,\n testStatus: 'Click below to test'\n },\n mlnet: {\n title: 'MLDonkey',\n description: 'URL to your MLDonkey (e.g. http://localhost:4080)',\n verifySSLOption: true,\n testStatus: 'Click below to test'\n }\n },\n nzb: {\n blackhole: {\n title: 'Black hole'\n },\n nzbget: {\n title: 'NZBget',\n description: 'NZBget RPC host name and port number (not NZBgetweb!) (e.g. localhost:6789)',\n testStatus: 'Click below to test'\n },\n sabnzbd: {\n title: 'SABnzbd',\n description: 'URL to your SABnzbd server (e.g. http://localhost:8080/)',\n testStatus: 'Click below to test'\n }\n }\n },\n httpAuthTypes: {\n none: 'None',\n basic: 'Basic',\n digest: 'Digest'\n },\n saving: false\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])({\n clients: state => state.config.clients,\n search: state => state.config.search,\n system: state => state.config.system\n }),\n\n torrentUsernameIsDisabled() {\n const {\n clients\n } = this;\n const {\n torrents\n } = clients;\n const {\n host,\n method\n } = torrents;\n const torrentHost = host || '';\n\n if (!['rtorrent', 'deluge'].includes(method) || method === 'rtorrent' && !torrentHost.startsWith('scgi://')) {\n return false;\n }\n\n return true;\n },\n\n torrentPasswordIsDisabled() {\n const {\n clients\n } = this;\n const {\n torrents\n } = clients;\n const {\n host,\n method\n } = torrents;\n const torrentHost = host || '';\n\n if (method !== 'rtorrent' || method === 'rtorrent' && !torrentHost.startsWith('scgi://')) {\n return false;\n }\n\n return true;\n },\n\n authTypeIsDisabled() {\n const {\n clients\n } = this;\n const {\n torrents\n } = clients;\n const {\n host,\n method\n } = torrents;\n const torrentHost = host || '';\n\n if (method === 'rtorrent' && !torrentHost.startsWith('scgi://')) {\n return false;\n }\n\n return true;\n }\n\n },\n\n beforeMount() {\n // Wait for the next tick, so the component is rendered\n this.$nextTick(() => {\n $('#config-components').tabs();\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapActions\"])(['setConfig']),\n\n async testTorrentClient() {\n const {\n clients\n } = this;\n const {\n torrents\n } = clients;\n const {\n method,\n host,\n username,\n password\n } = torrents;\n this.clientsConfig.torrent[method].testStatus = MEDUSA.config.layout.loading;\n const params = {\n torrent_method: method,\n // eslint-disable-line camelcase\n host,\n username,\n password\n };\n const resp = await _api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"].get('home/testTorrent', {\n params\n });\n this.clientsConfig.torrent[method].testStatus = resp.data;\n },\n\n async testNzbget() {\n const {\n clients\n } = this;\n const {\n nzb\n } = clients;\n const {\n nzbget\n } = nzb;\n const {\n host,\n username,\n password,\n useHttps\n } = nzbget;\n this.clientsConfig.nzb.nzbget.testStatus = MEDUSA.config.layout.loading;\n const params = {\n host,\n username,\n password,\n use_https: useHttps // eslint-disable-line camelcase\n\n };\n const resp = await _api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"].get('home/testNZBget', {\n params\n });\n this.clientsConfig.nzb.nzbget.testStatus = resp.data;\n },\n\n async testSabnzbd() {\n const {\n clients\n } = this;\n const {\n nzb\n } = clients;\n const {\n sabnzbd\n } = nzb;\n const {\n host,\n username,\n password,\n apiKey\n } = sabnzbd;\n this.clientsConfig.nzb.sabnzbd.testStatus = MEDUSA.config.layout.loading;\n const params = {\n host,\n username,\n password,\n apikey: apiKey\n };\n const resp = await _api_js__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"].get('home/testSABnzbd', {\n params\n });\n this.clientsConfig.nzb.sabnzbd.testStatus = resp.data;\n },\n\n async save() {\n const {\n clients,\n search,\n setConfig\n } = this; // Disable the save button until we're done.\n\n this.saving = true; // Clone the config into a new object\n\n const config = Object.assign({}, {\n search\n }, {\n clients\n });\n const section = 'main';\n\n try {\n await setConfig({\n section,\n config\n });\n this.$snotify.success('Saved Search config', 'Saved', {\n timeout: 5000\n });\n } catch (error) {\n this.$snotify.error('Error while trying to save search config', 'Error');\n } finally {\n this.saving = false;\n }\n }\n\n },\n watch: {\n 'clients.torrents.host'(host) {\n const {\n clients\n } = this;\n const {\n torrents\n } = clients;\n const {\n method\n } = torrents;\n\n if (method === 'rtorrent') {\n if (!host) {\n return;\n }\n\n const isMatch = host.startsWith('scgi://');\n\n if (isMatch) {\n this.clients.torrents.username = '';\n this.clients.torrents.password = '';\n this.clients.torrents.authType = 'none';\n }\n }\n\n if (method === 'deluge') {\n this.clients.torrents.username = '';\n }\n },\n\n 'clients.torrents.method'(method) {\n if (!this.clientsConfig.torrent[method].removeFromClientOption) {\n this.search.general.removeFromClient = false;\n }\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/config-search.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config.vue?vue&type=script&lang=js&": -/*!******************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config.vue?vue&type=script&lang=js& ***! - \******************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"AppLink\"]\n },\n computed: Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n system: state => state.config.system\n })\n});\n\n//# sourceURL=webpack:///./src/components/config.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/display-show.vue?vue&type=script&lang=js&": -/*!************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/display-show.vue?vue&type=script&lang=js& ***! - \************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\");\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var _mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../mixins/manage-cookie */ \"./src/mixins/manage-cookie.js\");\n/* harmony import */ var _utils_jquery__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/jquery */ \"./src/utils/jquery.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _backstretch_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./backstretch.vue */ \"./src/components/backstretch.vue\");\n/* harmony import */ var _show_header_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./show-header.vue */ \"./src/components/show-header.vue\");\n/* harmony import */ var _subtitle_search_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./subtitle-search.vue */ \"./src/components/subtitle-search.vue\");\n/* harmony import */ var _helpers_quality_pill_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./helpers/quality-pill.vue */ \"./src/components/helpers/quality-pill.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'show',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"AppLink\"],\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_6__[\"VueGoodTable\"],\n Backstretch: _backstretch_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n PlotInfo: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"PlotInfo\"],\n ShowHeader: _show_header_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n QualityPill: _helpers_quality_pill_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n },\n mixins: [Object(_mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_4__[\"manageCookieMixin\"])('displayShow')],\n\n metaInfo() {\n if (!this.show || !this.show.title) {\n return {\n title: 'Medusa'\n };\n }\n\n const {\n title\n } = this.show;\n return {\n title,\n titleTemplate: '%s | Medusa'\n };\n },\n\n props: {\n /**\n * Show indexer\n */\n showIndexer: {\n type: String\n },\n\n /**\n * Show id\n */\n showId: {\n type: Number\n }\n },\n\n data() {\n const {\n getCookie\n } = this;\n const perPageDropdown = [25, 50, 100, 250, 500];\n\n const getPaginationPerPage = () => {\n const rows = getCookie('pagination-perPage');\n\n if (!rows) {\n return 50;\n }\n\n if (!perPageDropdown.includes(rows)) {\n return 500;\n }\n\n return rows;\n };\n\n return {\n invertTable: true,\n isMobile: false,\n subtitleSearchComponents: [],\n columns: [{\n label: 'NFO',\n field: 'content.hasNfo',\n type: 'boolean',\n sortable: false,\n hidden: getCookie('NFO')\n }, {\n label: 'TBN',\n field: 'content.hasTbn',\n type: 'boolean',\n sortable: false,\n hidden: getCookie('TBN')\n }, {\n label: 'Episode',\n field: 'episode',\n type: 'number',\n hidden: getCookie('Episode')\n }, {\n label: 'Abs. #',\n field: 'absoluteNumber',\n type: 'number',\n hidden: getCookie('Abs. #')\n }, {\n label: 'Scene',\n field: row => {\n const {\n getSceneNumbering\n } = this;\n return getSceneNumbering(row);\n },\n sortable: false,\n hidden: getCookie('Scene')\n }, {\n label: 'Scene Abs. #',\n field: row => {\n const {\n getSceneAbsoluteNumbering\n } = this;\n return getSceneAbsoluteNumbering(row);\n },\n type: 'number',\n\n /**\n * Vue-good-table sort overwrite function.\n * @param {Object} x - row1 value for column.\n * @param {object} y - row2 value for column.\n * @returns {Boolean} - if we want to display this row before the next\n */\n sortFn(x, y) {\n return x < y ? -1 : x > y ? 1 : 0;\n },\n\n hidden: getCookie('Scene Abs. #')\n }, {\n label: 'Title',\n field: 'title',\n hidden: getCookie('Title')\n }, {\n label: 'File',\n field: 'file.location',\n hidden: getCookie('File')\n }, {\n label: 'Size',\n field: 'file.size',\n type: 'number',\n formatFn: _utils_core__WEBPACK_IMPORTED_MODULE_3__[\"humanFileSize\"],\n hidden: getCookie('Size')\n }, {\n // For now i'm using a custom function the parse it. As the type: date, isn't working for us.\n // But the goal is to have this user formatted (as configured in backend)\n label: 'Air date',\n field: this.parseDateFn,\n sortable: false,\n hidden: getCookie('Air date')\n }, {\n label: 'Download',\n field: 'download',\n sortable: false,\n hidden: getCookie('Download')\n }, {\n label: 'Subtitles',\n field: 'subtitles',\n sortable: false,\n hidden: getCookie('Subtitles')\n }, {\n label: 'Status',\n field: 'status',\n hidden: getCookie('Status')\n }, {\n label: 'Search',\n field: 'search',\n sortable: false,\n hidden: getCookie('Search')\n }],\n perPageDropdown,\n paginationPerPage: getPaginationPerPage(),\n selectedEpisodes: [],\n // We need to keep track of which episode where trying to search, for the vue-modal\n failedSearchEpisode: null,\n backlogSearchEpisodes: [],\n filterByOverviewStatus: false\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])({\n shows: state => state.shows.shows,\n config: state => state.config.general,\n configLoaded: state => state.config.layout.fanartBackground !== null,\n layout: state => state.config.layout,\n stateSearch: state => state.config.search\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapGetters\"])({\n show: 'getCurrentShow',\n getOverviewStatus: 'getOverviewStatus',\n fuzzyParseDateTime: 'fuzzyParseDateTime'\n }),\n\n indexer() {\n return this.showIndexer || this.$route.query.indexername;\n },\n\n id() {\n return this.showId || Number(this.$route.query.seriesid) || undefined;\n },\n\n theme() {\n const {\n layout\n } = this;\n const {\n themeName\n } = layout;\n return themeName || 'light';\n },\n\n orderSeasons() {\n const {\n filterByOverviewStatus,\n invertTable,\n show\n } = this;\n\n if (!show.seasons) {\n return [];\n }\n\n let sortedSeasons = show.seasons.sort((a, b) => a.season - b.season).filter(season => season.season !== 0); // Use the filterOverviewStatus to filter the data based on what's checked in the show-header.\n\n if (filterByOverviewStatus && filterByOverviewStatus.filter(status => status.checked).length < filterByOverviewStatus.length) {\n const filteredSortedSeasons = [];\n\n for (const season of sortedSeasons) {\n const {\n episodes,\n ...res\n } = season;\n const filteredEpisodes = episodes.filter(episode => {\n const episodeOverviewStatus = this.getOverviewStatus(episode.status, episode.quality, show.config.qualities);\n const filteredStatus = filterByOverviewStatus.find(overviewStatus => overviewStatus.name === episodeOverviewStatus);\n return !filteredStatus || filteredStatus.checked;\n });\n filteredSortedSeasons.push(Object.assign({\n episodes: filteredEpisodes\n }, res));\n }\n\n sortedSeasons = filteredSortedSeasons;\n }\n\n if (invertTable) {\n return sortedSeasons.reverse();\n }\n\n return sortedSeasons;\n },\n\n specials() {\n const {\n show\n } = this;\n\n if (!show.seasons) {\n return [];\n }\n\n return show.seasons.filter(season => season.season === 0);\n }\n\n },\n\n mounted() {\n const {\n loadShow,\n setEpisodeSceneNumbering,\n setAbsoluteSceneNumbering,\n setInputValidInvalid\n } = this;\n loadShow();\n ['load', 'resize'].map(event => {\n return window.addEventListener(event, () => {\n this.reflowLayout();\n });\n });\n $(document.body).on('click', '.seasonCheck', event => {\n const seasCheck = event.currentTarget;\n const seasNo = $(seasCheck).attr('id');\n $('#collapseSeason-' + seasNo).collapse('show');\n const seasonIdentifier = 's' + seasNo;\n $('.epCheck:visible').each((index, element) => {\n const epParts = $(element).attr('id').split('e');\n\n if (epParts[0] === seasonIdentifier) {\n element.checked = seasCheck.checked;\n }\n });\n });\n $(document.body).on('change', '.sceneSeasonXEpisode', event => {\n const target = event.currentTarget; // Strip non-numeric characters\n\n const value = $(target).val();\n $(target).val(value.replace(/[^\\dXx]*/g, ''));\n const forSeason = $(target).attr('data-for-season');\n const forEpisode = $(target).attr('data-for-episode'); // If empty reset the field\n\n if (value === '') {\n setEpisodeSceneNumbering(forSeason, forEpisode, null, null);\n return;\n }\n\n const m = $(target).val().match(/^(\\d+)x(\\d+)$/i);\n const onlyEpisode = $(target).val().match(/^(\\d+)$/i);\n let sceneSeason = null;\n let sceneEpisode = null;\n let isValid = false;\n\n if (m) {\n sceneSeason = m[1];\n sceneEpisode = m[2];\n isValid = setInputValidInvalid(true, $(target));\n } else if (onlyEpisode) {\n // For example when '5' is filled in instead of '1x5', asume it's the first season\n sceneSeason = forSeason;\n sceneEpisode = onlyEpisode[1];\n isValid = setInputValidInvalid(true, $(target));\n } else {\n isValid = setInputValidInvalid(false, $(target));\n }\n\n if (isValid) {\n setEpisodeSceneNumbering(forSeason, forEpisode, sceneSeason, sceneEpisode);\n }\n });\n $(document.body).on('change', '.sceneAbsolute', event => {\n const target = event.currentTarget; // Strip non-numeric characters\n\n $(target).val($(target).val().replace(/[^\\dXx]*/g, ''));\n const forAbsolute = $(target).attr('data-for-absolute');\n const m = $(target).val().match(/^(\\d{1,3})$/i);\n let sceneAbsolute = null;\n\n if (m) {\n sceneAbsolute = m[1];\n }\n\n setAbsoluteSceneNumbering(forAbsolute, sceneAbsolute);\n });\n },\n\n methods: {\n humanFileSize: _utils_core__WEBPACK_IMPORTED_MODULE_3__[\"humanFileSize\"],\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapActions\"])({\n getShow: 'getShow',\n // Map `this.getShow()` to `this.$store.dispatch('getShow')`\n getEpisodes: 'getEpisodes',\n setCurrentShow: 'setCurrentShow',\n setRecentShow: 'setRecentShow'\n }),\n\n loadShow() {\n const {\n setCurrentShow,\n id,\n indexer,\n getShow\n } = this; // Let's tell the store which show we currently want as current.\n\n setCurrentShow({\n indexer,\n id\n }); // We need detailed info for the xem / scene exceptions, so let's get it.\n\n getShow({\n id,\n indexer,\n detailed: true\n });\n },\n\n statusQualityUpdate(event) {\n const {\n selectedEpisodes,\n setStatus,\n setQuality\n } = this;\n\n if (event.newQuality !== null && event.newQuality !== 'Change quality to:') {\n setQuality(event.newQuality, selectedEpisodes);\n }\n\n if (event.newStatus !== null && event.newStatus !== 'Change status to:') {\n setStatus(event.newStatus, selectedEpisodes);\n }\n },\n\n setQuality(quality, episodes) {\n const {\n id,\n indexer,\n getEpisodes,\n show\n } = this;\n const patchData = {};\n episodes.forEach(episode => {\n patchData[episode.slug] = {\n quality: Number.parseInt(quality, 10)\n };\n });\n api.patch('series/' + show.id.slug + '/episodes', patchData) // eslint-disable-line no-undef\n .then(_ => {\n console.info(`patched show ${show.id.slug} with quality ${quality}`);\n [...new Set(episodes.map(episode => episode.season))].forEach(season => {\n getEpisodes({\n id,\n indexer,\n season\n });\n });\n }).catch(error => {\n console.error(String(error));\n });\n },\n\n setStatus(status, episodes) {\n const {\n id,\n indexer,\n getEpisodes,\n show\n } = this;\n const patchData = {};\n episodes.forEach(episode => {\n patchData[episode.slug] = {\n status\n };\n });\n api.patch('series/' + show.id.slug + '/episodes', patchData) // eslint-disable-line no-undef\n .then(_ => {\n console.info(`patched show ${show.id.slug} with status ${status}`);\n [...new Set(episodes.map(episode => episode.season))].forEach(season => {\n getEpisodes({\n id,\n indexer,\n season\n });\n });\n }).catch(error => {\n console.error(String(error));\n });\n\n if (status === 3) {\n this.$modal.show('query-start-backlog-search', {\n episodes\n });\n }\n },\n\n parseDateFn(row) {\n const {\n fuzzyParseDateTime\n } = this;\n return fuzzyParseDateTime(row.airDate);\n },\n\n rowStyleClassFn(row) {\n const {\n getOverviewStatus,\n show\n } = this;\n const overview = getOverviewStatus(row.status, row.quality, show.config.qualities).toLowerCase().trim();\n return overview;\n },\n\n /**\n * Add (reduce) the total episodes filesize.\n * @param {object} headerRow header row object.\n * @returns {string} - Human readable file size.\n */\n addFileSize(headerRow) {\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_3__[\"humanFileSize\"])(headerRow.episodes.reduce((a, b) => a + (b.file.size || 0), 0));\n },\n\n searchSubtitle(event, episode, lang) {\n const {\n id,\n indexer,\n getEpisodes,\n show,\n subtitleSearchComponents\n } = this;\n const SubtitleSearchClass = Vue.extend(_subtitle_search_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"]); // eslint-disable-line no-undef\n\n const instance = new SubtitleSearchClass({\n propsData: {\n show,\n episode,\n key: episode.originalIndex,\n lang\n },\n parent: this\n }); // Update the show, as we downloaded new subtitle(s)\n\n instance.$on('update', event => {\n // This could be replaced by the generic websocket updates in future.\n if (event.reason === 'new subtitles found') {\n getEpisodes({\n id,\n indexer,\n season: episode.season\n });\n }\n });\n const node = document.createElement('div');\n const subtitleRef = episode.season === 0 ? 'table-specials' : 'table-seasons';\n this.$refs[subtitleRef].$refs[`row-${episode.originalIndex}`][0].after(node);\n instance.$mount(node);\n subtitleSearchComponents.push(instance);\n },\n\n /**\n * Attaches IMDB tooltip\n */\n reflowLayout: lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default()(() => {\n console.debug('Reflowing layout');\n Object(_utils_jquery__WEBPACK_IMPORTED_MODULE_5__[\"addQTip\"])(); // eslint-disable-line no-undef\n }, 1000),\n\n setEpisodeSceneNumbering(forSeason, forEpisode, sceneSeason, sceneEpisode) {\n const {\n $snotify,\n id,\n indexer,\n show\n } = this;\n\n if (!show.config.scene) {\n $snotify.warning('To change episode scene numbering you need to enable the show option `scene` first', 'Warning', {\n timeout: 0\n });\n }\n\n if (sceneSeason === '') {\n sceneSeason = null;\n }\n\n if (sceneEpisode === '') {\n sceneEpisode = null;\n }\n\n $.getJSON('home/setSceneNumbering', {\n indexername: indexer,\n seriesid: id,\n forSeason,\n forEpisode,\n sceneSeason,\n sceneEpisode\n }, data => {\n // Set the values we get back\n if (data.sceneSeason === null || data.sceneEpisode === null) {\n $('#sceneSeasonXEpisode_' + id + '_' + forSeason + '_' + forEpisode).val('');\n } else {\n $('#sceneSeasonXEpisode_' + id + '_' + forSeason + '_' + forEpisode).val(data.sceneSeason + 'x' + data.sceneEpisode);\n }\n\n if (!data.success) {\n if (data.errorMessage) {\n alert(data.errorMessage); // eslint-disable-line no-alert\n } else {\n alert('Update failed.'); // eslint-disable-line no-alert\n }\n }\n });\n },\n\n setAbsoluteSceneNumbering(forAbsolute, sceneAbsolute) {\n const {\n $snotify,\n id,\n indexer,\n show\n } = this;\n\n if (!show.config.scene) {\n $snotify.warning('To change an anime episode scene numbering you need to enable the show option `scene` first', 'Warning', {\n timeout: 0\n });\n }\n\n if (sceneAbsolute === '') {\n sceneAbsolute = null;\n }\n\n $.getJSON('home/setSceneNumbering', {\n indexername: indexer,\n seriesid: id,\n forAbsolute,\n sceneAbsolute\n }, data => {\n // Set the values we get back\n if (data.sceneAbsolute === null) {\n $('#sceneAbsolute_' + id + '_' + forAbsolute).val('');\n } else {\n $('#sceneAbsolute_' + id + '_' + forAbsolute).val(data.sceneAbsolute);\n }\n\n if (!data.success) {\n if (data.errorMessage) {\n alert(data.errorMessage); // eslint-disable-line no-alert\n } else {\n alert('Update failed.'); // eslint-disable-line no-alert\n }\n }\n });\n },\n\n setInputValidInvalid(valid, el) {\n if (valid) {\n $(el).css({\n 'background-color': '#90EE90',\n // Green\n 'color': '#FFF',\n // eslint-disable-line quote-props\n 'font-weight': 'bold'\n });\n return true;\n }\n\n $(el).css({\n 'background-color': '#FF0000',\n // Red\n 'color': '#FFF !important',\n // eslint-disable-line quote-props\n 'font-weight': 'bold'\n });\n return false;\n },\n\n /**\n * Check if any of the episodes in this season does not have the status \"unaired\".\n * If that's the case we want to manual season search icon.\n * @param {object} season - A season object.\n * @returns {Boolean} - true if one of the seasons episodes has a status 'unaired'.\n */\n anyEpisodeNotUnaired(season) {\n return season.episodes.filter(ep => ep.status !== 'Unaired').length > 0;\n },\n\n episodesInverse(season) {\n const {\n invertTable\n } = this;\n\n if (!season.episodes) {\n return [];\n }\n\n if (invertTable) {\n return season.episodes.slice().reverse();\n }\n\n return season.episodes;\n },\n\n /**\n * Check if the season/episode combination exists in the scene numbering.\n * @param {Object} episode - object.\n * @returns {Object} with scene season and episodes mapped numbering.\n */\n getSceneNumbering(episode) {\n const {\n show\n } = this;\n const {\n sceneNumbering,\n xemNumbering\n } = show;\n\n if (!show.config.scene) {\n return {\n season: 0,\n episode: 0\n };\n } // Manually configured scene numbering\n\n\n if (sceneNumbering.length !== 0) {\n const mapped = sceneNumbering.filter(x => {\n return x.source.season === episode.season && x.source.episode === episode.episode;\n });\n\n if (mapped.length !== 0) {\n return mapped[0].destination;\n }\n } // Scene numbering downloaded from thexem.de.\n\n\n if (xemNumbering.length !== 0) {\n const mapped = xemNumbering.filter(x => {\n return x.source.season === episode.season && x.source.episode === episode.episode;\n });\n\n if (mapped.length !== 0) {\n return mapped[0].destination;\n }\n }\n\n return {\n season: episode.scene.season || 0,\n episode: episode.scene.episode || 0\n };\n },\n\n getSceneAbsoluteNumbering(episode) {\n const {\n show\n } = this;\n const {\n sceneAbsoluteNumbering,\n xemAbsoluteNumbering\n } = show;\n\n if (!show.config.anime || !show.config.scene) {\n return episode.scene.absoluteNumber;\n }\n\n if (Object.keys(sceneAbsoluteNumbering).length > 0 && sceneAbsoluteNumbering[episode.absoluteNumber]) {\n return sceneAbsoluteNumbering[episode.absoluteNumber].sceneAbsolute;\n }\n\n if (Object.keys(xemAbsoluteNumbering).length > 0 && xemAbsoluteNumbering[episode.absoluteNumber]) {\n return xemAbsoluteNumbering[episode.absoluteNumber].sceneAbsolute;\n }\n\n return episode.scene.absoluteNumber;\n },\n\n /**\n * Vue-js-modal requires a method, to pass an event to.\n * The event then can be used to assign the value of the episode.\n * @param {Object} event - vue js modal event\n */\n beforeBacklogSearchModalClose(event) {\n this.backlogSearchEpisodes = event.params.episodes;\n },\n\n /**\n * Vue-js-modal requires a method, to pass an event to.\n * The event then can be used to assign the value of the episode.\n * @param {Object} event - vue js modal event\n */\n beforeFailedSearchModalClose(event) {\n this.failedSearchEpisode = event.params.episode;\n },\n\n retryDownload(episode) {\n const {\n stateSearch\n } = this;\n return stateSearch.general.failedDownloads.enabled && ['Snatched', 'Snatched (Proper)', 'Snatched (Best)', 'Downloaded'].includes(episode.status);\n },\n\n search(episodes, searchType) {\n const {\n show\n } = this;\n let data = {};\n\n if (episodes) {\n data = {\n showSlug: show.id.slug,\n episodes: [],\n options: {}\n };\n episodes.forEach(episode => {\n data.episodes.push(episode.slug);\n this.$refs[`search-${episode.slug}`].src = 'images/loading16-dark.gif';\n });\n }\n\n api.put(`search/${searchType}`, data) // eslint-disable-line no-undef\n .then(_ => {\n if (episodes.length === 1) {\n console.info(`started search for show: ${show.id.slug} episode: ${episodes[0].slug}`);\n this.$refs[`search-${episodes[0].slug}`].src = 'images/queued.png';\n this.$refs[`search-${episodes[0].slug}`].disabled = true;\n } else {\n console.info('started a full backlog search');\n }\n }).catch(error => {\n console.error(String(error));\n episodes.forEach(episode => {\n data.episodes.push(episode.slug);\n this.$refs[`search-${episodes[0].slug}`].src = 'images/no16.png';\n });\n }).finally(() => {\n this.failedSearchEpisode = null;\n this.backlogSearchEpisodes = [];\n });\n },\n\n /**\n * Start a backlog search or failed search for the specific episode.\n * A failed search is started depending on the current episodes status.\n * @param {Object} episode - Episode object. If no episode object is passed, a backlog search is started.\n */\n queueSearch(episode) {\n const {\n $modal,\n search,\n retryDownload\n } = this;\n const episodeIdentifier = episode.slug;\n\n if (episode) {\n if (this.$refs[`search-${episodeIdentifier}`].disabled === true) {\n return;\n }\n\n if (retryDownload(episode)) {\n $modal.show('query-mark-failed-and-search', {\n episode\n });\n } else {\n search([episode], 'backlog');\n }\n }\n },\n\n showSubtitleButton(episode) {\n const {\n config,\n show\n } = this;\n return episode.season !== 0 && config.subtitles.enabled && show.config.subtitlesEnabled && !['Snatched', 'Snatched (Proper)', 'Snatched (Best)', 'Downloaded'].includes(episode.status);\n },\n\n totalSeasonEpisodeSize(season) {\n return season.episodes.filter(x => x.file && x.file.size > 0).reduce((a, b) => a + b.file.size, 0);\n },\n\n getSeasonExceptions(season) {\n const {\n show\n } = this;\n const {\n config\n } = show;\n const {\n aliases\n } = config;\n let bindData = {\n class: 'display: none'\n }; // Map the indexer season to a xem mapped season.\n // check if the season exception also exists in the xem numbering table\n\n let xemSeasons = [];\n let foundInXem = false;\n\n if (show.xemNumbering.length > 0) {\n const xemResult = show.xemNumbering.filter(x => x.source.season === season); // Create an array with unique seasons\n\n xemSeasons = [...new Set(xemResult.map(item => item.destination.season))];\n foundInXem = Boolean(xemSeasons.length);\n } // Check if there is a season exception for this season\n\n\n if (aliases.find(x => x.season === season)) {\n // If there is not a match on the xem table, display it as a medusa scene exception\n bindData = {\n id: `xem-exception-season-${foundInXem ? xemSeasons[0] : season}`,\n alt: foundInXem ? '[xem]' : '[medusa]',\n src: foundInXem ? 'images/xem.png' : 'images/ico/favicon-16.png',\n title: foundInXem ? xemSeasons.reduce((a, b) => {\n return a.concat(aliases.filter(alias => alias.season === b).map(alias => alias.title));\n }, []).join(', ') : aliases.filter(alias => alias.season === season).map(alias => alias.title).join(', ')\n };\n }\n\n return bindData;\n },\n\n updateEpisodeWatched(episode, watched) {\n const {\n id,\n indexer,\n getEpisodes,\n show\n } = this;\n const patchData = {};\n patchData[episode.slug] = {\n watched\n };\n api.patch(`series/${show.id.slug}/episodes`, patchData) // eslint-disable-line no-undef\n .then(_ => {\n console.info(`patched episode ${episode.slug} with watched set to ${watched}`);\n getEpisodes({\n id,\n indexer,\n season: episode.season\n });\n }).catch(error => {\n console.error(String(error));\n });\n episode.watched = watched;\n },\n\n updatePaginationPerPage(rows) {\n const {\n setCookie\n } = this;\n this.paginationPerPage = rows;\n setCookie('pagination-perPage', rows);\n },\n\n onPageChange(params) {\n this.loadEpisodes(params.currentPage);\n },\n\n neededSeasons(page) {\n const {\n paginationPerPage,\n show\n } = this;\n const seasons = show.seasonCount.length - 1;\n let pagesCount = 1;\n let episodeCount = 0;\n const pages = {};\n\n for (let i = seasons; i >= 0; i--) {\n const {\n season\n } = show.seasonCount[i]; // Exclude specials\n\n if (season === 0) {\n break;\n }\n\n if (pagesCount in pages) {\n pages[pagesCount].push(season);\n } else {\n pages[pagesCount] = [season];\n }\n\n episodeCount += show.seasonCount[i].episodeCount;\n\n if (episodeCount / paginationPerPage > pagesCount) {\n pagesCount++;\n pages[pagesCount] = [season];\n }\n\n if (pagesCount > page) {\n break;\n }\n }\n\n return pages[page] || [];\n },\n\n loadEpisodes(page) {\n const {\n id,\n indexer,\n getEpisodes\n } = this; // Wrap getEpisodes into an async/await function, so we can wait for the season to have been committed\n // before going on to the next one.\n\n const _getEpisodes = async (id, indexer) => {\n for (const season of this.neededSeasons(page)) {\n // We're waiting for the results by design, to give vue the chance to update the dom.\n // If we fire all the promises at once for, for example 25 seasons. We'll overload medusa's app\n // and chance is high a number of requests will timeout.\n await getEpisodes({\n id,\n indexer,\n season\n }); // eslint-disable-line no-await-in-loop\n }\n };\n\n _getEpisodes(id, indexer);\n },\n\n initializeEpisodes() {\n const {\n getEpisodes,\n id,\n indexer,\n setRecentShow,\n show\n } = this;\n\n if (!show.seasons) {\n // Load episodes for the first page.\n this.loadEpisodes(1); // Always get special episodes if available.\n\n if (show.seasonCount.length > 0 && show.seasonCount[0].season === 0) {\n getEpisodes({\n id,\n indexer,\n season: 0\n });\n }\n }\n\n if (show.id.slug) {\n // For now i'm dumping this here\n setRecentShow({\n indexerName: show.indexer,\n showId: show.id[show.indexer],\n name: show.title\n });\n }\n }\n\n },\n watch: {\n 'show.id.slug': function (slug) {\n // eslint-disable-line object-shorthand\n const {\n initializeEpisodes\n } = this; // Show's slug has changed, meaning the show's page has finished loading.\n\n if (slug) {\n // This is still technically jQuery. Meaning whe're still letting jQuery do its thing on the entire dom.\n Object(_utils_jquery__WEBPACK_IMPORTED_MODULE_5__[\"updateSearchIcons\"])(slug, this);\n initializeEpisodes();\n }\n }\n },\n\n beforeRouteEnter(to, from, next) {\n next(vm => {\n // Access to component instance via `vm`.\n // When moving from editShow to displayShow we might not have loaded the episodes yet.\n // The watch on show.id.slug will also not be triggered.\n vm.initializeEpisodes();\n });\n }\n\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/display-show.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/edit-show.vue?vue&type=script&lang=js&": -/*!*********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/edit-show.vue?vue&type=script&lang=js& ***! - \*********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-nav-tabs/dist/vue-tabs.js */ \"./node_modules/vue-nav-tabs/dist/vue-tabs.js\");\n/* harmony import */ var vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _anidb_release_group_ui_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./anidb-release-group-ui.vue */ \"./src/components/anidb-release-group-ui.vue\");\n/* harmony import */ var _backstretch_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./backstretch.vue */ \"./src/components/backstretch.vue\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var vue_multiselect__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue-multiselect */ \"./node_modules/vue-multiselect/dist/vue-multiselect.min.js\");\n/* harmony import */ var vue_multiselect__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(vue_multiselect__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var vue_multiselect_dist_vue_multiselect_min_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vue-multiselect/dist/vue-multiselect.min.css */ \"./node_modules/vue-multiselect/dist/vue-multiselect.min.css\");\n/* harmony import */ var vue_multiselect_dist_vue_multiselect_min_css__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(vue_multiselect_dist_vue_multiselect_min_css__WEBPACK_IMPORTED_MODULE_7__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'edit-show',\n components: {\n AnidbReleaseGroupUi: _anidb_release_group_ui_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"AppLink\"],\n Backstretch: _backstretch_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n ConfigSceneExceptions: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"ConfigSceneExceptions\"],\n ConfigTemplate: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"ConfigTemplate\"],\n ConfigTextboxNumber: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"ConfigTextboxNumber\"],\n ConfigToggleSlider: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"ConfigToggleSlider\"],\n FileBrowser: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"FileBrowser\"],\n LanguageSelect: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"LanguageSelect\"],\n Multiselect: (vue_multiselect__WEBPACK_IMPORTED_MODULE_6___default()),\n QualityChooser: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"QualityChooser\"],\n SelectList: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"SelectList\"],\n VueTabs: vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__[\"VueTabs\"],\n VTab: vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_2__[\"VTab\"]\n },\n\n metaInfo() {\n if (!this.show || !this.show.title) {\n return {\n title: 'Medusa'\n };\n }\n\n const {\n title\n } = this.show;\n return {\n title,\n titleTemplate: '%s | Medusa'\n };\n },\n\n props: {\n /**\n * Show indexer\n */\n showIndexer: {\n type: String\n },\n\n /**\n * Show id\n */\n showId: {\n type: Number\n }\n },\n\n data() {\n return {\n saving: false,\n loadError: null\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n indexers: state => state.config.indexers,\n anime: state => state.config.anime,\n layout: state => state.config.layout,\n episodeStatuses: state => state.config.consts.statuses,\n search: state => state.config.search\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n show: 'getCurrentShow',\n getStatus: 'getStatus'\n }),\n showLists: {\n get() {\n const {\n show\n } = this;\n return show.config.showLists.map(list => list.toLowerCase());\n },\n\n set(value) {\n const {\n show,\n setShowConfig\n } = this;\n setShowConfig({\n show,\n config: { ...show.config,\n showLists: value\n }\n });\n }\n\n },\n\n indexer() {\n return this.showIndexer || this.$route.query.indexername;\n },\n\n id() {\n return this.showId || Number(this.$route.query.seriesid) || undefined;\n },\n\n showLoaded() {\n return Boolean(this.show.id.slug);\n },\n\n defaultEpisodeStatusOptions() {\n if (this.episodeStatuses.length === 0) {\n return [];\n } // Get status objects, in this order\n\n\n return ['wanted', 'skipped', 'ignored'].map(key => this.getStatus({\n key\n }));\n },\n\n availableLanguages() {\n if (this.indexers.main.validLanguages) {\n return this.indexers.main.validLanguages.join(',');\n }\n\n return '';\n },\n\n combinedQualities() {\n const {\n allowed,\n preferred\n } = this.show.config.qualities;\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"combineQualities\"])(allowed, preferred);\n },\n\n saveButton() {\n return this.saving === false ? 'Save Changes' : 'Saving...';\n },\n\n globalIgnored() {\n const {\n search\n } = this;\n return search.filters.ignored.map(x => x.toLowerCase());\n },\n\n globalRequired() {\n const {\n search\n } = this;\n return search.filters.required.map(x => x.toLowerCase());\n },\n\n effectiveIgnored() {\n const {\n globalIgnored\n } = this;\n const showIgnored = this.show.config.release.ignoredWords.map(x => x.toLowerCase());\n\n if (this.show.config.release.ignoredWordsExclude) {\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"arrayExclude\"])(globalIgnored, showIgnored);\n }\n\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"arrayUnique\"])(globalIgnored.concat(showIgnored));\n },\n\n effectiveRequired() {\n const {\n globalRequired\n } = this;\n const showRequired = this.show.config.release.requiredWords.map(x => x.toLowerCase());\n\n if (this.show.config.release.requiredWordsExclude) {\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"arrayExclude\"])(globalRequired, showRequired);\n }\n\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"arrayUnique\"])(globalRequired.concat(showRequired));\n }\n\n },\n\n created() {\n this.loadShow();\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n getShow: 'getShow',\n setShow: 'setShow',\n setCurrentShow: 'setCurrentShow',\n setShowConfig: 'setShowConfig'\n }),\n\n loadShow() {\n const {\n setCurrentShow,\n id,\n indexer,\n getShow\n } = this; // Let's tell the store which show we currently want as current.\n\n setCurrentShow({\n indexer,\n id\n }); // We need detailed info for the xem / scene exceptions, so let's get it.\n\n getShow({\n id,\n indexer,\n detailed: true\n });\n },\n\n async saveShow(subject) {\n const {\n show,\n showLoaded\n } = this; // We want to wait until the page has been fully loaded, before starting to save stuff.\n\n if (!showLoaded) {\n return;\n }\n\n if (!['show', 'all'].includes(subject)) {\n return;\n } // Disable the save button until we're done.\n\n\n this.saving = true;\n const showConfig = show.config;\n const data = {\n config: {\n aliases: showConfig.aliases,\n defaultEpisodeStatus: showConfig.defaultEpisodeStatus,\n dvdOrder: showConfig.dvdOrder,\n seasonFolders: showConfig.seasonFolders,\n anime: showConfig.anime,\n scene: showConfig.scene,\n sports: showConfig.sports,\n paused: showConfig.paused,\n location: showConfig.location,\n airByDate: showConfig.airByDate,\n subtitlesEnabled: showConfig.subtitlesEnabled,\n release: {\n requiredWords: showConfig.release.requiredWords,\n ignoredWords: showConfig.release.ignoredWords,\n requiredWordsExclude: showConfig.release.requiredWordsExclude,\n ignoredWordsExclude: showConfig.release.ignoredWordsExclude\n },\n qualities: {\n preferred: showConfig.qualities.preferred,\n allowed: showConfig.qualities.allowed\n },\n airdateOffset: showConfig.airdateOffset,\n showLists: showConfig.showLists\n },\n language: show.language\n };\n\n if (data.config.anime) {\n data.config.release.blacklist = showConfig.release.blacklist;\n data.config.release.whitelist = showConfig.release.whitelist;\n }\n\n const {\n indexer,\n id,\n setShow\n } = this;\n\n try {\n await setShow({\n indexer,\n id,\n data\n });\n this.$snotify.success('You may need to \"Re-scan files\" or \"Force Full Update\".', 'Saved', {\n timeout: 5000\n });\n } catch (error) {\n this.$snotify.error(`Error while trying to save ${this.show.title}: ${error.message || 'Unknown'}`, 'Error');\n } finally {\n // Re-enable the save button.\n this.saving = false;\n }\n },\n\n onChangeIgnoredWords(items) {\n this.show.config.release.ignoredWords = items.map(item => item.value);\n },\n\n onChangeRequiredWords(items) {\n this.show.config.release.requiredWords = items.map(item => item.value);\n },\n\n onChangeReleaseGroupsAnime(groupNames) {\n this.show.config.release.whitelist = groupNames.whitelist;\n this.show.config.release.blacklist = groupNames.blacklist;\n },\n\n updateLanguage(value) {\n this.show.language = value;\n },\n\n changeFormat(value, formatOption) {\n const {\n anime\n } = this;\n this.show.config[formatOption] = value;\n\n if (value) {\n // Check each format option, disable the other options.\n ['anime', 'sports', 'airByDate'].filter(item => item !== formatOption).forEach(option => {\n this.show.config[option] = false;\n });\n }\n\n if (formatOption === 'anime' && anime.autoAnimeToList) {\n if (value) {\n // Auto anime to list is enabled. If changing the show format to anime, add 'Anime' to show lists.\n this.showLists.push('anime'); // The filter makes sure there are unique strings.\n\n this.showLists = this.showLists.filter((v, i, a) => a.indexOf(v) === i);\n } else {\n // Auto anime to list is enabled. If changing the show format to anime, add 'Anime' to show lists.\n this.showLists = this.showLists.filter(list => list !== 'anime');\n }\n }\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/edit-show.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/app-link.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/app-link.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../router */ \"./src/router/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'app-link',\n props: {\n to: [String, Object],\n href: String,\n indexerId: {\n type: String\n },\n placeholder: {\n type: String,\n default: 'indexer-to-name'\n }\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n general: state => state.config.general\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])(['indexerIdToName']),\n\n indexerName() {\n // Returns `undefined` if not found\n const {\n indexerId,\n indexerIdToName\n } = this;\n return indexerIdToName(indexerId);\n },\n\n computedBase() {\n return document.querySelector('base').getAttribute('href');\n },\n\n computedHref() {\n const {\n href,\n indexerId,\n placeholder,\n indexerName\n } = this;\n\n if (indexerId && placeholder) {\n return href.replace(placeholder, indexerName);\n }\n\n return href;\n },\n\n isIRC() {\n if (!this.computedHref) {\n return;\n }\n\n return this.computedHref.startsWith('irc://');\n },\n\n isAbsolute() {\n const href = this.computedHref;\n\n if (!href) {\n return;\n }\n\n return /^[a-z][\\d+.a-z-]*:/.test(href);\n },\n\n isExternal() {\n const base = this.computedBase;\n const href = this.computedHref;\n\n if (!href) {\n return;\n }\n\n return !href.startsWith(base) && !href.startsWith('webcal://');\n },\n\n isHashPath() {\n if (!this.computedHref) {\n return;\n }\n\n return this.computedHref.startsWith('#');\n },\n\n anonymisedHref() {\n const {\n anonRedirect\n } = this.general;\n const href = this.computedHref;\n\n if (!href) {\n return;\n }\n\n return anonRedirect ? anonRedirect + href : href;\n },\n\n matchingVueRoute() {\n const {\n isAbsolute,\n isExternal,\n computedHref\n } = this;\n\n if (isAbsolute && isExternal) {\n return;\n }\n\n const {\n route\n } = _router__WEBPACK_IMPORTED_MODULE_1__[\"default\"].resolve(_router__WEBPACK_IMPORTED_MODULE_1__[\"base\"] + computedHref);\n\n if (!route.name) {\n return;\n }\n\n return route;\n },\n\n linkProperties() {\n const {\n to,\n isIRC,\n isAbsolute,\n isExternal,\n isHashPath,\n anonymisedHref,\n matchingVueRoute\n } = this;\n const base = this.computedBase;\n const href = this.computedHref; // Return normal router-link\n\n if (to) {\n return {\n is: 'router-link',\n to\n };\n } // Just return a boring link with other attrs\n // @NOTE: This is for scroll anchors as it uses the id\n\n\n if (!href) {\n return {\n is: 'a',\n // Only tag this as a \"false-link\" if we passed a name in the props\n falseLink: Boolean(this.$attrs.name) || undefined\n };\n } // If current page and next page are both vue routes return router-link\n\n\n if (matchingVueRoute && this.$route && matchingVueRoute.meta.converted && this.$route.meta.converted) {\n // Allows us to skip when we're in a test\n if (window.loadMainApp) {\n return {\n is: 'router-link',\n to: matchingVueRoute.fullPath,\n // Add a `href` attribute to enable native mouse navigation (middle click, ctrl+click, etc.)\n href: new URL(matchingVueRoute.fullPath, base).href\n };\n }\n }\n\n return {\n is: 'a',\n target: isAbsolute && isExternal ? '_blank' : '_self',\n href: (() => {\n if (isHashPath) {\n const {\n location\n } = window;\n\n if (location.hash.length === 0) {\n // Current location might be `url#`\n const newHash = location.href.endsWith('#') ? href.slice(1) : href;\n return location.href + newHash;\n }\n\n return location.href.replace(location.hash, '') + href;\n }\n\n if (isIRC) {\n return href;\n }\n\n if (isAbsolute) {\n if (isExternal) {\n return anonymisedHref;\n }\n\n return href;\n }\n\n return new URL(href, base).href;\n })(),\n rel: isAbsolute && isExternal ? 'noreferrer' : undefined\n };\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/app-link.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/asset.vue?vue&type=script&lang=js&": -/*!*************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/asset.vue?vue&type=script&lang=js& ***! - \*************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../api */ \"./src/api.js\");\n/* harmony import */ var _app_link_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./app-link.vue */ \"./src/components/helpers/app-link.vue\");\n/* harmony import */ var _lazy_image_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lazy-image.vue */ \"./src/components/helpers/lazy-image.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'asset',\n components: {\n AppLink: _app_link_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n LazyImage: _lazy_image_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n showSlug: {\n type: String\n },\n type: {\n type: String,\n required: true\n },\n defaultSrc: {\n type: String,\n required: true\n },\n link: {\n type: Boolean,\n default: false\n },\n cls: {\n type: String\n },\n imgWidth: {\n type: Number\n },\n lazy: Boolean\n },\n\n data() {\n return {\n error: false\n };\n },\n\n computed: {\n src() {\n const {\n defaultSrc,\n error,\n showSlug,\n type\n } = this;\n\n if (error || !showSlug || !type) {\n return defaultSrc;\n }\n\n return `${_api__WEBPACK_IMPORTED_MODULE_0__[\"webRoot\"]}/api/v2/series/${showSlug}/asset/${type}?api_key=${_api__WEBPACK_IMPORTED_MODULE_0__[\"apiKey\"]}`;\n },\n\n href() {\n const {\n link,\n src\n } = this; // Compute a link to the full asset, if applicable\n\n if (link) {\n return src.replace('Thumb', '');\n }\n\n return undefined;\n },\n\n newCls() {\n const {\n cls,\n imgWidth\n } = this;\n let newClass = cls;\n\n if (imgWidth) {\n newClass += ` width-${imgWidth}`;\n }\n\n return newClass;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/asset.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-scene-exceptions.vue?vue&type=script&lang=js&": -/*!*******************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-scene-exceptions.vue?vue&type=script&lang=js& ***! - \*******************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! v-tooltip */ \"./node_modules/v-tooltip/dist/v-tooltip.esm.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-scene-exceptions',\n directives: {\n tooltip: v_tooltip__WEBPACK_IMPORTED_MODULE_1__[\"VTooltip\"]\n },\n props: {\n exceptions: {\n type: Array,\n default: () => []\n },\n show: {\n type: Object,\n default: null\n }\n },\n\n data() {\n return {\n items: [],\n newItem: '',\n selectedSeason: -1,\n warning: ''\n };\n },\n\n computed: {\n availableSeasons() {\n const {\n show\n } = this;\n return [...[{\n value: -1,\n description: 'Show Exception'\n }], ...show.seasonCount.filter(season => season.season !== 0).map(season => {\n return {\n value: season.season,\n description: `Season ${season.season}`\n };\n })];\n },\n\n unique() {\n const {\n items,\n newItem,\n selectedSeason\n } = this;\n return !items.find(exception => exception.title === newItem && exception.season === selectedSeason);\n }\n\n },\n\n mounted() {\n const {\n exceptions\n } = this;\n this.items = exceptions;\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n addSceneException: 'addSceneException',\n removeSceneException: 'removeSceneException'\n }),\n\n addException() {\n const {\n addSceneException,\n clear,\n selectedSeason,\n show,\n newItem,\n unique\n } = this;\n\n if (!unique || newItem === '') {\n return;\n }\n\n const exception = {\n title: newItem,\n season: selectedSeason,\n custom: true\n };\n addSceneException({\n show,\n exception\n });\n clear();\n },\n\n removeException(exception) {\n const {\n clear,\n removeSceneException,\n show\n } = this;\n removeSceneException({\n show,\n exception\n });\n clear();\n },\n\n clear() {\n this.newItem = '';\n this.selectedSeason = -1;\n }\n\n },\n watch: {\n exceptions(newExceptions) {\n this.items = newExceptions;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/config-scene-exceptions.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-template.vue?vue&type=script&lang=js&": -/*!***********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-template.vue?vue&type=script&lang=js& ***! - \***********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-template',\n props: {\n label: {\n type: String,\n required: true\n },\n labelFor: {\n type: String,\n required: true\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/config-template.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-textbox-number.vue?vue&type=script&lang=js&": -/*!*****************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-textbox-number.vue?vue&type=script&lang=js& ***! - \*****************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-textbox-number',\n props: {\n label: {\n type: String,\n required: true\n },\n id: {\n type: String,\n required: true\n },\n explanations: {\n type: Array,\n default: () => []\n },\n value: {\n type: Number,\n default: 10\n },\n\n /**\n * Overwrite the default configured class on the element.\n */\n inputClass: {\n type: String,\n default: 'form-control input-sm input75'\n },\n min: {\n type: Number,\n default: 10\n },\n max: {\n type: Number,\n default: null\n },\n step: {\n type: Number,\n default: 1\n },\n placeholder: {\n type: String,\n default: ''\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n\n data() {\n return {\n localValue: null\n };\n },\n\n mounted() {\n const {\n value\n } = this;\n this.localValue = value;\n },\n\n watch: {\n value() {\n const {\n value\n } = this;\n this.localValue = value;\n }\n\n },\n methods: {\n updateValue() {\n const {\n localValue\n } = this;\n this.$emit('input', Number(localValue));\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/config-textbox-number.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-textbox.vue?vue&type=script&lang=js&": -/*!**********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-textbox.vue?vue&type=script&lang=js& ***! - \**********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-textbox',\n props: {\n label: {\n type: String,\n required: true\n },\n id: {\n type: String,\n required: true\n },\n explanations: {\n type: Array,\n default: () => []\n },\n value: {\n type: String,\n default: ''\n },\n type: {\n type: String,\n default: 'text'\n },\n disabled: {\n type: Boolean,\n default: false\n },\n\n /**\n * Overwrite the default configured class on the element.\n */\n inputClass: {\n type: String,\n default: 'form-control input-sm max-input350'\n },\n placeholder: {\n type: String,\n default: ''\n }\n },\n\n data() {\n return {\n localValue: null\n };\n },\n\n mounted() {\n const {\n value\n } = this;\n this.localValue = value;\n },\n\n watch: {\n value() {\n const {\n value\n } = this;\n this.localValue = value;\n }\n\n },\n methods: {\n updateValue() {\n const {\n localValue\n } = this;\n this.$emit('input', localValue);\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/config-textbox.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-toggle-slider.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-toggle-slider.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-js-toggle-button */ \"./node_modules/vue-js-toggle-button/dist/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_0__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'config-toggle-slider',\n components: {\n ToggleButton: vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_0__[\"ToggleButton\"]\n },\n props: {\n label: {\n type: String,\n required: true\n },\n id: {\n type: String,\n required: true\n },\n value: {\n type: Boolean,\n default: null\n },\n disabled: {\n type: Boolean,\n default: false\n },\n explanations: {\n type: Array,\n default: () => []\n }\n },\n\n data() {\n return {\n localChecked: null\n };\n },\n\n mounted() {\n const {\n value\n } = this;\n this.localChecked = value;\n },\n\n watch: {\n value() {\n const {\n value\n } = this;\n this.localChecked = value;\n }\n\n },\n methods: {\n updateValue() {\n const {\n localChecked\n } = this;\n this.$emit('input', localChecked);\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/config-toggle-slider.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/file-browser.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/file-browser.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../api */ \"./src/api.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'file-browser',\n props: {\n // Used for form submission\n name: {\n type: String,\n default: 'proc_dir'\n },\n // Title for the dialog and the browse button\n title: {\n type: String,\n default: 'Choose Directory'\n },\n includeFiles: {\n type: Boolean,\n default: false\n },\n showBrowseButton: {\n type: Boolean,\n default: true\n },\n // Enable autocomplete on the input field\n autocomplete: {\n type: Boolean,\n default: false\n },\n localStorageKey: {\n type: String,\n default: ''\n },\n initialDir: {\n type: String,\n default: ''\n }\n },\n\n data() {\n const testLocalStorage = () => {\n try {\n Boolean(localStorage.getItem);\n return true;\n } catch (error) {\n console.log(error);\n return false;\n }\n };\n\n return {\n lock: false,\n unwatchProp: null,\n files: [],\n currentPath: this.initialDir,\n lastPath: '',\n url: 'browser/',\n autocompleteUrl: 'browser/complete',\n fileBrowserDialog: null,\n localStorageSupport: testLocalStorage()\n };\n },\n\n created() {\n /**\n * `initialDir` property might receive values originating from the API,\n * that are sometimes not available when rendering.\n * @TODO: Maybe we can remove this in the future.\n */\n this.unwatchProp = this.$watch('initialDir', newValue => {\n this.unwatchProp();\n this.lock = true;\n this.currentPath = newValue;\n this.$nextTick(() => {\n this.lock = false;\n });\n });\n },\n\n mounted() {\n // Initialize the fileBrowser.\n const {\n autocomplete,\n fileBrowser,\n storedPath,\n $refs\n } = this;\n fileBrowser($refs.locationInput, autocomplete).on('autocompleteselect', (event, ui) => {\n this.currentPath = ui.item.value;\n }); // If the text field is empty and we have the last browsed path, use it\n\n if (!this.currentPath && storedPath) {\n this.currentPath = storedPath;\n }\n },\n\n computed: {\n storedPath: {\n // Interact with localStorage, if applicable\n get() {\n const {\n localStorageSupport,\n localStorageKey\n } = this;\n\n if (!localStorageSupport || !localStorageKey) {\n return null;\n }\n\n return localStorage['fileBrowser-' + localStorageKey];\n },\n\n set(newPath) {\n const {\n localStorageSupport,\n localStorageKey\n } = this;\n\n if (!localStorageSupport || !localStorageKey) {\n return;\n }\n\n localStorage['fileBrowser-' + localStorageKey] = newPath;\n }\n\n }\n },\n methods: {\n toggleFolder(file, event) {\n if (file.isFile) {\n return;\n }\n\n const target = event.target.children[0] || event.target;\n target.classList.toggle('ui-icon-folder-open');\n target.classList.toggle('ui-icon-folder-collapsed');\n },\n\n fileClicked(file) {\n // If item clicked is file then open file and select \"ok\"\n // Otherwise browse to dir\n if (file.isFile) {\n this.currentPath = file.path;\n $(this.$el).find('.browserDialog .ui-button:contains(\"Ok\")').click();\n } else {\n this.browse(file.path);\n }\n },\n\n browse(path) {\n const {\n url,\n includeFiles,\n fileBrowserDialog\n } = this; // Close autocomplete (needed when clicking enter)\n\n $(this.$refs.fileBrowserSearchBox).autocomplete('close');\n console.debug('Browsing to ' + path);\n fileBrowserDialog.dialog('option', 'dialogClass', 'browserDialog busy');\n fileBrowserDialog.dialog('option', 'closeText', ''); // This removes the \"Close\" text\n\n const params = {\n path,\n includeFiles: Number(includeFiles)\n };\n _api__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"].get(url, {\n params\n }).then(response => {\n const {\n data\n } = response;\n this.currentPath = data.shift().currentPath;\n this.files = data;\n fileBrowserDialog.dialog('option', 'dialogClass', 'browserDialog');\n }).catch(error => {\n console.warning(`Unable to browse to: ${path}\\nError: ${error.message}`, error);\n });\n },\n\n openFileBrowser(callback) {\n const vm = this;\n const {\n browse,\n title,\n fileBrowser,\n $refs\n } = vm;\n const {\n fileBrowserSearchBox,\n fileBrowserFileList\n } = $refs;\n\n if (!vm.fileBrowserDialog) {\n // Make a fileBrowserDialog object if one doesn't exist already\n // Set up the jQuery dialog\n vm.fileBrowserDialog = $($refs.fileBrowserDialog).dialog({\n dialogClass: 'browserDialog',\n title,\n position: {\n my: 'center top',\n at: 'center top+100',\n of: window\n },\n minWidth: Math.min($(document).width() - 80, 650),\n height: Math.min($(document).height() - 120, $(window).height() - 120),\n maxHeight: Math.min($(document).height() - 120, $(window).height() - 120),\n maxWidth: $(document).width() - 80,\n modal: true,\n autoOpen: false\n });\n fileBrowserSearchBox.removeAttribute('style');\n vm.fileBrowserDialog // This is a jQuery object\n .append(fileBrowserSearchBox);\n fileBrowser(fileBrowserSearchBox, true).on('autocompleteselect', (event, ui) => {\n browse(ui.item.value);\n });\n }\n\n vm.fileBrowserDialog.dialog('option', 'buttons', [{\n text: 'Ok',\n class: 'medusa-btn',\n\n click() {\n // Store the browsed path to the associated text field\n callback(vm.currentPath);\n $(this).dialog('close');\n }\n\n }, {\n text: 'Cancel',\n class: 'medusa-btn',\n\n click() {\n // Reset currentPath to path before dialog opened\n vm.currentPath = vm.lastPath;\n $(this).dialog('close');\n }\n\n }]);\n vm.fileBrowserDialog.dialog('open');\n browse(vm.currentPath); // Set lastPath so we can reset currentPath if we cancel dialog\n\n vm.lastPath = vm.currentPath;\n fileBrowserFileList.removeAttribute('style');\n vm.fileBrowserDialog // This is a jQuery object\n .append(fileBrowserFileList);\n },\n\n fileBrowser(target, autocomplete) {\n const vm = this;\n const {\n autocompleteUrl,\n includeFiles\n } = vm; // Text field used for the result\n\n const resultField = $(target);\n\n if (autocomplete && resultField.autocomplete && autocompleteUrl) {\n let query = '';\n\n resultField.autocomplete({\n position: {\n my: 'top',\n at: 'bottom',\n collision: 'flipfit'\n },\n\n source(request, response) {\n // Keep track of user submitted search term\n query = $.ui.autocomplete.escapeRegex(request.term);\n request.includeFiles = Number(includeFiles);\n $.ajax({\n url: autocompleteUrl,\n data: request,\n dataType: 'json'\n }).done(data => {\n // Implement a startsWith filter for the results\n const matcher = new RegExp('^' + query, 'i');\n const a = $.grep(data, item => {\n return matcher.test(item);\n });\n response(a);\n });\n },\n\n open() {\n $(vm.$el).find('.ui-autocomplete li.ui-menu-item a').removeClass('ui-corner-all');\n }\n\n }).data('ui-autocomplete')._renderItem = (ul, item) => {\n // Highlight the matched search term from the item -- note that this is global and will match anywhere\n let resultItem = item.label;\n const x = new RegExp('(?![^&;]+;)(?!<[^<>]*)(' + query + ')(?![^<>]*>)(?![^&;]+;)', 'gi');\n resultItem = resultItem.replace(x, fullMatch => {\n return '' + fullMatch + '';\n });\n return $('
  • ').data('ui-autocomplete-item', item).append('' + resultItem + '').appendTo(ul);\n };\n } // Returns: jQuery element\n\n\n return resultField;\n },\n\n openDialog() {\n const {\n openFileBrowser,\n currentPath\n } = this;\n openFileBrowser(path => {\n // Store the path to remember for next time -- no ie6/7\n this.storedPath = path || currentPath;\n });\n }\n\n },\n watch: {\n currentPath() {\n if (!this.lock) {\n this.$emit('update', this.currentPath);\n }\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/helpers/file-browser.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/language-select.vue?vue&type=script&lang=js&": -/*!***********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/language-select.vue?vue&type=script&lang=js& ***! - \***********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'language-select',\n props: {\n language: {\n type: String,\n default: 'en'\n },\n available: {\n type: String,\n default: 'en'\n },\n blank: {\n type: Boolean,\n default: false\n },\n flags: {\n type: Boolean,\n default: false\n }\n },\n\n mounted() {\n const vm = this;\n $(this.$el).bfhlanguages({\n flags: this.flags,\n language: this.language,\n available: this.available,\n blank: this.blank\n });\n $(this.$el).on('change', evt => {\n vm.$emit('update-language', evt.currentTarget.value);\n });\n },\n\n watch: {\n language() {\n $(this.$el).val(this.language);\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/helpers/language-select.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/lazy-image.vue?vue&type=script&lang=js&": -/*!******************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/lazy-image.vue?vue&type=script&lang=js& ***! - \******************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lozad__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lozad */ \"./node_modules/lozad/dist/lozad.min.js\");\n/* harmony import */ var lozad__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lozad__WEBPACK_IMPORTED_MODULE_0__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'lazy-image',\n props: {\n height: {\n type: Number,\n default: null\n },\n lazySrc: {\n type: String,\n default: null\n },\n lazySrcset: {\n type: String,\n default: null\n },\n lazyDefaultSrc: {\n type: String,\n default: null\n },\n lazyCls: {\n type: String,\n default: ''\n },\n width: {\n type: Number,\n default: null\n }\n },\n\n data() {\n return {\n loading: true,\n error: false\n };\n },\n\n computed: {\n aspectRatio() {\n // Calculate the aspect ratio of the image\n // if the width and the height are given.\n if (!this.width || !this.height) {\n return null;\n }\n\n return this.height / this.width * 100;\n },\n\n style() {\n const style = {};\n\n if (this.width) {\n style.width = `${this.width}px`;\n } // If the image is still loading and an\n // aspect ratio could be calculated, we\n // apply the calculated aspect ratio by\n // using padding top.\n\n\n const applyAspectRatio = this.loading && this.aspectRatio;\n\n if (applyAspectRatio) {\n // Prevent flash of unstyled image\n // after the image is loaded.\n style.height = 0; // Scale the image container according\n // to the aspect ratio.\n\n style.paddingTop = `${this.aspectRatio}%`;\n }\n\n return style;\n }\n\n },\n\n mounted() {\n // As soon as the element triggers\n // the `load` event, the loading state is\n // set to `false`, which removes the apsect\n // ratio we've applied earlier.\n const setLoadingState = () => {\n this.loading = false;\n };\n\n this.$el.addEventListener('load', setLoadingState); // We remove the event listener as soon as\n // the component is destroyed to prevent\n // potential memory leaks.\n\n this.$once('hook:destroyed', () => {\n this.$el.removeEventListener('load', setLoadingState);\n }); // We initialize Lozad.js on the root\n // element of our component.\n\n const observer = lozad__WEBPACK_IMPORTED_MODULE_0___default()(this.$el, {\n loaded: el => {\n el.classList.add('loaded');\n const img = new Image();\n img.src = el.getAttribute('data-src');\n img.addEventListener('error', () => {\n el.classList.add('error');\n\n if (this.lazyDefaultSrc) {\n el.setAttribute('src', this.lazyDefaultSrc);\n }\n }, false);\n }\n });\n observer.observe();\n },\n\n methods: {\n observe() {\n // We initialize Lozad.js on the root\n // element of our component.\n const observer = lozad__WEBPACK_IMPORTED_MODULE_0___default()(this.$el);\n observer.observe();\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/lazy-image.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/load-progress-bar.vue?vue&type=script&lang=js&": -/*!*************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/load-progress-bar.vue?vue&type=script&lang=js& ***! - \*************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'load-progress-bar',\n props: {\n display: Boolean,\n current: Number,\n total: Number,\n description: {\n type: String,\n default: 'Shows'\n }\n },\n computed: {\n loadMsg() {\n const {\n current,\n total,\n description\n } = this;\n return `Loaded ${current} out of ${total} ${description}`;\n },\n\n styleProgress() {\n const {\n current,\n total\n } = this;\n return {\n height: '24px',\n width: `${Math.round(current / total * 100)}%`\n };\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/load-progress-bar.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/name-pattern.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/name-pattern.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var date_fns_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! date-fns/format */ \"./node_modules/date-fns/esm/format/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-js-toggle-button */ \"./node_modules/vue-js-toggle-button/dist/index.js\");\n/* harmony import */ var vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../api */ \"./src/api.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'name-pattern',\n components: {\n ToggleButton: vue_js_toggle_button__WEBPACK_IMPORTED_MODULE_1__[\"ToggleButton\"]\n },\n props: {\n /**\n * Current naming pattern.\n */\n namingPattern: {\n type: String,\n default: ''\n },\n\n /**\n * An array of available preset naming patterns.\n */\n namingPresets: {\n type: Array,\n default: () => []\n },\n\n /**\n * The selected multi ep style\n */\n multiEpStyle: {\n type: Number\n },\n\n /**\n * Availale multi ep style\n */\n multiEpStyles: {\n type: Array,\n default: () => []\n },\n\n /**\n * For anime shows there are a number of variations on how the absolute episode number\n * is added to the episode.\n */\n animeNamingType: {\n type: Number,\n default: 0\n },\n\n /**\n * Provide the custom naming type. -Like sports, anime, air by date- description.\n * If none provided we asume this is the default episode naming component.\n * And that means there will be no checkbox available to enable/disable it.\n */\n type: {\n type: String,\n default: ''\n },\n\n /**\n * Used icw with the type property.\n * If a type has been passed, the `enabled` property can be used to toggle the visibilty of the name-pattern settings.\n */\n enabled: {\n type: Boolean,\n default: true\n },\n flagLoaded: {\n type: Boolean,\n default: false\n }\n },\n\n data() {\n return {\n presets: [],\n availableMultiEpStyles: [],\n pattern: '',\n customName: '',\n showLegend: false,\n namingExample: '',\n namingExampleMulti: '',\n isEnabled: false,\n selectedMultiEpStyle: 1,\n animeType: 0,\n lastSelectedPattern: ''\n };\n },\n\n methods: {\n getDateFormat(format) {\n return Object(date_fns_format__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(new Date(), format);\n },\n\n testNaming(pattern, selectedMultiEpStyle, animeType) {\n console.debug(`Test pattern ${pattern} for ${selectedMultiEpStyle ? 'multi' : 'single ep'}`);\n const params = {\n pattern,\n anime_type: animeType // eslint-disable-line camelcase\n\n };\n\n if (selectedMultiEpStyle) {\n params.multi = selectedMultiEpStyle;\n }\n\n try {\n return _api__WEBPACK_IMPORTED_MODULE_2__[\"apiRoute\"].get('config/postProcessing/testNaming', {\n params,\n timeout: 20000\n }).then(res => res.data);\n } catch (error) {\n console.warn(error);\n return '';\n }\n },\n\n updatePatternSamples() {\n // If it's a custom pattern, we need to get the custom pattern from this.customName\n // if customName if empty for whatever reason, just use the last selected preset value.\n if (!this.customName) {\n this.customName = this.lastSelectedPattern;\n }\n\n const pattern = this.isCustom ? this.customName : this.pattern; // Exiting early as we probably don't have all the properties yet.\n // updatePatternSamples() can be triggered from a watcher on pattern, this.selectedMultiEpStyle or this.animeType\n // We want to make sure that the data passed on to the component is complete before making calls to the backend.\n // If we don't check on this, it will send api requests with null data.\n\n if (!pattern || this.animeType === null || this.selectedMultiEpStyle === null) {\n return;\n } // Update single\n\n\n this.testNaming(pattern, false, this.animeType).then(result => {\n this.namingExample = result + '.ext';\n }); // Test naming\n\n this.checkNaming(pattern, false, this.animeType);\n\n if (this.isMulti) {\n this.testNaming(pattern, this.selectedMultiEpStyle, this.animeType).then(result => {\n this.namingExampleMulti = result + '.ext';\n });\n this.checkNaming(pattern, this.selectedMultiEpStyle, this.animeType);\n }\n },\n\n update() {\n if (!this.flagLoaded) {\n return;\n }\n\n this.$nextTick(() => {\n this.$emit('change', {\n pattern: this.isCustom ? this.customName : this.pattern,\n type: this.type,\n multiEpStyle: this.selectedMultiEpStyle,\n custom: this.isCustom,\n enabled: this.isEnabled,\n animeNamingType: Number(this.animeType)\n });\n });\n },\n\n checkNaming(pattern, selectedMultiEpStyle, animeType) {\n if (!pattern) {\n return;\n }\n\n const params = {\n pattern,\n anime_type: animeType // eslint-disable-line camelcase\n\n };\n\n if (selectedMultiEpStyle) {\n params.multi = selectedMultiEpStyle;\n }\n\n const {\n $el\n } = this;\n const el = $($el);\n _api__WEBPACK_IMPORTED_MODULE_2__[\"apiRoute\"].get('config/postProcessing/isNamingValid', {\n params,\n timeout: 20000\n }).then(result => {\n if (result.data === 'invalid') {\n el.find('#naming_pattern').qtip('option', {\n 'content.text': 'This pattern is invalid.',\n 'style.classes': 'qtip-rounded qtip-shadow qtip-red'\n });\n el.find('#naming_pattern').qtip('toggle', true);\n el.find('#naming_pattern').css('background-color', '#FFDDDD');\n } else if (result.data === 'seasonfolders') {\n el.find('#naming_pattern').qtip('option', {\n 'content.text': 'This pattern would be invalid without the folders, using it will force \"Flatten\" off for all shows.',\n 'style.classes': 'qtip-rounded qtip-shadow qtip-red'\n });\n el.find('#naming_pattern').qtip('toggle', true);\n el.find('#naming_pattern').css('background-color', '#FFFFDD');\n } else {\n el.find('#naming_pattern').qtip('option', {\n 'content.text': 'This pattern is valid.',\n 'style.classes': 'qtip-rounded qtip-shadow qtip-green'\n });\n el.find('#naming_pattern').qtip('toggle', false);\n el.find('#naming_pattern').css('background-color', '#FFFFFF');\n }\n }).catch(error => {\n console.warn(error);\n });\n },\n\n updateCustomName() {\n // Store the custom naming pattern.\n if (!this.presetsPatterns.includes(this.pattern)) {\n this.customName = this.pattern;\n } // If the custom name is empty, let's use the last selected pattern.\n // We'd prefer to cache the last configured custom pattern.\n\n\n if (!this.customName) {\n this.customName = this.lastSelectedPattern;\n }\n }\n\n },\n computed: {\n isCustom() {\n if (this.pattern) {\n return !this.presetsPatterns.includes(this.pattern) || this.pattern === 'Custom...';\n }\n\n return false;\n },\n\n selectedNamingPattern: {\n get() {\n const filterPattern = () => {\n const foundPattern = this.presets.filter(preset => preset.pattern === this.pattern);\n\n if (foundPattern.length > 0) {\n return foundPattern[0].example;\n }\n\n return false;\n };\n\n return this.isCustom ? 'Custom...' : filterPattern();\n },\n\n set(example) {\n // We need to convert the selected example back to a pattern\n this.pattern = this.presets.filter(preset => preset.example === example)[0].pattern;\n }\n\n },\n\n presetsPatterns() {\n return this.presets.map(preset => preset.pattern);\n },\n\n isMulti() {\n return Boolean(this.multiEpStyle);\n }\n\n },\n\n mounted() {\n this.pattern = this.namingPattern; // Add Custom... as an option to the presets.\n\n this.presets = this.namingPresets.concat({\n pattern: 'Custom...',\n example: 'Custom...'\n }); // Update the custom name\n\n this.updateCustomName(); // Pass properties into local variables\n\n this.availableMultiEpStyles = this.multiEpStyles;\n this.selectedMultiEpStyle = this.multiEpStyle;\n this.animeType = this.animeNamingType; // If type is falsy, we asume it's the default name pattern. And thus enabled by default.\n\n this.isEnabled = this.type ? false : this.enabled; // Update the pattern samples\n\n this.updatePatternSamples();\n },\n\n watch: {\n // Update local variables when properties are updated\n enabled() {\n this.isEnabled = this.enabled;\n },\n\n namingPattern(newPattern, oldPattern) {\n this.lastSelectedPattern = newPattern || oldPattern;\n this.pattern = this.namingPattern;\n this.updateCustomName();\n this.updatePatternSamples();\n },\n\n namingPresets() {\n this.presets = this.namingPresets;\n },\n\n multiEpStyle() {\n this.selectedMultiEpStyle = this.multiEpStyle;\n this.updatePatternSamples();\n },\n\n multiEpStyles() {\n this.availableMultiEpStyles = this.multiEpStyles;\n },\n\n animeNamingType() {\n this.animeType = this.animeNamingType;\n this.updatePatternSamples();\n },\n\n type() {\n this.isEnabled = this.type ? false : this.enabled;\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/helpers/name-pattern.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/plot-info.vue?vue&type=script&lang=js&": -/*!*****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/plot-info.vue?vue&type=script&lang=js& ***! - \*****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var v_tooltip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! v-tooltip */ \"./node_modules/v-tooltip/dist/v-tooltip.esm.js\");\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'plot-info',\n directives: {\n tooltip: v_tooltip__WEBPACK_IMPORTED_MODULE_0__[\"VTooltip\"]\n },\n props: {\n description: {\n type: String,\n required: true\n }\n },\n computed: {\n plotInfoClass() {\n return this.description === '' ? 'plotInfoNone' : 'plotInfo';\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/plot-info.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/poster-size-slider.vue?vue&type=script&lang=js&": -/*!**************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/poster-size-slider.vue?vue&type=script&lang=js& ***! - \**************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'poster-size-slider',\n props: {\n min: {\n type: Number,\n default: 75\n },\n max: {\n type: Number,\n default: 250\n }\n },\n\n mounted() {\n const {\n setLayoutLocal,\n min,\n max\n } = this; // Get poster size from localStorage\n\n let slidePosterSize;\n\n if (typeof Storage !== 'undefined') {\n slidePosterSize = Number.parseInt(localStorage.getItem('posterSize'), 10);\n }\n\n if (typeof slidePosterSize !== 'number' || Number.isNaN(slidePosterSize)) {\n slidePosterSize = 188;\n } // Update poster size to store\n\n\n setLayoutLocal({\n key: 'posterSize',\n value: slidePosterSize\n });\n $(this.$el).find('#posterSizeSlider').slider({\n min,\n max,\n value: slidePosterSize,\n\n change(e, ui) {\n // Save to localStorage\n if (typeof Storage !== 'undefined') {\n localStorage.setItem('posterSize', ui.value);\n } // Save to store\n\n\n setLayoutLocal({\n key: 'posterSize',\n value: ui.value\n });\n }\n\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n setLayoutLocal: 'setLayoutLocal'\n })\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/helpers/poster-size-slider.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/progress-bar.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/progress-bar.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n text: String,\n title: String,\n percentage: [String, Number]\n },\n computed: {\n normalisedPercentage() {\n const percentage = Number(this.percentage);\n\n if (percentage === 100) {\n return 100;\n }\n\n if (percentage > 80) {\n return 80;\n }\n\n if (percentage > 60) {\n return 60;\n }\n\n if (percentage > 40) {\n return 40;\n }\n\n return 20;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/progress-bar.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/quality-chooser.vue?vue&type=script&lang=js&": -/*!***********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/quality-chooser.vue?vue&type=script&lang=js& ***! - \***********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../api */ \"./src/api.js\");\n/* harmony import */ var _app_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app-link */ \"./src/components/helpers/app-link.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'quality-chooser',\n components: {\n AppLink: _app_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n props: {\n overallQuality: {\n type: Number,\n default: window.qualityChooserInitialQuality\n },\n keep: {\n type: String,\n default: null,\n validator: value => ['keep', 'show'].includes(value)\n },\n showSlug: {\n type: String\n }\n },\n\n data() {\n return {\n // eslint-disable-next-line no-warning-comments\n lock: false,\n // FIXME: Remove this hack, see `watch.overallQuality` below\n allowedQualities: [],\n preferredQualities: [],\n curQualityPreset: null,\n archive: false,\n archivedStatus: '',\n archiveButton: {\n text: 'Archive episodes',\n disabled: false\n }\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n qualityValues: state => state.config.consts.qualities.values,\n qualityPresets: state => state.config.consts.qualities.presets,\n defaultQuality: state => state.config.general.showDefaults.quality\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])(['getQualityPreset', 'splitQuality']),\n\n initialQuality() {\n return this.overallQuality === undefined ? this.defaultQuality : this.overallQuality;\n },\n\n selectedQualityPreset: {\n get() {\n return this.curQualityPreset;\n },\n\n set(newValue) {\n const {\n curQualityPreset,\n setQualityFromPreset\n } = this; // If an array was provided - initial or update from parent: [newPreset, oldPreset]\n // If a single value was provided - updated using select box: [newPreset, currentPreset]\n\n const [newPreset, currentPreset] = Array.isArray(newValue) ? newValue : [newValue, curQualityPreset];\n setQualityFromPreset(newPreset, currentPreset);\n this.curQualityPreset = newPreset;\n }\n\n },\n\n explanation() {\n const {\n allowedQualities,\n preferredQualities,\n qualityValues\n } = this;\n return qualityValues.reduce((result, {\n value,\n name\n }) => {\n const isPreferred = preferredQualities.includes(value); // If this quality is preferred but not allowed, add it to allowed\n\n if (allowedQualities.includes(value) || isPreferred) {\n result.allowed.push(name);\n }\n\n if (isPreferred) {\n result.preferred.push(name);\n }\n\n return result;\n }, {\n allowed: [],\n preferred: []\n });\n },\n\n validQualities() {\n return this.qualityValues.filter(({\n key\n }) => key !== 'na');\n }\n\n },\n asyncComputed: {\n async backloggedEpisodes() {\n const {\n showSlug,\n allowedQualities,\n preferredQualities\n } = this; // Skip if no showSlug, as that means we're on a addShow page\n\n if (!showSlug) {\n return null;\n } // Skip if no qualities are selected\n\n\n if (allowedQualities.length + preferredQualities.length === 0) {\n return null;\n }\n\n const url = `series/${showSlug}/legacy/backlogged`;\n const params = {\n allowed: allowedQualities.join(','),\n preferred: preferredQualities.join(',')\n };\n let status = false; // Set to `false` for red text, `true` for normal color\n\n let response;\n\n try {\n response = await _api__WEBPACK_IMPORTED_MODULE_1__[\"api\"].get(url, {\n params\n });\n } catch (error) {\n return {\n status,\n html: 'Failed to get backlog prediction
    ' + String(error)\n };\n }\n\n const newBacklogged = response.data.new;\n const existingBacklogged = response.data.existing;\n const variation = Math.abs(newBacklogged - existingBacklogged);\n let html = 'Current backlog: ' + existingBacklogged + ' episodes
    ';\n\n if (newBacklogged === -1 || existingBacklogged === -1) {\n html = 'No qualities selected';\n } else if (newBacklogged === existingBacklogged) {\n html += \"This change won't affect your backlogged episodes\";\n status = true;\n } else {\n html += '
    New backlog: ' + newBacklogged + ' episodes';\n html += '

    ';\n let change = '';\n\n if (newBacklogged > existingBacklogged) {\n html += 'WARNING: ';\n change = 'increase'; // Only show the archive action div if we have backlog increase\n\n this.archive = true;\n } else {\n change = 'decrease';\n }\n\n html += 'Backlog will ' + change + ' by ' + variation + ' episodes.';\n }\n\n return {\n status,\n html\n };\n }\n\n },\n\n mounted() {\n this.setInitialPreset(this.initialQuality);\n },\n\n methods: {\n isQualityPreset(quality) {\n return this.getQualityPreset({\n value: quality\n }) !== undefined;\n },\n\n setInitialPreset(preset) {\n const {\n isQualityPreset,\n keep\n } = this;\n const newPreset = keep === 'keep' ? 'keep' : isQualityPreset(preset) ? preset : 0;\n this.selectedQualityPreset = [newPreset, preset];\n },\n\n async archiveEpisodes() {\n this.archivedStatus = 'Archiving...';\n const url = `series/${this.showSlug}/operation`;\n const response = await _api__WEBPACK_IMPORTED_MODULE_1__[\"api\"].post(url, {\n type: 'ARCHIVE_EPISODES'\n });\n\n if (response.status === 201) {\n this.archivedStatus = 'Successfully archived episodes'; // Recalculate backlogged episodes after we archive it\n\n this.$asyncComputed.backloggedEpisodes.update();\n } else if (response.status === 204) {\n this.archivedStatus = 'No episodes to be archived';\n } // Restore button text\n\n\n this.archiveButton.text = 'Finished';\n this.archiveButton.disabled = true;\n },\n\n setQualityFromPreset(preset, oldPreset) {\n // If empty skip\n if (preset === undefined || preset === null) {\n return;\n } // [Mass Edit] If changing to/from `keep`, restore the original value\n\n\n if ([preset, oldPreset].some(val => val === 'keep')) {\n preset = this.initialQuality; // If preset is custom, set to last preset (provided it's not null)\n } else if ((preset === 0 || !this.isQualityPreset(preset)) && oldPreset !== null) {\n preset = oldPreset;\n }\n\n const {\n allowed,\n preferred\n } = this.splitQuality(preset);\n this.allowedQualities = allowed;\n this.preferredQualities = preferred;\n }\n\n },\n watch: {\n // eslint-disable-next-line no-warning-comments\n\n /*\n FIXME: Remove this watch and the `this.lock` hack.\n This is causing the preset selector to change from `Custom` to a preset,\n when the correct qualities for that preset are selected.\n */\n overallQuality(newValue) {\n if (!this.lock) {\n this.setInitialPreset(newValue);\n }\n },\n\n /* eslint-disable no-warning-comments */\n allowedQualities(newQuality) {\n // Deselecting all allowed qualities clears the preferred selection\n if (newQuality.length === 0 && this.preferredQualities.length > 0) {\n this.preferredQualities = [];\n }\n\n this.lock = true; // FIXME: Remove this hack, see above\n\n this.$emit('update:quality:allowed', newQuality); // FIXME: Remove this hack, see above\n\n this.$nextTick(() => {\n this.lock = false;\n });\n },\n\n preferredQualities(newQuality) {\n this.lock = true; // FIXME: Remove this hack, see above\n\n this.$emit('update:quality:preferred', newQuality); // FIXME: Remove this hack, see above\n\n this.$nextTick(() => {\n this.lock = false;\n });\n }\n /* eslint-enable no-warning-comments */\n\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/quality-chooser.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/quality-pill.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/quality-pill.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/core */ \"./src/utils/core.js\");\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'quality-pill',\n props: {\n allowed: {\n type: Array\n },\n preferred: {\n type: Array\n },\n quality: {\n type: Number,\n validator: value => value >>> 0 >= 0 // Unsigned int\n\n },\n showTitle: {\n type: Boolean,\n default: false\n },\n override: {\n type: Object,\n default: () => ({}),\n validator: value => {\n return Object.keys(value).every(key => ['class', 'title', 'text', 'style'].includes(key));\n }\n }\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n qualityValues: state => state.config.consts.qualities.values\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])(['getQuality', 'getQualityAnySet', 'getQualityPreset', 'splitQuality']),\n\n qualities() {\n const {\n allowed,\n preferred,\n quality,\n splitQuality\n } = this; // Used for Vueified pages as they have the arrays already split\n\n if (allowed && preferred) {\n return {\n allowed,\n preferred\n };\n }\n\n return splitQuality(quality);\n },\n\n title() {\n const {\n override,\n qualities,\n getQuality,\n showTitle\n } = this;\n\n if (override.title) {\n return override.title;\n }\n\n if (!showTitle) {\n return undefined;\n }\n\n const getQualityName = value => getQuality({\n value\n }).name;\n\n let title = '';\n title += 'Allowed Qualities:\\n';\n\n if (qualities.allowed.length === 0) {\n title += ' None';\n } else {\n title += qualities.allowed.map(curQual => ` ${getQualityName(curQual)}`).join('\\n');\n }\n\n title += '\\n\\nPreferred Qualities:\\n';\n\n if (qualities.preferred.length === 0) {\n title += ' None';\n } else {\n title += qualities.preferred.map(curQual => ` ${getQualityName(curQual)}`).join('\\n');\n }\n\n return title;\n },\n\n pill() {\n let {\n quality,\n allowed,\n preferred\n } = this; // Combine allowed & preferred qualities\n\n if (allowed && preferred) {\n quality = Object(_utils_core__WEBPACK_IMPORTED_MODULE_1__[\"combineQualities\"])(allowed, preferred);\n } // If allowed and preferred qualities are the same, show pill as allowed quality\n\n\n const sumAllowed = (quality & 0xFFFF) >>> 0; // Unsigned int\n\n const sumPreferred = quality >> 16 >>> 0; // Unsigned int\n\n if (sumAllowed === sumPreferred) {\n quality = sumAllowed;\n }\n\n const matched = // Is quality a preset?\n this.getQualityPreset({\n value: quality\n }) || // Is quality an 'anySet'? (any HDTV, any WEB-DL, any BluRay)\n this.getQualityAnySet({\n value: quality\n }) || // Is quality a specific quality? (720p HDTV, 1080p WEB-DL, etc.)\n this.getQuality({\n value: quality\n });\n\n if (matched !== undefined) {\n return matched;\n }\n\n const customQualitySets = [// All sources are HDTV\n {\n name: 'HDTV',\n key: 'anyhdtv',\n elements: ['hdtv', 'rawhdtv', 'fullhdtv', 'uhd4ktv', 'uhd8ktv']\n }, // All sources are WEB-DL\n {\n name: 'WEB-DL',\n key: 'anywebdl',\n elements: ['hdwebdl', 'fullhdwebdl', 'uhd4kwebdl', 'uhd8kwebdl']\n }, // All sources are BluRay\n {\n name: 'BluRay',\n key: 'anybluray',\n elements: ['hdbluray', 'fullhdbluray', 'uhd4kbluray', 'uhd8kbluray']\n }, // All resolutions are 720p\n {\n name: '720p',\n key: 'hd720p',\n elements: ['hdtv', 'rawhdtv', 'hdwebdl', 'hdbluray']\n }, // All resolutions are 1080p\n {\n name: '1080p',\n key: 'hd1080p',\n elements: ['fullhdtv', 'fullhdwebdl', 'fullhdbluray']\n }, // All resolutions are 4K UHD\n {\n name: 'UHD-4K',\n key: 'anyuhd4k',\n elements: ['uhd4ktv', 'uhd4kwebdl', 'uhd4kbluray']\n }, // All resolutions are 8K UHD\n {\n name: 'UHD-8K',\n key: 'anyuhd8k',\n elements: ['uhd8ktv', 'uhd8kwebdl', 'uhd8kbluray']\n }];\n const {\n isSubsetOf,\n qualities,\n makeQualitySet\n } = this;\n\n for (const {\n name,\n key,\n elements\n } of customQualitySets) {\n const qualitySet = makeQualitySet(elements); // Check if both quality lists match the set.\n\n if (isSubsetOf(qualities.allowed, qualitySet) && isSubsetOf(qualities.preferred, qualitySet)) {\n return {\n name,\n key\n };\n }\n } // These are the fallback values, if none of the checks above matched\n\n\n return {\n key: 'custom',\n name: 'Custom'\n };\n }\n\n },\n methods: {\n /**\n * Make a quality set.\n * @param {string[]} keys - An array of quality keys to add their values to the set.\n * @returns {number[]} An array of the quality values.\n */\n makeQualitySet(keys) {\n return this.qualityValues.reduce((result, {\n key,\n value\n }) => {\n if (keys.includes(key)) {\n return result.concat(value);\n }\n\n return result;\n }, []);\n },\n\n /**\n * Check if all the items of `set1` are items of `set2`.\n * Note that when `set1` is empty, it returns `true`.\n * Assumption: Each array contains unique items only.\n * Source: https://stackoverflow.com/a/48211214/7597273\n *\n * @param {(Number[]|String[])} set1 - Array to be compared against `set2`.\n * @param {(Number[]|String[])} set2 - Array to compare `set1` against.\n * @returns {Boolean} - Whether or not `set1` is a subset of `set2`\n */\n isSubsetOf(set1, set2) {\n return set1.every(value => set2.includes(value));\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/quality-pill.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/scroll-buttons.vue?vue&type=script&lang=js&": -/*!**********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/scroll-buttons.vue?vue&type=script&lang=js& ***! - \**********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'scroll-buttons',\n\n data() {\n return {\n showToTop: false,\n showLeftRight: false\n };\n },\n\n methods: {\n scrollTop() {\n const {\n scrollTo\n } = this;\n scrollTo($('body'));\n },\n\n scrollLeft() {\n $('div.horizontal-scroll').animate({\n scrollLeft: '-=153'\n }, 1000, 'easeOutQuad');\n },\n\n scrollRight() {\n $('div.horizontal-scroll').animate({\n scrollLeft: '+=153'\n }, 1000, 'easeOutQuad');\n },\n\n scrollTo(dest) {\n $('html, body').animate({\n scrollTop: $(dest).offset().top\n }, 500, 'linear');\n },\n\n /**\n * Make an attempt to detect if there are currently scroll bars visible for divs with the horizontal-scroll class.\n *\n * If scroll bars are visible the fixed left and right buttons become visible on that page.\n */\n initHorizontalScroll() {\n const scrollDiv = $('div.horizontal-scroll').get();\n\n if (scrollDiv.length === 0) {\n return;\n }\n\n const scrollbarVisible = scrollDiv.map(el => {\n return el.scrollWidth > el.clientWidth;\n }).indexOf(true);\n\n if (scrollbarVisible >= 0) {\n this.showLeftRight = true;\n } else {\n this.showLeftRight = false;\n }\n }\n\n },\n\n mounted() {\n const {\n initHorizontalScroll\n } = this;\n initHorizontalScroll();\n $(window).on('resize', () => {\n initHorizontalScroll();\n });\n $(document).on('scroll', () => {\n if ($(window).scrollTop() > 100) {\n this.showToTop = true;\n } else {\n this.showToTop = false;\n }\n });\n }\n\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/helpers/scroll-buttons.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/select-list.vue?vue&type=script&lang=js&": -/*!*******************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/select-list.vue?vue&type=script&lang=js& ***! - \*******************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'select-list',\n props: {\n listItems: {\n type: Array,\n default: () => [],\n required: true\n },\n unique: {\n type: Boolean,\n default: true,\n required: false\n },\n csvEnabled: {\n type: Boolean,\n default: false,\n required: false\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n\n data() {\n return {\n editItems: [],\n newItem: '',\n indexCounter: 0,\n csv: '',\n csvMode: this.csvEnabled\n };\n },\n\n mounted() {\n this.editItems = this.sanitize(this.listItems);\n this.csv = this.editItems.map(item => item.value).join(', ');\n },\n\n created() {\n /**\n * ListItems property might receive values originating from the API,\n * that are sometimes not available when rendering.\n * @TODO: This is not ideal! Maybe we can remove this in the future.\n */\n const unwatchProp = this.$watch('listItems', () => {\n unwatchProp();\n this.editItems = this.sanitize(this.listItems);\n this.csv = this.editItems.map(item => item.value).join(', ');\n });\n },\n\n methods: {\n addItem(item) {\n if (this.unique && this.editItems.find(i => i.value === item)) {\n return;\n }\n\n this.editItems.push({\n id: this.indexCounter,\n value: item\n });\n this.indexCounter += 1;\n },\n\n addNewItem() {\n const {\n newItem,\n editItems\n } = this;\n\n if (this.newItem === '') {\n return;\n }\n\n this.addItem(newItem);\n this.newItem = '';\n this.$emit('change', editItems);\n },\n\n deleteItem(item) {\n this.editItems = this.editItems.filter(e => e !== item);\n this.$refs.newItemInput.focus();\n this.$emit('change', this.editItems);\n },\n\n removeEmpty(item) {\n return item.value === '' ? this.deleteItem(item) : false;\n },\n\n /**\n * Initially an array of strings is passed, which we'd like to translate to an array of object.\n * Where the index has been added.\n * @param {string[]} values - Array of strings.\n * @returns {Object[]} - An array of objects with the index and value.\n */\n sanitize(values) {\n if (!values) {\n return [];\n }\n\n return values.map(value => {\n if (typeof value === 'string') {\n this.indexCounter += 1;\n return {\n id: this.indexCounter - 1,\n value\n };\n }\n\n return value;\n });\n },\n\n /**\n * Depending on which option is selected, sync the data to the other.\n * Sync from editItems to a csv (comma separated) field.\n * Or from csv to editItems.\n */\n syncValues() {\n if (this.csvMode) {\n this.editItems = [];\n this.csv.split(',').forEach(value => {\n // Omit empty strings\n if (value.trim()) {\n this.addItem(value.trim());\n }\n });\n this.$emit('change', this.editItems);\n } else {\n this.csv = this.editItems.map(item => item.value).join(', ');\n }\n },\n\n /**\n * When switching between a list of inputs and a csv input\n * whe're making sure that 1. the data is updated in editItems (which is the source of truth)\n * and this.csv, which keeps track of the csv.\n */\n switchFields() {\n this.syncValues();\n this.csvMode = !this.csvMode;\n }\n\n },\n watch: {\n csv() {\n this.syncValues();\n },\n\n listItems() {\n this.editItems = this.sanitize(this.listItems);\n this.newItem = '';\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/select-list.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/show-selector.vue?vue&type=script&lang=js&": -/*!*********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/show-selector.vue?vue&type=script&lang=js& ***! - \*********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'show-selector',\n props: {\n showSlug: String,\n followSelection: {\n type: Boolean,\n default: false\n },\n placeholder: String,\n selectClass: {\n type: String,\n default: 'select-show form-control input-sm-custom'\n }\n },\n\n data() {\n const selectedShowSlug = this.showSlug || this.placeholder;\n return {\n selectedShowSlug\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n layout: state => state.config.layout,\n shows: state => state.shows.shows\n }),\n\n showLists() {\n const {\n layout,\n shows\n } = this;\n const {\n animeSplitHome,\n sortArticle\n } = layout;\n const lists = [{\n type: 'Shows',\n shows: []\n }, {\n type: 'Anime',\n shows: []\n }]; // We're still loading\n\n if (shows.length === 0) {\n return;\n }\n\n shows.forEach(show => {\n const type = Number(animeSplitHome && show.config.anime);\n lists[type].shows.push(show);\n });\n\n const sortKey = title => (sortArticle ? title : title.replace(/^((?:the|a|an)\\s)/i, '')).toLowerCase();\n\n lists.forEach(list => {\n list.shows.sort((showA, showB) => {\n const titleA = sortKey(showA.title);\n const titleB = sortKey(showB.title);\n\n if (titleA < titleB) {\n return -1;\n }\n\n if (titleA > titleB) {\n return 1;\n }\n\n return 0;\n });\n });\n return lists;\n },\n\n whichList() {\n const {\n showLists\n } = this;\n const shows = showLists[0].shows.length !== 0;\n const anime = showLists[1].shows.length !== 0;\n\n if (shows && anime) {\n return -1;\n }\n\n if (anime) {\n return 1;\n }\n\n return 0;\n },\n\n showForRoutes() {\n const {\n $route\n } = this;\n return ['show', 'editShow'].includes($route.name);\n }\n\n },\n watch: {\n showSlug(newSlug) {\n this.selectedShowSlug = newSlug;\n },\n\n selectedShowSlug(newSlug) {\n if (!this.followSelection) {\n return;\n }\n\n const {\n $store,\n shows\n } = this;\n const selectedShow = shows.find(show => show.id.slug === newSlug);\n\n if (!selectedShow) {\n return;\n }\n\n const indexerName = selectedShow.indexer;\n const seriesId = selectedShow.id[indexerName]; // TODO: Make sure the correct show, has been set as current show.\n\n console.debug(`Setting current show to ${selectedShow.title}`);\n $store.commit('currentShow', {\n indexer: indexerName,\n id: seriesId\n }); // To make it complete, make sure to switch route.\n\n this.$router.push({\n query: {\n indexername: indexerName,\n seriesid: String(seriesId)\n }\n });\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/show-selector.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/sorted-select-list.vue?vue&type=script&lang=js&": -/*!**************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/sorted-select-list.vue?vue&type=script&lang=js& ***! - \**************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuedraggable */ \"./node_modules/vuedraggable/dist/vuedraggable.common.js\");\n/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _fortawesome_vue_fontawesome__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @fortawesome/vue-fontawesome */ \"./node_modules/@fortawesome/vue-fontawesome/index.es.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'sorted-select-list',\n components: {\n Draggable: (vuedraggable__WEBPACK_IMPORTED_MODULE_0___default()),\n FontAwesomeIcon: _fortawesome_vue_fontawesome__WEBPACK_IMPORTED_MODULE_1__[\"FontAwesomeIcon\"]\n },\n props: {\n listItems: {\n type: Array,\n default: () => [],\n required: true\n },\n unique: {\n type: Boolean,\n default: true\n },\n disabled: Boolean,\n sorted: Boolean\n },\n\n data() {\n return {\n editItems: [],\n newItem: '',\n indexCounter: 0,\n dragging: false\n };\n },\n\n mounted() {\n this.editItems = this.sanitize(this.listItems);\n },\n\n created() {\n /**\n * ListItems property might receive values originating from the API,\n * that are sometimes not available when rendering.\n * @TODO: This is not ideal! Maybe we can remove this in the future.\n */\n const unwatchProp = this.$watch('listItems', () => {\n unwatchProp();\n this.editItems = this.sanitize(this.listItems);\n });\n },\n\n methods: {\n addItem(item) {\n if (this.unique && this.editItems.find(i => i.value === item)) {\n return;\n }\n\n this.editItems.push({\n id: this.indexCounter,\n value: item\n });\n this.indexCounter += 1;\n },\n\n addNewItem() {\n const {\n newItem,\n editItems\n } = this;\n\n if (this.newItem === '') {\n return;\n }\n\n this.addItem(newItem);\n this.newItem = '';\n this.$emit('change', editItems);\n },\n\n deleteItem(item) {\n this.editItems = this.editItems.filter(e => e !== item);\n this.$refs.newItemInput.focus();\n this.$emit('change', this.editItems);\n },\n\n removeEmpty(item) {\n return item.value === '' ? this.deleteItem(item) : false;\n },\n\n /**\n * Initially an array of strings is passed, which we'd like to translate to an array of object.\n * Where the index has been added.\n * @param {string[]} values - Array of strings.\n * @returns {Object[]} - An array of objects with the index and value.\n */\n sanitize(values) {\n if (!values) {\n return [];\n }\n\n return values.map(value => {\n if (typeof value === 'string') {\n this.indexCounter += 1;\n return {\n id: this.indexCounter - 1,\n value\n };\n }\n\n return value;\n });\n }\n\n },\n watch: {\n listItems() {\n this.editItems = this.sanitize(this.listItems);\n this.newItem = '';\n },\n\n dragging(value) {\n const {\n editItems\n } = this;\n\n if (!value) {\n this.$emit('change', editItems);\n }\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/sorted-select-list.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/state-switch.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/state-switch.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'state-switch',\n props: {\n /**\n * Theme for loading spinner\n */\n theme: {\n type: String,\n default: 'dark',\n validator: theme => ['dark', 'light'].includes(theme)\n },\n\n /**\n * Loading, yes or no\n * null, true or false\n */\n state: {\n required: true,\n validator: state => ['yes', 'no', 'loading', 'true', 'false', 'null'].includes(String(state))\n }\n },\n computed: {\n src() {\n const {\n theme,\n realState: state\n } = this;\n return state === 'loading' ? `images/loading16-${theme || 'dark'}.gif` : `images/${state}16.png`;\n },\n\n alt() {\n const {\n realState: state\n } = this;\n return state.charAt(0).toUpperCase() + state.slice(1);\n },\n\n realState() {\n const {\n state\n } = this;\n\n if (['null', 'true', 'false'].includes(String(state))) {\n return {\n null: 'loading',\n true: 'yes',\n false: 'no'\n }[String(state)];\n }\n\n return state;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/helpers/state-switch.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/history.vue?vue&type=script&lang=js&": -/*!*******************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/history.vue?vue&type=script&lang=js& ***! - \*******************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'history',\n template: '#history-template',\n\n data() {\n return {\n layoutOptions: [{\n value: 'compact',\n text: 'Compact'\n }, {\n value: 'detailed',\n text: 'Detailed'\n }]\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n // Renamed because of the computed property 'layout'.\n stateLayout: state => state.config.layout\n }),\n historyLayout: {\n get() {\n const {\n stateLayout\n } = this;\n return stateLayout.history;\n },\n\n set(layout) {\n const {\n setLayout\n } = this;\n const page = 'history';\n setLayout({\n page,\n layout\n });\n }\n\n }\n },\n\n mounted() {\n const unwatch = this.$watch('stateLayout.history', () => {\n unwatch();\n const {\n historyLayout: layout,\n config\n } = this;\n $('#historyTable:has(tbody tr)').tablesorter({\n widgets: ['saveSort', 'zebra', 'filter'],\n sortList: [[0, 1]],\n textExtraction: function () {\n if (layout === 'detailed') {\n return {\n // 0: Time, 1: Episode, 2: Action, 3: Provider, 4: Quality\n 0: node => $(node).find('time').attr('datetime'),\n 1: node => $(node).find('a').text(),\n 4: node => $(node).attr('quality')\n };\n } // 0: Time, 1: Episode, 2: Snatched, 3: Downloaded\n\n\n const compactExtract = {\n 0: node => $(node).find('time').attr('datetime'),\n 1: node => $(node).find('a').text(),\n 2: node => $(node).find('img').attr('title') === undefined ? '' : $(node).find('img').attr('title'),\n 3: node => $(node).text()\n };\n\n if (config.subtitles.enabled) {\n // 4: Subtitled, 5: Quality\n compactExtract[4] = node => $(node).find('img').attr('title') === undefined ? '' : $(node).find('img').attr('title');\n\n compactExtract[5] = node => $(node).attr('quality');\n } else {\n // 4: Quality\n compactExtract[4] = node => $(node).attr('quality');\n }\n\n return compactExtract;\n }(),\n headers: function () {\n if (layout === 'detailed') {\n return {\n 0: {\n sorter: 'realISODate'\n }\n };\n }\n\n return {\n 0: {\n sorter: 'realISODate'\n },\n 2: {\n sorter: 'text'\n }\n };\n }()\n });\n });\n $('#history_limit').on('change', function () {\n window.location.href = $('base').attr('href') + 'history/?limit=' + $(this).val();\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n setLayout: 'setLayout'\n })\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/history.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/home.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/home.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var _show_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./show-list */ \"./src/components/show-list/index.js\");\n/* harmony import */ var vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue-nav-tabs/dist/vue-tabs.js */ \"./node_modules/vue-nav-tabs/dist/vue-tabs.js\");\n/* harmony import */ var vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuedraggable */ \"./node_modules/vuedraggable/dist/vuedraggable.common.js\");\n/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _backstretch_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./backstretch.vue */ \"./src/components/backstretch.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'home',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"AppLink\"],\n Backstretch: _backstretch_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n ShowList: _show_list__WEBPACK_IMPORTED_MODULE_2__[\"ShowList\"],\n VueTabs: vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_3__[\"VueTabs\"],\n VTab: vue_nav_tabs_dist_vue_tabs_js__WEBPACK_IMPORTED_MODULE_3__[\"VTab\"],\n Draggable: (vuedraggable__WEBPACK_IMPORTED_MODULE_4___default())\n },\n\n data() {\n return {\n layoutOptions: [{\n value: 'poster',\n text: 'Poster'\n }, {\n value: 'small',\n text: 'Small Poster'\n }, {\n value: 'banner',\n text: 'Banner'\n }, {\n value: 'simple',\n text: 'Simple'\n }],\n selectedRootDir: 0\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n indexers: state => state.config.indexers,\n // Renamed because of the computed property 'layout'.\n stateLayout: state => state.config.layout,\n stats: state => state.stats\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n showsWithStats: 'showsWithStats',\n showsInLists: 'showsInLists'\n }),\n layout: {\n get() {\n const {\n stateLayout\n } = this;\n return stateLayout.home;\n },\n\n set(layout) {\n const {\n setLayout\n } = this;\n const page = 'home';\n setLayout({\n page,\n layout\n });\n }\n\n },\n filterByName: {\n get() {\n const {\n local\n } = this.stateLayout;\n const {\n showFilterByName\n } = local;\n return showFilterByName;\n },\n\n set(value) {\n const {\n setLayoutLocal\n } = this;\n setLayoutLocal({\n key: 'showFilterByName',\n value\n });\n }\n\n },\n showList: {\n get() {\n const {\n stateLayout\n } = this;\n const {\n show\n } = stateLayout;\n return show.showListOrder;\n },\n\n set(value) {\n const {\n stateLayout,\n setLayoutShow\n } = this;\n const mergedShowLayout = { ...stateLayout.show,\n showListOrder: value.map(item => item.value)\n };\n setLayoutShow(mergedShowLayout);\n }\n\n },\n\n selectedRootIndexOptions() {\n const {\n config\n } = this;\n const {\n rootDirs\n } = config;\n return [...[{\n value: -1,\n text: 'All Folders'\n }], ...rootDirs.slice(1).map((item, idx) => ({\n text: item,\n value: idx\n }))];\n }\n\n },\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n setLayout: 'setLayout',\n setConfig: 'setConfig',\n setLayoutShow: 'setLayoutShow',\n setStoreLayout: 'setStoreLayout',\n setLayoutLocal: 'setLayoutLocal',\n getShows: 'getShows',\n getStats: 'getStats'\n }),\n\n async changePosterSortBy() {\n // Patch new posterSOrtBy value\n const {\n $snotify,\n posterSortby,\n setPosterSortBy\n } = this;\n\n try {\n await setPosterSortBy({\n section: 'layout',\n config: {\n posterSortby\n }\n });\n } catch (error) {\n $snotify.error('Error while trying to change poster sort option', 'Error');\n }\n },\n\n saveSelectedRootDir(value) {\n const {\n setStoreLayout\n } = this;\n setStoreLayout({\n key: 'selectedRootIndex',\n value\n });\n },\n\n tabChange(tabIndex) {\n const {\n setLayoutLocal\n } = this;\n setLayoutLocal({\n key: 'currentShowTab',\n tabIndex\n });\n }\n\n },\n\n mounted() {\n const {\n getStats\n } = this;\n getStats('show');\n }\n\n});\n\n//# sourceURL=webpack:///./src/components/home.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/http/404.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/http/404.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'not-found'\n});\n\n//# sourceURL=webpack:///./src/components/http/404.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/irc.vue?vue&type=script&lang=js&": -/*!***************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/irc.vue?vue&type=script&lang=js& ***! - \***************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'irc',\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n configLoaded: state => state.config.system.pythonVersion !== null,\n gitUsername: state => state.config.general.git.username\n }),\n\n frameSrc() {\n const {\n configLoaded,\n gitUsername\n } = this;\n\n if (!configLoaded) {\n return undefined;\n }\n\n const username = gitUsername || 'MedusaUI|?';\n return `https://kiwiirc.com/client/irc.freenode.net/?nick=${username}&theme=basic#pymedusa`;\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/irc.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/login.vue?vue&type=script&lang=js&": -/*!*****************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/login.vue?vue&type=script&lang=js& ***! - \*****************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'login'\n});\n\n//# sourceURL=webpack:///./src/components/login.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/logs.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/logs.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\");\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../api */ \"./src/api.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var _backstretch_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./backstretch.vue */ \"./src/components/backstretch.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'logs',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"AppLink\"],\n Backstretch: _backstretch_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n },\n\n data() {\n return {\n minLevel: 'INFO',\n threadFilter: '',\n periodFilter: 'one_day',\n searchQuery: '',\n logLines: [],\n autoUpdate: true,\n autoUpdateTimer: null,\n filters: [{\n value: 'BACKLOG',\n title: 'Backlog'\n }, {\n value: 'CHECKVERSION',\n title: 'Check Version'\n }, {\n value: 'DAILYSEARCHER',\n title: 'Daily Searcher'\n }, {\n value: 'ERROR',\n title: 'Error'\n }, {\n value: 'EVENT',\n title: 'Event'\n }, {\n value: 'FINDPROPERS',\n title: 'Find Propers'\n }, {\n value: 'FINDSUBTITLES',\n title: 'Find Subtitles'\n }, {\n value: 'MAIN',\n title: 'Main'\n }, {\n value: 'POSTPROCESSOR',\n title: 'PostProcessor'\n }, {\n value: 'SEARCHQUEUE',\n title: 'Search Queue (All)'\n }, {\n value: 'SEARCHQUEUE-BACKLOG',\n title: 'Search Queue (Backlog)'\n }, {\n value: 'SEARCHQUEUE-DAILY-SEARCH',\n title: 'Search Queue (Daily Searcher)'\n }, {\n value: 'SEARCHQUEUE-FORCED',\n title: 'Search Queue (Forced)'\n }, {\n value: 'SEARCHQUEUE-MANUAL',\n title: 'Search Queue (Manual)'\n }, {\n value: 'SEARCHQUEUE-RETRY',\n title: 'Search Queue (Retry/Failed)'\n }, {\n value: 'SEARCHQUEUE-RSS',\n title: 'Search Queue (RSS)'\n }, {\n value: 'SHOWQUEUE',\n title: 'Show Queue (All)'\n }, {\n value: 'SHOWQUEUE-REFRESH',\n title: 'Show Queue (Refresh)'\n }, {\n value: 'SHOWQUEUE-SEASON-UPDATE',\n title: 'Show Season Queue (Update)'\n }, {\n value: 'SHOWQUEUE-UPDATE',\n title: 'Show Queue (Update)'\n }, {\n value: 'SHOWUPDATER',\n title: 'Show Updater'\n }, {\n value: 'Thread',\n title: 'Thread'\n }, {\n value: 'TORNADO',\n title: 'Tornado'\n }, {\n value: 'TORRENTCHECKER',\n title: 'Torrent Checker'\n }, {\n value: 'TRAKTCHECKER',\n title: 'Trakt Checker'\n }]\n };\n },\n\n filters: {\n formatLine(line) {\n let result = '';\n result += line.timestamp.replace('T', ' ').replace('Z', '');\n result += ` ${line.level}`;\n result += `\\t${line.thread}`;\n\n if (line.threadId) {\n result += `-${line.threadId}`;\n }\n\n result += ' :: ';\n\n if (line.extra) {\n result += `${line.extra} :: `;\n }\n\n if (line.commit) {\n result += `[${line.commit}] `;\n }\n\n result += line.message;\n\n if (line.traceback) {\n result += line.traceback.reduce((str, tbLine) => str.concat('\\n', tbLine), '');\n }\n\n return result;\n }\n\n },\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])({\n config: state => state.config.general,\n layout: state => state.config.layout\n }),\n\n rawViewLink() {\n const qs = new URLSearchParams();\n qs.set('level', this.minLevel);\n qs.set('thread', this.threadFilter);\n qs.set('period', this.periodFilter);\n qs.set('query', this.searchQuery);\n qs.set('limit', 1000);\n qs.set('api_key', _api__WEBPACK_IMPORTED_MODULE_2__[\"apiKey\"]);\n qs.set('raw', 'true');\n return `${_api__WEBPACK_IMPORTED_MODULE_2__[\"api\"].defaults.baseURL}log?${qs}`;\n },\n\n levels() {\n const {\n debug,\n dbDebug,\n loggingLevels\n } = this.config.logs;\n return Object.entries(loggingLevels).sort((a, b) => a[1] - b[1]) // Sort by level in ascending order\n .reduce((result, level) => {\n const key = level[0];\n\n if (key === 'debug' && !debug || key === 'db' && !dbDebug) {\n return result;\n }\n\n const levelName = key.length <= 2 ? key.toUpperCase() : key.charAt(0).toUpperCase() + key.slice(1);\n return result.concat(levelName);\n }, []);\n }\n\n },\n\n mounted() {\n const {\n query\n } = this.$route; // Map values from URL query\n\n this.minLevel = query.minLevel === undefined ? this.minLevel : query.minLevel;\n this.threadFilter = query.threadFilter === undefined ? this.threadFilter : query.threadFilter;\n this.periodFilter = query.periodFilter === undefined ? this.periodFilter : query.periodFilter;\n this.searchQuery = query.searchQuery === undefined ? this.searchQuery : query.searchQuery;\n\n if (this.autoUpdate) {\n this.autoUpdateTask();\n } else {\n this.fetchLogs(false, true);\n }\n\n this.fetchLogsDebounced = lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default()(this.fetchLogs, 500);\n },\n\n destroyed() {\n if (this.autoUpdateTimer) {\n clearTimeout(this.autoUpdateTimer);\n }\n },\n\n methods: {\n async fetchLogs(pushState = true, cursor = true) {\n const {\n minLevel,\n threadFilter,\n periodFilter,\n searchQuery\n } = this;\n\n if (cursor) {\n document.body.style.cursor = 'wait';\n }\n\n const params = {\n level: minLevel,\n thread: threadFilter,\n period: periodFilter,\n query: searchQuery,\n limit: 1000\n };\n\n try {\n const resp = await _api__WEBPACK_IMPORTED_MODULE_2__[\"api\"].get('log', {\n params\n });\n this.logLines = resp.data;\n return true;\n } catch (error) {\n console.error(error);\n return false;\n } finally {\n if (cursor) {\n document.body.style.cursor = 'default';\n }\n\n if (pushState) {\n this.$router.push({\n query: {\n minLevel,\n threadFilter,\n periodFilter,\n searchQuery\n }\n });\n }\n }\n },\n\n async autoUpdateTask(errors = 0) {\n if (this.autoUpdate) {\n const result = await this.fetchLogs(false, false); // Increment if false\n\n errors += Number(!result); // Stop after 5 network errors\n\n if (errors < 5) {\n this.autoUpdateTimer = setTimeout(this.autoUpdateTask, 1500, errors);\n } else {\n this.autoUpdate = false;\n this.autoUpdateTimer = null;\n }\n } else {\n this.autoUpdateTimer = null;\n }\n }\n\n },\n watch: {\n autoUpdate() {\n this.autoUpdateTask();\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/logs.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/manual-post-process.vue?vue&type=script&lang=js&": -/*!*******************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/manual-post-process.vue?vue&type=script&lang=js& ***! - \*******************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'manual-post-process',\n template: '#manual-post-process-template',\n\n mounted() {\n $('#episodeDir').fileBrowser({\n title: 'Select Unprocessed Episode Folder',\n key: 'postprocessPath'\n });\n }\n\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/manual-post-process.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/root-dirs.vue?vue&type=script&lang=js&": -/*!*********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/root-dirs.vue?vue&type=script&lang=js& ***! - \*********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/**\n * An object representing a root dir\n * @typedef {Object} rootDir\n * @property {string} path - Root dir path\n * @property {boolean} selected - Is this root dir selected?\n * @property {boolean} default - Is this the default root dir?\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'root-dirs',\n inheritAttrs: false,\n\n data() {\n return {\n rootDirs: []\n };\n },\n\n beforeMount() {\n const {\n rawRootDirs,\n transformRaw\n } = this;\n this.rootDirs = transformRaw(rawRootDirs);\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n rawRootDirs: state => state.config.general.rootDirs\n }),\n\n paths() {\n return this.rootDirs.map(rd => rd.path);\n },\n\n selectedRootDir: {\n get() {\n const {\n rootDirs\n } = this;\n const selectedDir = rootDirs.find(rd => rd.selected);\n\n if (!selectedDir || rootDirs.length === 0) {\n return null;\n }\n\n return selectedDir.path;\n },\n\n set(newRootDir) {\n const {\n rootDirs\n } = this;\n this.rootDirs = rootDirs.map(rd => {\n rd.selected = rd.path === newRootDir;\n return rd;\n });\n }\n\n },\n defaultRootDir: {\n get() {\n const {\n rootDirs\n } = this;\n const defaultDir = rootDirs.find(rd => rd.default);\n\n if (!defaultDir || rootDirs.length === 0) {\n return null;\n }\n\n return defaultDir.path;\n },\n\n set(newRootDir) {\n const {\n rootDirs\n } = this;\n this.rootDirs = rootDirs.map(rd => {\n rd.default = rd.path === newRootDir;\n return rd;\n });\n }\n\n }\n },\n filters: {\n /**\n * Prefix the default root dir path with '* '\n * @param {rootDir} rootDir - Current root dir object\n * @returns {string} - Modified root dir path\n */\n markDefault(rootDir) {\n if (rootDir.default) {\n return `* ${rootDir.path}`;\n }\n\n return rootDir.path;\n }\n\n },\n methods: {\n /**\n * Transform raw root dirs to an array of objects\n * @param {string[]} rawRootDirs - [defaultIndex, rootDir0, rootDir1, ...]\n * @return {rootDir[]} - Root dir objects\n */\n transformRaw(rawRootDirs) {\n if (rawRootDirs.length < 2) {\n return [];\n } // Transform raw root dirs in the form of an array, to an array of objects\n\n\n const defaultDir = Number.parseInt(rawRootDirs[0], 10);\n return rawRootDirs.slice(1).map((path, index) => {\n return {\n path,\n default: index === defaultDir,\n selected: index === defaultDir\n };\n });\n },\n\n /**\n * Add a new root dir\n */\n add() {\n const {\n $el,\n rootDirs,\n selectedRootDir,\n defaultRootDir,\n saveRootDirs\n } = this;\n $($el).nFileBrowser(path => {\n if (path.length === 0) {\n return;\n } // If the path is already a root dir, select it\n\n\n const found = rootDirs.find(rd => rd.path === path);\n\n if (found && found.path !== selectedRootDir) {\n this.selectedRootDir = path;\n return;\n } // If this the first root dir, set it as default and select it\n\n\n const isFirst = defaultRootDir === null;\n rootDirs.push({\n path,\n default: isFirst,\n selected: isFirst\n });\n saveRootDirs();\n });\n },\n\n /**\n * Edit the selected root dir's path\n */\n edit() {\n const {\n $el,\n rootDirs,\n selectedRootDir,\n saveRootDirs\n } = this;\n $($el).nFileBrowser(path => {\n if (path.length === 0) {\n return;\n } // If the path is already a root dir, select it and remove the one being edited\n\n\n const found = rootDirs.find(rd => rd.path === path);\n\n if (found && found.path !== selectedRootDir) {\n const wasDefault = found.default;\n this.rootDirs = rootDirs.reduce((accumlator, rd) => {\n if (rd.path === selectedRootDir) {\n return accumlator;\n }\n\n const isNewRootDir = rd.path === path;\n rd.selected = isNewRootDir;\n rd.default = wasDefault && isNewRootDir;\n accumlator.push(rd);\n return accumlator;\n }, []);\n return;\n } // Update selected root dir path and select it\n\n\n rootDirs.find(rd => rd.selected).path = path;\n this.selectedRootDir = path;\n saveRootDirs();\n }, {\n initialDir: selectedRootDir\n });\n },\n\n /**\n * Remove the selected root dir\n */\n remove() {\n const {\n rootDirs,\n selectedRootDir,\n defaultRootDir,\n saveRootDirs\n } = this;\n const oldDirIndex = rootDirs.findIndex(rd => rd.selected);\n const oldDirPath = selectedRootDir; // What would the list be like without the root dir we're removing?\n\n const filteredRootDirs = rootDirs.filter(rd => !rd.selected); // Pick a new selection, or null\n\n if (filteredRootDirs.length > 0) {\n const newSelected = oldDirIndex > 0 ? oldDirIndex - 1 : 0;\n this.selectedRootDir = filteredRootDirs[newSelected].path;\n } else {\n this.selectedRootDir = null;\n } // If we're deleting the current default root dir, pick a new default, or null\n\n\n if (this.defaultRootDir !== null && oldDirPath === defaultRootDir) {\n this.defaultRootDir = selectedRootDir;\n } // Finally, remove the root dir from the list\n\n\n this.rootDirs = filteredRootDirs;\n saveRootDirs();\n },\n\n /**\n * Set the selected root dir as default\n */\n setDefault() {\n const {\n selectedRootDir,\n defaultRootDir,\n saveRootDirs\n } = this;\n\n if (selectedRootDir === defaultRootDir) {\n return;\n }\n\n this.defaultRootDir = selectedRootDir;\n saveRootDirs();\n },\n\n /**\n * Save the root dirs\n * @returns {Promise} - The axios Promise from the store action.\n */\n saveRootDirs() {\n const {\n $store,\n paths,\n defaultRootDir\n } = this;\n const rootDirs = paths.slice();\n\n if (defaultRootDir !== null && paths.length !== 0) {\n const defaultIndex = rootDirs.findIndex(path => path === defaultRootDir);\n rootDirs.splice(0, 0, defaultIndex.toString());\n }\n\n return $store.dispatch('setConfig', {\n section: 'main',\n config: {\n rootDirs\n }\n });\n }\n\n },\n watch: {\n rawRootDirs(newValue) {\n const {\n transformRaw\n } = this;\n this.rootDirs = transformRaw(newValue);\n },\n\n rootDirs: {\n handler(newValue) {\n this.$emit('update', newValue);\n this.$nextTick(() => {\n // @FIXME: Temporarily trigger a regular event as well\n $(this.$refs.rootDirs).trigger('change');\n });\n },\n\n deep: true,\n immediate: false\n },\n\n paths(newValue, oldValue) {\n if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {\n this.$emit('update:paths', newValue);\n }\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/root-dirs.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/schedule.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/schedule.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'schedule',\n template: '#schedule-template',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_1__[\"AppLink\"]\n },\n\n data() {\n return {\n layoutOptions: [{\n value: 'poster',\n text: 'Poster'\n }, {\n value: 'calendar',\n text: 'Calendar'\n }, {\n value: 'banner',\n text: 'Banner'\n }, {\n value: 'list',\n text: 'List'\n }]\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n // Renamed because of the computed property 'layout'.\n stateLayout: state => state.config.layout\n }),\n\n header() {\n return this.$route.meta.header;\n },\n\n scheduleLayout: {\n get() {\n const {\n stateLayout\n } = this;\n return stateLayout.schedule;\n },\n\n set(layout) {\n const {\n setLayout\n } = this;\n const page = 'schedule';\n setLayout({\n page,\n layout\n });\n }\n\n },\n\n themeSpinner() {\n const {\n stateLayout\n } = this;\n return stateLayout.themeName === 'dark' ? '-dark' : '';\n }\n\n },\n\n mounted() {\n // $store.dispatch('getShows');\n this.$root.$once('loaded', () => {\n const {\n scheduleLayout,\n stateLayout,\n themeSpinner\n } = this;\n const {\n comingEps\n } = stateLayout;\n\n if (scheduleLayout === 'list') {\n const sortCodes = {\n date: 0,\n show: 2,\n network: 5\n };\n const {\n sort\n } = comingEps;\n const sortList = sort in sortCodes ? [[sortCodes[sort], 0]] : [[0, 0]];\n $('#showListTable:has(tbody tr)').tablesorter({\n widgets: ['stickyHeaders', 'filter', 'columnSelector', 'saveSort'],\n sortList,\n textExtraction: {\n 0: node => $(node).find('time').attr('datetime'),\n 1: node => $(node).find('time').attr('datetime'),\n 7: node => $(node).find('span').text().toLowerCase(),\n 8: node => $(node).find('a[data-indexer-name]').attr('data-indexer-name')\n },\n headers: {\n 0: {\n sorter: 'realISODate'\n },\n 1: {\n sorter: 'realISODate'\n },\n 2: {\n sorter: 'loadingNames'\n },\n 4: {\n sorter: 'loadingNames'\n },\n 7: {\n sorter: 'quality'\n },\n 8: {\n sorter: 'text'\n },\n 9: {\n sorter: false,\n filter: false\n }\n },\n widgetOptions: {\n filter_columnFilters: true,\n // eslint-disable-line camelcase\n filter_hideFilters: true,\n // eslint-disable-line camelcase\n filter_saveFilters: true,\n // eslint-disable-line camelcase\n columnSelector_mediaquery: false // eslint-disable-line camelcase\n\n }\n });\n $.ajaxEpSearch();\n }\n\n if (['banner', 'poster'].includes(scheduleLayout)) {\n $.ajaxEpSearch({\n size: 16,\n loadingImage: `loading16${themeSpinner}.gif`\n });\n $('.ep_summary').hide();\n $('.ep_summaryTrigger').on('click', function () {\n $(this).next('.ep_summary').slideToggle('normal', function () {\n $(this).prev('.ep_summaryTrigger').prop('src', function (i, src) {\n return $(this).next('.ep_summary').is(':visible') ? src.replace('plus', 'minus') : src.replace('minus', 'plus');\n });\n });\n });\n }\n\n $('#popover').popover({\n placement: 'bottom',\n html: true,\n // Required if content has HTML\n content: '
    '\n }).on('shown.bs.popover', () => {\n // Bootstrap popover event triggered when the popover opens\n // call this function to copy the column selection code into the popover\n $.tablesorter.columnSelector.attachTo($('#showListTable'), '#popover-target');\n });\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n setLayout: 'setLayout'\n })\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/schedule.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-header.vue?vue&type=script&lang=js&": -/*!***********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-header.vue?vue&type=script&lang=js& ***! - \***********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue_truncate_collapsed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-truncate-collapsed */ \"./node_modules/vue-truncate-collapsed/dist/vue-truncate-collapsed.es.js\");\n/* harmony import */ var country_language__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! country-language */ \"./node_modules/country-language/index.js\");\n/* harmony import */ var country_language__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(country_language__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue_scrollto__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-scrollto */ \"./node_modules/vue-scrollto/vue-scrollto.js\");\n/* harmony import */ var vue_scrollto__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue_scrollto__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../api */ \"./src/api.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var _utils_jquery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/jquery */ \"./src/utils/jquery.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/**\n * Return the first item of `values` that is not `null`, `undefined` or `NaN`.\n * @param {...any} values - Values to check.\n * @returns {any} - The first item that fits the criteria, `undefined` otherwise.\n */\n\nconst resolveToValue = (...values) => {\n return values.find(value => {\n return !Number.isNaN(value) && value !== null && value !== undefined;\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'show-header',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_7__[\"AppLink\"],\n Asset: _helpers__WEBPACK_IMPORTED_MODULE_7__[\"Asset\"],\n QualityPill: _helpers__WEBPACK_IMPORTED_MODULE_7__[\"QualityPill\"],\n StateSwitch: _helpers__WEBPACK_IMPORTED_MODULE_7__[\"StateSwitch\"],\n Truncate: vue_truncate_collapsed__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n props: {\n /**\n * Page type: show or snatch-selection\n */\n type: {\n type: String,\n default: 'show',\n validator: value => ['show', 'snatch-selection'].includes(value)\n },\n\n /**\n * Show indexer\n */\n showIndexer: {\n type: String\n },\n\n /**\n * Show id\n */\n showId: {\n type: Number\n },\n\n /**\n * Season\n */\n showSeason: {\n type: Number\n },\n\n /**\n * Episode\n */\n showEpisode: {\n type: Number\n },\n\n /**\n * Manual Search Type (snatch-selection)\n */\n manualSearchType: {\n type: String\n }\n },\n\n data() {\n return {\n jumpToSeason: 'jump',\n selectedStatus: 'Change status to:',\n selectedQuality: 'Change quality to:',\n overviewStatus: [{\n id: 'wanted',\n checked: true,\n name: 'Wanted'\n }, {\n id: 'allowed',\n checked: true,\n name: 'Allowed'\n }, {\n id: 'preferred',\n checked: true,\n name: 'Preferred'\n }, {\n id: 'skipped',\n checked: true,\n name: 'Skipped'\n }, {\n id: 'snatched',\n checked: true,\n name: 'Snatched'\n }]\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_3__[\"mapState\"])({\n config: state => state.config.general,\n layout: state => state.config.layout,\n shows: state => state.shows.shows,\n indexers: state => state.config.indexers,\n indexerConfig: state => state.config.indexers.indexers,\n displaySpecials: state => state.config.layout.show.specials,\n qualities: state => state.config.consts.qualities.values,\n statuses: state => state.config.consts.statuses,\n search: state => state.config.search,\n configLoaded: state => state.config.layout.fanartBackground !== null\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_3__[\"mapGetters\"])({\n show: 'getCurrentShow',\n getEpisode: 'getEpisode',\n getOverviewStatus: 'getOverviewStatus',\n getQualityPreset: 'getQualityPreset',\n getStatus: 'getStatus'\n }),\n\n indexer() {\n return this.showIndexer || this.$route.query.indexername;\n },\n\n id() {\n return this.showId || Number(this.$route.query.seriesid) || undefined;\n },\n\n season() {\n return resolveToValue(this.showSeason, Number(this.$route.query.season));\n },\n\n episode() {\n return resolveToValue(this.showEpisode, Number(this.$route.query.episode));\n },\n\n showIndexerUrl() {\n const {\n show,\n indexerConfig\n } = this;\n\n if (!show.indexer) {\n return;\n }\n\n const id = show.id[show.indexer];\n const indexerUrl = indexerConfig[show.indexer].showUrl;\n return `${indexerUrl}${id}`;\n },\n\n activeShowQueueStatuses() {\n const {\n showQueueStatus\n } = this.show;\n\n if (!showQueueStatus) {\n return [];\n }\n\n return showQueueStatus.filter(status => status.active === true);\n },\n\n showGenres() {\n const {\n show,\n dedupeGenres\n } = this;\n const {\n imdbInfo\n } = show;\n const {\n genres\n } = imdbInfo;\n let result = [];\n\n if (genres) {\n result = dedupeGenres(genres.split('|'));\n }\n\n return result;\n },\n\n episodeSummary() {\n const {\n getOverviewStatus,\n show\n } = this;\n const {\n seasons\n } = show;\n const summary = {\n Unaired: 0,\n Skipped: 0,\n Wanted: 0,\n Snatched: 0,\n Preferred: 0,\n Allowed: 0\n };\n seasons.forEach(season => {\n season.episodes.forEach(episode => {\n summary[getOverviewStatus(episode.status, episode.quality, show.config.qualities)] += 1;\n });\n });\n return summary;\n },\n\n changeStatusOptions() {\n const {\n search,\n getStatus,\n statuses\n } = this;\n const {\n general\n } = search;\n\n if (statuses.length === 0) {\n return [];\n } // Get status objects, in this order\n\n\n const defaultOptions = ['wanted', 'skipped', 'ignored', 'downloaded', 'archived'].map(key => getStatus({\n key\n }));\n\n if (general.failedDownloads.enabled) {\n defaultOptions.push(getStatus({\n key: 'failed'\n }));\n }\n\n return defaultOptions;\n },\n\n combinedQualities() {\n const {\n allowed,\n preferred\n } = this.show.config.qualities;\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_5__[\"combineQualities\"])(allowed, preferred);\n },\n\n seasons() {\n const {\n show\n } = this; // Only return an array with seasons (integers)\n\n return show.seasonCount.map(season => season.season);\n },\n\n episodeTitle() {\n const {\n getEpisode,\n show,\n season,\n episode\n } = this;\n\n if (!(show.id.slug && season && episode)) {\n return '';\n }\n\n const curEpisode = getEpisode({\n showSlug: show.id.slug,\n season,\n episode\n });\n\n if (curEpisode) {\n return curEpisode.title;\n }\n\n return '';\n }\n\n },\n\n mounted() {\n ['load', 'resize'].map(event => {\n return window.addEventListener(event, () => {\n this.$nextTick(() => this.reflowLayout());\n });\n });\n this.$watch('show', function (slug) {\n // eslint-disable-line object-shorthand\n // Show has changed. Meaning we should reflow the layout.\n if (slug) {\n const {\n reflowLayout\n } = this;\n this.$nextTick(() => reflowLayout());\n }\n }, {\n deep: true\n });\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_3__[\"mapActions\"])(['setSpecials']),\n combineQualities: _utils_core__WEBPACK_IMPORTED_MODULE_5__[\"combineQualities\"],\n humanFileSize: _utils_core__WEBPACK_IMPORTED_MODULE_5__[\"humanFileSize\"],\n\n changeStatusClicked() {\n const {\n changeStatusOptions,\n changeQualityOptions,\n selectedStatus,\n selectedQuality\n } = this;\n this.$emit('update', {\n newStatus: selectedStatus,\n newQuality: selectedQuality,\n statusOptions: changeStatusOptions,\n qualityOptions: changeQualityOptions\n });\n },\n\n toggleSpecials() {\n const {\n setSpecials\n } = this;\n setSpecials(!this.displaySpecials);\n },\n\n reverse(array) {\n return array ? array.slice().reverse() : [];\n },\n\n dedupeGenres(genres) {\n return genres ? [...new Set(genres.slice(0).map(genre => genre.replace('-', ' ')))] : [];\n },\n\n getCountryISO2ToISO3(country) {\n return Object(country_language__WEBPACK_IMPORTED_MODULE_1__[\"getLanguage\"])(country).iso639_2en;\n },\n\n toggleConfigOption(option) {\n const {\n show\n } = this;\n const {\n config\n } = show;\n this.show.config[option] = !this.show.config[option];\n const data = {\n config: {\n [option]: config[option]\n }\n };\n _api__WEBPACK_IMPORTED_MODULE_4__[\"api\"].patch('series/' + show.id.slug, data).then(_ => {\n this.$snotify.success(`${data.config[option] ? 'enabled' : 'disabled'} show option ${option}`, 'Saved', {\n timeout: 5000\n });\n }).catch(error => {\n this.$snotify.error('Error while trying to save \"' + show.title + '\": ' + error.message || false, 'Error');\n });\n },\n\n reflowLayout() {\n Object(_utils_jquery__WEBPACK_IMPORTED_MODULE_6__[\"attachImdbTooltip\"])(); // eslint-disable-line no-undef\n }\n\n },\n watch: {\n jumpToSeason(season) {\n // Don't jump until an option is selected\n if (season !== 'jump') {\n // Calculate duration\n let duration = (this.seasons.length - season) * 50;\n duration = Math.max(500, Math.min(duration, 2000)); // Limit to (500ms <= duration <= 2000ms)\n // Calculate offset\n\n let offset = -50; // Navbar\n // Needs extra offset when the sub menu is \"fixed\".\n\n offset -= window.matchMedia('(min-width: 1281px)').matches ? 40 : 0;\n const name = `season-${season}`;\n console.debug(`Jumping to #${name} (${duration}ms)`);\n Object(vue_scrollto__WEBPACK_IMPORTED_MODULE_2__[\"scrollTo\"])(`[name=\"${name}\"]`, duration, {\n container: 'body',\n easing: 'ease-in-out',\n offset\n }); // Update URL hash\n\n window.location.hash = name; // Reset jump\n\n this.jumpToSeason = 'jump';\n }\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-header.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-history.vue?vue&type=script&lang=js&": -/*!************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-history.vue?vue&type=script&lang=js& ***! - \************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var _mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../mixins/manage-cookie */ \"./src/mixins/manage-cookie.js\");\n/* harmony import */ var _helpers_quality_pill_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helpers/quality-pill.vue */ \"./src/components/helpers/quality-pill.vue\");\n/* harmony import */ var _utils_jquery__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/jquery */ \"./src/utils/jquery.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'show-history',\n components: {\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_1__[\"VueGoodTable\"],\n QualityPill: _helpers_quality_pill_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n },\n mixins: [Object(_mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_3__[\"manageCookieMixin\"])('showHistory')],\n props: {\n show: {\n type: Object,\n required: true\n },\n season: {\n type: Number,\n required: true\n },\n episode: {\n type: Number,\n required: false\n }\n },\n\n data() {\n const {\n getCookie\n } = this;\n const columns = [{\n label: 'Date',\n field: 'actionDate',\n dateInputFormat: 'yyyyMMddHHmmss',\n // E.g. 07-09-2017 19:16:25\n dateOutputFormat: 'yyyy-MM-dd HH:mm:ss',\n type: 'date',\n hidden: getCookie('Date')\n }, {\n label: 'Status',\n field: 'statusName',\n hidden: getCookie('Status')\n }, {\n label: 'Quality',\n field: 'quality',\n type: 'number',\n hidden: getCookie('Quality')\n }, {\n label: 'Provider/Group',\n field: 'provider.id',\n hidden: getCookie('Provider/Group')\n }, {\n label: 'Release',\n field: 'resource',\n hidden: getCookie('Release')\n }, {\n label: 'Season',\n field: 'season',\n type: 'number',\n hidden: getCookie('Season')\n }, {\n label: 'Episode',\n field: 'episode',\n type: 'number',\n hidden: getCookie('Episode')\n }, {\n label: 'Size',\n field: 'size',\n formatFn: _utils_core__WEBPACK_IMPORTED_MODULE_2__[\"humanFileSize\"],\n type: 'number',\n hidden: getCookie('Size')\n }];\n\n if (this.episode) {\n columns.find(column => column.label === 'Season').hidden = true;\n columns.find(column => column.label === 'Episode').hidden = true;\n }\n\n return {\n columns,\n loading: false,\n loadingMessage: '',\n history: [],\n hideHistory: true\n };\n },\n\n mounted() {\n const {\n getHistory\n } = this;\n getHistory();\n Object(_utils_jquery__WEBPACK_IMPORTED_MODULE_5__[\"addQTip\"])();\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n layout: state => state.config.layout,\n showHistory: state => state.history.showHistory,\n episodeHistory: state => state.history.episodeHistory\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n getEpisodeHistory: 'getEpisodeHistory',\n getSeasonHistory: 'getSeasonHistory',\n fuzzyParseDateTime: 'fuzzyParseDateTime'\n })\n },\n methods: {\n humanFileSize: _utils_core__WEBPACK_IMPORTED_MODULE_2__[\"humanFileSize\"],\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n getShowEpisodeHistory: 'getShowEpisodeHistory',\n getShowHistory: 'getHistory'\n }),\n\n close() {\n this.$emit('close'); // Destroy the vue listeners, etc\n\n this.$destroy(); // Remove the element from the DOM\n\n this.$el.remove();\n },\n\n getHistory() {\n const {\n getShowHistory,\n getShowEpisodeHistory,\n show,\n episode,\n season,\n updateHistory\n } = this;\n\n if (show.id.slug) {\n if (episode) {\n // Use apiv2 to get latest episode history\n getShowEpisodeHistory({\n showSlug: show.id.slug,\n episodeSlug: Object(_utils_core__WEBPACK_IMPORTED_MODULE_2__[\"episodeToSlug\"])(season, episode)\n });\n } else {\n getShowHistory(show.id.slug);\n }\n } // Update the local history array with store data.\n\n\n updateHistory();\n },\n\n updateHistory() {\n const {\n getEpisodeHistory,\n getSeasonHistory,\n show,\n episode,\n season\n } = this;\n\n if (!show.id.slug) {\n return;\n }\n\n if (episode) {\n this.history = getEpisodeHistory({\n showSlug: show.id.slug,\n episodeSlug: Object(_utils_core__WEBPACK_IMPORTED_MODULE_2__[\"episodeToSlug\"])(season, episode)\n });\n } else {\n // As this is not an episode search, we're returning all results for the specific season.\n this.history = getSeasonHistory({\n showSlug: show.id.slug,\n season\n });\n }\n },\n\n rowStyleClassFn(row) {\n return row.statusName.toLowerCase() || 'skipped';\n }\n\n },\n watch: {\n episodeHistory: {\n handler() {\n const {\n show,\n updateHistory\n } = this;\n\n if (show.id.slug) {\n updateHistory();\n }\n },\n\n deep: true,\n immediate: false\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-history.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/banner.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/banner.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/manage-cookie */ \"./src/mixins/manage-cookie.js\");\n/* harmony import */ var _mixins_show_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/show-list */ \"./src/mixins/show-list.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'banner',\n components: {\n Asset: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Asset\"],\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"AppLink\"],\n ProgressBar: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"ProgressBar\"],\n QualityPill: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"QualityPill\"],\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_1__[\"VueGoodTable\"]\n },\n mixins: [Object(_mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_2__[\"manageCookieMixin\"])('home-banner'), _mixins_show_list__WEBPACK_IMPORTED_MODULE_3__[\"showlistTableMixin\"]],\n props: {\n layout: {\n validator: val => val === null || typeof val === 'string',\n required: true\n },\n shows: {\n type: Array,\n required: true\n },\n listTitle: {\n type: String\n },\n header: {\n type: Boolean\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-list/banner.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/index.vue?vue&type=script&lang=js&": -/*!***************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/index.vue?vue&type=script&lang=js& ***! - \***************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _banner_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./banner.vue */ \"./src/components/show-list/banner.vue\");\n/* harmony import */ var _simple_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./simple.vue */ \"./src/components/show-list/simple.vue\");\n/* harmony import */ var _poster_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./poster.vue */ \"./src/components/show-list/poster.vue\");\n/* harmony import */ var _smallposter_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./smallposter.vue */ \"./src/components/show-list/smallposter.vue\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'show-list',\n components: {\n Banner: _banner_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n Simple: _simple_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n Poster: _poster_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n PosterSizeSlider: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"PosterSizeSlider\"],\n Smallposter: _smallposter_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n StateSwitch: _helpers__WEBPACK_IMPORTED_MODULE_5__[\"StateSwitch\"]\n },\n props: {\n layout: {\n validator: layout => [null, '', 'poster', 'banner', 'simple', 'small'].includes(layout),\n required: true\n },\n shows: {\n type: Array,\n required: true\n },\n listTitle: {\n type: String\n },\n header: {\n type: Boolean\n }\n },\n\n data() {\n return {\n postSortDirOptions: [{\n value: '0',\n text: 'Descending'\n }, {\n value: '1',\n text: 'Ascending'\n }],\n posterSortByOptions: [{\n text: 'Name',\n value: 'name'\n }, {\n text: 'Next episode',\n value: 'date'\n }, {\n text: 'Network',\n value: 'network'\n }, {\n text: 'Progress',\n value: 'progress'\n }, {\n text: 'Indexer',\n value: 'indexer'\n }]\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n stateLayout: state => state.config.layout,\n showsLoading: state => state.shows.loading\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n showsInLists: 'showsInLists'\n }),\n\n mappedLayout() {\n const {\n layout\n } = this;\n\n if (layout === 'small') {\n return 'smallposter';\n }\n\n return layout;\n },\n\n posterUiSortBy: {\n get() {\n const {\n stateLayout\n } = this;\n const {\n posterSortby\n } = stateLayout;\n return posterSortby;\n },\n\n set(value) {\n const {\n setPosterSortBy\n } = this;\n setPosterSortBy({\n value\n });\n }\n\n },\n posterUiSortDir: {\n get() {\n const {\n stateLayout\n } = this;\n const {\n posterSortdir\n } = stateLayout;\n return posterSortdir;\n },\n\n set(value) {\n const {\n setPosterSortDir\n } = this;\n setPosterSortDir({\n value\n });\n }\n\n }\n },\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n setPosterSortBy: 'setPosterSortBy',\n setPosterSortDir: 'setPosterSortDir'\n })\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-list/index.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/poster.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/poster.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var pretty_bytes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pretty-bytes */ \"./node_modules/pretty-bytes/index.js\");\n/* harmony import */ var pretty_bytes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(pretty_bytes__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var vueisotope__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vueisotope */ \"./node_modules/vueisotope/dist/vue_isotope.min.js\");\n/* harmony import */ var vueisotope__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vueisotope__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var vue_images_loaded__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vue-images-loaded */ \"./node_modules/vue-images-loaded/dist/vueimagesloaded.js\");\n/* harmony import */ var vue_images_loaded__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(vue_images_loaded__WEBPACK_IMPORTED_MODULE_4__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'poster',\n directives: {\n imagesLoaded: (vue_images_loaded__WEBPACK_IMPORTED_MODULE_4___default())\n },\n components: {\n Asset: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"Asset\"],\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"AppLink\"],\n ProgressBar: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"ProgressBar\"],\n QualityPill: _helpers__WEBPACK_IMPORTED_MODULE_2__[\"QualityPill\"],\n Isotope: (vueisotope__WEBPACK_IMPORTED_MODULE_3___default())\n },\n props: {\n layout: {\n validator: val => val === null || typeof val === 'string',\n required: true\n },\n shows: {\n type: Array,\n required: true\n },\n listTitle: {\n type: String\n },\n header: {\n type: Boolean\n }\n },\n\n data() {\n return {\n // Isotope stuff\n itemSelector: '.show-container',\n selected: null,\n option: {\n getSortData: {\n id: row => row.id.slug,\n name: row => {\n const {\n stateLayout\n } = this;\n const {\n sortArticle\n } = stateLayout;\n\n if (!sortArticle) {\n return row.title;\n }\n\n return row.title.replace(/^((?:a(?!\\s+to)n?)|the)\\s/i, '').toLowerCase();\n },\n date: row => {\n const {\n maxNextAirDate\n } = this;\n\n if (row.nextAirDate && Date.parse(row.nextAirDate) > Date.now()) {\n return Date.parse(row.nextAirDate) - Date.now();\n }\n\n if (row.prevAirDate) {\n return maxNextAirDate + Date.now() - Date.parse(row.prevAirDate);\n }\n\n return Date.now();\n },\n network: 'network',\n progress: row => {\n if (!row.stats) {\n return 0;\n }\n\n return Math.round(row.stats.episodes.downloaded / row.stats.episodes.total * 100);\n },\n indexer: row => {\n const {\n indexers\n } = this;\n return indexers.indexers[row.indexer].id;\n }\n },\n sortBy: () => this.posterSortBy,\n layoutMode: 'fitRows',\n sortAscending: () => this.posterSortDir\n },\n fontSize: null,\n logoWidth: null,\n borderRadius: null,\n borderWidth: null,\n isotopeLoaded: false,\n imgLazyLoad: null\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config.general,\n stateLayout: state => state.config.layout,\n indexers: state => state.config.indexers,\n // Need to map these computed, as we need them in the $watch.\n posterSortBy: state => state.config.layout.posterSortby,\n posterSortDir: state => state.config.layout.posterSortdir,\n posterSize: state => state.config.layout.local.posterSize,\n currentShowTab: state => state.config.layout.local.currentShowTab\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n fuzzyParseDateTime: 'fuzzyParseDateTime'\n }),\n\n showsReady() {\n const {\n shows,\n maxNextAirDate\n } = this;\n\n if (shows.length === 0 || !maxNextAirDate) {\n return [];\n }\n\n return shows;\n },\n\n showContainerStyle() {\n const {\n posterSize,\n borderWidth,\n borderRadius\n } = this;\n return {\n width: posterSize + 'px',\n borderWidth: borderWidth + 'px',\n borderRadius: borderRadius + 'px'\n };\n },\n\n maxNextAirDate() {\n const {\n shows\n } = this;\n return Math.max(...shows.filter(show => show.nextAirDate).map(show => Date.parse(show.nextAirDate)));\n }\n\n },\n methods: {\n prettyBytes: bytes => pretty_bytes__WEBPACK_IMPORTED_MODULE_1___default()(bytes),\n\n showIndexerUrl(show) {\n const {\n indexers\n } = this;\n\n if (!show.indexer) {\n return;\n }\n\n const id = show.id[show.indexer];\n const indexerUrl = indexers.indexers[show.indexer].showUrl;\n return `${indexerUrl}${id}`;\n },\n\n parsePrevDateFn(row) {\n const {\n fuzzyParseDateTime\n } = this;\n\n if (row.prevAirDate) {\n console.log(`Calculating time for show ${row.title} prev date: ${row.prevAirDate}`);\n return fuzzyParseDateTime(row.prevAirDate);\n }\n\n return '';\n },\n\n parseNextDateFn(row) {\n const {\n fuzzyParseDateTime\n } = this;\n\n if (row.nextAirDate) {\n console.log(`Calculating time for show ${row.title} next date: ${row.nextAirDate}`);\n return fuzzyParseDateTime(row.nextAirDate);\n }\n\n return '';\n },\n\n calculateSize() {\n const {\n posterSize\n } = this;\n\n if (posterSize < 125) {\n // Small\n this.fontSize = null;\n this.borderRadius = 3;\n this.borderWidth = 4;\n } else if (posterSize < 175) {\n // Medium\n this.fontSize = 9;\n this.logoWidth = 40;\n this.borderRadius = 4;\n this.borderWidth = 5;\n } else {\n // Large\n this.fontSize = 11;\n this.logoWidth = 50;\n this.borderRadius = 6;\n this.borderWidth = 6;\n }\n },\n\n updateLayout() {\n const {\n calculateSize,\n listTitle,\n posterSortBy,\n posterSortDir\n } = this;\n this.isotopeLoaded = true;\n calculateSize(); // Render layout (for sizing)\n\n this.$refs[`isotope-${listTitle}`].layout(); // Arrange & Sort\n\n this.$refs[`isotope-${listTitle}`].arrange({\n sortBy: posterSortBy,\n sortAscending: posterSortDir\n });\n console.log('isotope Layout loaded');\n },\n\n dateOrStatus(show) {\n if (show.nextAirDate) {\n const {\n fuzzyParseDateTime\n } = this;\n return fuzzyParseDateTime(show.nextAirDate);\n }\n\n if (!show.status.includes('nded') && show.config.paused) {\n return 'Paused';\n }\n\n return show.status;\n }\n\n },\n watch: {\n posterSortBy(key) {\n const {\n listTitle\n } = this;\n this.$refs[`isotope-${listTitle}`].sort(key);\n },\n\n posterSortDir(value) {\n const {\n listTitle,\n posterSortBy\n } = this;\n this.$refs[`isotope-${listTitle}`].arrange({\n sortBy: posterSortBy,\n sortAscending: value\n });\n },\n\n posterSize(oldSize, newSize) {\n const {\n calculateSize,\n isotopeLoaded,\n listTitle\n } = this;\n\n if (!isotopeLoaded || oldSize === newSize) {\n return;\n }\n\n calculateSize();\n this.$nextTick(() => {\n this.$refs[`isotope-${listTitle}`].arrange();\n });\n },\n\n currentShowTab() {\n const {\n isotopeLoaded,\n listTitle\n } = this;\n\n if (!isotopeLoaded) {\n return;\n }\n\n this.$nextTick(() => {\n this.$refs[`isotope-${listTitle}`].arrange();\n });\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-list/poster.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/simple.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/simple.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/manage-cookie */ \"./src/mixins/manage-cookie.js\");\n/* harmony import */ var _mixins_show_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/show-list */ \"./src/mixins/show-list.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'simple',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"AppLink\"],\n ProgressBar: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"ProgressBar\"],\n QualityPill: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"QualityPill\"],\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_1__[\"VueGoodTable\"]\n },\n mixins: [Object(_mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_2__[\"manageCookieMixin\"])('home-simple'), _mixins_show_list__WEBPACK_IMPORTED_MODULE_3__[\"showlistTableMixin\"]],\n props: {\n layout: {\n validator: val => val === null || typeof val === 'string',\n required: true\n },\n shows: {\n type: Array,\n required: true\n },\n listTitle: {\n type: String\n },\n header: {\n type: Boolean\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-list/simple.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/smallposter.vue?vue&type=script&lang=js&": -/*!*********************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/smallposter.vue?vue&type=script&lang=js& ***! - \*********************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/manage-cookie */ \"./src/mixins/manage-cookie.js\");\n/* harmony import */ var _mixins_show_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/show-list */ \"./src/mixins/show-list.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'smallposter',\n components: {\n Asset: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"Asset\"],\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"AppLink\"],\n ProgressBar: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"ProgressBar\"],\n QualityPill: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"QualityPill\"],\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_1__[\"VueGoodTable\"]\n },\n mixins: [Object(_mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_2__[\"manageCookieMixin\"])('home-small-poster'), _mixins_show_list__WEBPACK_IMPORTED_MODULE_3__[\"showlistTableMixin\"]],\n props: {\n layout: {\n validator: val => val === null || typeof val === 'string',\n required: true\n },\n shows: {\n type: Array,\n required: true\n },\n listTitle: {\n type: String\n },\n header: {\n type: Boolean\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-list/smallposter.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-results.vue?vue&type=script&lang=js&": -/*!************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-results.vue?vue&type=script&lang=js& ***! - \************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../api */ \"./src/api.js\");\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../mixins/manage-cookie */ \"./src/mixins/manage-cookie.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n/* harmony import */ var _helpers_quality_pill_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./helpers/quality-pill.vue */ \"./src/components/helpers/quality-pill.vue\");\n/* harmony import */ var _utils_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/core */ \"./src/utils/core.js\");\n/* harmony import */ var _utils_jquery__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/jquery */ \"./src/utils/jquery.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'show-results',\n components: {\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_2__[\"VueGoodTable\"],\n StateSwitch: _helpers__WEBPACK_IMPORTED_MODULE_4__[\"StateSwitch\"],\n QualityPill: _helpers_quality_pill_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n },\n mixins: [Object(_mixins_manage_cookie__WEBPACK_IMPORTED_MODULE_3__[\"manageCookieMixin\"])('showResults')],\n props: {\n show: {\n type: Object,\n required: true\n },\n season: {\n type: Number,\n required: true\n },\n episode: {\n type: Number,\n required: false\n },\n searchType: {\n type: String,\n default: 'episode'\n }\n },\n\n data() {\n const {\n getCookie\n } = this;\n return {\n columns: [{\n label: 'Release',\n field: 'release',\n tdClass: 'release',\n hidden: getCookie('Release')\n }, {\n label: 'Group',\n field: 'releaseGroup',\n hidden: getCookie('Group')\n }, {\n label: 'Provider',\n field: 'provider.name',\n hidden: getCookie('Provider')\n }, {\n label: 'Quality',\n field: 'quality',\n type: 'number',\n hidden: getCookie('Quality')\n }, {\n label: 'Seeds',\n field: 'seeders',\n type: 'number',\n hidden: getCookie('Seeds')\n }, {\n label: 'Peers',\n field: 'leechers',\n type: 'number',\n hidden: getCookie('Peers')\n }, {\n label: 'Size',\n field: 'size',\n formatFn: _utils_core__WEBPACK_IMPORTED_MODULE_6__[\"humanFileSize\"],\n type: 'number',\n hidden: getCookie('Size')\n }, {\n label: 'Added',\n field: 'dateAdded',\n type: 'date',\n sortable: true,\n dateInputFormat: 'yyyy-MM-dd\\'T\\'HH:mm:ss',\n // E.g. 07-09-2017 19:16:25\n dateOutputFormat: 'yyyy/MM/dd HH:mm:ss',\n hidden: getCookie('Added')\n }, {\n label: 'Published',\n field: 'pubdate',\n type: 'date',\n sortable: true,\n dateInputFormat: 'yyyy-MM-dd\\'T\\'HH:mm:ssXXX',\n dateOutputFormat: 'yyyy-MM-dd HH:mm:ss',\n hidden: getCookie('Published')\n }, {\n label: 'Updated',\n field: 'time',\n type: 'date',\n sortable: true,\n dateInputFormat: 'yyyy-MM-dd\\'T\\'HH:mm:ss',\n dateOutputFormat: 'yyyy/MM/dd HH:mm:ss',\n hidden: getCookie('Updated')\n }, {\n label: 'Snatch',\n field: 'snatch',\n sortable: false\n }],\n loading: false,\n loadingMessage: ''\n };\n },\n\n async mounted() {\n const {\n forceSearch,\n getProviders,\n getProviderCacheResults,\n show,\n season,\n episode\n } = this;\n await getProviders();\n const result = await getProviderCacheResults({\n showSlug: show.id.slug,\n season,\n episode\n }); // TODO: put a modal in between\n\n if (result.providersSearched > 0 && result.totalSearchResults.length === 0) {\n forceSearch();\n }\n\n Object(_utils_jquery__WEBPACK_IMPORTED_MODULE_7__[\"addQTip\"])();\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapState\"])({\n config: state => state.config.general,\n layout: state => state.config.layout,\n search: state => state.config.search,\n providers: state => state.provider.providers,\n queueitems: state => state.search.queueitems,\n history: state => state.history.episodeHistory\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapGetters\"])({\n fuzzyParseDateTime: 'fuzzyParseDateTime',\n effectiveIgnored: 'effectiveIgnored',\n effectiveRequired: 'effectiveRequired'\n }),\n\n combinedResults() {\n const {\n episode,\n episodeHistory,\n providers,\n season,\n show\n } = this;\n let results = [];\n\n const getLastHistoryStatus = result => {\n const sortedHistory = episodeHistory.sort(item => item.actionDate).reverse();\n\n for (const historyRow of sortedHistory) {\n if (historyRow.resource === result.release && historyRow.size === result.size) {\n return historyRow.statusName.toLocaleLowerCase();\n }\n }\n\n return 'skipped';\n };\n\n for (const provider of Object.values(providers).filter(provider => provider.config.enabled)) {\n if (provider.cache && provider.cache.length > 0) {\n results = [...results, ...provider.cache.filter(searchResult => {\n if (episode) {\n return searchResult.showSlug === show.id.slug && searchResult.season === season && searchResult.episodes.includes(episode);\n }\n\n return searchResult.showSlug === show.id.slug && searchResult.season === season && searchResult.seasonPack;\n }).map(result => {\n return { ...result,\n status: getLastHistoryStatus(result)\n };\n })];\n }\n }\n\n return results;\n },\n\n /**\n * Helper to get the current episode or season slug.\n * @returns {string} episode slug.\n */\n episodeSlug() {\n const {\n season,\n episode\n } = this;\n return Object(_utils_core__WEBPACK_IMPORTED_MODULE_6__[\"episodeToSlug\"])(season, episode);\n },\n\n /**\n * Helper to check if showSlug and season/episode slug exist.\n * @returns {array} history for episode or empty array.\n */\n episodeHistory() {\n const {\n episodeSlug,\n history,\n show\n } = this;\n\n if (!history[show.id.slug] || !history[show.id.slug][episodeSlug]) {\n return [];\n }\n\n return history[show.id.slug][episodeSlug];\n }\n\n },\n methods: {\n humanFileSize: _utils_core__WEBPACK_IMPORTED_MODULE_6__[\"humanFileSize\"],\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_1__[\"mapActions\"])({\n getProviders: 'getProviders',\n getProviderCacheResults: 'getProviderCacheResults',\n getShowEpisodeHistory: 'getShowEpisodeHistory'\n }),\n\n close() {\n this.$emit('close'); // Destroy the vue listeners, etc\n\n this.$destroy(); // Remove the element from the DOM\n\n this.$el.remove();\n },\n\n getProviderResults() {\n const {\n episode,\n getProviderCacheResults,\n season,\n show\n } = this;\n getProviderCacheResults({\n showSlug: show.id.slug,\n season,\n episode\n });\n },\n\n forceSearch() {\n const {\n episode,\n episodeSlug,\n season,\n show\n } = this;\n let data = {};\n data = {\n showSlug: show.id.slug,\n options: {},\n [episode ? 'episodes' : 'season']: [episodeSlug]\n };\n this.loading = true;\n this.loadingMessage = 'Queue search...';\n api.put('search/manual', data) // eslint-disable-line no-undef\n .then(() => {\n console.info(`Queued search for show: ${show.id.slug} season: ${season}, episode: ${episode}`);\n this.loadingMessage = 'Queued search...';\n }).catch(error => {\n console.error(String(error));\n });\n },\n\n rowStyleClassFn(row) {\n const {\n effectiveIgnored,\n effectiveRequired,\n search,\n show\n } = this;\n const classes = [row.status || 'skipped'];\n\n const getReleaseNameClasses = name => {\n const classes = [];\n\n if (effectiveIgnored(show).map(word => {\n return name.toLowerCase().includes(word.toLowerCase());\n }).filter(x => x === true).length > 0) {\n classes.push('global-ignored');\n }\n\n if (effectiveRequired(show).map(word => {\n return name.toLowerCase().includes(word.toLowerCase());\n }).filter(x => x === true).length > 0) {\n classes.push('global-required');\n }\n\n if (search.filters.undesired.map(word => {\n return name.toLowerCase().includes(word.toLowerCase());\n }).filter(x => x === true).length > 0) {\n classes.push('global-undesired');\n }\n\n return classes;\n };\n\n return [...classes, ...getReleaseNameClasses(row.release)].join(' ');\n },\n\n async snatchResult(evt, result) {\n const {\n layout\n } = this;\n evt.target.src = `images/loading16-${layout.themeName}.gif`;\n\n try {\n const response = await Object(_api__WEBPACK_IMPORTED_MODULE_0__[\"apiRoute\"])('home/pickManualSearch', {\n params: {\n provider: result.provider.id,\n identifier: result.identifier\n }\n });\n\n if (response.data.result === 'success') {\n evt.target.src = 'images/save.png';\n } else {\n evt.target.src = 'images/no16.png';\n }\n } catch (error) {\n console.error(String(error));\n evt.target.src = 'images/no16.png';\n }\n }\n\n },\n watch: {\n queueitems: {\n async handler(queue) {\n // Check for manual searches\n const queueForThisEpisode = queue.filter(q => ['MANUAL-SEARCH'].includes(q.name) && q.segment.length && q.segment.find(ep => ep.season === this.season && ep.episode === this.episode));\n const [last] = queueForThisEpisode.slice(-1);\n\n if (last) {\n const searchStatus = last.success === null ? 'running' : 'finished';\n\n if (searchStatus === 'running') {\n this.loading = true;\n this.loadingMessage = 'Started searching providers...';\n } else {\n this.loadingMessage = 'Finished manual search';\n setTimeout(() => {\n this.loading = false;\n this.loadingMessage = '';\n }, 5000);\n }\n } // Check for snach selection\n\n\n const snatchedForThisEpisode = queue.filter(q => q.name === 'SNATCH-RESULT' && q.segment.length && q.segment.find(ep => ep.season === this.season && ep.episode === this.episode));\n const [lastSnatch] = snatchedForThisEpisode.slice(-1);\n\n if (lastSnatch && lastSnatch.success === true) {\n const {\n getProviderCacheResults,\n getShowEpisodeHistory,\n show,\n season,\n episode,\n episodeSlug\n } = this; // Something changed, let's get a new batch of provider results.\n\n await getShowEpisodeHistory({\n showSlug: show.id.slug,\n episodeSlug\n });\n await getProviderCacheResults({\n showSlug: show.id.slug,\n season,\n episode\n });\n } // Update qTip\n\n\n Object(_utils_jquery__WEBPACK_IMPORTED_MODULE_7__[\"addQTip\"])();\n },\n\n deep: true,\n immediate: false\n }\n }\n});\n\n//# sourceURL=webpack:///./src/components/show-results.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/snatch-selection.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/snatch-selection.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var _show_header_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./show-header.vue */ \"./src/components/show-header.vue\");\n/* harmony import */ var _show_history_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./show-history.vue */ \"./src/components/show-history.vue\");\n/* harmony import */ var _show_results_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./show-results.vue */ \"./src/components/show-results.vue\");\n/* harmony import */ var _backstretch_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./backstretch.vue */ \"./src/components/backstretch.vue\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'snatch-selection',\n template: '#snatch-selection-template',\n components: {\n Backstretch: _backstretch_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n ShowHeader: _show_header_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ShowHistory: _show_history_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ShowResults: _show_results_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n\n metaInfo() {\n if (!this.show || !this.show.title) {\n return {\n title: 'Medusa'\n };\n }\n\n const {\n title\n } = this.show;\n return {\n title,\n titleTemplate: '%s | Medusa'\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n shows: state => state.shows.shows,\n config: state => state.config.general,\n search: state => state.config.search,\n history: state => state.history\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n show: 'getCurrentShow',\n effectiveIgnored: 'effectiveIgnored',\n effectiveRequired: 'effectiveRequired',\n getShowHistoryBySlug: 'getShowHistoryBySlug',\n getEpisode: 'getEpisode'\n }),\n\n indexer() {\n return this.$route.query.indexername;\n },\n\n id() {\n return Number(this.$route.query.seriesid);\n },\n\n season() {\n return Number(this.$route.query.season);\n },\n\n episode() {\n if (this.$route.query.manual_search_type === 'season') {\n return;\n }\n\n return Number(this.$route.query.episode);\n },\n\n manualSearchType() {\n return this.$route.query.manual_search_type;\n }\n\n },\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])({\n getShow: 'getShow',\n // Map `this.getShow()` to `this.$store.dispatch('getShow')`\n getHistory: 'getHistory'\n }),\n\n // TODO: Move this to show-results!\n getReleaseNameClasses(name) {\n const {\n effectiveIgnored,\n effectiveRequired,\n search,\n show\n } = this;\n const classes = [];\n\n if (effectiveIgnored(show).map(word => {\n return name.toLowerCase().includes(word.toLowerCase());\n }).filter(x => x === true).length > 0) {\n classes.push('global-ignored');\n }\n\n if (effectiveRequired(show).map(word => {\n return name.toLowerCase().includes(word.toLowerCase());\n }).filter(x => x === true).length > 0) {\n classes.push('global-required');\n }\n\n if (search.filters.undesired.map(word => {\n return name.toLowerCase().includes(word.toLowerCase());\n }).filter(x => x === true).length > 0) {\n classes.push('global-undesired');\n }\n\n return classes.join(' ');\n }\n\n },\n\n mounted() {\n const {\n indexer,\n id,\n show,\n getShow,\n $store\n } = this; // Let's tell the store which show we currently want as current.\n\n $store.commit('currentShow', {\n indexer,\n id\n }); // We need the show info, so let's get it.\n\n if (!show || !show.id.slug) {\n getShow({\n id,\n indexer,\n detailed: false\n });\n }\n }\n\n});\n\n//# sourceURL=webpack:///./src/components/snatch-selection.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/status.vue?vue&type=script&lang=js&": -/*!******************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/status.vue?vue&type=script&lang=js& ***! - \******************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'status',\n template: '#status-template',\n computed: Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n config: state => state.config\n }),\n\n mounted() {\n $('#schedulerStatusTable').tablesorter({\n widgets: ['saveSort', 'zebra'],\n textExtraction: {\n 5(node) {\n return $(node).data('seconds');\n },\n\n 6(node) {\n return $(node).data('seconds');\n }\n\n },\n headers: {\n 5: {\n sorter: 'digit'\n },\n 6: {\n sorter: 'digit'\n }\n }\n });\n $('#queueStatusTable').tablesorter({\n widgets: ['saveSort', 'zebra'],\n sortList: [[3, 0], [4, 0], [2, 1]]\n });\n }\n\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/status.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/sub-menu.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/sub-menu.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'sub-menu',\n components: {\n AppLink: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"AppLink\"],\n ShowSelector: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"ShowSelector\"]\n },\n computed: {\n subMenu() {\n const {\n $route\n } = this;\n let subMenu = $route.meta.subMenu || [];\n\n if (typeof subMenu === 'function') {\n subMenu = subMenu(this);\n } // Filters `requires = false` and reverses the array\n\n\n const reducer = (arr, item) => item.requires === undefined || item.requires ? arr.concat(item) : arr;\n\n return subMenu.reduceRight(reducer, []);\n },\n\n curShowSlug() {\n const {\n $route\n } = this;\n const {\n indexername,\n seriesid\n } = $route.query;\n\n if (indexername && seriesid) {\n return indexername + seriesid;\n }\n\n return '';\n }\n\n },\n methods: {\n clickEventCond(menuItem) {\n return menuItem.confirm ? 'click' : null;\n },\n\n confirmDialog(event, action) {\n const options = {\n confirmButton: 'Yes',\n cancelButton: 'Cancel',\n dialogClass: 'modal-dialog',\n post: false,\n button: $(event.currentTarget),\n\n confirm($element) {\n window.location.href = $element[0].href;\n }\n\n };\n\n if (action === 'removeshow') {\n const showName = document.querySelector('#showtitle').dataset.showname;\n options.title = 'Remove Show';\n options.text = `Are you sure you want to remove ${showName} from the database?

    \n Check to delete files as well. IRREVERSIBLE`;\n\n options.confirm = $element => {\n window.location.href = $element[0].href + (document.querySelector('#deleteFiles').checked ? '&full=1' : '');\n };\n } else if (action === 'clearhistory') {\n options.title = 'Clear History';\n options.text = 'Are you sure you want to clear all download history?';\n } else if (action === 'trimhistory') {\n options.title = 'Trim History';\n options.text = 'Are you sure you want to trim all download history older than 30 days?';\n } else if (action === 'submiterrors') {\n options.title = 'Submit Errors';\n options.text = `Are you sure you want to submit these errors?

    \n Make sure Medusa is updated and trigger
    \n this error with debug enabled before submitting
    `;\n } else {\n return;\n }\n\n $.confirm(options, event);\n }\n\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")))\n\n//# sourceURL=webpack:///./src/components/sub-menu.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./src/components/subtitle-search.vue?vue&type=script&lang=js&": -/*!***************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/subtitle-search.vue?vue&type=script&lang=js& ***! - \***************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuex */ \"./node_modules/vuex/dist/vuex.esm.js\");\n/* harmony import */ var vue_good_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-good-table */ \"./node_modules/vue-good-table/dist/vue-good-table.esm.js\");\n/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../api */ \"./src/api.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers */ \"./src/components/helpers/index.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'subtitle-search',\n components: {\n StateSwitch: _helpers__WEBPACK_IMPORTED_MODULE_3__[\"StateSwitch\"],\n VueGoodTable: vue_good_table__WEBPACK_IMPORTED_MODULE_1__[\"VueGoodTable\"]\n },\n props: {\n show: {\n type: Object,\n required: true\n },\n episode: {\n type: Object,\n required: true\n },\n lang: {\n type: String,\n required: false\n }\n },\n\n data() {\n return {\n columns: [{\n label: 'Filename',\n field: 'filename'\n }, {\n label: 'Language',\n field: 'lang'\n }, {\n label: 'Provider',\n field: 'provider'\n }, {\n label: 'Score',\n field: 'score',\n type: 'number'\n }, {\n label: 'Sub Score',\n field: 'sub_score',\n type: 'number'\n }, {\n label: 'Missing Matches',\n field: rowObj => {\n if (rowObj.missing_guess) {\n return rowObj.missing_guess.join(', ');\n }\n },\n type: 'array'\n }, {\n label: 'Download',\n field: 'download',\n sortable: false\n }],\n subtitles: [],\n displayQuestion: false,\n searchType: null,\n loading: false,\n loadingMessage: ''\n };\n },\n\n computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapState\"])({\n general: state => state.config.general\n }),\n ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapGetters\"])({\n getLastReleaseName: 'getLastReleaseName'\n }),\n\n releaseName() {\n const {\n episode,\n getLastReleaseName,\n show\n } = this;\n const lastKnownReleaseName = getLastReleaseName({\n showSlug: show.id.slug,\n episodeSlug: episode.slug\n });\n\n if (lastKnownReleaseName) {\n return `Select subtitle for release: ${lastKnownReleaseName}`;\n }\n\n return 'Could not get a downloaded release name from the history table';\n },\n\n subtitleParams() {\n const {\n episode,\n show\n } = this;\n const params = {\n indexername: show.indexer,\n seriesid: show.id[show.indexer],\n season: episode.season,\n episode: episode.episode\n };\n return params;\n }\n\n },\n\n mounted() {\n this.displayQuestion = true;\n },\n\n methods: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_0__[\"mapActions\"])(['getShowEpisodeHistory']),\n\n autoSearch() {\n this.searchType = 'auto';\n const {\n lang,\n subtitleParams\n } = this;\n const params = subtitleParams;\n\n if (lang !== undefined) {\n params.lang = lang;\n }\n\n this.displayQuestion = false;\n this.loadingMessage = 'Searching for subtitles and downloading if available... ';\n this.loading = true;\n Object(_api__WEBPACK_IMPORTED_MODULE_2__[\"apiRoute\"])('home/searchEpisodeSubtitles', {\n params\n }).then(response => {\n if (response.data.result !== 'failure') {\n // Update the show, as we have new information (subtitles)\n // Let's emit an event, telling the displayShow component, to update the show using the api/store.\n this.$emit('update', {\n reason: 'new subtitles found',\n codes: response.data.subtitles,\n languages: response.data.languages\n });\n }\n }).catch(error => {\n console.log(`Error trying to search for subtitles. Error: ${error}`);\n }).finally(() => {\n // Cleanup\n this.loadingMessage = '';\n this.loading = false;\n this.close();\n });\n },\n\n manualSearch() {\n this.searchType = 'manual';\n const {\n episode,\n getShowEpisodeHistory,\n show,\n subtitleParams\n } = this;\n this.displayQuestion = false;\n this.loading = true;\n this.loadingMessage = 'Searching for subtitles... ';\n Object(_api__WEBPACK_IMPORTED_MODULE_2__[\"apiRoute\"])('home/manualSearchSubtitles', {\n params: subtitleParams\n }).then(response => {\n if (response.data.result === 'success') {\n this.subtitles.push(...response.data.subtitles); // Load episode history if we have subtitles.\n\n getShowEpisodeHistory({\n showSlug: show.id.slug,\n episodeSlug: episode.slug\n });\n }\n }).catch(error => {\n console.log(`Error trying to search for subtitles. Error: ${error}`);\n }).finally(() => {\n this.loading = false;\n });\n },\n\n redownloadLang() {\n const {\n subtitleParams\n } = this;\n Object(_api__WEBPACK_IMPORTED_MODULE_2__[\"apiRoute\"])('home/searchEpisodeSubtitles', {\n params: subtitleParams\n }).then(response => {\n if (response.data.result !== 'failure') {\n // Update the show, as we have new information (subtitles)\n // Let's emit an event, telling the displayShow component, to update the show using the api/store.\n this.$emit('update', {\n reason: 'new subtitles found',\n codes: response.data.subtitles,\n languages: response.data.languages\n });\n }\n }).catch(error => {\n console.log(`Error trying to search for subtitles. Error: ${error}`);\n }).finally(() => {\n // Cleanup\n this.loadingMessage = '';\n this.loading = false;\n this.close();\n });\n },\n\n pickSubtitle(subtitleId) {\n // Download and save this subtitle with the episode.\n const {\n subtitleParams\n } = this;\n const params = { ...subtitleParams,\n picked_id: subtitleId // eslint-disable-line camelcase\n\n };\n this.displayQuestion = false;\n this.loadingMessage = 'downloading subtitle... ';\n this.loading = true;\n Object(_api__WEBPACK_IMPORTED_MODULE_2__[\"apiRoute\"])('home/manualSearchSubtitles', {\n params\n }).then(response => {\n if (response.data.result === 'success') {\n // Update the show, as we have new information (subtitles)\n // Let's emit an event, telling the displayShow component, to update the show using the api/store.\n this.$emit('update', {\n reason: 'new subtitles found',\n codes: response.data.subtitles,\n languages: response.data.languages\n });\n }\n }).catch(error => {\n console.log(`Error trying to search for subtitles. Error: ${error}`);\n }).finally(() => {\n // Cleanup\n this.loadingMessage = '';\n this.loading = false;\n this.close();\n });\n },\n\n close() {\n this.$emit('close'); // Destroy the vue listeners, etc\n\n this.$destroy(); // Remove the element from the DOM\n\n this.$el.remove();\n }\n\n }\n});\n\n//# sourceURL=webpack:///./src/components/subtitle-search.vue?./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/anidb-release-group-ui.vue?vue&type=style&index=0&id=662b9a4b&scoped=true&lang=css&": -/*!*************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/anidb-release-group-ui.vue?vue&type=style&index=0&id=662b9a4b&scoped=true&lang=css& ***! - \*************************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\ndiv.anidb-release-group-ui-wrapper[data-v-662b9a4b] {\\n clear: both;\\n margin-bottom: 20px;\\n}\\ndiv.anidb-release-group-ui-wrapper ul[data-v-662b9a4b] {\\n border-style: solid;\\n border-width: thin;\\n padding: 5px 2px 2px 5px;\\n list-style: none;\\n}\\ndiv.anidb-release-group-ui-wrapper li.active[data-v-662b9a4b] {\\n background-color: cornflowerblue;\\n}\\ndiv.anidb-release-group-ui-wrapper div.arrow img[data-v-662b9a4b] {\\n cursor: pointer;\\n height: 32px;\\n width: 32px;\\n}\\ndiv.anidb-release-group-ui-wrapper img.deleteFromWhitelist[data-v-662b9a4b],\\ndiv.anidb-release-group-ui-wrapper img.deleteFromBlacklist[data-v-662b9a4b] {\\n float: right;\\n}\\ndiv.anidb-release-group-ui-wrapper #add-new-release-group p > img[data-v-662b9a4b] {\\n height: 16px;\\n width: 16px;\\n background-color: rgb(204, 204, 204);\\n}\\ndiv.anidb-release-group-ui-wrapper.placeholder[data-v-662b9a4b] {\\n height: 32px;\\n}\\ndiv.anidb-release-group-ui-wrapper.max-width[data-v-662b9a4b] {\\n max-width: 960px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/anidb-release-group-ui.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/app-header.vue?vue&type=style&index=0&lang=css&": -/*!*************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/app-header.vue?vue&type=style&index=0&lang=css& ***! - \*************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.floating-badge {\\n position: absolute;\\n top: -5px;\\n right: -8px;\\n padding: 0 4px;\\n background-color: #777;\\n border: 2px solid #959595;\\n border-radius: 100px;\\n font-size: 12px;\\n font-weight: bold;\\n text-decoration: none;\\n color: white;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/app-header.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/config-general.vue?vue&type=style&index=0&lang=css&": -/*!*****************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-general.vue?vue&type=style&index=0&lang=css& ***! - \*****************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.display-inline {\\n display: inline;\\n}\\n.radio-item {\\n display: block;\\n}\\n.multiselect {\\n margin-bottom: 10px;\\n}\\n.margin-bottom-5 {\\n margin-bottom: 5px;\\n}\\n.plotInfo {\\n cursor: help;\\n float: right;\\n position: relative;\\n top: 2px;\\n}\\n.plotInfoNone {\\n cursor: help;\\n float: right;\\n position: relative;\\n top: 2px;\\n opacity: 0.4;\\n}\\n.v-popover {\\n display: inline;\\n}\\n.tooltip-base {\\n position: relative;\\n display: inline-block !important;\\n z-index: 999;\\n max-width: 276px;\\n padding: 1px;\\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\\n font-style: normal;\\n font-weight: 400;\\n font-size: 14px;\\n line-height: 1.42857143;\\n line-break: auto;\\n text-align: start;\\n text-decoration: none;\\n text-shadow: none;\\n text-transform: none;\\n letter-spacing: normal;\\n word-break: normal;\\n word-spacing: normal;\\n word-wrap: normal;\\n white-space: normal;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n border-radius: 6px;\\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\\n}\\n.tooltip-base.tooltip-themed-dark {\\n background-color: rgb(51, 51, 51);\\n border-color: #111;\\n}\\n.tooltip-base .tooltip-inner {\\n background-color: inherit;\\n color: inherit;\\n text-align: inherit;\\n max-width: inherit;\\n padding: 0;\\n border-radius: 6px;\\n}\\n.tooltip-title {\\n padding: 8px 14px;\\n margin: 0;\\n border-radius: 5px 5px 0 0;\\n}\\n.tooltip-content {\\n padding: 9px 14px;\\n margin: 0;\\n}\\n.tooltip-themed-dark .tooltip-title {\\n background-color: rgb(35, 35, 35);\\n border-bottom-color: #111;\\n}\\n.tooltip-themed-light .tooltip-title {\\n padding: 8px 14px;\\n margin: 0;\\n font-size: 14px;\\n background-color: #f7f7f7;\\n border-bottom: 1px solid #ebebeb;\\n border-radius: 5px 5px 0 0;\\n}\\n.tooltip-base[x-placement^=\\\"left\\\"]::after,\\n.tooltip-base[x-placement^=\\\"left\\\"]::before {\\n left: 100%;\\n top: 50%;\\n border: solid transparent;\\n content: \\\" \\\";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none;\\n}\\n.tooltip-base[x-placement^=\\\"left\\\"]::after {\\n border-color: rgba(255, 255, 255, 0);\\n border-left-color: #fff;\\n border-width: 11px;\\n margin-top: -11px;\\n content: \\\" \\\";\\n}\\n.tooltip-base[x-placement^=\\\"left\\\"]::before {\\n border-color: rgba(0, 0, 0, 0);\\n border-left-color: rgba(0, 0, 0, 0.2);\\n border-width: 12px;\\n margin-top: -12px;\\n content: \\\" \\\";\\n}\\n.tooltip-base[x-placement^=\\\"right\\\"]::after,\\n.tooltip-base[x-placement^=\\\"right\\\"]::before {\\n right: 100%;\\n top: 50%;\\n border: solid transparent;\\n content: \\\" \\\";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none;\\n}\\n.tooltip-base[x-placement^=\\\"right\\\"]::after {\\n border-color: rgba(255, 255, 255, 0);\\n border-right-color: #fff;\\n border-width: 11px;\\n margin-top: -11px;\\n content: \\\" \\\";\\n}\\n.tooltip-base[x-placement^=\\\"right\\\"]::before {\\n border-color: rgba(0, 0, 0, 0);\\n border-right-color: rgba(0, 0, 0, 0.2);\\n border-width: 12px;\\n margin-top: -12px;\\n content: \\\" \\\";\\n}\\n\\n/* The background of the arrow, the outline */\\n.tooltip-themed-dark[x-placement^=\\\"left\\\"]::before {\\n border-left-color: #000 !important;\\n}\\n\\n/* The background of the arrow, the outline */\\n.tooltip-themed-dark[x-placement^=\\\"right\\\"]::before {\\n border-right-color: #000 !important;\\n}\\n\\n/* The foreground of the arrow, the filling */\\n.tooltip-themed-dark[x-placement^=\\\"left\\\"]::after {\\n border-left-color: rgb(51, 51, 51) !important;\\n}\\n\\n/* The foreground of the arrow, the filling */\\n.tooltip-themed-dark[x-placement^=\\\"right\\\"]::after {\\n border-right-color: rgb(51, 51, 51) !important;\\n}\\n.tooltip-arrow {\\n display: none;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/config-general.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/config.vue?vue&type=style&index=0&id=b286475c&scoped=true&lang=css&": -/*!*********************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config.vue?vue&type=style&index=0&id=b286475c&scoped=true&lang=css& ***! - \*********************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.infoTable tr td[data-v-b286475c]:first-child {\\n vertical-align: top;\\n}\\npre[data-v-b286475c] {\\n padding: 5px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/config.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/display-show.vue?vue&type=style&index=0&id=6dfe8938&scoped=true&lang=css&": -/*!***************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/display-show.vue?vue&type=style&index=0&id=6dfe8938&scoped=true&lang=css& ***! - \***************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.vgt-global-search__input.vgt-pull-left[data-v-6dfe8938] {\\n float: left;\\n height: 40px;\\n}\\n.vgt-input[data-v-6dfe8938] {\\n border: 1px solid #ccc;\\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;\\n height: 30px;\\n padding: 5px 10px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 3px;\\n}\\ndiv.vgt-responsive > table tbody > tr > th.vgt-row-header > span[data-v-6dfe8938] {\\n font-size: 24px;\\n margin-top: 20px;\\n margin-bottom: 10px;\\n}\\n.defaultTable.displayShow[data-v-6dfe8938] {\\n clear: both;\\n}\\n.displayShowTable.displayShow[data-v-6dfe8938] {\\n clear: both;\\n}\\n.fanartBackground.displayShow[data-v-6dfe8938] {\\n clear: both;\\n opacity: 0.9;\\n}\\n.fanartBackground table[data-v-6dfe8938] {\\n table-layout: auto;\\n width: 100%;\\n border-collapse: collapse;\\n border-spacing: 0;\\n text-align: center;\\n border: none;\\n empty-cells: show;\\n color: rgb(0, 0, 0) !important;\\n}\\n.summaryFanArt[data-v-6dfe8938] {\\n opacity: 0.9;\\n}\\n.fanartBackground > table th.vgt-row-header[data-v-6dfe8938] {\\n border: none !important;\\n background-color: transparent !important;\\n color: rgb(255, 255, 255) !important;\\n padding-top: 15px !important;\\n text-align: left !important;\\n}\\n.fanartBackground td.col-search[data-v-6dfe8938] {\\n text-align: center;\\n}\\n\\n/* Trying to migrate this from tablesorter */\\n\\n/* =======================================================================\\ntablesorter.css\\n========================================================================== */\\n.displayShow[data-v-6dfe8938] .vgt-table {\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n color: rgb(0, 0, 0);\\n text-align: left;\\n border-spacing: 0;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table th,\\n.displayShow[data-v-6dfe8938] .vgt-table td {\\n padding: 4px;\\n border-top: rgb(34, 34, 34) 1px solid;\\n border-left: rgb(34, 34, 34) 1px solid;\\n vertical-align: middle;\\n}\\n\\n/* remove extra border from left edge */\\n.displayShow[data-v-6dfe8938] .vgt-table th:first-child,\\n.displayShow[data-v-6dfe8938] .vgt-table td:first-child {\\n border-left: none;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table th {\\n /* color: rgb(255, 255, 255); */\\n text-align: center;\\n text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);\\n background-color: rgb(51, 51, 51);\\n border-collapse: collapse;\\n font-weight: normal;\\n white-space: nowrap;\\n color: rgb(255, 255, 255);\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table span.break-word {\\n word-wrap: break-word;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table thead th.sorting.sorting-desc {\\n background-color: rgb(85, 85, 85);\\n background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table thead th.sorting.sorting-asc {\\n background-color: rgb(85, 85, 85);\\n background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);\\n background-position-x: right;\\n background-position-y: bottom;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table thead th.sorting {\\n background-repeat: no-repeat;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table thead th {\\n background-image: none;\\n padding: 4px;\\n cursor: default;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table input.tablesorter-filter {\\n width: 98%;\\n height: auto;\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table tr.tablesorter-filter-row,\\n.displayShow[data-v-6dfe8938] .vgt-table tr.tablesorter-filter-row td {\\n text-align: center;\\n}\\n\\n/* optional disabled input styling */\\n.displayShow[data-v-6dfe8938] .vgt-table input.tablesorter-filter-row .disabled {\\n display: none;\\n}\\n.tablesorter-header-inner[data-v-6dfe8938] {\\n padding: 0 2px;\\n text-align: center;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table tfoot tr {\\n color: rgb(255, 255, 255);\\n text-align: center;\\n text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);\\n background-color: rgb(51, 51, 51);\\n border-collapse: collapse;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table tfoot a {\\n color: rgb(255, 255, 255);\\n text-decoration: none;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table th.vgt-row-header {\\n text-align: left;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table .season-header {\\n display: inline;\\n margin-left: 5px;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-table tr.spacer {\\n height: 25px;\\n}\\n.displayShow[data-v-6dfe8938] .unaired {\\n background-color: rgb(245, 241, 228);\\n}\\n.displayShow[data-v-6dfe8938] .skipped {\\n background-color: rgb(190, 222, 237);\\n}\\n.displayShow[data-v-6dfe8938] .preferred {\\n background-color: rgb(195, 227, 200);\\n}\\n.displayShow[data-v-6dfe8938] .archived {\\n background-color: rgb(195, 227, 200);\\n}\\n.displayShow[data-v-6dfe8938] .allowed {\\n background-color: rgb(255, 218, 138);\\n}\\n.displayShow[data-v-6dfe8938] .wanted {\\n background-color: rgb(255, 176, 176);\\n}\\n.displayShow[data-v-6dfe8938] .snatched {\\n background-color: rgb(235, 193, 234);\\n}\\n.displayShow[data-v-6dfe8938] .downloaded {\\n background-color: rgb(255, 218, 138);\\n}\\n.displayShow[data-v-6dfe8938] .failed {\\n background-color: rgb(255, 153, 153);\\n}\\n.displayShow[data-v-6dfe8938] span.unaired {\\n color: rgb(88, 75, 32);\\n}\\n.displayShow[data-v-6dfe8938] span.skipped {\\n color: rgb(29, 80, 104);\\n}\\n.displayShow[data-v-6dfe8938] span.preffered {\\n color: rgb(41, 87, 48);\\n}\\n.displayShow[data-v-6dfe8938] span.allowed {\\n color: rgb(118, 81, 0);\\n}\\n.displayShow[data-v-6dfe8938] span.wanted {\\n color: rgb(137, 0, 0);\\n}\\n.displayShow[data-v-6dfe8938] span.snatched {\\n color: rgb(101, 33, 100);\\n}\\n.displayShow[data-v-6dfe8938] span.unaired b,\\n.displayShow[data-v-6dfe8938] span.skipped b,\\n.displayShow[data-v-6dfe8938] span.preferred b,\\n.displayShow[data-v-6dfe8938] span.allowed b,\\n.displayShow[data-v-6dfe8938] span.wanted b,\\n.displayShow[data-v-6dfe8938] span.snatched b {\\n color: rgb(0, 0, 0);\\n font-weight: 800;\\n}\\ntd.col-footer[data-v-6dfe8938] {\\n text-align: left !important;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-wrap__footer {\\n color: rgb(255, 255, 255);\\n padding: 1em;\\n background-color: rgb(51, 51, 51);\\n margin-bottom: 1em;\\n display: flex;\\n justify-content: space-between;\\n}\\n.displayShow[data-v-6dfe8938] .footer__row-count,\\n.displayShow[data-v-6dfe8938] .footer__navigation__page-info {\\n display: inline;\\n}\\n.displayShow[data-v-6dfe8938] .footer__row-count__label {\\n margin-right: 1em;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-wrap__footer .footer__navigation {\\n font-size: 14px;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-pull-right {\\n float: right !important;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-wrap__footer .footer__navigation__page-btn .chevron {\\n width: 24px;\\n height: 24px;\\n border-radius: 15%;\\n position: relative;\\n margin: 0 8px;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-wrap__footer .footer__navigation__info,\\n.displayShow[data-v-6dfe8938] .vgt-wrap__footer .footer__navigation__page-info {\\n display: inline-flex;\\n color: #909399;\\n margin: 0 16px;\\n margin-top: 0;\\n margin-right: 16px;\\n margin-bottom: 0;\\n margin-left: 16px;\\n}\\n.select-info span[data-v-6dfe8938] {\\n margin-left: 5px;\\n line-height: 40px;\\n}\\n\\n/** Style the modal. This should be saved somewhere, where we create one modal template with slots, and style that. */\\n.modal-container[data-v-6dfe8938] {\\n border: 1px solid rgb(17, 17, 17);\\n box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.175);\\n border-radius: 0;\\n}\\n.modal-header[data-v-6dfe8938] {\\n padding: 9px 15px;\\n border-bottom: none;\\n border-radius: 0;\\n background-color: rgb(55, 55, 55);\\n}\\n.modal-content[data-v-6dfe8938] {\\n background: rgb(34, 34, 34);\\n border-radius: 0;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\\n color: white;\\n}\\n.modal-body[data-v-6dfe8938] {\\n background: rgb(34, 34, 34);\\n overflow-y: auto;\\n}\\n.modal-footer[data-v-6dfe8938] {\\n border-top: none;\\n text-align: center;\\n}\\n.subtitles > div[data-v-6dfe8938] {\\n float: left;\\n}\\n.subtitles > div[data-v-6dfe8938]:not(:last-child) {\\n margin-right: 2px;\\n}\\n.align-center[data-v-6dfe8938] {\\n display: flex;\\n justify-content: center;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-dropdown-menu {\\n position: absolute;\\n z-index: 1000;\\n float: left;\\n min-width: 160px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n font-size: 14px;\\n text-align: left;\\n list-style: none;\\n background-clip: padding-box;\\n border-radius: 4px;\\n}\\n.displayShow[data-v-6dfe8938] .vgt-dropdown-menu > li > span {\\n display: block;\\n padding: 3px 20px;\\n clear: both;\\n font-weight: 400;\\n line-height: 1.42857143;\\n white-space: nowrap;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/display-show.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/app-link.vue?vue&type=style&index=0&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/app-link.vue?vue&type=style&index=0&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/*\\n@NOTE: This fixes the header blocking elements when using a hash link\\ne.g. displayShow?indexername=tvdb&seriesid=83462#season-5\\n*/\\n[false-link]::before {\\n content: '';\\n display: block;\\n position: absolute;\\n height: 100px;\\n margin-top: -100px;\\n z-index: -100;\\n}\\n.router-link,\\n.router-link-active {\\n cursor: pointer;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/app-link.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/asset.vue?vue&type=style&index=0&id=77ce7ff4&scoped=true&lang=css&": -/*!****************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/asset.vue?vue&type=style&index=0&id=77ce7ff4&scoped=true&lang=css& ***! - \****************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.width-40[data-v-77ce7ff4] {\\n width: 40px;\\n}\\n.width-50[data-v-77ce7ff4] {\\n width: 50px;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/asset.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-scene-exceptions.vue?vue&type=style&index=0&id=1c188ea6&scoped=true&lang=css&": -/*!**********************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-scene-exceptions.vue?vue&type=style&index=0&id=1c188ea6&scoped=true&lang=css& ***! - \**********************************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\ndiv.select-list ul[data-v-1c188ea6] {\\n padding-left: 0;\\n}\\ndiv.select-list li[data-v-1c188ea6] {\\n list-style-type: none;\\n display: flex;\\n}\\ndiv.select-list .new-item[data-v-1c188ea6] {\\n display: flex;\\n}\\ndiv.select-list .new-item-help[data-v-1c188ea6] {\\n font-weight: bold;\\n padding-top: 5px;\\n}\\ndiv.select-list input[data-v-1c188ea6],\\ndiv.select-list img[data-v-1c188ea6] {\\n display: inline-block;\\n box-sizing: border-box;\\n}\\ndiv.select-list.max-width[data-v-1c188ea6] {\\n max-width: 450px;\\n}\\ndiv.select-list .switch-input[data-v-1c188ea6] {\\n left: -8px;\\n top: 4px;\\n position: absolute;\\n z-index: 10;\\n opacity: 0.6;\\n}\\n.form-inline[data-v-1c188ea6] {\\n display: contents;\\n}\\n.select-season[data-v-1c188ea6] {\\n height: 30px;\\n padding: 0 3px 0 2px;\\n}\\n.select-season[disabled=disabled][data-v-1c188ea6] {\\n background-color: #eee;\\n}\\n.external-scene-exception[data-v-1c188ea6] {\\n display: table-cell;\\n width: 4.5px;\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n background-color: #fff;\\n border-color: #ccc;\\n}\\n.external-scene-exception div[data-v-1c188ea6] {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 40px;\\n height: 30px;\\n border: 1px solid #ccc;\\n border-top-left-radius: 0;\\n border-top-right-radius: 4px;\\n border-bottom-left-radius: 0;\\n border-bottom-right-radius: 4px;\\n z-index: 2;\\n margin-left: -1px;\\n}\\n.external-scene-exception > img[data-v-1c188ea6] {\\n display: block;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.external-scene-exception:last-child > .div[data-v-1c188ea6] {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n/* We still need to move this to some sort of css import */\\n.tooltip-wrapper[data-v-1c188ea6] {\\n float: left;\\n min-width: 340px;\\n}\\n.invalid[data-v-1c188ea6] {\\n background-color: #ff5b5b;\\n}\\n.tooltip[data-v-1c188ea6] {\\n display: block !important;\\n z-index: 10000;\\n}\\n.tooltip .tooltip-inner[data-v-1c188ea6] {\\n background: #ffef93;\\n color: #555;\\n border-radius: 16px;\\n padding: 5px 10px 4px;\\n border: 1px solid #f1d031;\\n -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n}\\n.tooltip .tooltip-arrow[data-v-1c188ea6] {\\n width: 0;\\n height: 0;\\n position: absolute;\\n margin: 5px;\\n border: 1px solid #ffef93;\\n z-index: 1;\\n}\\n.tooltip[x-placement^='top'][data-v-1c188ea6] {\\n margin-bottom: 5px;\\n}\\n.tooltip[x-placement^='top'] .tooltip-arrow[data-v-1c188ea6] {\\n border-width: 5px 5px 0 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n bottom: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.tooltip[x-placement^='bottom'][data-v-1c188ea6] {\\n margin-top: 5px;\\n}\\n.tooltip[x-placement^='bottom'] .tooltip-arrow[data-v-1c188ea6] {\\n border-width: 0 5px 5px 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-top-color: transparent !important;\\n top: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.tooltip[x-placement^='right'][data-v-1c188ea6] {\\n margin-left: 5px;\\n}\\n.tooltip[x-placement^='right'] .tooltip-arrow[data-v-1c188ea6] {\\n border-width: 5px 5px 5px 0;\\n border-left-color: transparent !important;\\n border-top-color: transparent !important;\\n border-bottom-color: transparent !important;\\n left: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n}\\n.tooltip[x-placement^='left'][data-v-1c188ea6] {\\n margin-right: 5px;\\n}\\n.tooltip[x-placement^='left'] .tooltip-arrow[data-v-1c188ea6] {\\n border-width: 5px 0 5px 5px;\\n border-top-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n right: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n}\\n.tooltip.popover .popover-inner[data-v-1c188ea6] {\\n background: #ffef93;\\n color: #555;\\n padding: 24px;\\n border-radius: 5px;\\n box-shadow: 0 5px 30px rgba(black, 0.1);\\n}\\n.tooltip.popover .popover-arrow[data-v-1c188ea6] {\\n border-color: #ffef93;\\n}\\n.tooltip[aria-hidden='true'][data-v-1c188ea6] {\\n visibility: hidden;\\n opacity: 0;\\n transition: opacity 0.15s, visibility 0.15s;\\n}\\n.tooltip[aria-hidden='false'][data-v-1c188ea6] {\\n visibility: visible;\\n opacity: 1;\\n transition: opacity 0.15s;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-scene-exceptions.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-textbox-number.vue?vue&type=style&index=0&lang=css&": -/*!********************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-textbox-number.vue?vue&type=style&index=0&lang=css& ***! - \********************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.form-control {\\n color: rgb(0, 0, 0);\\n}\\n.input75 {\\n width: 75px;\\n margin-top: -4px;\\n}\\n.input250 {\\n width: 250px;\\n margin-top: -4px;\\n}\\n.input350 {\\n width: 350px;\\n margin-top: -4px;\\n}\\n.input450 {\\n width: 450px;\\n margin-top: -4px;\\n}\\ninput {\\n margin-bottom: 5px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-textbox-number.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-textbox.vue?vue&type=style&index=0&lang=css&": -/*!*************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-textbox.vue?vue&type=style&index=0&lang=css& ***! - \*************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.input75 {\\n width: 75px;\\n margin-top: -4px;\\n}\\n.input250 {\\n width: 250px;\\n margin-top: -4px;\\n}\\n.input350 {\\n width: 350px;\\n margin-top: -4px;\\n}\\n.input450 {\\n width: 450px;\\n margin-top: -4px;\\n}\\ninput {\\n margin-bottom: 5px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-textbox.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-toggle-slider.vue?vue&type=style&index=0&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-toggle-slider.vue?vue&type=style&index=0&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.input75 {\\n width: 75px;\\n margin-top: -4px;\\n}\\n.input250 {\\n width: 250px;\\n margin-top: -4px;\\n}\\n.input350 {\\n width: 350px;\\n margin-top: -4px;\\n}\\n.input450 {\\n width: 450px;\\n margin-top: -4px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-toggle-slider.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/file-browser.vue?vue&type=style&index=0&id=e1171a9e&scoped=true&lang=css&": -/*!***********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/file-browser.vue?vue&type=style&index=0&id=e1171a9e&scoped=true&lang=css& ***! - \***********************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\ndiv.file-browser.max-width[data-v-e1171a9e] {\\n max-width: 450px;\\n}\\ndiv.file-browser .input-group-no-btn[data-v-e1171a9e] {\\n display: flex;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/file-browser.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/lazy-image.vue?vue&type=style&index=0&id=2a36af9c&scoped=true&lang=css&": -/*!*********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/lazy-image.vue?vue&type=style&index=0&id=2a36af9c&scoped=true&lang=css& ***! - \*********************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.app-image[data-v-2a36af9c] {\\n max-width: 100%;\\n max-height: 100%;\\n width: auto;\\n height: auto;\\n vertical-align: middle;\\n}\\nimg[data-v-2a36af9c]:not([src]) {\\n visibility: hidden;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/lazy-image.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/load-progress-bar.vue?vue&type=style&index=0&lang=css&": -/*!****************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/load-progress-bar.vue?vue&type=style&index=0&lang=css& ***! - \****************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.load-progress-bar-container {\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n}\\n.border {\\n box-sizing: border-box;\\n height: 26px;\\n text-size-adjust: 100%;\\n width: 382px;\\n perspective-origin: 191px 13px;\\n transform-origin: 191px 13px;\\n border: 1px solid #ccc;\\n border-radius: 5px;\\n}\\n@media (max-width: 767px) {\\n.border {\\n width: 100%;\\n}\\n.load-progress-bar-container {\\n width: 100%;\\n}\\n}\\n.progress {\\n box-sizing: border-box;\\n height: 24px;\\n text-size-adjust: 100%;\\n width: 76px;\\n perspective-origin: 38px 12px;\\n transform-origin: 38px 12px;\\n background: rgba(99, 177, 137, 0.63) none repeat scroll 0% 0% / auto padding-box border-box;\\n}\\n.msg {\\n position: absolute;\\n padding: 3px 5px 0 5px;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/load-progress-bar.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/plot-info.vue?vue&type=style&index=0&lang=css&": -/*!********************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/plot-info.vue?vue&type=style&index=0&lang=css& ***! - \********************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.plotInfo {\\n cursor: help;\\n float: right;\\n position: relative;\\n top: 2px;\\n}\\n.plotInfoNone {\\n cursor: help;\\n float: right;\\n position: relative;\\n top: 2px;\\n opacity: 0.4;\\n}\\n.tooltip {\\n display: block !important;\\n z-index: 10000;\\n}\\n.tooltip .tooltip-inner {\\n background: #ffef93;\\n color: #555;\\n border-radius: 16px;\\n padding: 5px 10px 4px;\\n border: 1px solid #f1d031;\\n -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);\\n}\\n.tooltip .tooltip-arrow {\\n width: 0;\\n height: 0;\\n position: absolute;\\n margin: 5px;\\n border: 1px solid #ffef93;\\n z-index: 1;\\n}\\n.tooltip[x-placement^=\\\"top\\\"] {\\n margin-bottom: 5px;\\n}\\n.tooltip[x-placement^=\\\"top\\\"] .tooltip-arrow {\\n border-width: 5px 5px 0 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n bottom: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.tooltip[x-placement^=\\\"bottom\\\"] {\\n margin-top: 5px;\\n}\\n.tooltip[x-placement^=\\\"bottom\\\"] .tooltip-arrow {\\n border-width: 0 5px 5px 5px;\\n border-left-color: transparent !important;\\n border-right-color: transparent !important;\\n border-top-color: transparent !important;\\n top: -5px;\\n left: calc(50% - 4px);\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n.tooltip[x-placement^=\\\"right\\\"] {\\n margin-left: 5px;\\n}\\n.tooltip[x-placement^=\\\"right\\\"] .tooltip-arrow {\\n border-width: 5px 5px 5px 0;\\n border-left-color: transparent !important;\\n border-top-color: transparent !important;\\n border-bottom-color: transparent !important;\\n left: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n}\\n.tooltip[x-placement^=\\\"left\\\"] {\\n margin-right: 5px;\\n}\\n.tooltip[x-placement^=\\\"left\\\"] .tooltip-arrow {\\n border-width: 5px 0 5px 5px;\\n border-top-color: transparent !important;\\n border-right-color: transparent !important;\\n border-bottom-color: transparent !important;\\n right: -4px;\\n top: calc(50% - 5px);\\n margin-left: 0;\\n margin-right: 0;\\n}\\n.tooltip.popover .popover-inner {\\n background: #ffef93;\\n color: #555;\\n padding: 24px;\\n border-radius: 5px;\\n box-shadow: 0 5px 30px rgba(black, 0.1);\\n}\\n.tooltip.popover .popover-arrow {\\n border-color: #ffef93;\\n}\\n.tooltip[aria-hidden='true'] {\\n visibility: hidden;\\n opacity: 0;\\n transition: opacity 0.15s, visibility 0.15s;\\n}\\n.tooltip[aria-hidden='false'] {\\n visibility: visible;\\n opacity: 1;\\n transition: opacity 0.15s;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/plot-info.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/progress-bar.vue?vue&type=style&index=0&id=df985d66&scoped=true&lang=css&": -/*!***********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/progress-bar.vue?vue&type=style&index=0&id=df985d66&scoped=true&lang=css& ***! - \***********************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.progressbar[data-v-df985d66] {\\n position: relative;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/progress-bar.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/quality-chooser.vue?vue&type=style&index=0&id=5aba68fa&scoped=true&lang=css&": -/*!**************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/quality-chooser.vue?vue&type=style&index=0&id=5aba68fa&scoped=true&lang=css& ***! - \**************************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Put both custom quality selectors in the same row */\\n#customQualityWrapper > div[data-v-5aba68fa] {\\n display: inline-block;\\n text-align: left;\\n}\\n\\n/* Put some distance between the two selectors */\\n#customQualityWrapper > div[data-v-5aba68fa]:first-of-type {\\n padding-right: 30px;\\n}\\n.backlog-link[data-v-5aba68fa] {\\n color: blue;\\n text-decoration: underline;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/quality-chooser.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/quality-pill.vue?vue&type=style&index=0&id=259b1c21&scoped=true&lang=css&": -/*!***********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/quality-pill.vue?vue&type=style&index=0&id=259b1c21&scoped=true&lang=css& ***! - \***********************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Base class */\\n.quality[data-v-259b1c21] {\\n font: 12px/13px \\\"Open Sans\\\", verdana, sans-serif;\\n background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25));\\n background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25));\\n background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25));\\n background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25));\\n box-shadow: inset 0 1px rgba(255, 255, 255, 0.1), inset 0 -1px 3px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.08), 0 1px 2px rgba(0, 0, 0, 0.15);\\n text-shadow: 0 1px rgba(0, 0, 0, 0.8);\\n color: rgb(255, 255, 255);\\n display: inline-block;\\n padding: 2px 4px;\\n text-align: center;\\n vertical-align: baseline;\\n border-radius: 4px;\\n white-space: nowrap;\\n}\\n\\n/* Custom */\\n.custom[data-v-259b1c21] {\\n background-color: rgb(98, 25, 147);\\n}\\n\\n/* HD-720p + FHD-1080p */\\n.hd[data-v-259b1c21], \\n.anyhdtv[data-v-259b1c21], \\n.anywebdl[data-v-259b1c21], \\n.anybluray[data-v-259b1c21] { /* AnySet */\\n background-color: rgb(38, 114, 182);\\n background-image:\\n repeating-linear-gradient(\\n -45deg,\\n rgb(38, 114, 182),\\n rgb(38, 114, 182) 10px,\\n rgb(91, 153, 13) 10px,\\n rgb(91, 153, 13) 20px\\n );\\n}\\n\\n/* HD-720p */\\n.hd720p[data-v-259b1c21], \\n.hdtv[data-v-259b1c21],\\n.hdwebdl[data-v-259b1c21],\\n.hdbluray[data-v-259b1c21] {\\n background-color: rgb(91, 153, 13);\\n}\\n\\n/* FHD-1080p */\\n.hd1080p[data-v-259b1c21], \\n.fullhdtv[data-v-259b1c21],\\n.fullhdwebdl[data-v-259b1c21],\\n.fullhdbluray[data-v-259b1c21] {\\n background-color: rgb(38, 114, 182);\\n}\\n\\n/* UHD-4K + UHD-8K */\\n.uhd[data-v-259b1c21] { /* Preset */\\n background-color: rgb(117, 0, 255);\\n background-image:\\n repeating-linear-gradient(\\n -45deg,\\n rgb(117, 0, 255),\\n rgb(117, 0, 255) 10px,\\n rgb(65, 0, 119) 10px,\\n rgb(65, 0, 119) 20px\\n );\\n}\\n\\n/* UHD-4K */\\n.uhd4k[data-v-259b1c21], \\n.anyuhd4k[data-v-259b1c21], \\n.uhd4ktv[data-v-259b1c21],\\n.uhd4kwebdl[data-v-259b1c21],\\n.uhd4kbluray[data-v-259b1c21] {\\n background-color: rgb(117, 0, 255);\\n}\\n\\n/* UHD-8K */\\n.uhd8k[data-v-259b1c21], \\n.anyuhd8k[data-v-259b1c21], \\n.uhd8ktv[data-v-259b1c21],\\n.uhd8kwebdl[data-v-259b1c21],\\n.uhd8kbluray[data-v-259b1c21] {\\n background-color: rgb(65, 0, 119);\\n}\\n\\n/* RawHD/RawHDTV */\\n.rawhdtv[data-v-259b1c21] {\\n background-color: rgb(205, 115, 0);\\n}\\n\\n/* SD */\\n.sd[data-v-259b1c21], \\n.sdtv[data-v-259b1c21],\\n.sddvd[data-v-259b1c21] {\\n background-color: rgb(190, 38, 37);\\n}\\n\\n/* Any */\\n.any[data-v-259b1c21] { /* Preset */\\n background-color: rgb(102, 102, 102);\\n}\\n\\n/* Unknown */\\n.unknown[data-v-259b1c21] {\\n background-color: rgb(153, 153, 153);\\n}\\n\\n/* Proper (used on History page) */\\n.proper[data-v-259b1c21] {\\n background-color: rgb(63, 127, 0);\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/quality-pill.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/scroll-buttons.vue?vue&type=style&index=0&lang=css&": -/*!*************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/scroll-buttons.vue?vue&type=style&index=0&lang=css& ***! - \*************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.scroll-wrapper {\\n position: fixed;\\n opacity: 0;\\n visibility: hidden;\\n overflow: hidden;\\n text-align: center;\\n font-size: 20px;\\n z-index: 999;\\n background-color: #777;\\n color: #eee;\\n width: 50px;\\n height: 48px;\\n line-height: 48px;\\n right: 30px;\\n bottom: 30px;\\n padding-top: 2px;\\n border-radius: 10px;\\n -webkit-transition: all 0.5s ease-in-out;\\n -moz-transition: all 0.5s ease-in-out;\\n -ms-transition: all 0.5s ease-in-out;\\n -o-transition: all 0.5s ease-in-out;\\n transition: all 0.5s ease-in-out;\\n}\\n.scroll-wrapper.show {\\n visibility: visible;\\n cursor: pointer;\\n opacity: 1;\\n}\\n.scroll-wrapper.left {\\n position: fixed;\\n right: 150px;\\n}\\n.scroll-wrapper.right {\\n position: fixed;\\n right: 90px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/scroll-buttons.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/select-list.vue?vue&type=style&index=0&id=466bd1e5&scoped=true&lang=css&": -/*!**********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/select-list.vue?vue&type=style&index=0&id=466bd1e5&scoped=true&lang=css& ***! - \**********************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\ndiv.select-list ul[data-v-466bd1e5] {\\n padding-left: 0;\\n}\\ndiv.select-list li[data-v-466bd1e5] {\\n list-style-type: none;\\n display: flex;\\n}\\ndiv.select-list .new-item[data-v-466bd1e5] {\\n display: flex;\\n}\\ndiv.select-list .new-item-help[data-v-466bd1e5] {\\n font-weight: bold;\\n padding-top: 5px;\\n}\\ndiv.select-list input[data-v-466bd1e5],\\ndiv.select-list img[data-v-466bd1e5] {\\n display: inline-block;\\n box-sizing: border-box;\\n}\\ndiv.select-list.max-width[data-v-466bd1e5] {\\n max-width: 450px;\\n}\\ndiv.select-list .switch-input[data-v-466bd1e5] {\\n left: -8px;\\n top: 4px;\\n position: absolute;\\n z-index: 10;\\n opacity: 0.6;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/select-list.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/show-selector.vue?vue&type=style&index=0&lang=css&": -/*!************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/show-selector.vue?vue&type=style&index=0&lang=css& ***! - \************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\nselect.select-show {\\n display: inline-block;\\n height: 25px;\\n padding: 1px;\\n min-width: 200px;\\n}\\n.show-selector {\\n height: 31px;\\n display: table-cell;\\n left: 20px;\\n margin-bottom: 5px;\\n}\\n@media (max-width: 767px) and (min-width: 341px) {\\n.select-show-group,\\n .select-show {\\n width: 100%;\\n}\\n}\\n@media (max-width: 340px) {\\n.select-show-group {\\n width: 100%;\\n}\\n}\\n@media (max-width: 767px) {\\n.show-selector {\\n float: left;\\n width: 100%;\\n}\\n.select-show {\\n width: 100%;\\n}\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/show-selector.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/sorted-select-list.vue?vue&type=style&index=0&id=74e96919&scoped=true&lang=css&": -/*!*****************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/sorted-select-list.vue?vue&type=style&index=0&id=74e96919&scoped=true&lang=css& ***! - \*****************************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\ndiv.select-list ul[data-v-74e96919] {\\n padding-left: 0;\\n}\\ndiv.select-list li[data-v-74e96919] {\\n list-style-type: none;\\n display: flex;\\n}\\ndiv.select-list .new-item[data-v-74e96919] {\\n display: flex;\\n}\\ndiv.select-list .new-item-help[data-v-74e96919] {\\n font-weight: bold;\\n padding-top: 5px;\\n}\\ndiv.select-list input[data-v-74e96919],\\ndiv.select-list img[data-v-74e96919] {\\n display: inline-block;\\n box-sizing: border-box;\\n}\\ndiv.select-list.max-width[data-v-74e96919] {\\n max-width: 450px;\\n}\\ndiv.select-list .switch-input[data-v-74e96919] {\\n left: -8px;\\n top: 4px;\\n position: absolute;\\n z-index: 10;\\n opacity: 0.6;\\n}\\n.draggable-list[data-v-74e96919] {\\n list-style: none;\\n}\\n.draggable-input-group[data-v-74e96919] {\\n display: inline-flex;\\n width: 300px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/helpers/sorted-select-list.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/home.vue?vue&type=style&index=0&id=957c9522&scoped=true&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/home.vue?vue&type=style&index=0&id=957c9522&scoped=true&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\nul.list-group > li[data-v-957c9522] {\\n list-style: none;\\n}\\n.home-filter-option[data-v-957c9522] {\\n margin-left: 10px;\\n line-height: 40px;\\n}\\n@media (max-width: 768px) {\\n.show-option[data-v-957c9522] {\\n width: 100%;\\n display: inline-block;\\n}\\n.show-option-layout > span[data-v-957c9522] {\\n display: none;\\n}\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/home.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/irc.vue?vue&type=style&index=0&id=15ee697a&scoped=true&lang=css&": -/*!******************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/irc.vue?vue&type=style&index=0&id=15ee697a&scoped=true&lang=css& ***! - \******************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.irc-frame[data-v-15ee697a] {\\n width: 100%;\\n height: 500px;\\n border: 1px #000 solid;\\n}\\n.loading-spinner[data-v-15ee697a] {\\n background-position: center center;\\n background-repeat: no-repeat;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/irc.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/logs.vue?vue&type=style&index=0&id=4b4e9e3f&scoped=true&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/logs.vue?vue&type=style&index=0&id=4b4e9e3f&scoped=true&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\npre[data-v-4b4e9e3f] {\\n overflow: auto;\\n word-wrap: normal;\\n white-space: pre;\\n min-height: 65px;\\n}\\ndiv.notepad[data-v-4b4e9e3f] {\\n position: absolute;\\n right: 15px;\\n opacity: 0.1;\\n zoom: 1;\\n -webkit-filter: grayscale(100%);\\n filter: grayscale(100%);\\n -webkit-transition: opacity 0.5s; /* Safari */\\n transition: opacity 0.5s;\\n}\\ndiv.notepad[data-v-4b4e9e3f]:hover {\\n opacity: 0.4;\\n}\\ndiv.notepad img[data-v-4b4e9e3f] {\\n width: 50px;\\n}\\n.logging-filter-control[data-v-4b4e9e3f] {\\n padding-top: 24px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/logs.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/root-dirs.vue?vue&type=style&index=0&lang=css&": -/*!************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/root-dirs.vue?vue&type=style&index=0&lang=css& ***! - \************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.root-dirs-selectbox,\\n.root-dirs-selectbox select,\\n.root-dirs-controls {\\n width: 100%;\\n max-width: 430px;\\n}\\n.root-dirs-selectbox {\\n padding: 0 0 5px;\\n}\\n.root-dirs-controls {\\n text-align: center;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/root-dirs.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/schedule.vue?vue&type=style&index=0&lang=css&": -/*!***********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/schedule.vue?vue&type=style&index=0&lang=css& ***! - \***********************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Also defined in style.css and dark.css, but i'm overwriting for light and dark, because the schedule table has coloring. */\\ntd.tvShow a {\\n color: rgb(0, 0, 0);\\n text-decoration: none;\\n}\\ntd.tvShow a:hover {\\n cursor: pointer;\\n color: rgb(66, 139, 202);\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/schedule.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/show-header.vue?vue&type=style&index=0&id=2465ca06&scoped=true&lang=css&": -/*!**************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-header.vue?vue&type=style&index=0&id=2465ca06&scoped=true&lang=css& ***! - \**************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.summaryTable[data-v-2465ca06] {\\n overflow: hidden;\\n}\\n.summaryTable tr td[data-v-2465ca06] {\\n word-break: break-word;\\n}\\n.ver-spacer[data-v-2465ca06] {\\n width: 15px;\\n}\\n#showtitle[data-v-2465ca06] {\\n float: none;\\n}\\n#show-specials-and-seasons[data-v-2465ca06] {\\n bottom: 5px;\\n right: 15px;\\n position: absolute;\\n}\\n.episode-info span[data-v-2465ca06] {\\n display: block;\\n}\\nspan.required[data-v-2465ca06] {\\n color: green;\\n}\\nspan.preferred[data-v-2465ca06] {\\n color: rgb(41, 87, 48);\\n}\\nspan.undesired[data-v-2465ca06] {\\n color: orange;\\n}\\nspan.ignored[data-v-2465ca06] {\\n color: red;\\n}\\n.shadow-background[data-v-2465ca06] {\\n padding: 10px;\\n}\\n#col-show-summary[data-v-2465ca06] {\\n display: table;\\n}\\n#col-show-summary[data-v-2465ca06] img.show-image {\\n width: 180px;\\n}\\n.show-poster-container[data-v-2465ca06] {\\n margin-right: 10px;\\n display: table-cell;\\n width: 180px;\\n}\\n.show-info-container[data-v-2465ca06] {\\n overflow: hidden;\\n display: table-cell;\\n}\\n.showLegend[data-v-2465ca06] {\\n padding-right: 6px;\\n padding-bottom: 1px;\\n width: 150px;\\n}\\n.invalid-value[data-v-2465ca06] {\\n color: rgb(255, 0, 0);\\n}\\n@media (min-width: 768px) {\\n.display-specials[data-v-2465ca06],\\n .display-seasons[data-v-2465ca06] {\\n top: -60px;\\n}\\n}\\n@media (max-width: 767px) {\\n.show-poster-container[data-v-2465ca06] {\\n display: inline-block;\\n width: 100%;\\n margin: 0 auto;\\n border-style: none;\\n}\\n.show-poster-container[data-v-2465ca06] img {\\n display: block;\\n margin: 0 auto;\\n max-width: 280px !important;\\n}\\n.show-info-container[data-v-2465ca06] {\\n display: block;\\n padding-top: 5px;\\n width: 100%;\\n}\\n#showtitle[data-v-2465ca06] {\\n margin-bottom: 40px;\\n}\\n#show-specials-and-seasons[data-v-2465ca06] {\\n bottom: -40px;\\n left: 15px;\\n}\\n}\\n@media (max-width: 991px) and (min-width: 768px) {\\n.show-poster-container[data-v-2465ca06] {\\n float: left;\\n display: inline-block;\\n width: 100%;\\n border-style: none;\\n}\\n.show-info-container[data-v-2465ca06] {\\n display: block;\\n width: 100%;\\n}\\n#col-show-summary[data-v-2465ca06] img.show-image {\\n width: 280px;\\n}\\n}\\n.unaired[data-v-2465ca06] {\\n background-color: rgb(245, 241, 228);\\n}\\n.skipped[data-v-2465ca06] {\\n background-color: rgb(190, 222, 237);\\n}\\n.preferred[data-v-2465ca06] {\\n background-color: rgb(195, 227, 200);\\n}\\n.archived[data-v-2465ca06] {\\n background-color: rgb(195, 227, 200);\\n}\\n.allowed[data-v-2465ca06] {\\n background-color: rgb(255, 218, 138);\\n}\\n.wanted[data-v-2465ca06] {\\n background-color: rgb(255, 176, 176);\\n}\\n.snatched[data-v-2465ca06] {\\n background-color: rgb(235, 193, 234);\\n}\\n.downloaded[data-v-2465ca06] {\\n background-color: rgb(195, 227, 200);\\n}\\n.failed[data-v-2465ca06] {\\n background-color: rgb(255, 153, 153);\\n}\\nspan.unaired[data-v-2465ca06] {\\n color: rgb(88, 75, 32);\\n}\\nspan.skipped[data-v-2465ca06] {\\n color: rgb(29, 80, 104);\\n}\\nspan.preffered[data-v-2465ca06] {\\n color: rgb(41, 87, 48);\\n}\\nspan.allowed[data-v-2465ca06] {\\n color: rgb(118, 81, 0);\\n}\\nspan.wanted[data-v-2465ca06] {\\n color: rgb(137, 0, 0);\\n}\\nspan.snatched[data-v-2465ca06] {\\n color: rgb(101, 33, 100);\\n}\\nspan.unaired b[data-v-2465ca06],\\nspan.skipped b[data-v-2465ca06],\\nspan.preferred b[data-v-2465ca06],\\nspan.allowed b[data-v-2465ca06],\\nspan.wanted b[data-v-2465ca06],\\nspan.snatched b[data-v-2465ca06] {\\n color: rgb(0, 0, 0);\\n font-weight: 800;\\n}\\nspan.global-filter[data-v-2465ca06] {\\n font-style: italic;\\n}\\n.show-status[data-v-2465ca06] {\\n font-size: 11px;\\n text-align: left;\\n display: block;\\n}\\n#stored-by-indexer[data-v-2465ca06] {\\n position: absolute;\\n bottom: -3px;\\n right: -3px;\\n}\\n#indexer-wrapper[data-v-2465ca06] {\\n display: inline;\\n position: relative;\\n}\\n\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/show-header.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/show-history.vue?vue&type=style&index=0&id=c645b858&scoped=true&lang=css&": -/*!***************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-history.vue?vue&type=style&index=0&id=c645b858&scoped=true&lang=css& ***! - \***************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Make some room for the Select columns ul / dropdown. */\\n.component-margin[data-v-c645b858] {\\n margin-bottom: 50px;\\n}\\n.show-history-wrapper[data-v-c645b858] table.subtitle-table tr {\\n background-color: rgb(190, 222, 237);\\n}\\n.show-history-wrapper > td[data-v-c645b858] {\\n padding: 0;\\n}\\n.search-question[data-v-c645b858],\\n.loading-message[data-v-c645b858] {\\n background-color: rgb(51, 51, 51);\\n color: rgb(255, 255, 255);\\n padding: 10px;\\n line-height: 55px;\\n}\\nspan.subtitle-name[data-v-c645b858] {\\n color: rgb(0, 0, 0);\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/show-history.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/index.vue?vue&type=style&index=0&id=3df39291&scoped=true&lang=css&": -/*!******************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/index.vue?vue&type=style&index=0&id=3df39291&scoped=true&lang=css& ***! - \******************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/** Use this as table styling for all table layouts */\\n.table-layout[data-v-3df39291] .vgt-table {\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n text-align: left;\\n border-spacing: 0;\\n}\\n.table-layout[data-v-3df39291] .vgt-table th,\\n.table-layout[data-v-3df39291] .vgt-table td {\\n padding: 4px;\\n vertical-align: middle;\\n}\\n\\n/* remove extra border from left edge */\\n.table-layout[data-v-3df39291] .vgt-table th:first-child,\\n.table-layout[data-v-3df39291] .vgt-table td:first-child {\\n border-left: none;\\n}\\n.table-layout[data-v-3df39291] .vgt-table th {\\n text-align: center;\\n border-collapse: collapse;\\n font-weight: normal;\\n}\\n.table-layout[data-v-3df39291] .vgt-table span.break-word {\\n word-wrap: break-word;\\n}\\n.table-layout[data-v-3df39291] .vgt-table thead th.sorting.sorting-asc {\\n background-position-x: right;\\n background-position-y: bottom;\\n}\\n.table-layout[data-v-3df39291] .vgt-table thead th.sorting {\\n background-repeat: no-repeat;\\n}\\n.table-layout[data-v-3df39291] .vgt-table thead th {\\n padding: 4px;\\n cursor: default;\\n}\\n.table-layout[data-v-3df39291] .vgt-table input.tablesorter-filter {\\n width: 98%;\\n height: auto;\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.table-layout[data-v-3df39291] .vgt-table tr.tablesorter-filter-row,\\n.table-layout[data-v-3df39291] .vgt-table tr.tablesorter-filter-row td {\\n text-align: center;\\n}\\n\\n/* optional disabled input styling */\\n.table-layout[data-v-3df39291] .vgt-table input.tablesorter-filter-row .disabled {\\n display: none;\\n}\\n.tablesorter-header-inner[data-v-3df39291] {\\n padding: 0 2px;\\n text-align: center;\\n}\\n.table-layout[data-v-3df39291] .vgt-table tfoot tr {\\n text-align: center;\\n border-collapse: collapse;\\n}\\n.table-layout[data-v-3df39291] .vgt-table tfoot a {\\n text-decoration: none;\\n}\\n.table-layout[data-v-3df39291] .vgt-table th.vgt-row-header {\\n text-align: left;\\n}\\n.table-layout[data-v-3df39291] .vgt-table .season-header {\\n display: inline;\\n margin-left: 5px;\\n}\\n.table-layout[data-v-3df39291] .vgt-table tr.spacer {\\n height: 25px;\\n}\\n.table-layout[data-v-3df39291] .vgt-dropdown-menu {\\n position: absolute;\\n z-index: 1000;\\n float: left;\\n min-width: 160px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n font-size: 14px;\\n text-align: left;\\n list-style: none;\\n background-clip: padding-box;\\n border-radius: 4px;\\n}\\n.table-layout[data-v-3df39291] .vgt-dropdown-menu > li > span {\\n display: block;\\n padding: 3px 20px;\\n clear: both;\\n font-weight: 400;\\n line-height: 1.42857143;\\n white-space: nowrap;\\n}\\n.table-layout[data-v-3df39291] .align-center {\\n display: flex;\\n justify-content: center;\\n}\\n.table-layout[data-v-3df39291] .indexer-image :not(:last-child) {\\n margin-right: 5px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/show-list/index.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/poster.vue?vue&type=style&index=0&id=54b453c4&scoped=true&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/poster.vue?vue&type=style&index=0&id=54b453c4&scoped=true&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.show-container[data-v-54b453c4] {\\n display: inline-block;\\n margin: 4px;\\n border-width: 5px;\\n border-style: solid;\\n overflow: hidden;\\n box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.31);\\n}\\n.show-dlstats[data-v-54b453c4] {\\n font-size: 11px;\\n text-align: left;\\n display: block;\\n margin-left: 4px;\\n}\\n.show-quality[data-v-54b453c4] {\\n font-size: 11px;\\n text-align: right;\\n display: block;\\n margin-right: 4px;\\n}\\n.posterview[data-v-54b453c4] {\\n margin: 0 auto;\\n position: relative;\\n}\\n\\n/* Used by isotope scaling */\\n.show-image[data-v-54b453c4] {\\n max-width: 100%;\\n overflow: hidden;\\n border: 1px solid rgb(136, 136, 136);\\n}\\n.background-image img[data-v-54b453c4] {\\n width: 100%;\\n overflow: hidden;\\n}\\n.poster-overlay[data-v-54b453c4] {\\n position: absolute;\\n}\\n.show-container .ui-progressbar[data-v-54b453c4] {\\n height: 7px !important;\\n top: -2px;\\n}\\n.show-container .ui-corner-all[data-v-54b453c4],\\n.ui-corner-bottom[data-v-54b453c4],\\n.ui-corner-right[data-v-54b453c4],\\n.ui-corner-br[data-v-54b453c4] {\\n border-bottom-right-radius: 0;\\n}\\n.show-container .ui-corner-all[data-v-54b453c4],\\n.ui-corner-bottom[data-v-54b453c4],\\n.ui-corner-left[data-v-54b453c4],\\n.ui-corner-bl[data-v-54b453c4] {\\n border-bottom-left-radius: 0;\\n}\\n.show-container .ui-corner-all[data-v-54b453c4],\\n.ui-corner-top[data-v-54b453c4],\\n.ui-corner-right[data-v-54b453c4],\\n.ui-corner-tr[data-v-54b453c4] {\\n border-top-right-radius: 0;\\n}\\n.show-container .ui-corner-all[data-v-54b453c4],\\n.ui-corner-top[data-v-54b453c4],\\n.ui-corner-left[data-v-54b453c4],\\n.ui-corner-tl[data-v-54b453c4] {\\n border-top-left-radius: 0;\\n}\\n.show-container .ui-widget-content[data-v-54b453c4] {\\n border-top: 1px solid rgb(17, 17, 17);\\n border-bottom: 1px solid rgb(17, 17, 17);\\n border-left: 0;\\n border-right: 0;\\n}\\n.ui-progressbar .progress-20[data-v-54b453c4] {\\n border: none;\\n}\\n.show-container .progress-20[data-v-54b453c4],\\n.show-container .progress-40[data-v-54b453c4],\\n.show-container .progress-60[data-v-54b453c4],\\n.show-container .progress-80[data-v-54b453c4] {\\n border-radius: 0;\\n height: 7px;\\n}\\n.overlay-container[data-v-54b453c4] {\\n display: flex;\\n align-items: baseline;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/show-list/poster.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/snatch-selection.vue?vue&type=style&index=0&id=0ad4c7fc&scoped=true&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/snatch-selection.vue?vue&type=style&index=0&id=0ad4c7fc&scoped=true&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/** Use this as table styling for all table layouts */\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table {\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n text-align: left;\\n border-spacing: 0;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table th,\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table td {\\n padding: 4px;\\n vertical-align: middle;\\n}\\n\\n/* remove extra border from left edge */\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table th:first-child,\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table td:first-child {\\n border-left: none;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table th {\\n text-align: center;\\n border-collapse: collapse;\\n font-weight: normal;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table span.break-word {\\n word-wrap: break-word;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table thead th.sorting.sorting-asc {\\n background-position-x: right;\\n background-position-y: bottom;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table thead th.sorting {\\n background-repeat: no-repeat;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table thead th {\\n padding: 4px;\\n cursor: default;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table input.tablesorter-filter {\\n width: 98%;\\n height: auto;\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table tr.tablesorter-filter-row,\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table tr.tablesorter-filter-row td {\\n text-align: center;\\n}\\n\\n/* optional disabled input styling */\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table input.tablesorter-filter-row .disabled {\\n display: none;\\n}\\n.tablesorter-header-inner[data-v-0ad4c7fc] {\\n padding: 0 2px;\\n text-align: center;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table tfoot tr {\\n text-align: center;\\n border-collapse: collapse;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table tfoot a {\\n text-decoration: none;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table th.vgt-row-header {\\n text-align: left;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table .season-header {\\n display: inline;\\n margin-left: 5px;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-table tr.spacer {\\n height: 25px;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-dropdown-menu {\\n position: absolute;\\n z-index: 1000;\\n float: left;\\n min-width: 160px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n font-size: 14px;\\n text-align: left;\\n list-style: none;\\n background-clip: padding-box;\\n border-radius: 4px;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .vgt-dropdown-menu > li > span {\\n display: block;\\n padding: 3px 20px;\\n clear: both;\\n font-weight: 400;\\n line-height: 1.42857143;\\n white-space: nowrap;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .align-center {\\n display: flex;\\n justify-content: center;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .indexer-image :not(:last-child) {\\n margin-right: 5px;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .button-row {\\n width: 100%;\\n display: inline-block;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .fanartBackground {\\n clear: both;\\n opacity: 0.9;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .fanartBackground table {\\n table-layout: auto;\\n width: 100%;\\n border-collapse: collapse;\\n border-spacing: 0;\\n text-align: center;\\n border: none;\\n empty-cells: show;\\n color: rgb(0, 0, 0) !important;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .fanartBackground > table th.vgt-row-header {\\n border: none !important;\\n background-color: transparent !important;\\n color: rgb(255, 255, 255) !important;\\n padding-top: 15px !important;\\n text-align: left !important;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .fanartBackground td.col-search {\\n text-align: center;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .skipped {\\n background-color: rgb(190, 222, 237);\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .snatched {\\n background-color: rgb(235, 193, 234);\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .downloaded {\\n background-color: rgb(255, 218, 138);\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .failed {\\n background-color: rgb(255, 153, 153);\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .subtitled {\\n background-color: rgb(190, 222, 237);\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .global-ignored td.release span {\\n color: red;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .show-ignored td.release span {\\n color: red;\\n font-style: italic;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .global-required td.release span {\\n color: green;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .show-required td.release span {\\n color: green;\\n font-style: italic;\\n}\\n.snatch-selection-template[data-v-0ad4c7fc] .global-undesired td.release span {\\n color: orange;\\n}\\n.show-history[data-v-0ad4c7fc] {\\n margin-bottom: 10px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/snatch-selection.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/sub-menu.vue?vue&type=style&index=0&id=0f7fe6dc&scoped=true&lang=css&": -/*!***********************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/sub-menu.vue?vue&type=style&index=0&id=0f7fe6dc&scoped=true&lang=css& ***! - \***********************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Theme-specific styling adds the rest */\\n#sub-menu-container[data-v-0f7fe6dc] {\\n z-index: 550;\\n min-height: 41px;\\n}\\n#sub-menu[data-v-0f7fe6dc] {\\n font-size: 12px;\\n padding-top: 2px;\\n}\\n#sub-menu > a[data-v-0f7fe6dc] {\\n float: right;\\n margin-left: 4px;\\n}\\n@media (min-width: 1281px) {\\n#sub-menu-container[data-v-0f7fe6dc] {\\n position: fixed;\\n width: 100%;\\n top: 51px;\\n}\\n}\\n@media (max-width: 1281px) {\\n#sub-menu-container[data-v-0f7fe6dc] {\\n position: relative;\\n margin-top: -24px;\\n}\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/sub-menu.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/subtitle-search.vue?vue&type=style&index=0&id=49da16c6&scoped=true&lang=css&": -/*!******************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/subtitle-search.vue?vue&type=style&index=0&id=49da16c6&scoped=true&lang=css& ***! - \******************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Imports\nvar ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.i, \"\\n.subtitle-search-wrapper[data-v-49da16c6] {\\n display: table-row;\\n column-span: all;\\n}\\n.subtitle-search-wrapper[data-v-49da16c6] table.subtitle-table tr {\\n background-color: rgb(190, 222, 237);\\n}\\n.subtitle-search-wrapper > td[data-v-49da16c6] {\\n padding: 0;\\n}\\n.search-question[data-v-49da16c6],\\n.loading-message[data-v-49da16c6] {\\n background-color: rgb(51, 51, 51);\\n color: rgb(255, 255, 255);\\n padding: 10px;\\n line-height: 55px;\\n}\\nspan.subtitle-name[data-v-49da16c6] {\\n color: rgb(0, 0, 0);\\n}\\nspan.release-name[data-v-49da16c6] {\\n text-align: left;\\n width: 100%;\\n display: block;\\n background-color: rgb(51, 51, 51);\\n color: rgb(255, 255, 255);\\n padding: 4px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n\n\n//# sourceURL=webpack:///./src/components/subtitle-search.vue?./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/add-recommended.vue?vue&type=template&id=24d1d1cf&": -/*!*********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/add-recommended.vue?vue&type=template&id=24d1d1cf& ***! - \*********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"addShowPortal\" } },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: {\n href: \"addShows/trendingShows/?traktList=anticipated\",\n id: \"btnNewShow\"\n }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addtrakt\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add From Trakt Lists\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"For shows that you haven't downloaded yet, this option lets you choose from a show from one of the Trakt lists to add to Medusa .\"\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/popularShows/\", id: \"btnNewShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addimdb\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add From IMDB's Popular Shows\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"View IMDB's list of the most popular shows. This feature uses IMDB's MOVIEMeter algorithm to identify popular TV Shows.\"\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/popularAnime/\", id: \"btnNewShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addanime\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add From Anidb's Hot Anime list\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n 'View Anidb\\'s list of the most popular anime shows. Anidb provides lists for Popular Anime, using the \"Hot Anime\" list.'\n )\n ])\n ])\n ]\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/add-recommended.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/add-show-options.vue?vue&type=template&id=5b660eec&": -/*!**********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/add-show-options.vue?vue&type=template&id=5b660eec& ***! - \**********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"add-show-options-content\" } }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"quality-chooser\", {\n attrs: { \"overall-quality\": _vm.defaultConfig.quality },\n on: {\n \"update:quality:allowed\": function($event) {\n _vm.quality.allowed = $event\n },\n \"update:quality:preferred\": function($event) {\n _vm.quality.preferred = $event\n }\n }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.subtitlesEnabled\n ? _c(\n \"div\",\n { attrs: { id: \"use-subtitles\" } },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Subtitles\",\n id: \"subtitles\",\n value: _vm.selectedSubtitleEnabled,\n explanations: [\"Download subtitles for this show?\"]\n },\n on: {\n input: function($event) {\n _vm.selectedSubtitleEnabled = $event\n }\n }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedStatus,\n expression: \"selectedStatus\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: { id: \"defaultStatus\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedStatus = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.defaultEpisodeStatusOptions, function(option) {\n return _c(\n \"option\",\n { key: option.value, domProps: { value: option.value } },\n [_vm._v(_vm._s(option.name))]\n )\n }),\n 0\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedStatusAfter,\n expression: \"selectedStatusAfter\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: { id: \"defaultStatusAfter\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedStatusAfter = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.defaultEpisodeStatusOptions, function(option) {\n return _c(\n \"option\",\n { key: option.value, domProps: { value: option.value } },\n [_vm._v(_vm._s(option.name))]\n )\n }),\n 0\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Season Folders\",\n id: \"season_folders\",\n value: _vm.selectedSeasonFoldersEnabled,\n disabled: _vm.namingForceFolders,\n explanations: [\"Group episodes by season folders?\"]\n },\n on: {\n input: function($event) {\n _vm.selectedSeasonFoldersEnabled = $event\n }\n }\n }),\n _vm._v(\" \"),\n _vm.enableAnimeOptions\n ? _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Anime\",\n id: \"anime\",\n value: _vm.selectedAnimeEnabled,\n explanations: [\"Is this show an Anime?\"]\n },\n on: {\n input: function($event) {\n _vm.selectedAnimeEnabled = $event\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.enableAnimeOptions && _vm.selectedAnimeEnabled\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm._m(3),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"anidb-release-group-ui\", {\n staticClass: \"max-width\",\n attrs: { \"show-name\": _vm.showName },\n on: { change: _vm.onChangeReleaseGroupsAnime }\n })\n ],\n 1\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Scene Numbering\",\n id: \"scene\",\n value: _vm.selectedSceneEnabled,\n explanations: [\"Is this show scene numbered?\"]\n },\n on: {\n input: function($event) {\n _vm.selectedSceneEnabled = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm._m(4),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n disabled: _vm.saving || _vm.saveDefaultsDisabled\n },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.saveDefaults($event)\n }\n }\n },\n [_vm._v(\"Save Defaults\")]\n )\n ])\n ])\n ])\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"customQuality\" }\n },\n [_c(\"span\", [_vm._v(\"Quality\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"defaultStatus\" }\n },\n [_c(\"span\", [_vm._v(\"Status for previously aired episodes\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"defaultStatusAfter\" }\n },\n [_c(\"span\", [_vm._v(\"Status for all future episodes\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"anidbReleaseGroup\" }\n },\n [_c(\"span\", [_vm._v(\"Release Groups\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"saveDefaultsButton\" }\n },\n [_c(\"span\", [_vm._v(\"Use current values as the defaults\")])]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/add-show-options.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/add-shows.vue?vue&type=template&id=a104cfec&": -/*!***************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/add-shows.vue?vue&type=template&id=a104cfec& ***! - \***************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"addShowPortal\" } },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/newShow/\", id: \"btnNewShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addnewshow\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add New Show\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"For shows that you haven't downloaded yet, this option finds a show on your preferred indexer, creates a directory for it's episodes, and adds it to Medusa.\"\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"btn-medusa btn-large\",\n attrs: { href: \"addShows/existingShows/\", id: \"btnExistingShow\" }\n },\n [\n _c(\"div\", { staticClass: \"button\" }, [\n _c(\"div\", { staticClass: \"add-list-icon-addexistingshow\" })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"buttontext\" }, [\n _c(\"h3\", [_vm._v(\"Add Existing Shows\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Use this option to add shows that already have a folder created on your hard drive. Medusa will scan your existing metadata/episodes and add the show accordingly.\"\n )\n ])\n ])\n ]\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/add-shows.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/anidb-release-group-ui.vue?vue&type=template&id=662b9a4b&scoped=true&": -/*!****************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/anidb-release-group-ui.vue?vue&type=template&id=662b9a4b&scoped=true& ***! - \****************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"anidb-release-group-ui-wrapper top-10 max-width\" },\n [\n _vm.fetchingGroups\n ? [\n _c(\"state-switch\", {\n attrs: { state: \"loading\", theme: _vm.layout.themeName }\n }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(\"Fetching release groups...\")])\n ]\n : _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-sm-4 left-whitelist\" }, [\n _c(\"span\", [_vm._v(\"Whitelist\")]),\n _vm.showDeleteFromWhitelist\n ? _c(\"img\", {\n staticClass: \"deleteFromWhitelist\",\n attrs: { src: \"images/no16.png\" },\n on: {\n click: function($event) {\n return _vm.deleteFromList(\"whitelist\")\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsWhitelist, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n return _vm.moveToList(\"whitelist\")\n }\n }\n },\n [\n _c(\"img\", {\n attrs: { src: \"images/curved-arrow-left.png\" }\n })\n ]\n )\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-4 center-available\" }, [\n _c(\"span\", [_vm._v(\"Release groups\")]),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsReleaseGroups, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n staticClass: \"initial\",\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n return _vm.moveToList(\"releasegroups\")\n }\n }\n },\n [\n _c(\"img\", {\n attrs: { src: \"images/curved-arrow-left.png\" }\n })\n ]\n )\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-4 right-blacklist\" }, [\n _c(\"span\", [_vm._v(\"Blacklist\")]),\n _vm.showDeleteFromBlacklist\n ? _c(\"img\", {\n staticClass: \"deleteFromBlacklist\",\n attrs: { src: \"images/no16.png\" },\n on: {\n click: function($event) {\n return _vm.deleteFromList(\"blacklist\")\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"ul\",\n [\n _vm._l(_vm.itemsBlacklist, function(release) {\n return _c(\n \"li\",\n {\n key: release.id,\n class: { active: release.toggled },\n on: {\n click: function($event) {\n release.toggled = !release.toggled\n }\n }\n },\n [_vm._v(_vm._s(release.name))]\n )\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"arrow\",\n on: {\n click: function($event) {\n return _vm.moveToList(\"blacklist\")\n }\n }\n },\n [\n _c(\"img\", {\n attrs: { src: \"images/curved-arrow-left.png\" }\n })\n ]\n )\n ],\n 2\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\", attrs: { id: \"add-new-release-group\" } },\n [\n _c(\"div\", { staticClass: \"col-md-4\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newGroup,\n expression: \"newGroup\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\", placeholder: \"add custom group\" },\n domProps: { value: _vm.newGroup },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.newGroup = $event.target.value\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _vm._m(0)\n ]\n )\n ],\n 2\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"col-md-8\" }, [\n _c(\"p\", [\n _vm._v(\n \"Use the input to add custom whitelist / blacklist release groups. Click on the \"\n ),\n _c(\"img\", { attrs: { src: \"images/curved-arrow-left.png\" } }),\n _vm._v(\" to add it to the correct list.\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/anidb-release-group-ui.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/app-footer.vue?vue&type=template&id=844e7d52&scoped=true&": -/*!****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/app-footer.vue?vue&type=template&id=844e7d52&scoped=true& ***! - \****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"footer\", [\n _c(\n \"div\",\n { staticClass: \"footer clearfix\" },\n [\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.stats.overall.shows.total))\n ]),\n _vm._v(\" Shows (\"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.stats.overall.shows.active))\n ]),\n _vm._v(\" Active)\\n | \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.stats.overall.episodes.downloaded))\n ]),\n _vm._v(\" \"),\n _vm.stats.overall.episodes.snatched\n ? [\n _c(\n \"span\",\n { staticClass: \"footerhighlight\" },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"manage/episodeStatuses?whichStatus=\" +\n _vm.snatchedStatus,\n title: \"View overview of snatched episodes\"\n }\n },\n [_vm._v(\"+\" + _vm._s(_vm.stats.overall.episodes.snatched))]\n )\n ],\n 1\n ),\n _vm._v(\"\\n Snatched\\n \")\n ]\n : _vm._e(),\n _vm._v(\"\\n / \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.stats.overall.episodes.total))\n ]),\n _vm._v(\" Episodes Downloaded \"),\n _vm.episodePercentage\n ? _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(\"(\" + _vm._s(_vm.episodePercentage) + \")\")\n ])\n : _vm._e(),\n _vm._v(\"\\n | Daily Search: \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.schedulerNextRun(\"dailySearch\")))\n ]),\n _vm._v(\"\\n | Backlog Search: \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.schedulerNextRun(\"backlog\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _vm.system.memoryUsage\n ? [\n _vm._v(\"\\n Memory used: \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.system.memoryUsage))\n ]),\n _vm._v(\" |\\n \")\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _vm._v(\"\\n Branch: \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.system.branch || \"Unknown\"))\n ]),\n _vm._v(\" |\\n Now: \"),\n _c(\"span\", { staticClass: \"footerhighlight\" }, [\n _vm._v(_vm._s(_vm.nowInUserPreset))\n ])\n ],\n 2\n )\n ],\n 2\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/app-footer.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/app-header.vue?vue&type=template&id=41e9b56e&": -/*!****************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/app-header.vue?vue&type=template&id=41e9b56e& ***! - \****************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"nav\",\n {\n staticClass: \"navbar navbar-default navbar-fixed-top hidden-print\",\n attrs: { role: \"navigation\" }\n },\n [\n _c(\"div\", { staticClass: \"container-fluid\" }, [\n _c(\n \"div\",\n { staticClass: \"navbar-header\" },\n [\n _c(\n \"button\",\n {\n staticClass: \"navbar-toggle collapsed\",\n attrs: {\n type: \"button\",\n \"data-toggle\": \"collapse\",\n \"data-target\": \"#main_nav\"\n }\n },\n [\n _vm.toolsBadgeCount > 0\n ? _c(\n \"span\",\n { class: \"floating-badge\" + _vm.toolsBadgeClass },\n [_vm._v(_vm._s(_vm.toolsBadgeCount))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"sr-only\" }, [\n _vm._v(\"Toggle navigation\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"navbar-brand\",\n attrs: { href: \"home/\", title: \"Medusa\" }\n },\n [\n _c(\"img\", {\n staticClass: \"img-responsive pull-left\",\n staticStyle: { height: \"50px\" },\n attrs: { alt: \"Medusa\", src: \"images/medusa.png\" }\n })\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.isAuthenticated\n ? _c(\n \"div\",\n {\n staticClass: \"collapse navbar-collapse\",\n attrs: { id: \"main_nav\" }\n },\n [\n _c(\"ul\", { staticClass: \"nav navbar-nav navbar-right\" }, [\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"home\" },\n attrs: { id: \"NAVhome\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"home/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", [_vm._v(\"Shows\")]),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"dropdown-menu\" },\n [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"home/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-home\" }),\n _vm._v(\" Show List\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"addShows/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-addshow\" }),\n _vm._v(\" Add Shows\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"addRecommended/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-addshow\" }),\n _vm._v(\" Add Recommended Shows\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/postprocess/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-postprocess\"\n }),\n _vm._v(\" Manual Post-Processing\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.recentShows.length > 0\n ? _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.recentShows, function(recentShow) {\n return _c(\n \"li\",\n { key: recentShow.link },\n [\n _c(\n \"app-link\",\n { attrs: { href: recentShow.link } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-addshow\"\n }),\n _vm._v(\n \" \" +\n _vm._s(recentShow.name) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split\",\n class: { active: _vm.topMenu === \"schedule\" },\n attrs: { id: \"NAVschedule\" }\n },\n [\n _c(\"app-link\", { attrs: { href: \"schedule/\" } }, [\n _vm._v(\"Schedule\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split\",\n class: { active: _vm.topMenu === \"history\" },\n attrs: { id: \"NAVhistory\" }\n },\n [\n _c(\"app-link\", { attrs: { href: \"history/\" } }, [\n _vm._v(\"History\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"manage\" },\n attrs: { id: \"NAVmanage\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"manage/episodeStatuses/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", [_vm._v(\"Manage\")]),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"manage/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-manage\" }),\n _vm._v(\" Mass Update\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/backlogOverview/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog-view\"\n }),\n _vm._v(\" Backlog Overview\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/manageSearches/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-manage-searches\"\n }),\n _vm._v(\" Manage Searches\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/episodeStatuses/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-manage2\" }),\n _vm._v(\" Episode Status Management\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.linkVisible.plex\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updatePLEX/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-plex\" }),\n _vm._v(\" Update PLEX\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.kodi\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updateKODI/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-kodi\" }),\n _vm._v(\" Update KODI\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.emby\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/updateEMBY/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-emby\" }),\n _vm._v(\" Update Emby\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.manageTorrents\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"manage/manageTorrents/\",\n target: \"_blank\"\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-bittorrent\"\n }),\n _vm._v(\" Manage Torrents\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.failedDownloads\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"manage/failedDownloads/\" }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-failed-download\"\n }),\n _vm._v(\" Failed Downloads\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.subtitleMissed\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"manage/subtitleMissed/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog\"\n }),\n _vm._v(\" Missed Subtitle Management\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.linkVisible.subtitleMissedPP\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"manage/subtitleMissedPP/\" }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-backlog\"\n }),\n _vm._v(\n \" Missed Subtitle in Post-Process folder\"\n )\n ]\n )\n ],\n 1\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"config\" },\n attrs: { id: \"NAVconfig\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"dropdown-toggle\",\n attrs: {\n href: \"config/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", { staticClass: \"visible-xs-inline\" }, [\n _vm._v(\"Config\")\n ]),\n _c(\"img\", {\n staticClass: \"navbaricon hidden-xs\",\n attrs: { src: \"images/menu/system18.png\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"config/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-help\" }),\n _vm._v(\" Help & Info\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/general/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-config\" }),\n _vm._v(\" General\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/backuprestore/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-backup\" }),\n _vm._v(\" Backup & Restore\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/search/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-manage-searches\"\n }),\n _vm._v(\" Search Settings\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/providers/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-provider\" }),\n _vm._v(\" Search Providers\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/subtitles/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-backlog\" }),\n _vm._v(\" Subtitles Settings\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/postProcessing/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-postprocess\"\n }),\n _vm._v(\" Post-Processing\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/notifications/\" } },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-notification\"\n }),\n _vm._v(\" Notifications\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"config/anime/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-anime\" }),\n _vm._v(\" Anime\")\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n {\n staticClass: \"navbar-split dropdown\",\n class: { active: _vm.topMenu === \"system\" },\n attrs: { id: \"NAVsystem\" }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"padding-right-15 dropdown-toggle\",\n attrs: {\n href: \"home/status/\",\n \"aria-haspopup\": \"true\",\n \"data-toggle\": \"dropdown\",\n \"data-hover\": \"dropdown\"\n }\n },\n [\n _c(\"span\", { staticClass: \"visible-xs-inline\" }, [\n _vm._v(\"Tools\")\n ]),\n _c(\"img\", {\n staticClass: \"navbaricon hidden-xs\",\n attrs: { src: \"images/menu/system18-2.png\" }\n }),\n _vm._v(\" \"),\n _vm.toolsBadgeCount > 0\n ? _c(\n \"span\",\n { class: \"badge\" + _vm.toolsBadgeClass },\n [_vm._v(_vm._s(_vm.toolsBadgeCount))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"b\", { staticClass: \"caret\" })\n ]\n ),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"dropdown-menu\" }, [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"news/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-news\" }),\n _vm._v(\" News \"),\n _vm.system.news.unread > 0\n ? _c(\"span\", { staticClass: \"badge\" }, [\n _vm._v(_vm._s(_vm.system.news.unread))\n ])\n : _vm._e()\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"IRC/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-irc\" }),\n _vm._v(\" IRC\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"changes/\" } }, [\n _c(\"i\", { staticClass: \"menu-icon-changelog\" }),\n _vm._v(\" Changelog\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: _vm.config.donationsUrl } },\n [\n _c(\"i\", { staticClass: \"menu-icon-support\" }),\n _vm._v(\" Support Medusa\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _vm.config.logs.numErrors > 0\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"errorlogs/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-error\" }),\n _vm._v(\" View Errors \"),\n _c(\n \"span\",\n { staticClass: \"badge btn-danger\" },\n [\n _vm._v(\n _vm._s(_vm.config.logs.numErrors)\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.config.logs.numWarnings > 0\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"errorlogs/?level=\" + _vm.warningLevel\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-viewlog-errors\"\n }),\n _vm._v(\" View Warnings \"),\n _c(\n \"span\",\n { staticClass: \"badge btn-warning\" },\n [\n _vm._v(\n _vm._s(_vm.config.logs.numWarnings)\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"errorlogs/viewlog/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-viewlog\" }),\n _vm._v(\" View Log\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/updateCheck?pid=\" + _vm.system.pid\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-update\" }),\n _vm._v(\" Check For Updates\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/restart/?pid=\" + _vm.system.pid\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n return _vm.confirmDialog($event, \"restart\")\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-restart\" }),\n _vm._v(\" Restart\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href: \"home/shutdown/?pid=\" + _vm.system.pid\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n return _vm.confirmDialog($event, \"shutdown\")\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"menu-icon-shutdown\" }),\n _vm._v(\" Shutdown\")\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.username\n ? _c(\n \"li\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"logout\" },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n return _vm.confirmDialog(\n $event,\n \"logout\"\n )\n }\n }\n },\n [\n _c(\"i\", {\n staticClass: \"menu-icon-shutdown\"\n }),\n _vm._v(\" Logout\")\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"li\", {\n staticClass: \"divider\",\n attrs: { role: \"separator\" }\n }),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"home/status/\" } },\n [\n _c(\"i\", { staticClass: \"menu-icon-info\" }),\n _vm._v(\" Server Status\")\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticStyle: { clear: \"both\" } })\n ],\n 1\n )\n ])\n ]\n )\n : _vm._e()\n ])\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/app-header.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-anime.vue?vue&type=template&id=149731b9&": -/*!******************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-anime.vue?vue&type=template&id=149731b9& ***! - \******************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config\" } }, [\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n attrs: { id: \"configForm\", method: \"post\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.save()\n }\n }\n },\n [\n _c(\n \"vue-tabs\",\n [\n _c(\n \"v-tab\",\n { key: \"anidb_settings\", attrs: { title: \"AnimeDB Settings\" } },\n [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-anime\",\n attrs: { title: \"AniDB\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://anidb.info\" } },\n [_vm._v(\"AniDB\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"AniDB is non-profit database of anime information that is freely open to the public\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"Use AniDB\", id: \"use_anidb\" },\n model: {\n value: _vm.anime.anidb.enabled,\n callback: function($$v) {\n _vm.$set(_vm.anime.anidb, \"enabled\", $$v)\n },\n expression: \"anime.anidb.enabled\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\"Should Medusa use data from AniDB?\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.anime.anidb.enabled\n ? _c(\n \"div\",\n { attrs: { id: \"content_use_anidb\" } },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"AniDB Username\",\n id: \"anidb_username\"\n },\n model: {\n value: _vm.anime.anidb.username,\n callback: function($$v) {\n _vm.$set(\n _vm.anime.anidb,\n \"username\",\n $$v\n )\n },\n expression: \"anime.anidb.username\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\"Username of your AniDB account\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"AniDB Password\",\n id: \"anidb_password\"\n },\n model: {\n value: _vm.anime.anidb.password,\n callback: function($$v) {\n _vm.$set(\n _vm.anime.anidb,\n \"password\",\n $$v\n )\n },\n expression: \"anime.anidb.password\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\"Password of your AniDB account\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"AniDB MyList\",\n id: \"anidb_use_my_list\"\n },\n model: {\n value: _vm.anime.anidb.useMyList,\n callback: function($$v) {\n _vm.$set(\n _vm.anime.anidb,\n \"useMyList\",\n $$v\n )\n },\n expression: \"anime.anidb.useMyList\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"Do you want to add the PostProcessed Episodes to the MyList ?\"\n )\n ])\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"v-tab\",\n { key: \"look_and_feel\", attrs: { title: \"Look & Feel\" } },\n [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-look\",\n attrs: { title: \"look\" }\n }),\n _vm._v(\" \"),\n _c(\"h3\", [_c(\"a\", [_vm._v(\"Look and Feel\")])]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"How should the anime functions show and behave.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Connect anime to Anime list\",\n id: \"auto_anime_to_list\"\n },\n model: {\n value: _vm.anime.autoAnimeToList,\n callback: function($$v) {\n _vm.$set(_vm.anime, \"autoAnimeToList\", $$v)\n },\n expression: \"anime.autoAnimeToList\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"Connect every show marked as anime, to the 'Anime' show list?\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n },\n on: { click: _vm.save }\n })\n ],\n 1\n )\n ])\n ])\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/config-anime.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-general.vue?vue&type=template&id=429e2e26&": -/*!********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-general.vue?vue&type=template&id=429e2e26& ***! - \********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-genaral\" } }, [\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n attrs: { id: \"configForm\", method: \"post\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.save()\n }\n }\n },\n [\n _c(\"div\", { attrs: { id: \"config-components\" } }, [\n _c(\"ul\", [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#misc\" } }, [_vm._v(\"Misc\")])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#interface\" } }, [\n _vm._v(\"Interface\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#advanced-settings\" } }, [\n _vm._v(\"Advanced Settings\")\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"misc\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Launch browser\",\n id: \"launch_browser\"\n },\n model: {\n value: _vm.general.launchBrowser,\n callback: function($$v) {\n _vm.$set(_vm.general, \"launchBrowser\", $$v)\n },\n expression: \"general.launchBrowser\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\"open the Medusa home page on startup\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"default_page\",\n label: \"Initial page\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.general.defaultPage,\n expression: \"general.defaultPage\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"default_page\",\n name: \"default_page\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.general,\n \"defaultPage\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.defaultPageOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"when launching Medusa interface\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"trash_remove_show\",\n label: \"Send to trash for actions\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"nextline-block\",\n attrs: { for: \"trash_remove_show\" }\n },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"trash_remove_show\",\n name: \"trash_remove_show\",\n sync: \"\"\n },\n model: {\n value: _vm.general.trashRemoveShow,\n callback: function($$v) {\n _vm.$set(\n _vm.general,\n \"trashRemoveShow\",\n $$v\n )\n },\n expression: \"general.trashRemoveShow\"\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n 'when using show \"Remove\" and delete files'\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n staticClass: \"nextline-block\",\n attrs: { for: \"trash_rotate_logs\" }\n },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"trash_rotate_logs\",\n name: \"trash_rotate_logs\",\n sync: \"\"\n },\n model: {\n value: _vm.general.trashRotateLogs,\n callback: function($$v) {\n _vm.$set(\n _vm.general,\n \"trashRotateLogs\",\n $$v\n )\n },\n expression: \"general.trashRotateLogs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"on scheduled deletes of the oldest log files\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"selected actions use trash (recycle bin) instead of the default permanent delete\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Location for Log files\",\n id: \"log_id\"\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.general.logs.actualLogDir,\n callback: function($$v) {\n _vm.$set(_vm.general.logs, \"actualLogDir\", $$v)\n },\n expression: \"general.logs.actualLogDir\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Number of Log files saved\",\n id: \"log_nr\",\n min: 1,\n step: 1\n },\n model: {\n value: _vm.general.logs.nr,\n callback: function($$v) {\n _vm.$set(_vm.general.logs, \"nr\", $$v)\n },\n expression: \"general.logs.nr\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"number of log files saved when rotating logs (default: 5) \"\n ),\n _c(\"b\", [_vm._v(\"(REQUIRES RESTART)\")])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Size of Log files saved\",\n id: \"log_size\",\n min: 0.5,\n step: 0.1\n },\n model: {\n value: _vm.general.logs.size,\n callback: function($$v) {\n _vm.$set(_vm.general.logs, \"size\", $$v)\n },\n expression: \"general.logs.size\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"maximum size in MB of the log file (default: 1MB) \"\n ),\n _c(\"b\", [_vm._v(\"(REQUIRES RESTART)\")])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"show_root_dir\",\n label: \"Show root directories\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\"where the files of shows are located\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"These changes are automatically saved!\")\n ]),\n _vm._v(\" \"),\n _c(\"root-dirs\")\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"show_root_dir\",\n label: \"Default Indexer Language\"\n }\n },\n [\n _c(\"language-select\", {\n ref: \"indexerLanguage\",\n staticClass:\n \"form-control form-control-inline input-sm\",\n attrs: {\n language: _vm.general.indexerDefaultLanguage,\n available: _vm.indexers.main.validLanguages.join(\n \",\"\n )\n },\n on: {\n \"update-language\": function($event) {\n _vm.general.indexerDefaultLanguage = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"for adding shows and metadata providers\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Choose hour to update shows\",\n id: \"showupdate_hour\",\n min: 0,\n max: 23,\n step: 1\n },\n model: {\n value: _vm.general.showUpdateHour,\n callback: function($$v) {\n _vm.$set(_vm.general, \"showUpdateHour\", $$v)\n },\n expression: \"general.showUpdateHour\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"with information such as next air dates, show ended, etc. Use 15 for 3pm, 4 for 4am etc.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" minutes are randomized each time Medusa is started\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Timeout show indexer at\",\n id: \"indexer_timeout\",\n min: 10,\n step: 1\n },\n model: {\n value: _vm.general.indexerTimeout,\n callback: function($$v) {\n _vm.$set(_vm.general, \"indexerTimeout\", $$v)\n },\n expression: \"general.indexerTimeout\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"seconds of inactivity when finding new shows (default:20)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"indexer_default\",\n label: \"Use initial indexer set to\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.indexerDefault,\n expression: \"indexerDefault\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"indexer_default\",\n name: \"indexer_default\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.indexerDefault = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.indexerListOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Enable fallback to plex\",\n id: \"fallback_plex_enable\"\n },\n model: {\n value: _vm.general.plexFallBack.enable,\n callback: function($$v) {\n _vm.$set(_vm.general.plexFallBack, \"enable\", $$v)\n },\n expression: \"general.plexFallBack.enable\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Plex provides a tvdb mirror, that can be utilized when Tvdb's api is unavailable.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Enable fallback notifications\",\n id: \"fallback_plex_notifications\"\n },\n model: {\n value: _vm.general.plexFallBack.notifications,\n callback: function($$v) {\n _vm.$set(\n _vm.general.plexFallBack,\n \"notifications\",\n $$v\n )\n },\n expression: \"general.plexFallBack.notifications\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"When this settings has been enabled, you may receive frequent notifications when falling back to the plex mirror.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Timeout show indexer at\",\n id: \"Fallback duration\",\n min: 1,\n step: 1\n },\n model: {\n value: _vm.general.plexFallBack.timeout,\n callback: function($$v) {\n _vm.$set(_vm.general.plexFallBack, \"timeout\", $$v)\n },\n expression: \"general.plexFallBack.timeout\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Amount of hours after we try to revert back to the thetvdb.com api url (default:3).\"\n )\n ])\n ]\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(2),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Check software updates\",\n id: \"version_notify\"\n },\n model: {\n value: _vm.general.versionNotify,\n callback: function($$v) {\n _vm.$set(_vm.general, \"versionNotify\", $$v)\n },\n expression: \"general.versionNotify\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"and display notifications when updates are available.\\n Checks are run on startup and at the frequency set below*\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Automatically update\",\n id: \"auto_update\"\n },\n model: {\n value: _vm.general.autoUpdate,\n callback: function($$v) {\n _vm.$set(_vm.general, \"autoUpdate\", $$v)\n },\n expression: \"general.autoUpdate\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"fetch and install software updates.\\n Updates are run on startup and in the background at the frequency set below*\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Check the server every*\",\n id: \"update_frequency duration\",\n min: 1,\n step: 1\n },\n model: {\n value: _vm.general.updateFrequency,\n callback: function($$v) {\n _vm.$set(_vm.general, \"updateFrequency\", $$v)\n },\n expression: \"general.updateFrequency\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\"hours for software updates (default:1)\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Notify on software update\",\n id: \"notify_on_update\"\n },\n model: {\n value: _vm.general.notifyOnUpdate,\n callback: function($$v) {\n _vm.$set(_vm.general, \"notifyOnUpdate\", $$v)\n },\n expression: \"general.notifyOnUpdate\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"send a message to all enabled notifiers when Medusa has been updated\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"interface\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(3),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"theme_name\",\n label: \"Display theme\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.layout.themeName,\n expression: \"layout.themeName\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"theme_name\", name: \"theme_name\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.layout,\n \"themeName\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n },\n function($event) {\n return _vm.changeTheme(_vm.layout.themeName)\n }\n ]\n }\n },\n _vm._l(_vm.availableThemesOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Use wider layout\",\n id: \"layout_wide\"\n },\n model: {\n value: _vm.layout.wide,\n callback: function($$v) {\n _vm.$set(_vm.layout, \"wide\", $$v)\n },\n expression: \"layout.wide\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\"uses all available space in the page\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Show fanart in the background\",\n id: \"fanart_background\"\n },\n model: {\n value: _vm.layout.fanartBackground,\n callback: function($$v) {\n _vm.$set(_vm.layout, \"fanartBackground\", $$v)\n },\n expression: \"layout.fanartBackground\"\n }\n },\n [_c(\"p\", [_vm._v(\"on the show summary page\")])]\n ),\n _vm._v(\" \"),\n _vm.layout.fanartBackground\n ? _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Fanart transparency\",\n id: \"fanart_background_opacity duration\",\n step: 0.1,\n min: 0.1,\n max: 1.0\n },\n model: {\n value: _vm.layout.fanartBackgroundOpacity,\n callback: function($$v) {\n _vm.$set(\n _vm.layout,\n \"fanartBackgroundOpacity\",\n $$v\n )\n },\n expression: \"layout.fanartBackgroundOpacity\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Transparency of the fanart in the background\"\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Sort with 'The' 'A', 'An'\",\n id: \"sort_article\"\n },\n model: {\n value: _vm.layout.sortArticle,\n callback: function($$v) {\n _vm.$set(_vm.layout, \"sortArticle\", $$v)\n },\n expression: \"layout.sortArticle\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n 'include articles (\"The\", \"A\", \"An\") when sorting show lists'\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"show_list_order\",\n label: \"show lists\"\n }\n },\n [\n _c(\"sorted-select-list\", {\n attrs: {\n \"list-items\": _vm.layout.show.showListOrder\n },\n on: { change: _vm.saveShowListOrder }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Create and order different categories for your shows.\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Split home in tabs\",\n id: \"split_home_in_tabs\"\n },\n model: {\n value: _vm.layout.splitHomeInTabs,\n callback: function($$v) {\n _vm.$set(_vm.layout, \"splitHomeInTabs\", $$v)\n },\n expression: \"layout.splitHomeInTabs\"\n }\n },\n [\n _c(\"span\", { staticClass: \"component-desc\" }, [\n _vm._v(\"Use tabs when splitting show lists\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"Missed episodes range\",\n id: \"coming_eps_missed_range duration\",\n step: 1,\n min: 7\n },\n model: {\n value: _vm.layout.comingEps.missedRange,\n callback: function($$v) {\n _vm.$set(_vm.layout.comingEps, \"missedRange\", $$v)\n },\n expression: \"layout.comingEps.missedRange\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Set the range in days of the missed episodes in the Schedule page\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Display fuzzy dates\",\n id: \"fuzzy_dating\"\n },\n model: {\n value: _vm.layout.fuzzyDating,\n callback: function($$v) {\n _vm.$set(_vm.layout, \"fuzzyDating\", $$v)\n },\n expression: \"layout.fuzzyDating\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n 'move absolute dates into tooltips and display e.g. \"Last Thu\", \"On Tue\"'\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Trim zero padding\",\n id: \"trim_zero\"\n },\n model: {\n value: _vm.layout.trimZero,\n callback: function($$v) {\n _vm.$set(_vm.layout, \"trimZero\", $$v)\n },\n expression: \"layout.trimZero\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n 'remove the leading number \"0\" shown on hour of day, and date of month'\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"date_preset\",\n label: \"Date style\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.layout.dateStyle,\n expression: \"layout.dateStyle\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"date_preset\", name: \"date_preset\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.layout,\n \"dateStyle\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.datePresetOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"time_preset\",\n label: \"Time style\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.layout.timeStyle,\n expression: \"layout.timeStyle\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"time_preset\", name: \"time_preset\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.layout,\n \"timeStyle\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.timePresetOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" seconds are only shown on the History page\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"timezone_display\",\n label: \"Timezone\"\n }\n },\n [\n _c(\"div\", { staticClass: \"radio-item\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.layout.timezoneDisplay,\n expression: \"layout.timezoneDisplay\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"timezone_display_local\",\n id: \"timezone_display_local\",\n value: \"local\"\n },\n domProps: {\n checked: _vm._q(\n _vm.layout.timezoneDisplay,\n \"local\"\n )\n },\n on: {\n change: function($event) {\n return _vm.$set(\n _vm.layout,\n \"timezoneDisplay\",\n \"local\"\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"one\" } }, [\n _vm._v(\"local\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"radio-item\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.layout.timezoneDisplay,\n expression: \"layout.timezoneDisplay\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"timezone_display_network\",\n id: \"timezone_display_network\",\n value: \"network\"\n },\n domProps: {\n checked: _vm._q(\n _vm.layout.timezoneDisplay,\n \"network\"\n )\n },\n on: {\n change: function($event) {\n return _vm.$set(\n _vm.layout,\n \"timezoneDisplay\",\n \"network\"\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"one\" } }, [\n _vm._v(\"network\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"display dates and times in either your timezone or the shows network timezone\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" Use local timezone to start searching for episodes minutes after show ends (depends on your dailysearch frequency)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: { label: \"Download url\", id: \"download_url\" },\n model: {\n value: _vm.general.downloadUrl,\n callback: function($$v) {\n _vm.$set(_vm.general, \"downloadUrl\", $$v)\n },\n expression: \"general.downloadUrl\"\n }\n },\n [\n _c(\"span\", { staticClass: \"component-desc\" }, [\n _vm._v(\"URL where the shows can be downloaded.\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Use table pagination\",\n id: \"show_pagination\"\n },\n model: {\n value: _vm.layout.show.pagination.enable,\n callback: function($$v) {\n _vm.$set(_vm.layout.show.pagination, \"enable\", $$v)\n },\n expression: \"layout.show.pagination.enable\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(4),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"API key\",\n id: \"api_key\",\n readonly: \"readonly\"\n },\n model: {\n value: _vm.general.webInterface.apiKey,\n callback: function($$v) {\n _vm.$set(_vm.general.webInterface, \"apiKey\", $$v)\n },\n expression: \"general.webInterface.apiKey\"\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n id: \"generate_new_apikey\",\n value: \"Generate\"\n },\n on: { click: _vm.generateApiKey }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"used to give 3rd party programs limited access to Medusa\"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"p\",\n [\n _vm._v(\n \"you can try all the features of the legacy API (v1) \"\n ),\n _c(\n \"app-link\",\n { attrs: { href: \"apibuilder/\" } },\n [_vm._v(\"here\")]\n )\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"HTTP logs\", id: \"web_log\" },\n model: {\n value: _vm.general.webInterface.log,\n callback: function($$v) {\n _vm.$set(_vm.general.webInterface, \"log\", $$v)\n },\n expression: \"general.webInterface.log\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"enable logs from the internal Tornado web server\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"HTTP username\",\n id: \"web_username\",\n autocomplete: \"no\"\n },\n model: {\n value: _vm.general.webInterface.username,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"username\",\n $$v\n )\n },\n expression: \"general.webInterface.username\"\n }\n },\n [_c(\"p\", [_vm._v(\"set blank for no login\")])]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"HTTP password\",\n id: \"web_password\",\n type: \"password\",\n autocomplete: \"no\"\n },\n model: {\n value: _vm.general.webInterface.password,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"password\",\n $$v\n )\n },\n expression: \"general.webInterface.password\"\n }\n },\n [_c(\"p\", [_vm._v(\"blank = no authentication\")])]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n label: \"HTTP port\",\n id: \"web_port\",\n min: 1,\n step: 1\n },\n model: {\n value: _vm.general.webInterface.port,\n callback: function($$v) {\n _vm.$set(_vm.general.webInterface, \"port\", $$v)\n },\n expression: \"general.webInterface.port\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"web port to browse and access Medusa (default:8081)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Notify on login\",\n id: \"notify_on_login\"\n },\n model: {\n value: _vm.general.webInterface.notifyOnLogin,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"notifyOnLogin\",\n $$v\n )\n },\n expression: \"general.webInterface.notifyOnLogin\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"enable to be notified when a new login happens in webserver\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"Listen on IPv6\", id: \"web_ipv6\" },\n model: {\n value: _vm.general.webInterface.ipv6,\n callback: function($$v) {\n _vm.$set(_vm.general.webInterface, \"ipv6\", $$v)\n },\n expression: \"general.webInterface.ipv6\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"enable to be notified when a new login happens in webserver\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"Enable HTTPS\", id: \"enable_https\" },\n model: {\n value: _vm.general.webInterface.httpsEnable,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"httpsEnable\",\n $$v\n )\n },\n expression: \"general.webInterface.httpsEnable\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"enable access to the web interface using a HTTPS address\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.general.webInterface.httpsEnable\n ? _c(\n \"div\",\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"HTTPS certificate\",\n id: \"https_cert\"\n },\n model: {\n value: _vm.general.webInterface.httpsCert,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"httpsCert\",\n $$v\n )\n },\n expression: \"general.webInterface.httpsCert\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"file name or path to HTTPS certificate\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"HTTPS key\",\n id: \"https_key\"\n },\n model: {\n value: _vm.general.webInterface.httpsKey,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"httpsKey\",\n $$v\n )\n },\n expression: \"general.webInterface.httpsKey\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\"file name or path to HTTPS key\")\n ])\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Reverse proxy headers\",\n id: \"handle_reverse_proxy\"\n },\n model: {\n value: _vm.general.webInterface.handleReverseProxy,\n callback: function($$v) {\n _vm.$set(\n _vm.general.webInterface,\n \"handleReverseProxy\",\n $$v\n )\n },\n expression:\n \"general.webInterface.handleReverseProxy\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"accept the following reverse proxy headers (advanced)...\"\n ),\n _c(\"br\"),\n _vm._v(\n \"(X-Forwarded-For, X-Forwarded-Host, and X-Forwarded-Proto)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"HTTP web root\",\n id: \"web_root\",\n autocomplete: \"no\"\n },\n model: {\n value: _vm.general.webRoot,\n callback: function($$v) {\n _vm.$set(_vm.general, \"webRoot\", $$v)\n },\n expression: \"general.webRoot\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Set a base URL, for use in reverse proxies.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"blank = disabled\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" Must restart to have effect. Keep in mind that any previously configured base URLs won't work, after this change.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"advanced-settings\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(5),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"cpu_presets\",\n label: \"CPU throttling\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.general.cpuPreset,\n expression: \"general.cpuPreset\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"cpu_presets\", name: \"cpu_presets\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.general,\n \"cpuPreset\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.cpuPresetOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Normal (default). High is lower and Low is higher CPU use\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"Anonymous redirect\",\n id: \"anon_redirect\"\n },\n model: {\n value: _vm.general.anonRedirect,\n callback: function($$v) {\n _vm.$set(_vm.general, \"anonRedirect\", $$v)\n },\n expression: \"general.anonRedirect\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n 'backlink protection via anonymizer service, must end in \"?\"'\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Verify SSL Certs\",\n id: \"ssl_verify\"\n },\n model: {\n value: _vm.general.sslVerify,\n callback: function($$v) {\n _vm.$set(_vm.general, \"sslVerify\", $$v)\n },\n expression: \"general.sslVerify\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Verify SSL Certificates (Disable this for broken SSL installs (Like QNAP))\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"SSL CA Bundle\",\n id: \"ssl_ca_bundle\"\n },\n model: {\n value: _vm.general.sslCaBundle,\n callback: function($$v) {\n _vm.$set(_vm.general, \"sslCaBundle\", $$v)\n },\n expression: \"general.sslCaBundle\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Path to an SSL CA Bundle. Will replace default bundle(certifi) with the one specified.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" This only apply to call made using Medusa's Requests implementation.\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"No Restart\", id: \"no_restart\" },\n model: {\n value: _vm.general.noRestart,\n callback: function($$v) {\n _vm.$set(_vm.general, \"noRestart\", $$v)\n },\n expression: \"general.noRestart\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Only shutdown when restarting Medusa.\\n Only select this when you have external software restarting Medusa automatically when it stops (like FireDaemon)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Encrypt passwords\",\n id: \"encryption_version\"\n },\n model: {\n value: _vm.general.encryptionVersion,\n callback: function($$v) {\n _vm.$set(_vm.general, \"encryptionVersion\", $$v)\n },\n expression: \"general.encryptionVersion\"\n }\n },\n [\n _c(\n \"p\",\n [\n _vm._v(\"in the \"),\n _c(\"code\", [_vm._v(\"config.ini\")]),\n _vm._v(\n \" file.\\n \"\n ),\n _c(\"b\", [_vm._v(\"Warning:\")]),\n _vm._v(\" Passwords must only contain \"),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters\"\n }\n },\n [_vm._v(\"ASCII characters\")]\n )\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Unprotected calendar\",\n id: \"calendar_unprotected\"\n },\n model: {\n value: _vm.general.calendarUnprotected,\n callback: function($$v) {\n _vm.$set(_vm.general, \"calendarUnprotected\", $$v)\n },\n expression: \"general.calendarUnprotected\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"allow subscribing to the calendar without user and password.\\n Some services like Google Calendar only work this way\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Google Calendar Icons\",\n id: \"calendar_icons\"\n },\n model: {\n value: _vm.general.calendarIcons,\n callback: function($$v) {\n _vm.$set(_vm.general, \"calendarIcons\", $$v)\n },\n expression: \"general.calendarIcons\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"show an icon next to exported calendar events in Google Calendar.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: { label: \"Proxy host\", id: \"proxy_setting\" },\n model: {\n value: _vm.general.proxySetting,\n callback: function($$v) {\n _vm.$set(_vm.general, \"proxySetting\", $$v)\n },\n expression: \"general.proxySetting\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"blank to disable or proxy to use when connecting to providers\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.general.proxySetting !== \"\"\n ? _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Use proxy for indexers\",\n id: \"proxy_indexers\"\n },\n model: {\n value: _vm.general.proxyIndexers,\n callback: function($$v) {\n _vm.$set(_vm.general, \"proxyIndexers\", $$v)\n },\n expression: \"general.proxyIndexers\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"use proxy host for connecting to indexers (thetvdb)\"\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Skip Remove Detection\",\n id: \"skip_removed_files\"\n },\n model: {\n value: _vm.general.skipRemovedFiles,\n callback: function($$v) {\n _vm.$set(_vm.general, \"skipRemovedFiles\", $$v)\n },\n expression: \"general.skipRemovedFiles\"\n }\n },\n [\n _c(\"span\", [\n _c(\"p\", [\n _vm._v(\n \"Skip detection of removed files. If disabled the episode will be set to the default deleted status\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" This may mean Medusa misses renames as well\\n \"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"ep_default_deleted_status\",\n label: \"Default deleted episode status\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.general.epDefaultDeletedStatus,\n expression: \"general.epDefaultDeletedStatus\"\n }\n ],\n staticClass:\n \"form-control input-sm margin-bottom-5\",\n attrs: {\n id: \"ep_default_deleted_status\",\n name: \"ep_default_deleted_status\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.general,\n \"epDefaultDeletedStatus\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n [\n _c(\n \"option\",\n { attrs: { disabled: \"\", value: \"\" } },\n [_vm._v(\"Please select a default status\")]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.defaultDeletedEpOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Define the status to be set for media file that has been deleted.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" Archived option will keep previous downloaded quality\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Example: Downloaded (1080p WEB-DL) ==> Archived (1080p WEB-DL)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"Enable debug\", id: \"debug\" },\n model: {\n value: _vm.general.logs.debug,\n callback: function($$v) {\n _vm.$set(_vm.general.logs, \"debug\", $$v)\n },\n expression: \"general.logs.debug\"\n }\n },\n [_c(\"p\", [_vm._v(\"Enable debug logs\")])]\n ),\n _vm._v(\" \"),\n _vm.general.developer\n ? _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Enable DB debug\",\n id: \"dbdebug\"\n },\n model: {\n value: _vm.general.logs.dbDebug,\n callback: function($$v) {\n _vm.$set(_vm.general.logs, \"dbDebug\", $$v)\n },\n expression: \"general.logs.dbDebug\"\n }\n },\n [_c(\"p\", [_vm._v(\"Enable DB debug logs\")])]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Subliminal logs\",\n id: \"subliminal_log\"\n },\n model: {\n value: _vm.general.logs.subliminalLog,\n callback: function($$v) {\n _vm.$set(_vm.general.logs, \"subliminalLog\", $$v)\n },\n expression: \"general.logs.subliminalLog\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"enable logs from subliminal library (subtitles)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"privacy_level\",\n label: \"Privacy\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.general.logs.privacyLevel,\n expression: \"general.logs.privacyLevel\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"privacy_level\",\n name: \"privacy_level\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.general.logs,\n \"privacyLevel\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.privacyLevelOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"\\n Set the level of log-filtering.\\n Normal (default).\\n \"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(7),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"github_remote_branches\",\n label: \"Branch version\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.system.branch,\n expression: \"system.branch\"\n }\n ],\n staticClass:\n \"form-control input-sm margin-bottom-5\",\n attrs: {\n id: \"github_remote_branches\",\n name: \"github_remote_branches\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.system,\n \"branch\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n [\n _c(\n \"option\",\n { attrs: { disabled: \"\", value: \"\" } },\n [_vm._v(\"Please select a branch\")]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.githubRemoteBranchesOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n staticStyle: { \"margin-left\": \"6px\" },\n attrs: {\n disabled: !_vm.githubBranches.length > 0,\n type: \"button\",\n id: \"branchCheckout\",\n value: \"Checkout Branch\"\n }\n }),\n _vm._v(\" \"),\n !_vm.githubBranches.length > 0\n ? _c(\n \"span\",\n { staticStyle: { color: \"rgb(255, 0, 0)\" } },\n [_c(\"p\", [_vm._v(\"Error: No branches found.\")])]\n )\n : _c(\"p\", [\n _vm._v(\n \"select branch to use (restart required)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"date_presets\",\n label: \"GitHub authentication type\"\n }\n },\n [\n _c(\"div\", { staticClass: \"radio-item\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.general.git.authType,\n expression: \"general.git.authType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"git_auth_type_basic\",\n id: \"git_auth_type_basic\"\n },\n domProps: {\n value: 0,\n checked: _vm._q(_vm.general.git.authType, 0)\n },\n on: {\n change: function($event) {\n return _vm.$set(\n _vm.general.git,\n \"authType\",\n 0\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"one\" } }, [\n _vm._v(\"Username and password\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"radio-item\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.general.git.authType,\n expression: \"general.git.authType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"git_auth_type_token\",\n id: \"git_auth_type_token\"\n },\n domProps: {\n value: 1,\n checked: _vm._q(_vm.general.git.authType, 1)\n },\n on: {\n change: function($event) {\n return _vm.$set(\n _vm.general.git,\n \"authType\",\n 1\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"one\" } }, [\n _vm._v(\"Personal access token\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n 'You must use a personal access token if you\\'re using \"two-factor authentication\" on GitHub.'\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.general.git.authType === 0,\n expression: \"general.git.authType === 0\"\n }\n ]\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"GitHub username\",\n id: \"git_username\"\n },\n model: {\n value: _vm.general.git.username,\n callback: function($$v) {\n _vm.$set(_vm.general.git, \"username\", $$v)\n },\n expression: \"general.git.username\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"*** (REQUIRED FOR SUBMITTING ISSUES) ***\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"GitHub password\",\n id: \"git_password\",\n type: \"password\"\n },\n model: {\n value: _vm.general.git.password,\n callback: function($$v) {\n _vm.$set(_vm.general.git, \"password\", $$v)\n },\n expression: \"general.git.password\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"*** (REQUIRED FOR SUBMITTING ISSUES) ***\"\n )\n ])\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.general.git.authType !== 0,\n expression: \"general.git.authType !== 0\"\n }\n ]\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"GitHub personal access token\",\n id: \"git_token\",\n \"input-class\": \"display-inline margin-bottom-5\"\n },\n nativeOn: {\n focus: function($event) {\n return $event.target.select()\n }\n },\n model: {\n value: _vm.general.git.token,\n callback: function($$v) {\n _vm.$set(_vm.general.git, \"token\", $$v)\n },\n expression: \"general.git.token\"\n }\n },\n [\n _vm.general.git.token === \"\"\n ? [\n _c(\n \"v-popover\",\n {\n attrs: {\n trigger: \"click\",\n offset: \"16\",\n placement: \"right\",\n popoverBaseClass: \"tooltip-base\",\n popoverClass:\n \"tooltip-themed\" +\n (_vm.layout.themeName === \"dark\"\n ? \"-dark\"\n : \"-light\")\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n id: \"create_access_token\",\n value: \"Generate Token\"\n }\n }),\n _vm._v(\" \"),\n _c(\"template\", { slot: \"popover\" }, [\n _c(\n \"div\",\n { staticClass: \"tooltip-title\" },\n [_vm._v(\"Github Token\")]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"tooltip-content\" },\n [\n _c(\"p\", [\n _vm._v(\n \"Copy the generated token and paste it in the token input box.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\n \"a\",\n {\n attrs: {\n href:\n (_vm.general\n .anonRedirect || \"\") +\n \"https://github.com/settings/tokens/new?description=Medusa&scopes=gist,public_repo\",\n target: \"_blank\"\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value:\n \"Continue to Github...\"\n }\n })\n ]\n )\n ]),\n _c(\"br\")\n ]\n )\n ])\n ],\n 2\n )\n ]\n : [\n _c(\n \"a\",\n {\n attrs: {\n href:\n (_vm.general.anonRedirect || \"\") +\n \"https://github.com/settings/tokens\",\n target: \"_blank\"\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n id: \"manage_tokens\",\n value: \"Manage Tokens\"\n }\n })\n ]\n )\n ],\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"*** (REQUIRED FOR SUBMITTING ISSUES) ***\"\n )\n ])\n ],\n 2\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"GitHub remote for branch\",\n id: \"git_remote\"\n },\n model: {\n value: _vm.general.git.remote,\n callback: function($$v) {\n _vm.$set(_vm.general.git, \"remote\", $$v)\n },\n expression: \"general.git.remote\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"default:origin. Access repo configured remotes (save then refresh browser)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"Git executable path\",\n id: \"git_path\"\n },\n model: {\n value: _vm.general.git.path,\n callback: function($$v) {\n _vm.$set(_vm.general.git, \"path\", $$v)\n },\n expression: \"general.git.path\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"only needed if OS is unable to locate git from env\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.general.developer\n ? _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"Git reset\", id: \"git_reset\" },\n model: {\n value: _vm.general.git.reset,\n callback: function($$v) {\n _vm.$set(_vm.general.git, \"reset\", $$v)\n },\n expression: \"general.git.reset\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"removes untracked files and performs a hard reset on git branch automatically to help resolve update issues\"\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.general.developer\n ? _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"git_reset_branches\",\n label: \"Branches to reset\"\n }\n },\n [\n _c(\"multiselect\", {\n attrs: {\n multiple: true,\n options: _vm.githubBranches\n },\n model: {\n value: _vm.general.git.resetBranches,\n callback: function($$v) {\n _vm.$set(\n _vm.general.git,\n \"resetBranches\",\n $$v\n )\n },\n expression: \"general.git.resetBranches\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n staticStyle: { \"margin-left\": \"6px\" },\n attrs: {\n type: \"button\",\n id: \"branch_force_update\",\n value: \"Update Branches\"\n },\n on: { click: _vm.githubBranchForceUpdate }\n }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"component-desc\" }, [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" Empty selection means that any branch could be reset.\"\n )\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"h6\", { staticClass: \"pull-right\" }, [\n _c(\"b\", [\n _vm._v(\"All non-absolute folder locations are relative to \"),\n _c(\"span\", { staticClass: \"path\" }, [\n _vm._v(_vm._s(_vm.system.dataDir))\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa pull-left config_submitter button\",\n attrs: { type: \"submit\", value: \"Save Changes\" }\n })\n ])\n ]\n )\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Misc\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Startup options. Indexer options. Log and show file locations.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [\n _vm._v(\"Some options may require a manual restart to take effect.\")\n ])\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Indexer\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Options for controlling the show indexers.\")])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Updates\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Options for software updates.\")])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"User Interface\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Options for visual appearance.\")])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Web Interface\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"It is recommended that you enable a username and password to secure Medusa from being tampered with remotely.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [\n _vm._v(\"These options require a manual restart to take effect.\")\n ])\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [_c(\"h3\", [_vm._v(\"Advanced Settings\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [_c(\"h3\", [_vm._v(\"Logging\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"GitHub\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Options for github related features.\")])\n ]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/config-general.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-notifications.vue?vue&type=template&id=aafa21a6&": -/*!**************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-notifications.vue?vue&type=template&id=aafa21a6& ***! - \**************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"config-notifications\" } },\n [\n _c(\"vue-snotify\"),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"config\" } }, [\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n attrs: { id: \"configForm\", method: \"post\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.save()\n }\n }\n },\n [\n _c(\"div\", { attrs: { id: \"config-components\" } }, [\n _c(\"ul\", [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#home-theater-nas\" } }, [\n _vm._v(\"Home Theater / NAS\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#devices\" } }, [\n _vm._v(\"Devices\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#social\" } }, [\n _vm._v(\"Social\")\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"home-theater-nas\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-kodi\",\n attrs: { title: \"KODI\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://kodi.tv\" } },\n [_vm._v(\"KODI\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"A free and open source cross-platform media center and home entertainment system software with a 10-foot user interface designed for the living-room TV.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_kodi\",\n explanations: [\"Send KODI commands?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.kodi, \"enabled\", $$v)\n },\n expression: \"notifiers.kodi.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.kodi.enabled,\n expression: \"notifiers.kodi.enabled\"\n }\n ],\n attrs: { id: \"content-use-kodi\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Always on\",\n id: \"kodi_always_on\",\n explanations: [\"log errors when unreachable?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.alwaysOn,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"alwaysOn\",\n $$v\n )\n },\n expression: \"notifiers.kodi.alwaysOn\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"kodi_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.kodi.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"kodi_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression: \"notifiers.kodi.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"kodi_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.kodi.notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.kodi.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Update library\",\n id: \"kodi_update_library\",\n explanations: [\n \"update KODI library when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.update.library,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi.update,\n \"library\",\n $$v\n )\n },\n expression: \"notifiers.kodi.update.library\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Full library update\",\n id: \"kodi_update_full\",\n explanations: [\n \"perform a full library update if update per-show fails?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.update.full,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi.update,\n \"full\",\n $$v\n )\n },\n expression: \"notifiers.kodi.update.full\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Clean library\",\n id: \"kodi_clean_library\",\n explanations: [\n \"clean KODI library when replaces a already downloaded episode?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.cleanLibrary,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"cleanLibrary\",\n $$v\n )\n },\n expression: \"notifiers.kodi.cleanLibrary\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Only update first host\",\n id: \"kodi_update_onlyfirst\",\n explanations: [\n \"only send library updates/clean to the first active host?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.update.onlyFirst,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi.update,\n \"onlyFirst\",\n $$v\n )\n },\n expression: \"notifiers.kodi.update.onlyFirst\"\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"kodi_host\",\n id: \"kodi_host\",\n \"list-items\": _vm.notifiers.kodi.host\n },\n on: {\n change: function($event) {\n _vm.notifiers.kodi.host = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"host running KODI (eg. 192.168.1.100:8080)\"\n )\n ])\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Username\",\n id: \"kodi_username\",\n explanations: [\n \"username for your KODI server (blank for none)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.username,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"username\",\n $$v\n )\n },\n expression: \"notifiers.kodi.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"Password\",\n id: \"kodi_password\",\n explanations: [\n \"password for your KODI server (blank for none)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.kodi.password,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.kodi,\n \"password\",\n $$v\n )\n },\n expression: \"notifiers.kodi.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testKODI-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test KODI\",\n id: \"testKODI\"\n },\n on: { click: _vm.testKODI }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-plex\",\n attrs: { title: \"Plex Media Server\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://plex.tv\" } },\n [_vm._v(\"Plex Media Server\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Experience your media on a visually stunning, easy to use interface on your Mac connected to your TV. Your media library has never looked this good!\"\n )\n ]),\n _vm._v(\" \"),\n _vm.notifiers.plex.server.enabled\n ? _c(\"p\", { staticClass: \"plexinfo\" }, [\n _vm._v(\n \"For sending notifications to Plex Home Theater (PHT) clients, use the KODI notifier with port \"\n ),\n _c(\"b\", [_vm._v(\"3005\")]),\n _vm._v(\".\")\n ])\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_plex_server\",\n explanations: [\"Send Plex server notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.server.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.server,\n \"enabled\",\n $$v\n )\n },\n expression: \"notifiers.plex.server.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.plex.server.enabled,\n expression: \"notifiers.plex.server.enabled\"\n }\n ],\n attrs: { id: \"content-use-plex-server\" }\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"Plex Media Server Auth Token\",\n id: \"plex_server_token\"\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.server.token,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.server,\n \"token\",\n $$v\n )\n },\n expression: \"notifiers.plex.server.token\"\n }\n },\n [\n _c(\"p\", [_vm._v(\"Auth Token used by plex\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\n \"span\",\n [\n _vm._v(\"See: \"),\n _c(\n \"app-link\",\n {\n staticClass: \"wiki\",\n attrs: {\n href:\n \"https://support.plex.tv/hc/en-us/articles/204059436-Finding-your-account-token-X-Plex-Token\"\n }\n },\n [\n _c(\"strong\", [\n _vm._v(\n \"Finding your account token\"\n )\n ])\n ]\n )\n ],\n 1\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Username\",\n id: \"plex_server_username\",\n explanations: [\"blank = no authentication\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.server.username,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.server,\n \"username\",\n $$v\n )\n },\n expression: \"notifiers.plex.server.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"Password\",\n id: \"plex_server_password\",\n explanations: [\"blank = no authentication\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.server.password,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.server,\n \"password\",\n $$v\n )\n },\n expression: \"notifiers.plex.server.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Update Library\",\n id: \"plex_update_library\",\n explanations: [\"log errors when unreachable?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.plex.server.updateLibrary,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.server,\n \"updateLibrary\",\n $$v\n )\n },\n expression:\n \"notifiers.plex.server.updateLibrary\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"plex_server_host\",\n label: \"Plex Media Server IP:Port\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"plex_server_host\",\n id: \"plex_server_host\",\n \"list-items\":\n _vm.notifiers.plex.server.host\n },\n on: {\n change: function($event) {\n _vm.notifiers.plex.server.host = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"one or more hosts running Plex Media Server\"\n ),\n _c(\"br\"),\n _vm._v(\n \"(eg. 192.168.1.1:32400, 192.168.1.2:32400)\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"HTTPS\",\n id: \"plex_server_https\",\n explanations: [\n \"use https for plex media server requests?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.server.https,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.server,\n \"https\",\n $$v\n )\n },\n expression: \"notifiers.plex.server.https\"\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"field-pair\" }, [\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testPMS-result\" }\n },\n [\n _vm._v(\n \"Click below to test Plex Media Server(s)\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Plex Media Server\",\n id: \"testPMS\"\n },\n on: { click: _vm.testPMS }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"clear-left\" }, [\n _vm._v(\" \")\n ])\n ])\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-plexth\",\n attrs: { title: \"Plex Media Client\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://plex.tv\" } },\n [_vm._v(\"Plex Home Theater\")]\n )\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_plex_client\",\n explanations: [\n \"Send Plex Home Theater notifications?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.client.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.client,\n \"enabled\",\n $$v\n )\n },\n expression: \"notifiers.plex.client.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.plex.client.enabled,\n expression: \"notifiers.plex.client.enabled\"\n }\n ],\n attrs: { id: \"content-use-plex-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"plex_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.plex.client.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.client,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.plex.client.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"plex_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.plex.client.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.client,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.plex.client.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"plex_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.plex.client\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.client,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.plex.client.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"plex_client_host\",\n label: \"Plex Home Theater IP:Port\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"plex_client_host\",\n id: \"plex_client_host\",\n \"list-items\":\n _vm.notifiers.plex.client.host\n },\n on: {\n change: function($event) {\n _vm.notifiers.plex.client.host = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"one or more hosts running Plex Home Theater\"\n ),\n _c(\"br\"),\n _vm._v(\n \"(eg. 192.168.1.100:3000, 192.168.1.101:3000)\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Username\",\n id: \"plex_client_username\",\n explanations: [\"blank = no authentication\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.client.username,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.client,\n \"username\",\n $$v\n )\n },\n expression: \"notifiers.plex.client.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"Password\",\n id: \"plex_client_password\",\n explanations: [\"blank = no authentication\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.plex.client.password,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.plex.client,\n \"password\",\n $$v\n )\n },\n expression: \"notifiers.plex.client.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"field-pair\" }, [\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testPHT-result\" }\n },\n [\n _vm._v(\n \"Click below to test Plex Home Theater(s)\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Plex Home Theater\",\n id: \"testPHT\"\n },\n on: { click: _vm.testPHT }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _vm._m(1)\n ])\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-emby\",\n attrs: { title: \"Emby\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://emby.media\" } },\n [_vm._v(\"Emby\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"A home media server built using other popular open source technologies.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_emby\",\n explanations: [\"Send update commands to Emby?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.emby.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.emby, \"enabled\", $$v)\n },\n expression: \"notifiers.emby.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.emby.enabled,\n expression: \"notifiers.emby.enabled\"\n }\n ],\n attrs: { id: \"content_use_emby\" }\n },\n [\n _c(\"config-textbox\", {\n attrs: {\n label: \"Emby IP:Port\",\n id: \"emby_host\",\n explanations: [\n \"host running Emby (eg. 192.168.1.100:8096)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.emby.host,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.emby, \"host\", $$v)\n },\n expression: \"notifiers.emby.host\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: { label: \"Api Key\", id: \"emby_apikey\" },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.emby.apiKey,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.emby, \"apiKey\", $$v)\n },\n expression: \"notifiers.emby.apiKey\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testEMBY-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Emby\",\n id: \"testEMBY\"\n },\n on: { click: _vm.testEMBY }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-nmj\",\n attrs: { title: \"Networked Media Jukebox\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"http://www.popcornhour.com/\" }\n },\n [_vm._v(\"NMJ\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The Networked Media Jukebox, or NMJ, is the official media jukebox interface made available for the Popcorn Hour 200-series.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_nmj\",\n explanations: [\"Send update commands to NMJ?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmj.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.nmj, \"enabled\", $$v)\n },\n expression: \"notifiers.nmj.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.nmj.enabled,\n expression: \"notifiers.nmj.enabled\"\n }\n ],\n attrs: { id: \"content-use-nmj\" }\n },\n [\n _c(\"config-textbox\", {\n attrs: {\n label: \"Popcorn IP address\",\n id: \"nmj_host\",\n explanations: [\n \"IP address of Popcorn 200-series (eg. 192.168.1.100)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmj.host,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.nmj, \"host\", $$v)\n },\n expression: \"notifiers.nmj.host\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"settingsNMJ\",\n label: \"Get settings\"\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n value: \"Get Settings\",\n id: \"settingsNMJ\"\n },\n on: { click: _vm.settingsNMJ }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"the Popcorn Hour device must be powered on and NMJ running.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"NMJ database\",\n id: \"nmj_database\",\n explanations: [\n \"automatically filled via the 'Get Settings' button.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmj.database,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.nmj, \"database\", $$v)\n },\n expression: \"notifiers.nmj.database\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"NMJ mount\",\n id: \"nmj_mount\",\n explanations: [\n \"automatically filled via the 'Get Settings' button.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmj.mount,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.nmj, \"mount\", $$v)\n },\n expression: \"notifiers.nmj.mount\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testNMJ-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test NMJ\",\n id: \"testNMJ\"\n },\n on: { click: _vm.testNMJ }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-nmj\",\n attrs: { title: \"Networked Media Jukebox v2\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n {\n attrs: { href: \"http://www.popcornhour.com/\" }\n },\n [_vm._v(\"NMJv2\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The Networked Media Jukebox, or NMJv2, is the official media jukebox interface made available for the Popcorn Hour 300 & 400-series.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_nmjv2\",\n explanations: [\n \"Send popcorn hour (nmjv2) notifications?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmjv2.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.nmjv2, \"enabled\", $$v)\n },\n expression: \"notifiers.nmjv2.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.nmjv2.enabled,\n expression: \"notifiers.nmjv2.enabled\"\n }\n ],\n attrs: { id: \"content-use-nmjv2\" }\n },\n [\n _c(\"config-textbox\", {\n attrs: {\n label: \"Popcorn IP address\",\n id: \"nmjv2_host\",\n explanations: [\n \"IP address of Popcorn 300/400-series (eg. 192.168.1.100)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmjv2.host,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.nmjv2, \"host\", $$v)\n },\n expression: \"notifiers.nmjv2.host\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"nmjv2_database_location\",\n label: \"Database location\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"space-right\",\n attrs: { for: \"NMJV2_DBLOC_A\" }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.notifiers.nmjv2.dbloc,\n expression: \"notifiers.nmjv2.dbloc\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"nmjv2_dbloc\",\n VALUE: \"local\",\n id: \"NMJV2_DBLOC_A\"\n },\n domProps: {\n checked: _vm._q(\n _vm.notifiers.nmjv2.dbloc,\n null\n )\n },\n on: {\n change: function($event) {\n return _vm.$set(\n _vm.notifiers.nmjv2,\n \"dbloc\",\n null\n )\n }\n }\n }),\n _vm._v(\n \"\\n PCH Local Media\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: \"NMJV2_DBLOC_B\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.notifiers.nmjv2.dbloc,\n expression: \"notifiers.nmjv2.dbloc\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"nmjv2_dbloc\",\n VALUE: \"network\",\n id: \"NMJV2_DBLOC_B\"\n },\n domProps: {\n checked: _vm._q(\n _vm.notifiers.nmjv2.dbloc,\n null\n )\n },\n on: {\n change: function($event) {\n return _vm.$set(\n _vm.notifiers.nmjv2,\n \"dbloc\",\n null\n )\n }\n }\n }),\n _vm._v(\n \"\\n PCH Network Media\\n \"\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"nmjv2_database_instance\",\n label: \"Database instance\"\n }\n },\n [\n _c(\n \"select\",\n {\n staticClass: \"form-control input-sm\",\n attrs: { id: \"NMJv2db_instance\" }\n },\n [\n _c(\"option\", { attrs: { value: \"0\" } }, [\n _vm._v(\"#1 \")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"1\" } }, [\n _vm._v(\"#2 \")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"2\" } }, [\n _vm._v(\"#3 \")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"3\" } }, [\n _vm._v(\"#4 \")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"4\" } }, [\n _vm._v(\"#5 \")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"5\" } }, [\n _vm._v(\"#6 \")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"6\" } }, [\n _vm._v(\"#7 \")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"adjust this value if the wrong database is selected.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"get_nmjv2_find_database\",\n label: \"Find database\"\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n value: \"Find Database\",\n id: \"settingsNMJv2\"\n },\n on: { click: _vm.settingsNMJv2 }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"the Popcorn Hour device must be powered on.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"NMJv2 database\",\n id: \"nmjv2_database\",\n explanations: [\n \"automatically filled via the 'Find Database' buttons.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.nmjv2.database,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.nmjv2,\n \"database\",\n $$v\n )\n },\n expression: \"notifiers.nmjv2.database\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testNMJv2-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test NMJv2\",\n id: \"testNMJv2\"\n },\n on: { click: _vm.testNMJv2 }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-syno1\",\n attrs: { title: \"Synology\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://synology.com/\" } },\n [_vm._v(\"Synology\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"The Synology DiskStation NAS.\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Synology Indexer is the daemon running on the Synology NAS to build its media database.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"HTTPS\",\n id: \"use_synoindex\",\n explanations: [\n \"Note: requires Medusa to be running on your Synology NAS.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.synologyIndex.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.synologyIndex,\n \"enabled\",\n $$v\n )\n },\n expression: \"notifiers.synologyIndex.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.synologyIndex.enabled,\n expression: \"notifiers.synologyIndex.enabled\"\n }\n ],\n attrs: { id: \"content_use_synoindex\" }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ]\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-syno2\",\n attrs: { title: \"Synology Indexer\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://synology.com/\" } },\n [_vm._v(\"Synology Notifier\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Synology Notifier is the notification system of Synology DSM\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_synologynotifier\",\n explanations: [\n \"Send notifications to the Synology Notifier?\",\n \"Note: requires Medusa to be running on your Synology DSM.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.synology.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.synology, \"enabled\", $$v)\n },\n expression: \"notifiers.synology.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.synology.enabled,\n expression: \"notifiers.synology.enabled\"\n }\n ],\n attrs: { id: \"content-use-synology-notifier\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.synology.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.synology,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.synology.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"synology_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.synology.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.synology,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.synology.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"synology_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.synology\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.synology,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.synology.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-pytivo\",\n attrs: { title: \"pyTivo\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://pytivo.sourceforge.net/wiki/index.php/PyTivo\"\n }\n },\n [_vm._v(\"pyTivo\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"pyTivo is both an HMO and GoBack server. This notifier will load the completed downloads to your Tivo.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_pytivo\",\n explanations: [\"Send notifications to pyTivo?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pyTivo.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.pyTivo, \"enabled\", $$v)\n },\n expression: \"notifiers.pyTivo.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.pyTivo.enabled,\n expression: \"notifiers.pyTivo.enabled\"\n }\n ],\n attrs: { id: \"content-use-pytivo\" }\n },\n [\n _c(\"config-textbox\", {\n attrs: {\n label: \"pyTivo IP:Port\",\n id: \"pytivo_host\",\n explanations: [\n \"host running pyTivo (eg. 192.168.1.1:9032)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pyTivo.host,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.pyTivo, \"host\", $$v)\n },\n expression: \"notifiers.pyTivo.host\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"pyTivo share name\",\n id: \"pytivo_name\",\n explanations: [\n \"(Messages & Settings > Account & System Information > System Information > DVR name)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pyTivo.shareName,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pyTivo,\n \"shareName\",\n $$v\n )\n },\n expression: \"notifiers.pyTivo.shareName\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Tivo name\",\n id: \"pytivo_tivo_name\",\n explanations: [\n \"value used in pyTivo Web Configuration to name the share.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pyTivo.name,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.pyTivo, \"name\", $$v)\n },\n expression: \"notifiers.pyTivo.name\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"devices\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-growl\",\n attrs: { title: \"Growl\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://growl.info/\" } },\n [_vm._v(\"Growl\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"A cross-platform unobtrusive global notification system.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_growl_client\",\n explanations: [\"Send Growl notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.growl.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.growl, \"enabled\", $$v)\n },\n expression: \"notifiers.growl.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.growl.enabled,\n expression: \"notifiers.growl.enabled\"\n }\n ],\n attrs: { id: \"content-use-growl-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"growl_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.growl.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.growl,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.growl.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"growl_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.growl.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.growl,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression: \"notifiers.growl.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"growl_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.growl\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.growl,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.growl.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Growl IP:Port\",\n id: \"growl_host\",\n explanations: [\n \"host running Growl (eg. 192.168.1.100:23053)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.growl.host,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.growl, \"host\", $$v)\n },\n expression: \"notifiers.growl.host\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"Password\",\n id: \"growl_password\",\n explanations: [\n \"may leave blank if Medusa is on the same host.\",\n \"otherwise Growl requires a password to be used.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.growl.password,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.growl,\n \"password\",\n $$v\n )\n },\n expression: \"notifiers.growl.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testGrowl-result\" }\n },\n [\n _vm._v(\n \"Click below to register and test Growl, this is required for Growl notifications to work.\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Register Growl\",\n id: \"testGrowl\"\n },\n on: { click: _vm.testGrowl }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-prowl\",\n attrs: { title: \"Prowl\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://www.prowlapp.com/\" } },\n [_vm._v(\"Prowl\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"A Growl client for iOS.\")])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_prowl\",\n explanations: [\"Send Prowl notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.prowl.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.prowl, \"enabled\", $$v)\n },\n expression: \"notifiers.prowl.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.prowl.enabled,\n expression: \"notifiers.prowl.enabled\"\n }\n ],\n attrs: { id: \"content-use-prowl\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"prowl_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.prowl.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.prowl,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.prowl.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"prowl_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.prowl.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.prowl,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression: \"notifiers.prowl.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"prowl_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.prowl\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.prowl,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.prowl.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Prowl Message Title\",\n id: \"prowl_message_title\"\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.prowl.messageTitle,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.prowl,\n \"messageTitle\",\n $$v\n )\n },\n expression: \"notifiers.prowl.messageTitle\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"prowl_api\",\n label: \"Api\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"prowl_api\",\n id: \"prowl_api\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.notifiers.prowl.api\n },\n on: { change: _vm.onChangeProwlApi }\n }),\n _vm._v(\" \"),\n _c(\n \"span\",\n [\n _vm._v(\n \"Prowl API(s) listed here, will receive notifications for \"\n ),\n _c(\"b\", [_vm._v(\"all\")]),\n _vm._v(\n \" shows.\\n Your Prowl API key is available at:\\n \"\n ),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://www.prowlapp.com/api_settings.php\"\n }\n },\n [\n _vm._v(\n \"\\n https://www.prowlapp.com/api_settings.php\"\n )\n ]\n ),\n _c(\"br\"),\n _vm._v(\n \"\\n (This field may be blank except when testing.)\\n \"\n )\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"prowl_show_notification_list\",\n label: \"Show notification list\"\n }\n },\n [\n _c(\"show-selector\", {\n attrs: {\n \"select-class\":\n \"form-control input-sm max-input350\",\n placeholder: \"-- Select a Show --\"\n },\n on: {\n change: function($event) {\n return _vm.prowlUpdateApiKeys($event)\n }\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n {\n staticClass:\n \"offset-sm-2 col-sm-offset-2 col-sm-10 content\"\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"prowl-show-list\",\n id: \"prowl-show-list\",\n \"list-items\":\n _vm.prowlSelectedShowApiKeys\n },\n on: {\n change: function($event) {\n return _vm.savePerShowNotifyList(\n \"prowl\",\n $event\n )\n }\n }\n }),\n _vm._v(\n \"\\n Configure per-show notifications here by entering Prowl API key(s), after selecting a show in the drop-down box.\\n Be sure to activate the 'Save for this show' button below after each entry.\\n \"\n ),\n _c(\"span\", [\n _vm._v(\n \"The values are automatically saved when adding the api key.\"\n )\n ])\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"prowl_priority\",\n label: \"Prowl priority\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.notifiers.prowl.priority,\n expression: \"notifiers.prowl.priority\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"prowl_priority\",\n name: \"prowl_priority\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.notifiers.prowl,\n \"priority\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.prowlPriorityOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"priority of Prowl messages from Medusa.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testProwl-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Prowl\",\n id: \"testProwl\"\n },\n on: { click: _vm.testProwl }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-libnotify\",\n attrs: { title: \"Libnotify\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://library.gnome.org/devel/libnotify/\"\n }\n },\n [_vm._v(\"Libnotify\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"p\",\n [\n _vm._v(\n \"The standard desktop notification API for Linux/*nix systems. This notifier will only function if the pynotify module is installed (Ubuntu/Debian package \"\n ),\n _c(\n \"app-link\",\n { attrs: { href: \"apt:python-notify\" } },\n [_vm._v(\"python-notify\")]\n ),\n _vm._v(\").\")\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_libnotify_client\",\n explanations: [\"Send Libnotify notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.libnotify.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.libnotify,\n \"enabled\",\n $$v\n )\n },\n expression: \"notifiers.libnotify.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.libnotify.enabled,\n expression: \"notifiers.libnotify.enabled\"\n }\n ],\n attrs: { id: \"content-use-libnotify\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"libnotify_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.libnotify.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.libnotify,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.libnotify.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"libnotify_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.libnotify.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.libnotify,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.libnotify.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"libnotify_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.libnotify\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.libnotify,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.libnotify.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testLibnotify-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Libnotify\",\n id: \"testLibnotify\"\n },\n on: { click: _vm.testLibnotify }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-pushover\",\n attrs: { title: \"Pushover\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://pushover.net/\" } },\n [_vm._v(\"Pushover\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Pushover makes it easy to send real-time notifications to your Android and iOS devices.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_pushover_client\",\n explanations: [\"Send Pushover notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushover.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.pushover, \"enabled\", $$v)\n },\n expression: \"notifiers.pushover.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.pushover.enabled,\n expression: \"notifiers.pushover.enabled\"\n }\n ],\n attrs: { id: \"content-use-pushover\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"pushover_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushover.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushover,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.pushover.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"pushover_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushover.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushover,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.pushover.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"pushover_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushover\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushover,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.pushover.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Pushover User Key\",\n id: \"pushover_userkey\",\n explanations: [\n \"User Key of your Pushover account\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushover.userKey,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushover,\n \"userKey\",\n $$v\n )\n },\n expression: \"notifiers.pushover.userKey\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"Pushover API Key\",\n id: \"pushover_apikey\"\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushover.apiKey,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushover,\n \"apiKey\",\n $$v\n )\n },\n expression: \"notifiers.pushover.apiKey\"\n }\n },\n [\n _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://pushover.net/apps/build/\"\n }\n },\n [_c(\"b\", [_vm._v(\"Click here\")])]\n ),\n _vm._v(\" to create a Pushover API key\")\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"pushover_device\",\n label: \"Pushover Devices\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"pushover_device\",\n id: \"pushover_device\",\n \"list-items\":\n _vm.notifiers.pushover.device\n },\n on: {\n change: function($event) {\n _vm.notifiers.pushover.device = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"List of pushover devices you want to send notifications to\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"pushover_sound\",\n label: \"Pushover notification sound\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.notifiers.pushover.sound,\n expression: \"notifiers.pushover.sound\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"pushover_sound\",\n name: \"pushover_sound\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.notifiers.pushover,\n \"sound\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.pushoverSoundOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Choose notification sound to use\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"pushover_priority\",\n label: \"Pushover notification priority\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.notifiers.pushover.priority,\n expression:\n \"notifiers.pushover.priority\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"pushover_priority\",\n name: \"pushover_priority\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.notifiers.pushover,\n \"priority\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(\n _vm.pushoverPriorityOptions,\n function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }\n ),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"priority of Pushover messages from Medusa\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testPushover-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Pushover\",\n id: \"testPushover\"\n },\n on: { click: _vm.testPushover }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-boxcar2\",\n attrs: { title: \"Boxcar 2\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://new.boxcar.io/\" } },\n [_vm._v(\"Boxcar 2\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Read your messages where and when you want them!\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_boxcar2\",\n explanations: [\"Send boxcar2 notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.boxcar2.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.boxcar2, \"enabled\", $$v)\n },\n expression: \"notifiers.boxcar2.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.boxcar2.enabled,\n expression: \"notifiers.boxcar2.enabled\"\n }\n ],\n attrs: { id: \"content-use-boxcar2-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"boxcar2_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.boxcar2.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.boxcar2,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.boxcar2.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"boxcar2_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.boxcar2.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.boxcar2,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.boxcar2.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"boxcar2_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.boxcar2\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.boxcar2,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.boxcar2.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Boxcar2 Access token\",\n id: \"boxcar2_accesstoken\",\n explanations: [\n \"access token for your Boxcar account.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.boxcar2.accessToken,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.boxcar2,\n \"accessToken\",\n $$v\n )\n },\n expression: \"notifiers.boxcar2.accessToken\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testBoxcar2-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Boxcar\",\n id: \"testBoxcar2\"\n },\n on: { click: _vm.testBoxcar2 }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-pushalot\",\n attrs: { title: \"Pushalot\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://pushalot.com\" } },\n [_vm._v(\"Pushalot\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Pushalot is a platform for receiving custom push notifications to connected devices running Windows Phone or Windows 8.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_pushalot\",\n explanations: [\"Send Pushalot notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushalot.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.pushalot, \"enabled\", $$v)\n },\n expression: \"notifiers.pushalot.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.pushalot.enabled,\n expression: \"notifiers.pushalot.enabled\"\n }\n ],\n attrs: { id: \"content-use-pushalot-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"pushalot_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushalot.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushalot,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.pushalot.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"pushalot_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushalot.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushalot,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.pushalot.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"pushalot_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushalot\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushalot,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.pushalot.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Pushalot authorization token\",\n id: \"pushalot_authorizationtoken\",\n explanations: [\n \"authorization token of your Pushalot account.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushalot.authToken,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushalot,\n \"authToken\",\n $$v\n )\n },\n expression: \"notifiers.pushalot.authToken\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testPushalot-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Pushalot\",\n id: \"testPushalot\"\n },\n on: { click: _vm.testPushalot }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-pushbullet\",\n attrs: { title: \"Pushbullet\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://www.pushbullet.com\" } },\n [_vm._v(\"Pushbullet\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Pushbullet is a platform for receiving custom push notifications to connected devices running Android and desktop Chrome browsers.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_pushbullet\",\n explanations: [\"Send pushbullet notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushbullet.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushbullet,\n \"enabled\",\n $$v\n )\n },\n expression: \"notifiers.pushbullet.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.pushbullet.enabled,\n expression: \"notifiers.pushbullet.enabled\"\n }\n ],\n attrs: { id: \"content-use-pushbullet-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"pushbullet_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushbullet.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushbullet,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.pushbullet.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"pushbullet_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushbullet.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushbullet,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.pushbullet.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"pushbullet_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.pushbullet\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushbullet,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.pushbullet.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Pushbullet API key\",\n id: \"pushbullet_api\",\n explanations: [\n \"API key of your Pushbullet account.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.pushbullet.api,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.pushbullet,\n \"api\",\n $$v\n )\n },\n expression: \"notifiers.pushbullet.api\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"pushbullet_device_list\",\n label: \"Pushbullet devices\"\n }\n },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n value: \"Update device list\",\n id: \"get-pushbullet-devices\"\n },\n on: {\n click: _vm.getPushbulletDeviceOptions\n }\n }),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.notifiers.pushbullet.device,\n expression:\n \"notifiers.pushbullet.device\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"pushbullet_device_list\",\n name: \"pushbullet_device_list\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.notifiers.pushbullet,\n \"device\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(\n _vm.pushbulletDeviceOptions,\n function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value },\n on: {\n change: function($event) {\n _vm.pushbulletTestInfo =\n \"Don't forget to save your new pushbullet settings.\"\n }\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }\n ),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"select device you wish to push to.\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testPushbullet-resultsfsf\" }\n },\n [_vm._v(_vm._s(_vm.pushbulletTestInfo))]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Pushbullet\",\n id: \"testPushbullet\"\n },\n on: { click: _vm.testPushbulletApi }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-join\",\n attrs: { title: \"Join\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://joaoapps.com/join/\" } },\n [_vm._v(\"Join\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Join is a platform for receiving custom push notifications to connected devices running Android and desktop Chrome browsers.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_join\",\n explanations: [\"Send join notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.join.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.join, \"enabled\", $$v)\n },\n expression: \"notifiers.join.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.join.enabled,\n expression: \"notifiers.join.enabled\"\n }\n ],\n attrs: { id: \"content-use-join-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"join_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.join.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.join,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.join.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"join_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.join.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.join,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression: \"notifiers.join.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"join_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.join.notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.join,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.join.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Join API key\",\n id: \"join_api\",\n explanations: [\n \"API key of your Join account.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.join.api,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.join, \"api\", $$v)\n },\n expression: \"notifiers.join.api\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Join Device ID(s) key\",\n id: \"join_device\",\n explanations: [\n \"Enter DeviceID of the device(s) you wish to send notifications to, comma separated if using multiple.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.join.device,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.join, \"device\", $$v)\n },\n expression: \"notifiers.join.device\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testJoin-result\" }\n },\n [_vm._v(_vm._s(_vm.joinTestInfo))]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Join\",\n id: \"testJoin\"\n },\n on: { click: _vm.testJoinApi }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-freemobile\",\n attrs: { title: \"Free Mobile\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"http://mobile.free.fr/\" } },\n [_vm._v(\"Free Mobile\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Free Mobile is a famous French cellular network provider. It provides to their customer a free SMS API.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_freemobile\",\n explanations: [\"Send SMS notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.freemobile.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.freemobile,\n \"enabled\",\n $$v\n )\n },\n expression: \"notifiers.freemobile.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.freemobile.enabled,\n expression: \"notifiers.freemobile.enabled\"\n }\n ],\n attrs: { id: \"content-use-freemobile-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"freemobile_notify_onsnatch\",\n explanations: [\n \"send an SMS when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.freemobile.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.freemobile,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.freemobile.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"freemobile_notify_ondownload\",\n explanations: [\n \"send an SMS when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.freemobile.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.freemobile,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.freemobile.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"freemobile_notify_onsubtitledownload\",\n explanations: [\n \"send an SMS when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.freemobile\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.freemobile,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.freemobile.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Free Mobile customer ID\",\n id: \"freemobile_id\",\n explanations: [\n \"It's your Free Mobile customer ID (8 digits)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.freemobile.id,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.freemobile,\n \"id\",\n $$v\n )\n },\n expression: \"notifiers.freemobile.id\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Free Mobile API Key\",\n id: \"freemobile_apikey\",\n explanations: [\n \"Find your API Key in your customer portal.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.freemobile.api,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.freemobile,\n \"api\",\n $$v\n )\n },\n expression: \"notifiers.freemobile.api\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testFreeMobile-result\" }\n },\n [_vm._v(\"Click below to test your settings.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test SMS\",\n id: \"testFreeMobile\"\n },\n on: { click: _vm.testFreeMobile }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-telegram\",\n attrs: { title: \"Telegram\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://telegram.org/\" } },\n [_vm._v(\"Telegram\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Telegram is a cloud-based instant messaging service.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_telegram\",\n explanations: [\"Send Telegram notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.telegram.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.telegram, \"enabled\", $$v)\n },\n expression: \"notifiers.telegram.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.telegram.enabled,\n expression: \"notifiers.telegram.enabled\"\n }\n ],\n attrs: { id: \"content-use-telegram-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"telegram_notify_onsnatch\",\n explanations: [\n \"Send a message when a download starts??\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.telegram.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.telegram,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression:\n \"notifiers.telegram.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"telegram_notify_ondownload\",\n explanations: [\n \"send a message when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.telegram.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.telegram,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.telegram.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"telegram_notify_onsubtitledownload\",\n explanations: [\n \"send a message when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.telegram\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.telegram,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.telegram.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"User/group ID\",\n id: \"telegram_id\",\n explanations: [\n \"Contact @myidbot on Telegram to get an ID\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.telegram.id,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.telegram, \"id\", $$v)\n },\n expression: \"notifiers.telegram.id\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Bot API token\",\n id: \"telegram_apikey\",\n explanations: [\n \"Contact @BotFather on Telegram to set up one\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.telegram.api,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.telegram, \"api\", $$v)\n },\n expression: \"notifiers.telegram.api\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testTelegram-result\" }\n },\n [_vm._v(\"Click below to test your settings.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Telegram\",\n id: \"testTelegram\"\n },\n on: { click: _vm.testTelegram }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-discord\",\n attrs: { title: \"Discord\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://discordapp.com/\" } },\n [_vm._v(\"Discord\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Discord is a cloud-based All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone..\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_discord\",\n explanations: [\"Send Discord notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.discord.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.discord, \"enabled\", $$v)\n },\n expression: \"notifiers.discord.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.discord.enabled,\n expression: \"notifiers.discord.enabled\"\n }\n ],\n attrs: { id: \"content-use-discord-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"discord_notify_onsnatch\",\n explanations: [\n \"Send a message when a download starts??\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.discord.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.discord,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.discord.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"discord_notify_ondownload\",\n explanations: [\n \"send a message when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.discord.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.discord,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.discord.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"discord_notify_onsubtitledownload\",\n explanations: [\n \"send a message when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.discord\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.discord,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.discord.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Channel webhook\",\n id: \"discord_webhook\",\n explanations: [\n \"Add a webhook to a channel, use the returned url here\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.discord.webhook,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.discord,\n \"webhook\",\n $$v\n )\n },\n expression: \"notifiers.discord.webhook\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Text to speech\",\n id: \"discord_tts\",\n explanations: [\n \"Use discord text to speech feature\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.discord.tts,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.discord, \"tts\", $$v)\n },\n expression: \"notifiers.discord.tts\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Bot username\",\n id: \"discord_name\",\n explanations: [\n \"Create a username for the Discord Bot to use\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.discord.name,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.discord, \"name\", $$v)\n },\n expression: \"notifiers.discord.name\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testDiscord-result\" }\n },\n [_vm._v(\"Click below to test your settings.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Discord\",\n id: \"testDiscord\"\n },\n on: { click: _vm.testDiscord }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"social\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-twitter\",\n attrs: { title: \"Twitter\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://www.twitter.com\" } },\n [_vm._v(\"Twitter\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"A social networking and microblogging service, enabling its users to send and read other users' messages called tweets.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_twitter\",\n explanations: [\n \"Should Medusa post tweets on Twitter?\",\n \"Note: you may want to use a secondary account.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.twitter.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.twitter, \"enabled\", $$v)\n },\n expression: \"notifiers.twitter.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.twitter.enabled,\n expression: \"notifiers.twitter.enabled\"\n }\n ],\n attrs: { id: \"content-use-twitter\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"twitter_notify_onsnatch\",\n explanations: [\n \"send an SMS when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.twitter.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.twitter,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.twitter.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"twitter_notify_ondownload\",\n explanations: [\n \"send an SMS when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.twitter.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.twitter,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.twitter.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"twitter_notify_onsubtitledownload\",\n explanations: [\n \"send an SMS when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.twitter\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.twitter,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.twitter.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Send direct message\",\n id: \"twitter_usedm\",\n explanations: [\n \"send a notification via Direct Message, not via status update\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.twitter.directMessage,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.twitter,\n \"directMessage\",\n $$v\n )\n },\n expression: \"notifiers.twitter.directMessage\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Send DM to\",\n id: \"twitter_dmto\",\n explanations: [\n \"Twitter account to send Direct Messages to (must follow you)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.twitter.dmto,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.twitter, \"dmto\", $$v)\n },\n expression: \"notifiers.twitter.dmto\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"twitterStep1\",\n label: \"Step 1\"\n }\n },\n [\n _c(\n \"span\",\n { staticStyle: { \"font-size\": \"11px\" } },\n [\n _vm._v(\n 'Click the \"Request Authorization\" button. '\n ),\n _c(\"br\"),\n _vm._v(\n \"This will open a new page containing an auth key. \"\n ),\n _c(\"br\"),\n _vm._v(\n \"Note: if nothing happens check your popup blocker.\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Request Authorization\",\n id: \"twitter-step-1\"\n },\n on: {\n click: function($event) {\n return _vm.twitterStep1($event)\n }\n }\n })\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"twitterStep2\",\n label: \"Step 2\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.twitterKey,\n expression: \"twitterKey\"\n }\n ],\n staticClass:\n \"form-control input-sm max-input350\",\n staticStyle: { display: \"inline\" },\n attrs: {\n type: \"text\",\n id: \"twitter_key\",\n placeholder:\n \"Enter the key Twitter gave you, and click 'Verify Key'\"\n },\n domProps: { value: _vm.twitterKey },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.twitterKey = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa btn-inline\",\n attrs: {\n type: \"button\",\n value: \"Verify Key\",\n id: \"twitter-step-2\"\n },\n on: {\n click: function($event) {\n return _vm.twitterStep2($event)\n }\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"testNotification\",\n attrs: { id: \"testTwitter-result\" },\n domProps: {\n innerHTML: _vm._s(_vm.twitterTestInfo)\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Twitter\",\n id: \"testTwitter\"\n },\n on: { click: _vm.twitterTest }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-trakt\",\n attrs: { title: \"Trakt\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://trakt.tv/\" } },\n [_vm._v(\"Trakt\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"trakt helps keep a record of what TV shows and movies you are watching. Based on your favorites, trakt recommends additional shows and movies you'll enjoy!\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_trakt\",\n explanations: [\"Send Trakt.tv notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.trakt.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.trakt, \"enabled\", $$v)\n },\n expression: \"notifiers.trakt.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.trakt.enabled,\n expression: \"notifiers.trakt.enabled\"\n }\n ],\n attrs: { id: \"content-use-trakt-client\" }\n },\n [\n _c(\"config-textbox\", {\n attrs: {\n label: \"Username\",\n id: \"trakt_username\",\n explanations: [\n \"username of your Trakt account.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.trakt.username,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"username\",\n $$v\n )\n },\n expression: \"notifiers.trakt.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"trakt_pin\",\n label: \"Trakt PIN\"\n }\n },\n [\n _c(\"input\", {\n staticClass:\n \"form-control input-sm max-input250\",\n staticStyle: { display: \"inline\" },\n attrs: {\n type: \"text\",\n name: \"trakt_pin\",\n id: \"trakt_pin\",\n value: \"\",\n disabled: _vm.notifiers.trakt.accessToken\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: _vm.traktNewTokenMessage,\n id: \"TraktGetPin\"\n },\n on: { click: _vm.TraktGetPin }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa hide\",\n attrs: {\n type: \"button\",\n value: \"Authorize Medusa\",\n id: \"authTrakt\"\n },\n on: { click: _vm.authTrakt }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"PIN code to authorize Medusa to access Trakt on your behalf.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n attrs: {\n label: \"API Timeout\",\n id: \"trakt_timeout\",\n explanations: [\n \"Seconds to wait for Trakt API to respond. (Use 0 to wait forever)\"\n ]\n },\n model: {\n value: _vm.notifiers.trakt.timeout,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"timeout\",\n $$v\n )\n },\n expression: \"notifiers.trakt.timeout\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"trakt_default_indexer\",\n label: \"Default indexer\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.notifiers.trakt.defaultIndexer,\n expression:\n \"notifiers.trakt.defaultIndexer\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"trakt_default_indexer\",\n name: \"trakt_default_indexer\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.notifiers.trakt,\n \"defaultIndexer\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.traktIndexersOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.key,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Sync libraries\",\n id: \"trakt_sync\",\n explanations: [\n \"Sync your Medusa show library with your Trakt collection.\",\n \"Note: Don't enable this setting if you use the Trakt addon for Kodi or any other script that syncs your library.\",\n \"Kodi detects that the episode was deleted and removes from collection which causes Medusa to re-add it. This causes a loop between Medusa and Kodi adding and deleting the episode.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.trakt.sync,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.trakt, \"sync\", $$v)\n },\n expression: \"notifiers.trakt.sync\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.trakt.sync,\n expression: \"notifiers.trakt.sync\"\n }\n ],\n attrs: { id: \"content-use-trakt-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Remove Episodes From Collection\",\n id: \"trakt_remove_watchlist\",\n explanations: [\n \"Remove an Episode from your Trakt Collection if it is not in your Medusa Library.\",\n \"Note:Don't enable this setting if you use the Trakt addon for Kodi or any other script that syncs your library.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.trakt.removeWatchlist,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"removeWatchlist\",\n $$v\n )\n },\n expression:\n \"notifiers.trakt.removeWatchlist\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Sync watchlist\",\n id: \"trakt_sync_watchlist\",\n explanations: [\n \"Sync your Medusa library with your Trakt Watchlist (either Show and Episode).\",\n \"Episode will be added on watch list when wanted or snatched and will be removed when downloaded\",\n \"Note: By design, Trakt automatically removes episodes and/or shows from watchlist as soon you have watched them.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.trakt.syncWatchlist,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"syncWatchlist\",\n $$v\n )\n },\n expression: \"notifiers.trakt.syncWatchlist\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.trakt.syncWatchlist,\n expression:\n \"notifiers.trakt.syncWatchlist\"\n }\n ],\n attrs: { id: \"content-use-trakt-client\" }\n },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"trakt_default_indexer\",\n label: \"Watchlist add method\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.notifiers.trakt.methodAdd,\n expression:\n \"notifiers.trakt.methodAdd\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"trakt_method_add\",\n name: \"trakt_method_add\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.notifiers.trakt,\n \"methodAdd\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.traktMethodOptions, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.key,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"method in which to download episodes for new shows.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Remove episode\",\n id: \"trakt_remove_watchlist\",\n explanations: [\n \"remove an episode from your watchlist after it's downloaded.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.trakt.removeWatchlist,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"removeWatchlist\",\n $$v\n )\n },\n expression:\n \"notifiers.trakt.removeWatchlist\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Remove series\",\n id: \"trakt_remove_serieslist\",\n explanations: [\n \"remove the whole series from your watchlist after any download.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.trakt.removeSerieslist,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"removeSerieslist\",\n $$v\n )\n },\n expression:\n \"notifiers.trakt.removeSerieslist\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Remove watched show\",\n id: \"trakt_remove_show_from_application\",\n explanations: [\n \"remove the show from Medusa if it's ended and completely watched\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.trakt\n .removeShowFromApplication,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"removeShowFromApplication\",\n $$v\n )\n },\n expression:\n \"notifiers.trakt.removeShowFromApplication\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Start paused\",\n id: \"trakt_start_paused\",\n explanations: [\n \"shows grabbed from your trakt watchlist start paused.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.trakt.startPaused,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"startPaused\",\n $$v\n )\n },\n expression: \"notifiers.trakt.startPaused\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Trakt blackList name\",\n id: \"trakt_blacklist_name\",\n explanations: [\n \"Name(slug) of List on Trakt for blacklisting show on 'Add Trending Show' & 'Add Recommended Shows' pages\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.trakt.blacklistName,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.trakt,\n \"blacklistName\",\n $$v\n )\n },\n expression: \"notifiers.trakt.blacklistName\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testTrakt-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Trakt\",\n id: \"testTrakt\"\n },\n on: { click: _vm.testTrakt }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Force Sync\",\n id: \"forceSync\"\n },\n on: { click: _vm.traktForceSync }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n attrs: { type: \"hidden\", id: \"trakt_pin_url\" },\n domProps: { value: _vm.notifiers.trakt.pinUrl }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-email\",\n attrs: { title: \"Email\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://en.wikipedia.org/wiki/Comparison_of_webmail_providers\"\n }\n },\n [_vm._v(\"Email\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Allows configuration of email notifications on a per show basis.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_email\",\n explanations: [\"Send email notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.email, \"enabled\", $$v)\n },\n expression: \"notifiers.email.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.email.enabled,\n expression: \"notifiers.email.enabled\"\n }\n ],\n attrs: { id: \"content-use-email\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"email_notify_onsnatch\",\n explanations: [\n \"Send a message when a download starts??\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.email,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.email.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"email_notify_ondownload\",\n explanations: [\n \"send a message when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.email,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression: \"notifiers.email.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"email_notify_onsubtitledownload\",\n explanations: [\n \"send a message when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.email\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.email,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.email.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"SMTP host\",\n id: \"email_host\",\n explanations: [\n \"hostname of your SMTP email server.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.host,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.email, \"host\", $$v)\n },\n expression: \"notifiers.email.host\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n attrs: {\n min: 1,\n step: 1,\n label: \"SMTP port\",\n id: \"email_port\",\n explanations: [\n \"port number used to connect to your SMTP host.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.port,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.email, \"port\", $$v)\n },\n expression: \"notifiers.email.port\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"SMTP from\",\n id: \"email_from\",\n explanations: [\n \"sender email address, some hosts require a real address.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.from,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.email, \"from\", $$v)\n },\n expression: \"notifiers.email.from\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Use TLS\",\n id: \"email_tls\",\n explanations: [\"check to use TLS encryption.\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.tls,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.email, \"tls\", $$v)\n },\n expression: \"notifiers.email.tls\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"SMTP username\",\n id: \"email_username\",\n explanations: [\n \"(optional) your SMTP server username.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.username,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.email,\n \"username\",\n $$v\n )\n },\n expression: \"notifiers.email.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"SMTP password\",\n id: \"email_password\",\n explanations: [\n \"(optional) your SMTP server password.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.password,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.email,\n \"password\",\n $$v\n )\n },\n expression: \"notifiers.email.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"email_list\",\n label: \"Global email list\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"email_list\",\n id: \"email_list\",\n \"list-items\":\n _vm.notifiers.email.addressList\n },\n on: { change: _vm.emailUpdateAddressList }\n }),\n _vm._v(\n \"\\n Email addresses listed here, will receive notifications for \"\n ),\n _c(\"b\", [_vm._v(\"all\")]),\n _vm._v(\" shows.\"),\n _c(\"br\"),\n _vm._v(\n \"\\n (This field may be blank except when testing.)\\n \"\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Email Subject\",\n id: \"email_subject\",\n explanations: [\n \"Use a custom subject for some privacy protection?\",\n \"(Leave blank for the default Medusa subject)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.email.subject,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.email,\n \"subject\",\n $$v\n )\n },\n expression: \"notifiers.email.subject\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"email_show\",\n label: \"Show notification list\"\n }\n },\n [\n _c(\"show-selector\", {\n attrs: {\n \"select-class\":\n \"form-control input-sm max-input350\",\n placeholder: \"-- Select a Show --\"\n },\n on: {\n change: function($event) {\n return _vm.emailUpdateShowEmail($event)\n }\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n {\n staticClass:\n \"offset-sm-2 col-sm-offset-2 col-sm-10 content\"\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"email_list\",\n id: \"email_list\",\n \"list-items\":\n _vm.emailSelectedShowAdresses\n },\n on: {\n change: function($event) {\n return _vm.savePerShowNotifyList(\n \"email\",\n $event\n )\n }\n }\n }),\n _vm._v(\n \"\\n Email addresses listed here, will receive notifications for \"\n ),\n _c(\"b\", [_vm._v(\"all\")]),\n _vm._v(\" shows.\"),\n _c(\"br\"),\n _vm._v(\n \"\\n (This field may be blank except when testing.)\\n \"\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testEmail-result\" }\n },\n [_vm._v(\"Click below to test.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Email\",\n id: \"testEmail\"\n },\n on: { click: _vm.testEmail }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"component-group-desc col-xs-12 col-md-2\"\n },\n [\n _c(\"span\", {\n staticClass: \"icon-notifiers-slack\",\n attrs: { title: \"Slack\" }\n }),\n _vm._v(\" \"),\n _c(\n \"h3\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"https://slack.com\" } },\n [_vm._v(\"Slack\")]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Slack is a messaging app for teams.\")])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Enable\",\n id: \"use_slack_client\",\n explanations: [\"Send Slack notifications?\"]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.slack.enabled,\n callback: function($$v) {\n _vm.$set(_vm.notifiers.slack, \"enabled\", $$v)\n },\n expression: \"notifiers.slack.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.notifiers.slack.enabled,\n expression: \"notifiers.slack.enabled\"\n }\n ],\n attrs: { id: \"content-use-slack-client\" }\n },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on snatch\",\n id: \"slack_notify_onsnatch\",\n explanations: [\n \"send a notification when a download starts?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.slack.notifyOnSnatch,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.slack,\n \"notifyOnSnatch\",\n $$v\n )\n },\n expression: \"notifiers.slack.notifyOnSnatch\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on download\",\n id: \"slack_notify_ondownload\",\n explanations: [\n \"send a notification when a download finishes?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.slack.notifyOnDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.slack,\n \"notifyOnDownload\",\n $$v\n )\n },\n expression: \"notifiers.slack.notifyOnDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Notify on subtitle download\",\n id: \"slack_notify_onsubtitledownload\",\n explanations: [\n \"send a notification when subtitles are downloaded?\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value:\n _vm.notifiers.slack\n .notifyOnSubtitleDownload,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.slack,\n \"notifyOnSubtitleDownload\",\n $$v\n )\n },\n expression:\n \"notifiers.slack.notifyOnSubtitleDownload\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"Slack Incoming Webhook\",\n id: \"slack_webhook\",\n explanations: [\n \"Create an incoming webhook, to communicate with your slack channel.\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.notifiers.slack.webhook,\n callback: function($$v) {\n _vm.$set(\n _vm.notifiers.slack,\n \"webhook\",\n $$v\n )\n },\n expression: \"notifiers.slack.webhook\"\n }\n },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://my.slack.com/services/new/incoming-webhook\"\n }\n },\n [\n _vm._v(\n \"https://my.slack.com/services/new/incoming-webhook/\"\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"testNotification\",\n attrs: { id: \"testSlack-result\" }\n },\n [_vm._v(\"Click below to test your settings.\")]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n value: \"Test Slack\",\n id: \"testSlack\"\n },\n on: { click: _vm.testSlack }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _c(\"br\")\n ])\n ]\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"clearfix\" })\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"kodi_host\" } },\n [_c(\"span\", [_vm._v(\"KODI IP:Port\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\" some Plex Home Theaters \"),\n _c(\"b\", { staticClass: \"boldest\" }, [_vm._v(\"do not\")]),\n _vm._v(\" support notifications e.g. Plexapp for Samsung TVs\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/config-notifications.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-post-processing.vue?vue&type=template&id=bd17f536&": -/*!****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-post-processing.vue?vue&type=template&id=bd17f536& ***! - \****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config\" } }, [\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n staticClass: \"form-horizontal\",\n attrs: { id: \"configForm\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.save()\n }\n }\n },\n [\n _c(\"div\", { attrs: { id: \"config-components\" } }, [\n _c(\"ul\", [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#post-processing\" } }, [\n _vm._v(\"Post-Processing\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#episode-naming\" } }, [\n _vm._v(\"Episode Naming\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#metadata\" } }, [\n _vm._v(\"Metadata\")\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"post-processing\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\"fieldset\", { staticClass: \"component-group-list\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"process_automatically\",\n name: \"process_automatically\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.processAutomatically,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"processAutomatically\",\n $$v\n )\n },\n expression: \"postprocessing.processAutomatically\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.postprocessing.processAutomatically,\n expression: \"postprocessing.processAutomatically\"\n }\n ],\n attrs: { id: \"post-process-toggle-wrapper\" }\n },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(4),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"file-browser\", {\n attrs: {\n id: \"tv_download_dir\",\n name: \"tv_download_dir\",\n title: \"Select series download location\",\n \"initial-dir\":\n _vm.postprocessing.showDownloadDir\n },\n on: {\n update: function($event) {\n _vm.postprocessing.showDownloadDir = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"clear-left\" }, [\n _vm._v(\n \"The folder where your download client puts the completed TV downloads.\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(5)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.postprocessing.processMethod,\n expression: \"postprocessing.processMethod\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"naming_multi_ep\",\n name: \"naming_multi_ep\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.postprocessing,\n \"processMethod\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.processMethods, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"What method should be used to put files into the library?\"\n )\n ]),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm.postprocessing.processMethod == \"reflink\"\n ? _c(\n \"p\",\n [\n _vm._v(\"To use reference linking, the \"),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://www.dereferer.org/?https://pypi.python.org/pypi/reflink/0.1.4\"\n }\n },\n [_vm._v(\"reflink package\")]\n ),\n _vm._v(\" needs to be installed.\")\n ],\n 1\n )\n : _vm._e()\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(8),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model.number\",\n value:\n _vm.postprocessing\n .autoPostprocessorFrequency,\n expression:\n \"postprocessing.autoPostprocessorFrequency\",\n modifiers: { number: true }\n }\n ],\n staticClass: \"form-control input-sm input75\",\n attrs: {\n type: \"number\",\n min: \"10\",\n step: \"1\",\n name: \"autopostprocessor_frequency\",\n id: \"autopostprocessor_frequency\"\n },\n domProps: {\n value:\n _vm.postprocessing.autoPostprocessorFrequency\n },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.postprocessing,\n \"autoPostprocessorFrequency\",\n _vm._n($event.target.value)\n )\n },\n blur: function($event) {\n return _vm.$forceUpdate()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Time in minutes to check for new files to auto post-process (min 10)\"\n )\n ])\n ])\n ])\n ]\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(9),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\"fieldset\", { staticClass: \"component-group-list\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(10),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"postpone_if_sync_files\",\n name: \"postpone_if_sync_files\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.postponeIfSyncFiles,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"postponeIfSyncFiles\",\n $$v\n )\n },\n expression: \"postprocessing.postponeIfSyncFiles\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Wait to process a folder if sync files are present.\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(11),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"sync_files\",\n id: \"sync_files\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postprocessing.syncFiles\n },\n on: { change: _vm.onChangeSyncFiles }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Comma separated list of extensions or filename globs Medusa ignores when post-processing\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(12),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"postpone_if_no_subs\",\n name: \"postpone_if_no_subs\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.postponeIfNoSubs,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"postponeIfNoSubs\",\n $$v\n )\n },\n expression: \"postprocessing.postponeIfNoSubs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Wait to process a file until subtitles are present\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Language names are allowed in subtitle filename (en.srt, pt-br.srt, ita.srt, etc.)\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(13),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"If you have any active show with subtitle search disabled, you must enable Automatic post-processor.\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(14),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"rename_episodes\",\n name: \"rename_episodes\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.renameEpisodes,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"renameEpisodes\",\n $$v\n )\n },\n expression: \"postprocessing.renameEpisodes\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Rename episode using the Episode Naming settings?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(15),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"create_missing_show_dirs\",\n name: \"create_missing_show_dirs\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.createMissingShowDirs,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"createMissingShowDirs\",\n $$v\n )\n },\n expression: \"postprocessing.createMissingShowDirs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Create missing show directories when they get deleted\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(16),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"add_shows_wo_dir\",\n name: \"add_shows_wo_dir\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.addShowsWithoutDir,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"addShowsWithoutDir\",\n $$v\n )\n },\n expression: \"postprocessing.addShowsWithoutDir\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Add shows without creating a directory (not recommended)\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(17),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"move_associated_files\",\n name: \"move_associated_files\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.moveAssociatedFiles,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"moveAssociatedFiles\",\n $$v\n )\n },\n expression: \"postprocessing.moveAssociatedFiles\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Delete srt/srr/sfv/etc files while post-processing?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(18),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"allowed_extensions\",\n id: \"allowed_extensions\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postprocessing.allowedExtensions\n },\n on: { change: _vm.onChangeAllowedExtensions }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Comma separated list of associated file extensions Medusa should keep while post-processing.\"\n )\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Leaving it empty means all associated files will be deleted\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(19),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"nfo_rename\",\n name: \"nfo_rename\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.nfoRename,\n callback: function($$v) {\n _vm.$set(_vm.postprocessing, \"nfoRename\", $$v)\n },\n expression: \"postprocessing.nfoRename\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Rename the original .nfo file to .nfo-orig to avoid conflicts?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(20),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"airdate_episodes\",\n name: \"airdate_episodes\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.airdateEpisodes,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"airdateEpisodes\",\n $$v\n )\n },\n expression: \"postprocessing.airdateEpisodes\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Set last modified filedate to the date that the episode aired?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(21),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.postprocessing.fileTimestampTimezone,\n expression:\n \"postprocessing.fileTimestampTimezone\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"file_timestamp_timezone\",\n name: \"file_timestamp_timezone\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.postprocessing,\n \"fileTimestampTimezone\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.timezoneOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"What timezone should be used to change File Date?\"\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(22),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"unpack\",\n name: \"unpack\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.unpack,\n callback: function($$v) {\n _vm.$set(_vm.postprocessing, \"unpack\", $$v)\n },\n expression: \"postprocessing.unpack\"\n }\n }),\n _vm._v(\" \"),\n _vm._m(23),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(24)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(25),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"del_rar_contents\",\n name: \"del_rar_contents\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.deleteRarContent,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing,\n \"deleteRarContent\",\n $$v\n )\n },\n expression: \"postprocessing.deleteRarContent\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Delete content of RAR files, even if Process Method not set to move?\"\n )\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(26),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"no_delete\",\n name: \"no_delete\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.noDelete,\n callback: function($$v) {\n _vm.$set(_vm.postprocessing, \"noDelete\", $$v)\n },\n expression: \"postprocessing.noDelete\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Leave empty folders when post-processing?\")\n ]),\n _c(\"br\"),\n _vm._v(\" \"),\n _vm._m(27)\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(28),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"extra_scripts\",\n id: \"extra_scripts\",\n \"csv-enabled\": \"\",\n \"list-items\": _vm.postprocessing.extraScripts\n },\n on: { change: _vm.onChangeExtraScripts }\n }),\n _vm._v(\" \"),\n _c(\n \"span\",\n [\n _vm._v(\"See \"),\n _c(\n \"app-link\",\n {\n staticClass: \"wikie\",\n attrs: {\n href: _vm.postprocessing.extraScriptsUrl\n }\n },\n [_c(\"strong\", [_vm._v(\"Wiki\")])]\n ),\n _vm._v(\n \" for script arguments description and usage.\"\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"episode-naming\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(29),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n \"naming-pattern\": _vm.postprocessing.naming.pattern,\n \"naming-presets\": _vm.presets,\n \"multi-ep-style\": _vm.postprocessing.naming.multiEp,\n \"multi-ep-styles\": _vm.multiEpStringsSelect,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNaming }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postprocessing.naming.enableCustomNamingSports,\n \"naming-pattern\":\n _vm.postprocessing.naming.patternSports,\n \"naming-presets\": _vm.presets,\n type: \"sports\",\n \"enabled-naming-custom\":\n _vm.postprocessing.naming.enableCustomNamingSports,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingSports }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postprocessing.naming\n .enableCustomNamingAirByDate,\n \"naming-pattern\":\n _vm.postprocessing.naming.patternAirByDate,\n \"naming-presets\": _vm.presets,\n type: \"airs by date\",\n \"enabled-naming-custom\":\n _vm.postprocessing.naming\n .enableCustomNamingAirByDate,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingAbd }\n }),\n _vm._v(\" \"),\n _c(\"name-pattern\", {\n staticClass: \"component-item\",\n attrs: {\n enabled:\n _vm.postprocessing.naming.enableCustomNamingAnime,\n \"naming-pattern\":\n _vm.postprocessing.naming.patternAnime,\n \"naming-presets\": _vm.presets,\n type: \"anime\",\n \"multi-ep-style\":\n _vm.postprocessing.naming.animeMultiEp,\n \"multi-ep-styles\": _vm.multiEpStringsSelect,\n \"anime-naming-type\":\n _vm.postprocessing.naming.animeNamingType,\n \"enabled-naming-custom\":\n _vm.postprocessing.naming.enableCustomNamingAnime,\n \"flag-loaded\": _vm.configLoaded\n },\n on: { change: _vm.saveNamingAnime }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group component-item\" }, [\n _vm._m(30),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"naming_strip_year\",\n name: \"naming_strip_year\",\n sync: \"\"\n },\n model: {\n value: _vm.postprocessing.naming.stripYear,\n callback: function($$v) {\n _vm.$set(\n _vm.postprocessing.naming,\n \"stripYear\",\n $$v\n )\n },\n expression: \"postprocessing.naming.stripYear\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Remove the TV show's year when renaming the file?\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only applies to shows that have year inside parentheses\"\n )\n ])\n ],\n 1\n )\n ])\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"metadata\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(31),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.metadataProviderSelected,\n expression: \"metadataProviderSelected\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"metadataType\",\n name: \"metadataType\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.metadataProviderSelected = $event.target\n .multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.metadata.metadataProviders, function(\n option\n ) {\n return _c(\n \"option\",\n {\n key: option.id,\n domProps: { value: option.id }\n },\n [_vm._v(_vm._s(option.name))]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _vm._m(33)\n ])\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.metadata.metadataProviders, function(\n provider\n ) {\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n provider.id === _vm.metadataProviderSelected,\n expression:\n \"provider.id === metadataProviderSelected\"\n }\n ],\n key: provider.id,\n staticClass: \"metadataDiv\",\n attrs: { id: \"provider.id\" }\n },\n [\n _c(\n \"div\",\n { staticClass: \"metadata_options_wrapper\" },\n [\n _c(\"h4\", [_vm._v(\"Create:\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"metadata_options\" }, [\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_show_metadata\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.showMetadata,\n expression: \"provider.showMetadata\"\n }\n ],\n staticClass: \"metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_show_metadata\"\n },\n domProps: {\n checked: Array.isArray(\n provider.showMetadata\n )\n ? _vm._i(\n provider.showMetadata,\n null\n ) > -1\n : provider.showMetadata\n },\n on: {\n change: function($event) {\n var $$a = provider.showMetadata,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"showMetadata\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"showMetadata\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"showMetadata\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Show Metadata\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_metadata\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.episodeMetadata,\n expression:\n \"provider.episodeMetadata\"\n }\n ],\n staticClass: \"metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_episode_metadata\",\n disabled: provider.example.episodeMetadata.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.episodeMetadata\n )\n ? _vm._i(\n provider.episodeMetadata,\n null\n ) > -1\n : provider.episodeMetadata\n },\n on: {\n change: function($event) {\n var $$a = provider.episodeMetadata,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"episodeMetadata\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Episode Metadata\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_fanart\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.fanart,\n expression: \"provider.fanart\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_fanart\",\n disabled: provider.example.fanart.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.fanart\n )\n ? _vm._i(provider.fanart, null) > -1\n : provider.fanart\n },\n on: {\n change: function($event) {\n var $$a = provider.fanart,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"fanart\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"fanart\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"fanart\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Fanart\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_poster\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.poster,\n expression: \"provider.poster\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_poster\",\n disabled: provider.example.poster.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.poster\n )\n ? _vm._i(provider.poster, null) > -1\n : provider.poster\n },\n on: {\n change: function($event) {\n var $$a = provider.poster,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"poster\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"poster\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"poster\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Poster\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_banner\" } },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.banner,\n expression: \"provider.banner\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_banner\",\n disabled: provider.example.banner.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.banner\n )\n ? _vm._i(provider.banner, null) > -1\n : provider.banner\n },\n on: {\n change: function($event) {\n var $$a = provider.banner,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"banner\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"banner\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(provider, \"banner\", $$c)\n }\n }\n }\n }),\n _vm._v(\" Show Banner\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_thumbnails\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.episodeThumbnails,\n expression:\n \"provider.episodeThumbnails\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_episode_thumbnails\",\n disabled: provider.example.episodeThumbnails.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.episodeThumbnails\n )\n ? _vm._i(\n provider.episodeThumbnails,\n null\n ) > -1\n : provider.episodeThumbnails\n },\n on: {\n change: function($event) {\n var $$a =\n provider.episodeThumbnails,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"episodeThumbnails\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Episode Thumbnails\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_posters\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonPosters,\n expression: \"provider.seasonPosters\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_season_posters\",\n disabled: provider.example.seasonPosters.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonPosters\n )\n ? _vm._i(\n provider.seasonPosters,\n null\n ) > -1\n : provider.seasonPosters\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonPosters,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonPosters\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season Posters\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_banners\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonBanners,\n expression: \"provider.seasonBanners\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id: provider.id + \"_season_banners\",\n disabled: provider.example.seasonBanners.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonBanners\n )\n ? _vm._i(\n provider.seasonBanners,\n null\n ) > -1\n : provider.seasonBanners\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonBanners,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonBanners\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season Banners\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_poster\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonAllPoster,\n expression:\n \"provider.seasonAllPoster\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_season_all_poster\",\n disabled: provider.example.seasonAllPoster.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonAllPoster\n )\n ? _vm._i(\n provider.seasonAllPoster,\n null\n ) > -1\n : provider.seasonAllPoster\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonAllPoster,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonAllPoster\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season All Poster\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_banner\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: provider.seasonAllBanner,\n expression:\n \"provider.seasonAllBanner\"\n }\n ],\n staticClass:\n \"float-left metadata_checkbox\",\n attrs: {\n type: \"checkbox\",\n id:\n provider.id + \"_season_all_banner\",\n disabled: provider.example.seasonAllBanner.includes(\n \"not supported\"\n )\n },\n domProps: {\n checked: Array.isArray(\n provider.seasonAllBanner\n )\n ? _vm._i(\n provider.seasonAllBanner,\n null\n ) > -1\n : provider.seasonAllBanner\n },\n on: {\n change: function($event) {\n var $$a = provider.seasonAllBanner,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n )\n )\n }\n } else {\n _vm.$set(\n provider,\n \"seasonAllBanner\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\" Season All Banner\")\n ]\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"metadata_example_wrapper\" },\n [\n _c(\"h4\", [_vm._v(\"Results:\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"metadata_example\" }, [\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_show_metadata\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.showMetadata\n },\n attrs: {\n id:\n provider.id + \"_eg_show_metadata\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .showMetadata +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_metadata\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.episodeMetadata\n },\n attrs: {\n id:\n provider.id +\n \"_eg_episode_metadata\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .episodeMetadata +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_fanart\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.fanart },\n attrs: {\n id: provider.id + \"_eg_fanart\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.fanart +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_poster\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.poster },\n attrs: {\n id: provider.id + \"_eg_poster\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.poster +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: provider.id + \"_banner\" } },\n [\n _c(\n \"span\",\n {\n class: { disabled: !provider.banner },\n attrs: {\n id: provider.id + \"_eg_banner\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example.banner +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_episode_thumbnails\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.episodeThumbnails\n },\n attrs: {\n id:\n provider.id +\n \"_eg_episode_thumbnails\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .episodeThumbnails +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_posters\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonPosters\n },\n attrs: {\n id:\n provider.id + \"_eg_season_posters\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonPosters +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_banners\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonBanners\n },\n attrs: {\n id:\n provider.id + \"_eg_season_banners\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonBanners +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_poster\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonAllPoster\n },\n attrs: {\n id:\n provider.id +\n \"_eg_season_all_poster\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonAllPoster +\n \"\"\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n attrs: {\n for: provider.id + \"_season_all_banner\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n disabled: !provider.seasonAllBanner\n },\n attrs: {\n id:\n provider.id +\n \"_eg_season_all_banner\"\n }\n },\n [\n _c(\"span\", {\n domProps: {\n innerHTML: _vm._s(\n \"\" +\n provider.example\n .seasonAllBanner +\n \"\"\n )\n }\n })\n ]\n )\n ]\n )\n ])\n ]\n )\n ]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"h6\", { staticClass: \"pull-right\" }, [\n _c(\"b\", [\n _vm._v(\"All non-absolute folder locations are relative to \"),\n _c(\"span\", { staticClass: \"path\" }, [\n _vm._v(_vm._s(_vm.system.dataDir))\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa pull-left config_submitter button\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ])\n ]\n )\n ])\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Scheduled Post-Processing\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Settings that dictate how Medusa should process completed downloads.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The scheduled post-processor will periodically scan a folder for media to process.\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"process_automatically\" }\n },\n [_c(\"span\", [_vm._v(\"Scheduled Post-Processor\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _vm._v(\n \"Enable the scheduled post-processor to scan and process any files in your \"\n ),\n _c(\"i\", [_vm._v(\"Post-Processing Dir\")]),\n _vm._v(\"?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\" Do not use if you use an external post-processing script\")\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"tv_download_dir\" }\n },\n [_c(\"span\", [_vm._v(\"Post-Processing Dir\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" Please use separate downloading and completed folders in your download client if possible.\"\n )\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"process_method\" }\n },\n [_c(\"span\", [_vm._v(\"Processing Method\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" If you keep seeding torrents after they finish, please avoid the 'move' processing method to prevent errors.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"autopostprocessor_frequency\" }\n },\n [_c(\"span\", [_vm._v(\"Auto Post-Processing Frequency\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"General Post-Processing\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Generic post-processing settings that apply both to the scheduled post-processor as external scripts\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"postpone_if_sync_files\" }\n },\n [_c(\"span\", [_vm._v(\"Postpone post-processing\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"sync_files\" } },\n [_c(\"span\", [_vm._v(\"Sync File Extensions\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"postpone_if_no_subs\" }\n },\n [_c(\"span\", [_vm._v(\"Postpone if no subtitle\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" Automatic post-processor should be disabled to avoid files with pending subtitles being processed over and over.\"\n )\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"rename_episodes\" }\n },\n [_c(\"span\", [_vm._v(\"Rename Episodes\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"create_missing_show_dirs\" }\n },\n [_c(\"span\", [_vm._v(\"Create missing show directories\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"add_shows_wo_dir\" }\n },\n [_c(\"span\", [_vm._v(\"Add shows without directory\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"move_associated_files\" }\n },\n [_c(\"span\", [_vm._v(\"Delete associated files\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\"Keep associated file extensions\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"nfo_rename\" } },\n [_c(\"span\", [_vm._v(\"Rename .nfo file\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"airdate_episodes\" }\n },\n [_c(\"span\", [_vm._v(\"Change File Date\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"file_timestamp_timezone\" }\n },\n [_c(\"span\", [_vm._v(\"Timezone for File Date:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"unpack\" } },\n [_c(\"span\", [_vm._v(\"Unpack\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _vm._v(\"Unpack any TV releases in your \"),\n _c(\"i\", [_vm._v(\"TV Download Dir\")]),\n _vm._v(\"?\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\" Only working with RAR archive\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"del_rar_contents\" }\n },\n [_c(\"span\", [_vm._v(\"Delete RAR contents\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"no_delete\" } },\n [_c(\"span\", [_vm._v(\"Don't delete empty folders\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\" Can be overridden using manual post-processing\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\"Extra Scripts\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Episode Naming\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"How Medusa will name and sort your episodes.\")])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_strip_year\" }\n },\n [_c(\"span\", [_vm._v(\"Strip Show Year\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Metadata\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"The data associated to the data. These are files associated to a TV show in the form of images and text that, when supported, will enhance the viewing experience.\"\n )\n ])\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"metadataType\" } },\n [_c(\"span\", [_vm._v(\"Metadata Type\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"d-block\" }, [\n _vm._v(\"Toggle the metadata options that you wish to be created. \"),\n _c(\"b\", [_vm._v(\"Multiple targets may be used.\")])\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/config-post-processing.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config-search.vue?vue&type=template&id=3e2dc133&": -/*!*******************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config-search.vue?vue&type=template&id=3e2dc133& ***! - \*******************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"config-search\" } },\n [\n _c(\"vue-snotify\"),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"form\",\n {\n attrs: { id: \"configForm\", method: \"post\" },\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.save()\n }\n }\n },\n [\n _c(\"div\", { attrs: { id: \"config-components\" } }, [\n _c(\"ul\", [\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#episode-search\" } }, [\n _vm._v(\"Episode Search\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#nzb-search\" } }, [\n _vm._v(\"NZB Search\")\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"li\",\n [\n _c(\"app-link\", { attrs: { href: \"#torrent-search\" } }, [\n _vm._v(\"Torrent Search\")\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"episode-search\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"General Search Settings\")]),\n _vm._v(\" \"),\n _c(\n \"p\",\n [\n _vm._v(\"How to manage searching with \"),\n _c(\n \"app-link\",\n { attrs: { href: \"config/providers\" } },\n [_vm._v(\"providers\")]\n ),\n _vm._v(\".\")\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Randomize Providers\",\n id: \"randomize_providers\",\n explanations: [\n \"randomize the provider search order instead of going in order of placement\"\n ]\n },\n model: {\n value: _vm.search.general.randomizeProviders,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"randomizeProviders\",\n $$v\n )\n },\n expression: \"search.general.randomizeProviders\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Download propers\",\n id: \"download_propers\",\n explanations: [\n \"replace original download with 'Proper' or 'Repack' if nuked\"\n ]\n },\n model: {\n value: _vm.search.general.downloadPropers,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"downloadPropers\",\n $$v\n )\n },\n expression: \"search.general.downloadPropers\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.search.general.downloadPropers,\n expression: \"search.general.downloadPropers\"\n }\n ]\n },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n label: \"Check propers every\",\n \"label-for\": \"check_propers_interval\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.search.general\n .checkPropersInterval,\n expression:\n \"search.general.checkPropersInterval\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n id: \"check_propers_interval\",\n name: \"check_propers_interval\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(\n o\n ) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.search.general,\n \"checkPropersInterval\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(\n _vm.checkPropersIntervalLabels,\n function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }\n ),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n attrs: {\n min: 2,\n max: 7,\n step: 1,\n label: \"Proper search days\",\n id: \"propers_search_days\",\n explanations: [\n \"how many days to keep searching for propers since episode airdate (default: 2 days)\"\n ]\n },\n model: {\n value: _vm.search.general.propersSearchDays,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"propersSearchDays\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.propersSearchDays\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n attrs: {\n min: 1,\n step: 1,\n label: \"Forced backlog search day(s)\",\n id: \"backlog_days\",\n explanations: [\n \"how many days to search in the past for a forced backlog search (default: 7 days)\"\n ]\n },\n model: {\n value: _vm.search.general.backlogDays,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"backlogDays\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.backlogDays\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n min: _vm.search.general.minBacklogFrequency,\n step: 1,\n label: \"Backlog search interval\",\n id: \"backlog_frequency\"\n },\n model: {\n value: _vm.search.general.backlogFrequency,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"backlogFrequency\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.backlogFrequency\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"time in minutes between searches (min. \" +\n _vm._s(\n _vm.search.general.minBacklogFrequency\n ) +\n \")\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox-number\",\n {\n attrs: {\n min: _vm.search.general.minDailySearchFrequency,\n step: 1,\n label: \"Daily search interval\",\n id: \"daily_frequency\"\n },\n model: {\n value: _vm.search.general.dailySearchFrequency,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"dailySearchFrequency\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.dailySearchFrequency\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"time in minutes between searches (min. \" +\n _vm._s(\n _vm.search.general.minDailySearchFrequency\n ) +\n \")\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.clientsConfig.torrent[_vm.clients.torrents.method]\n ? _c(\n \"config-toggle-slider\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].removeFromClientOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].removeFromClientOption\"\n }\n ],\n attrs: {\n label: \"Remove torrents from client\",\n id: \"remove_from_client\"\n },\n model: {\n value: _vm.search.general.removeFromClient,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"removeFromClient\",\n $$v\n )\n },\n expression: \"search.general.removeFromClient\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Remove torrent from client (also torrent data) when provider ratio is reached\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" For now only Transmission and Deluge are supported\"\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.search.general.removeFromClient,\n expression: \"search.general.removeFromClient\"\n }\n ],\n attrs: {\n min: _vm.search.general.minTorrentCheckerFrequency,\n step: 1,\n label: \"Frequency to check torrents ratio\",\n id: \"torrent_checker_frequency\",\n explanations: [\n \"Frequency in minutes to check torrent's ratio (default: 60)\"\n ]\n },\n model: {\n value: _vm.search.general.torrentCheckerFrequency,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"torrentCheckerFrequency\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.torrentCheckerFrequency\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n attrs: {\n min: 1,\n step: 1,\n label: \"Usenet retention\",\n id: \"usenet_retention\",\n explanations: [\n \"age limit in days for usenet articles to be used (e.g. 500)\"\n ]\n },\n model: {\n value: _vm.search.general.usenetRetention,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"usenetRetention\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.usenetRetention\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"trackers_list\",\n label: \"Trackers list\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"trackers_list\",\n id: \"trackers_list\",\n \"list-items\": _vm.search.general.trackersList\n },\n on: {\n change: function($event) {\n _vm.search.general.trackersList = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\n \"\\n Trackers that will be added to magnets without trackers\"\n ),\n _c(\"br\"),\n _vm._v(\n '\\n separate trackers with a comma, e.g. \"tracker1, tracker2, tracker3\"\\n '\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Allow high priority\",\n id: \"allow_high_priority\",\n explanations: [\n \"set downloads of recently aired episodes to high priority\"\n ]\n },\n model: {\n value: _vm.search.general.allowHighPriority,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"allowHighPriority\",\n $$v\n )\n },\n expression: \"search.general.allowHighPriority\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Use Failed Downloads\",\n id: \"use_failed_downloads\"\n },\n model: {\n value: _vm.search.general.failedDownloads.enabled,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general.failedDownloads,\n \"enabled\",\n $$v\n )\n },\n expression:\n \"search.general.failedDownloads.enabled\"\n }\n },\n [\n _c(\"p\", [_vm._v(\"Use Failed Download Handling?\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Will only work with snatched/downloaded episodes after enabling this\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.search.general.failedDownloads.enabled,\n expression:\n \"search.general.failedDownloads.enabled\"\n }\n ],\n attrs: {\n label: \"Delete Failed\",\n id: \"delete_failed\"\n },\n model: {\n value:\n _vm.search.general.failedDownloads.deleteFailed,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general.failedDownloads,\n \"deleteFailed\",\n $$v\n )\n },\n expression:\n \"search.general.failedDownloads.deleteFailed\"\n }\n },\n [\n _vm._v(\n \"\\n Delete files left over from a failed download?\"\n ),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" This only works if Use Failed Downloads is enabled.\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Cache Trimming\",\n id: \"cache_trimming\",\n explanations: [\"Enable trimming of provider cache\"]\n },\n model: {\n value: _vm.search.general.cacheTrimming,\n callback: function($$v) {\n _vm.$set(_vm.search.general, \"cacheTrimming\", $$v)\n },\n expression: \"search.general.cacheTrimming\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.search.general.cacheTrimming,\n expression: \"search.general.cacheTrimming\"\n }\n ],\n attrs: {\n min: 1,\n step: 1,\n label: \"Cache Retention\",\n id: \"max_cache_age\",\n explanations: [\n \"Number of days to retain results in cache. Results older than this will be removed if cache trimming is enabled.\"\n ]\n },\n model: {\n value: _vm.search.general.maxCacheAge,\n callback: function($$v) {\n _vm.$set(\n _vm.search.general,\n \"maxCacheAge\",\n _vm._n($$v)\n )\n },\n expression: \"search.general.maxCacheAge\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"ignore_words\",\n label: \"Ignore words\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"ignore_words\",\n id: \"ignore_words\",\n \"list-items\": _vm.search.filters.ignored\n },\n on: {\n change: function($event) {\n _vm.search.filters.ignored = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\n \"\\n results with any words from this list will be ignored\\n \"\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"undesired_words\",\n label: \"Undesired words\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"undesired_words\",\n id: \"undesired_words\",\n \"list-items\": _vm.search.filters.undesired\n },\n on: {\n change: function($event) {\n _vm.search.filters.undesired = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\n \"\\n results with words from this list will only be selected as a last resort\\n \"\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"preferred_words\",\n label: \"Preferred words\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"preferred_words\",\n id: \"preferred_words\",\n \"list-items\": _vm.search.filters.preferred\n },\n on: {\n change: function($event) {\n _vm.search.filters.preferred = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\n \"\\n results with one or more word from this list will be chosen over others\\n \"\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"require_words\",\n label: \"Require words\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"require_words\",\n id: \"require_words\",\n \"list-items\": _vm.search.filters.required\n },\n on: {\n change: function($event) {\n _vm.search.filters.required = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\n \"\\n results must include at least one word from this list\\n \"\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"ignored_subs_list\",\n label: \"Ignore language names in subbed results\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n name: \"ignored_subs_list\",\n id: \"ignored_subs_list\",\n \"list-items\": _vm.search.filters.ignoredSubsList\n },\n on: {\n change: function($event) {\n _vm.search.filters.ignoredSubsList = $event.map(\n function(x) {\n return x.value\n }\n )\n }\n }\n }),\n _vm._v(\n \"\\n Ignore subbed releases based on language names \"\n ),\n _c(\"br\"),\n _vm._v(\n '\\n Example: \"dk\" will ignore words: dksub, dksubs, dksubbed, dksubed '\n ),\n _c(\"br\")\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Ignore unknown subbed releases\",\n id: \"ignore_und_subs\",\n explanations: [\n \"Ignore subbed releases without language names\",\n \"Filter words: subbed, subpack, subbed, subs, etc.)\"\n ]\n },\n model: {\n value: _vm.search.filters.ignoreUnknownSubs,\n callback: function($$v) {\n _vm.$set(\n _vm.search.filters,\n \"ignoreUnknownSubs\",\n $$v\n )\n },\n expression: \"search.filters.ignoreUnknownSubs\"\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"nzb-search\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"NZB Search\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"How to handle NZB search results.\")]),\n _vm._v(\" \"),\n _c(\"div\", {\n class: \"add-client-icon-\" + _vm.clients.nzb.method,\n attrs: { id: \"nzb_method_icon\" }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Search NZBs\",\n id: \"use_nzbs\",\n explanations: [\"enable NZB search providers\"]\n },\n model: {\n value: _vm.clients.nzb.enabled,\n callback: function($$v) {\n _vm.$set(_vm.clients.nzb, \"enabled\", $$v)\n },\n expression: \"clients.nzb.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.clients.nzb.enabled,\n expression: \"clients.nzb.enabled\"\n }\n ]\n },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"nzb_method\",\n label: \"Send .nzb files to\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.clients.nzb.method,\n expression: \"clients.nzb.method\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n name: \"nzb_method\",\n id: \"nzb_method\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(\n o\n ) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.clients.nzb,\n \"method\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.clientsConfig.nzb, function(\n client,\n name\n ) {\n return _c(\n \"option\",\n { key: name, domProps: { value: name } },\n [_vm._v(_vm._s(client.title))]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.nzb.method === \"blackhole\",\n expression:\n \"clients.nzb.method === 'blackhole'\"\n }\n ],\n attrs: {\n id: \"blackhole_settings\",\n \"label-for\": \"nzb_dir\",\n label: \"Black hole folder location\"\n }\n },\n [\n _c(\"file-browser\", {\n attrs: {\n name: \"nzb_dir\",\n title: \"Select .nzb black hole location\",\n \"initial-dir\": _vm.clients.nzb.dir\n },\n on: {\n update: function($event) {\n _vm.clients.nzb.dir = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\".nzb\")]),\n _vm._v(\n \" files are stored at this location for external software to find and use\"\n )\n ])\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.clients.nzb.method\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.nzb.method === \"sabnzbd\",\n expression:\n \"clients.nzb.method === 'sabnzbd'\"\n }\n ],\n attrs: { id: \"sabnzbd_settings\" }\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"SABnzbd server URL\",\n id: \"sab_host\",\n explanations: [\n \"username for your KODI server (blank for none)\"\n ]\n },\n on: {\n change: function($event) {\n return _vm.save()\n }\n },\n model: {\n value: _vm.clients.nzb.sabnzbd.host,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"host\",\n $$v\n )\n },\n expression: \"clients.nzb.sabnzbd.host\"\n }\n },\n [\n _c(\n \"div\",\n { staticClass: \"clear-left\" },\n [\n _c(\"p\", {\n domProps: {\n innerHTML: _vm._s(\n _vm.clientsConfig.nzb[\n _vm.clients.nzb.method\n ].description\n )\n }\n })\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"SABnzbd username\",\n id: \"sab_username\",\n explanations: [\"(blank for none)\"]\n },\n model: {\n value: _vm.clients.nzb.sabnzbd.username,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"username\",\n $$v\n )\n },\n expression:\n \"clients.nzb.sabnzbd.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"SABnzbd password\",\n id: \"sab_password\",\n explanations: [\"(blank for none)\"]\n },\n model: {\n value: _vm.clients.nzb.sabnzbd.password,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"password\",\n $$v\n )\n },\n expression:\n \"clients.nzb.sabnzbd.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"SABnzbd API key\",\n id: \"sab_apikey\",\n explanations: [\n \"locate at... SABnzbd Config -> General -> API Key\"\n ]\n },\n model: {\n value: _vm.clients.nzb.sabnzbd.apiKey,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"apiKey\",\n $$v\n )\n },\n expression: \"clients.nzb.sabnzbd.apiKey\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Use SABnzbd category\",\n id: \"sab_category\",\n explanations: [\n \"add downloads to this category (e.g. TV)\"\n ]\n },\n model: {\n value: _vm.clients.nzb.sabnzbd.category,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"category\",\n $$v\n )\n },\n expression:\n \"clients.nzb.sabnzbd.category\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label:\n \"Use SABnzbd category (backlog episodes)\",\n id: \"sab_category_backlog\",\n explanations: [\n \"add downloads of old episodes to this category (e.g. TV)\"\n ]\n },\n model: {\n value:\n _vm.clients.nzb.sabnzbd\n .categoryBacklog,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"categoryBacklog\",\n $$v\n )\n },\n expression:\n \"clients.nzb.sabnzbd.categoryBacklog\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Use SABnzbd category for anime\",\n id: \"sab_category_anime\",\n explanations: [\n \"add anime downloads to this category (e.g. anime)\"\n ]\n },\n model: {\n value:\n _vm.clients.nzb.sabnzbd.categoryAnime,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"categoryAnime\",\n $$v\n )\n },\n expression:\n \"clients.nzb.sabnzbd.categoryAnime\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label:\n \"Use SABnzbd category for anime (backlog episodes)\",\n id: \"sab_category_anime_backlog\",\n explanations: [\n \"add anime downloads of old episodes to this category (e.g. anime)\"\n ]\n },\n model: {\n value:\n _vm.clients.nzb.sabnzbd\n .categoryAnimeBacklog,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"categoryAnimeBacklog\",\n $$v\n )\n },\n expression:\n \"clients.nzb.sabnzbd.categoryAnimeBacklog\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Use forced priority\",\n id: \"sab_forced\",\n explanations: [\n \"enable to change priority from HIGH to FORCED\"\n ]\n },\n model: {\n value: _vm.clients.nzb.sabnzbd.forced,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.sabnzbd,\n \"forced\",\n $$v\n )\n },\n expression: \"clients.nzb.sabnzbd.forced\"\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.nzb.sabnzbd\n .testStatus,\n expression:\n \"clientsConfig.nzb.sabnzbd.testStatus\"\n }\n ],\n staticClass: \"testNotification\",\n domProps: {\n innerHTML: _vm._s(\n _vm.clientsConfig.nzb.sabnzbd\n .testStatus\n )\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa test-button\",\n attrs: {\n type: \"button\",\n value: \"Test SABnzbd\"\n },\n on: { click: _vm.testSabnzbd }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass:\n \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _c(\"br\")\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.clients.nzb.method\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.nzb.method === \"nzbget\",\n expression:\n \"clients.nzb.method === 'nzbget'\"\n }\n ],\n attrs: { id: \"nzbget_settings\" }\n },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Connect using HTTPS\",\n id: \"nzbget_use_https\"\n },\n model: {\n value:\n _vm.clients.nzb.nzbget.useHttps,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"useHttps\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.useHttps\"\n }\n },\n [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" enable Secure control in NZBGet and set the correct Secure Port here\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"NZBget host:port\",\n id: \"nzbget_host\"\n },\n model: {\n value: _vm.clients.nzb.nzbget.host,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"host\",\n $$v\n )\n },\n expression: \"clients.nzb.nzbget.host\"\n }\n },\n [\n _vm.clientsConfig.nzb[\n _vm.clients.nzb.method\n ]\n ? _c(\"p\", {\n domProps: {\n innerHTML: _vm._s(\n _vm.clientsConfig.nzb[\n _vm.clients.nzb.method\n ].description\n )\n }\n })\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"NZBget username\",\n id: \"nzbget_username\",\n explanations: [\n \"locate in nzbget.conf (default:nzbget)\"\n ]\n },\n model: {\n value: _vm.clients.nzb.nzbget.username,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"username\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n type: \"password\",\n label: \"NZBget password\",\n id: \"nzbget_password\",\n explanations: [\n \"locate in nzbget.conf (default:tegbzn6789)\"\n ]\n },\n model: {\n value: _vm.clients.nzb.nzbget.password,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"password\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Use NZBget category\",\n id: \"nzbget_category\",\n explanations: [\n \"send downloads marked this category (e.g. TV)\"\n ]\n },\n model: {\n value: _vm.clients.nzb.nzbget.category,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"category\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.category\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label:\n \"Use NZBget category (backlog episodes)\",\n id: \"nzbget_category_backlog\",\n explanations: [\n \"send downloads of old episodes marked this category (e.g. TV)\"\n ]\n },\n model: {\n value:\n _vm.clients.nzb.nzbget\n .categoryBacklog,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"categoryBacklog\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.categoryBacklog\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label: \"Use NZBget category for anime\",\n id: \"nzbget_category_anime\",\n explanations: [\n \"send anime downloads marked this category (e.g. anime)\"\n ]\n },\n model: {\n value:\n _vm.clients.nzb.nzbget.categoryAnime,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"categoryAnime\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.categoryAnime\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n attrs: {\n label:\n \"Use NZBget category for anime (backlog episodes)\",\n id: \"nzbget_category_anime_backlog\",\n explanations: [\n \"send anime downloads of old episodes marked this category (e.g. anime)\"\n ]\n },\n model: {\n value:\n _vm.clients.nzb.nzbget\n .categoryAnimeBacklog,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"categoryAnimeBacklog\",\n $$v\n )\n },\n expression:\n \"clients.nzb.nzbget.categoryAnimeBacklog\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"nzbget_priority\",\n label: \"NZBget priority\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.clients.nzb.nzbget\n .priority,\n expression:\n \"clients.nzb.nzbget.priority\"\n }\n ],\n staticClass:\n \"form-control input-sm\",\n attrs: {\n name: \"nzbget_priority\",\n id: \"nzbget_priority\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.clients.nzb.nzbget,\n \"priority\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(\n _vm.nzbGetPriorityOptions,\n function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: {\n value: option.value\n }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }\n ),\n 0\n ),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"priority for daily snatches (no backlog)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.nzb.nzbget\n .testStatus,\n expression:\n \"clientsConfig.nzb.nzbget.testStatus\"\n }\n ],\n staticClass: \"testNotification\",\n domProps: {\n innerHTML: _vm._s(\n _vm.clientsConfig.nzb.nzbget\n .testStatus\n )\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa test-button\",\n attrs: {\n type: \"button\",\n value: \"Test NZBget\"\n },\n on: { click: _vm.testNzbget }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass:\n \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _c(\"br\")\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"torrent-search\" } }, [\n _c(\"div\", { staticClass: \"row component-group\" }, [\n _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"h3\", [_vm._v(\"Torrent Search\")]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"How to handle Torrent search results.\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", {\n class: \"add-client-icon-\" + _vm.clients.torrents.method,\n attrs: { id: \"torrent_method_icon\" }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-xs-12 col-md-10\" }, [\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\"config-toggle-slider\", {\n attrs: {\n label: \"Search torrents\",\n id: \"use_torrents\",\n explanations: [\"enable torrent search providers\"]\n },\n model: {\n value: _vm.clients.torrents.enabled,\n callback: function($$v) {\n _vm.$set(_vm.clients.torrents, \"enabled\", $$v)\n },\n expression: \"clients.torrents.enabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.clients.torrents.enabled,\n expression: \"clients.torrents.enabled\"\n }\n ]\n },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"torrent_method\",\n label: \"Send .torrent files to\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.clients.torrents.method,\n expression: \"clients.torrents.method\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n name: \"torrent_method\",\n id: \"torrent_method\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(\n o\n ) {\n return o.selected\n })\n .map(function(o) {\n var val =\n \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.clients.torrents,\n \"method\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.clientsConfig.torrent, function(\n client,\n name\n ) {\n return _c(\n \"option\",\n { key: name, domProps: { value: name } },\n [_vm._v(_vm._s(client.title))]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _vm.clients.torrents.method\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents.method ===\n \"blackhole\",\n expression:\n \"clients.torrents.method === 'blackhole'\"\n }\n ]\n },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"torrent_dir\",\n label: \"Black hole folder location\"\n }\n },\n [\n _c(\"file-browser\", {\n attrs: {\n name: \"torrent_dir\",\n title:\n \"Select .torrent black hole location\",\n \"initial-dir\":\n _vm.clients.torrents.dir\n },\n on: {\n update: function($event) {\n _vm.clients.torrents.dir = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\".torrent\")]),\n _vm._v(\n \" files are stored at this location for external software to find and use\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass:\n \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _c(\"br\")\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.clients.torrents.method\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents.method !==\n \"blackhole\",\n expression:\n \"clients.torrents.method !== 'blackhole'\"\n }\n ]\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].shortTitle ||\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].title + \" host:port\",\n id: \"torrent_host\"\n },\n model: {\n value: _vm.clients.torrents.host,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"host\",\n $$v\n )\n },\n expression: \"clients.torrents.host\"\n }\n },\n [\n _c(\"p\", {\n domProps: {\n innerHTML: _vm._s(\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].description\n )\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-textbox\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents.method ===\n \"transmission\",\n expression:\n \"clients.torrents.method === 'transmission'\"\n }\n ],\n attrs: {\n label:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].shortTitle ||\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].title + \" RPC URL\",\n id: \"rpcurl_title\"\n },\n model: {\n value: _vm.clients.torrents.rpcUrl,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"rpcUrl\",\n $$v\n )\n },\n expression: \"clients.torrents.rpcUrl\"\n }\n },\n [\n _c(\n \"p\",\n { attrs: { id: \"rpcurl_desc_\" } },\n [\n _vm._v(\n \"The path without leading and trailing slashes (e.g. transmission)\"\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.authTypeIsDisabled,\n expression: \"!authTypeIsDisabled\"\n }\n ],\n attrs: {\n \"label-for\": \"torrent_auth_type\",\n label: \"Http Authentication\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.clients.torrents.authType,\n expression:\n \"clients.torrents.authType\"\n }\n ],\n staticClass:\n \"form-control input-sm\",\n attrs: {\n name: \"torrent_auth_type\",\n id: \"torrent_auth_type\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.clients.torrents,\n \"authType\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.httpAuthTypes, function(\n title,\n name\n ) {\n return _c(\n \"option\",\n {\n key: name,\n domProps: { value: name }\n },\n [_vm._v(_vm._s(title))]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].verifySSLOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].verifySSLOption\"\n }\n ],\n attrs: {\n label: \"Verify certificate\",\n id: \"torrent_verify_cert\"\n },\n model: {\n value: _vm.clients.torrents.verifySSL,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"verifySSL\",\n $$v\n )\n },\n expression:\n \"clients.torrents.verifySSL\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Verify SSL certificates for HTTPS requests\"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"p\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method === \"deluge\",\n expression:\n \"clients.torrents.method === 'deluge'\"\n }\n ]\n },\n [\n _vm._v(\n 'disable if you get \"Deluge: Authentication Error\" in your log'\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.torrentUsernameIsDisabled,\n expression:\n \"!torrentUsernameIsDisabled\"\n }\n ],\n attrs: {\n label:\n (_vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].shortTitle ||\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].title) + \" username\",\n id: \"torrent_username\",\n explanations: [\"(blank for none)\"]\n },\n model: {\n value: _vm.clients.torrents.username,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"username\",\n $$v\n )\n },\n expression: \"clients.torrents.username\"\n }\n }),\n _vm._v(\" \"),\n _c(\"config-textbox\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.torrentPasswordIsDisabled,\n expression:\n \"!torrentPasswordIsDisabled\"\n }\n ],\n attrs: {\n type: \"password\",\n label:\n (_vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].shortTitle ||\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].title) + \" password\",\n id: \"torrent_password\",\n explanations: [\"(blank for none)\"]\n },\n model: {\n value: _vm.clients.torrents.password,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"password\",\n $$v\n )\n },\n expression: \"clients.torrents.password\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].labelOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].labelOption\"\n }\n ],\n attrs: { id: \"torrent_label_option\" }\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label: \"Add label to torrent\",\n id: \"torrent_label\"\n },\n model: {\n value: _vm.clients.torrents.label,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"label\",\n $$v\n )\n },\n expression:\n \"clients.torrents.label\"\n }\n },\n [\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: [\n \"deluge\",\n \"deluged\"\n ].includes(\n _vm.clients.torrents\n .method\n ),\n expression:\n \"['deluge', 'deluged'].includes(clients.torrents.method)\"\n }\n ]\n },\n [\n _c(\"p\", [\n _vm._v(\n \"(blank spaces are not allowed)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" label plugin must be enabled in Deluge clients\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method ===\n \"qbittorrent\",\n expression:\n \"clients.torrents.method === 'qbittorrent'\"\n }\n ]\n },\n [\n _c(\"p\", [\n _vm._v(\n \"(blank spaces are not allowed)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" for qBitTorrent 3.3.1 and up\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method === \"utorrent\",\n expression:\n \"clients.torrents.method === 'utorrent'\"\n }\n ]\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Global label for torrents.\"\n ),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"%N:\")]),\n _vm._v(\n \" use Series-Name as label (can be used with other text)\"\n )\n ])\n ]\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].labelAnimeOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].labelAnimeOption\"\n }\n ]\n },\n [\n _c(\n \"config-textbox\",\n {\n attrs: {\n label:\n \"Add label to torrent for anime\",\n id: \"torrent_label_anime\"\n },\n model: {\n value:\n _vm.clients.torrents.labelAnime,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"labelAnime\",\n $$v\n )\n },\n expression:\n \"clients.torrents.labelAnime\"\n }\n },\n [\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: [\n \"deluge\",\n \"deluged\"\n ].includes(\n _vm.clients.torrents\n .method\n ),\n expression:\n \"['deluge', 'deluged'].includes(clients.torrents.method)\"\n }\n ]\n },\n [\n _c(\"p\", [\n _vm._v(\n \"(blank spaces are not allowed)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" label plugin must be enabled in Deluge clients\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method ===\n \"qbittorrent\",\n expression:\n \"clients.torrents.method === 'qbittorrent'\"\n }\n ]\n },\n [\n _c(\"p\", [\n _vm._v(\n \"(blank spaces are not allowed)\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" for qBitTorrent 3.3.1 and up\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method === \"utorrent\",\n expression:\n \"clients.torrents.method === 'utorrent'\"\n }\n ]\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Global label for torrents.\"\n ),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"%N:\")]),\n _vm._v(\n \" use Series-Name as label (can be used with other text)\"\n )\n ])\n ]\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].pathOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].pathOption\"\n }\n ],\n attrs: {\n \"label-for\": \"torrent_client\",\n label: \"Downloaded files location\"\n }\n },\n [\n _c(\"file-browser\", {\n attrs: {\n name: \"torrent_path\",\n title:\n \"Select downloaded files location\",\n \"initial-dir\":\n _vm.clients.torrents.path\n },\n on: {\n update: function($event) {\n _vm.clients.torrents.path = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\"where \"),\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ]\n ? _c(\n \"span\",\n {\n attrs: {\n id: \"torrent_client\"\n }\n },\n [\n _vm._v(\n _vm._s(\n _vm.clientsConfig.torrent[\n _vm.clients.torrents\n .method\n ].shortTitle ||\n _vm.clientsConfig\n .torrent[\n _vm.clients.torrents\n .method\n ].title\n )\n )\n ]\n )\n : _vm._e(),\n _vm._v(\n \" will save downloaded files (blank for client default)\\n \"\n ),\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method ===\n \"downloadstation\",\n expression:\n \"clients.torrents.method === 'downloadstation'\"\n }\n ]\n },\n [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" the destination has to be a shared folder for Synology DS\"\n )\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents\n .method === \"qbittorrent\",\n expression:\n \"clients.torrents.method === 'qbittorrent'\"\n }\n ]\n },\n [\n _c(\"p\", [\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n \" for qBitTorrent 3.2.0 and up\"\n )\n ])\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].seedLocationOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].seedLocationOption\"\n }\n ],\n attrs: {\n \"label-for\": \"torrent_seed_location\",\n label:\n \"Post-Processed seeding torrents location\"\n }\n },\n [\n _c(\"file-browser\", {\n attrs: {\n name: \"torrent_seed_location\",\n title:\n \"Select torrent seed location\",\n \"initial-dir\":\n _vm.clients.torrents.seedLocation\n },\n on: {\n update: function($event) {\n _vm.clients.torrents.seedLocation = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"\\n where \"\n ),\n _c(\n \"span\",\n {\n attrs: {\n id: \"torrent_client_seed_path\"\n }\n },\n [\n _vm._v(\n _vm._s(\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].shortTitle ||\n _vm.clientsConfig.torrent[\n _vm.clients.torrents\n .method\n ].title\n )\n )\n ]\n ),\n _vm._v(\n \" will move Torrents after Post-Processing\"\n ),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Note:\")]),\n _vm._v(\n ' If your Post-Processor method is set to hard/soft link this will move your torrent\\n to another location after Post-Processor to prevent reprocessing the same file over and over.\\n This feature does a \"Set Torrent location\" or \"Move Torrent\" like in client\\n '\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].seedTimeOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].seedTimeOption\"\n }\n ],\n attrs: {\n min: -1,\n step: 1,\n label:\n _vm.clients.torrents.method ===\n \"transmission\"\n ? \"Stop seeding when inactive for\"\n : \"Minimum seeding time is\",\n id: \"torrent_seed_time\",\n explanations: [\n \"hours. (default: '0' passes blank to client and '-1' passes nothing)\"\n ]\n },\n model: {\n value: _vm.clients.torrents.seedTime,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"seedTime\",\n _vm._n($$v)\n )\n },\n expression: \"clients.torrents.seedTime\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].pausedOption,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].pausedOption\"\n }\n ],\n attrs: {\n label: \"Start torrent paused\",\n id: \"torrent_paused\"\n },\n model: {\n value: _vm.clients.torrents.paused,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"paused\",\n $$v\n )\n },\n expression: \"clients.torrents.paused\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"add .torrent to client but do \"\n ),\n _c(\n \"b\",\n {\n staticStyle: {\n \"font-weight\": \"900\"\n }\n },\n [_vm._v(\"not\")]\n ),\n _vm._v(\" start downloading\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"config-toggle-slider\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clients.torrents.method ===\n \"transmission\",\n expression:\n \"clients.torrents.method === 'transmission'\"\n }\n ],\n attrs: {\n label: \"Allow high bandwidth\",\n id: \"torrent_high_bandwidth\",\n explanations: [\n \"use high bandwidth allocation if priority is high\"\n ]\n },\n model: {\n value:\n _vm.clients.torrents.highBandwidth,\n callback: function($$v) {\n _vm.$set(\n _vm.clients.torrents,\n \"highBandwidth\",\n $$v\n )\n },\n expression:\n \"clients.torrents.highBandwidth\"\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].testStatus,\n expression:\n \"clientsConfig.torrent[clients.torrents.method].testStatus\"\n }\n ],\n staticClass: \"testNotification\",\n domProps: {\n innerHTML: _vm._s(\n _vm.clientsConfig.torrent[\n _vm.clients.torrents.method\n ].testStatus\n )\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa test-button\",\n attrs: {\n type: \"button\",\n value: \"Test Connection\"\n },\n on: { click: _vm.testTorrentClient }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass:\n \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n }),\n _vm._v(\" \"),\n _c(\"br\")\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"h6\", { staticClass: \"pull-right\" }, [\n _c(\"b\", [\n _vm._v(\"All non-absolute folder locations are relative to \"),\n _c(\"span\", { staticClass: \"path\" }, [\n _vm._v(_vm._s(_vm.system.dataDir))\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa config_submitter\",\n attrs: {\n type: \"submit\",\n value: \"Save Changes\",\n disabled: _vm.saving\n }\n })\n ])\n ]\n )\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"component-group-desc col-xs-12 col-md-2\" },\n [\n _c(\"a\", { attrs: { name: \"searchfilters\" } }),\n _c(\"h3\", [_vm._v(\"Search Filters\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Options to filter search results\")])\n ]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/config-search.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/config.vue?vue&type=template&id=b286475c&scoped=true&": -/*!************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/config.vue?vue&type=template&id=b286475c&scoped=true& ***! - \************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-content\" } }, [\n _c(\n \"table\",\n {\n staticClass: \"infoTable\",\n attrs: {\n cellspacing: \"1\",\n border: \"0\",\n cellpadding: \"0\",\n width: \"100%\"\n }\n },\n [\n _c(\"tr\", [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\"\\n Branch:\\n \"),\n _vm.system.branch\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl + \"/tree/\" + _vm.system.branch\n }\n },\n [_vm._v(_vm._s(_vm.system.branch))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Commit:\\n \"),\n _vm.system.commitHash\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl +\n \"/commit/\" +\n _vm.system.commitHash\n }\n },\n [_vm._v(_vm._s(_vm.system.commitHash))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Version:\\n \"),\n _vm.system.release\n ? _c(\n \"span\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.sourceUrl +\n \"/releases/tag/v\" +\n _vm.system.release\n }\n },\n [_vm._v(_vm._s(_vm.system.release))]\n )\n ],\n 1\n )\n : _c(\"span\", [_vm._v(\"Unknown\")]),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\"\\n Database:\\n \"),\n _vm.system.databaseVersion\n ? _c(\"span\", [\n _vm._v(\n _vm._s(_vm.system.databaseVersion.major) +\n \".\" +\n _vm._s(_vm.system.databaseVersion.minor)\n )\n ])\n : _c(\"span\", [_vm._v(\"Unknown\")])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(1),\n _c(\"td\", [_vm._v(_vm._s(_vm.system.pythonVersion))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(2),\n _c(\"td\", [_vm._v(_vm._s(_vm.system.sslVersion))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(3), _c(\"td\", [_vm._v(_vm._s(_vm.system.os))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(4), _c(\"td\", [_vm._v(_vm._s(_vm.system.locale))])]),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(7), _c(\"td\", [_vm._v(_vm._s(_vm.system.localUser))])]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(8),\n _c(\"td\", [_vm._v(_vm._s(_vm.system.programDir))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(9),\n _c(\"td\", [_vm._v(_vm._s(_vm.system.configFile))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(10), _c(\"td\", [_vm._v(_vm._s(_vm.system.dbPath))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(11), _c(\"td\", [_vm._v(_vm._s(_vm.system.cacheDir))])]),\n _vm._v(\" \"),\n _c(\"tr\", [_vm._m(12), _c(\"td\", [_vm._v(_vm._s(_vm.system.logDir))])]),\n _vm._v(\" \"),\n _vm.system.appArgs\n ? _c(\"tr\", [\n _vm._m(13),\n _c(\"td\", [\n _c(\"pre\", [_vm._v(_vm._s(_vm.system.appArgs.join(\" \")))])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.system.webRoot\n ? _c(\"tr\", [\n _vm._m(14),\n _c(\"td\", [_vm._v(_vm._s(_vm.system.webRoot))])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.system.runsInDocker\n ? _c(\"tr\", [_vm._m(15), _c(\"td\", [_vm._v(\"Yes\")])])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(18),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.git.url } }, [\n _vm._v(_vm._s(_vm.config.git.url))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(19),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.wikiUrl } }, [\n _vm._v(_vm._s(_vm.config.wikiUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(20),\n _c(\n \"td\",\n [\n _c(\"app-link\", { attrs: { href: _vm.config.sourceUrl } }, [\n _vm._v(_vm._s(_vm.config.sourceUrl))\n ])\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(21),\n _c(\n \"td\",\n [\n _c(\n \"app-link\",\n { attrs: { href: \"irc://irc.freenode.net/#pymedusa\" } },\n [\n _c(\"i\", [_vm._v(\"#pymedusa\")]),\n _vm._v(\" on \"),\n _c(\"i\", [_vm._v(\"irc.freenode.net\")])\n ]\n )\n ],\n 1\n )\n ])\n ]\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-application\" }),\n _vm._v(\" Medusa Info:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-python\" }),\n _vm._v(\" Python Version:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-ssl\" }),\n _vm._v(\" SSL Version:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-os\" }),\n _vm._v(\" OS:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-locale\" }),\n _vm._v(\" Locale:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [_c(\"td\", [_vm._v(\" \")]), _c(\"td\", [_vm._v(\" \")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"infoTableSeperator\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _c(\"td\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-user\" }),\n _vm._v(\" User:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-dir\" }),\n _vm._v(\" Program Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-config\" }),\n _vm._v(\" Config File:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-db\" }),\n _vm._v(\" Database File:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-cache\" }),\n _vm._v(\" Cache Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-log\" }),\n _vm._v(\" Log Folder:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-arguments\" }),\n _vm._v(\" Arguments:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-dir\" }),\n _vm._v(\" Web Root:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-docker\" }),\n _vm._v(\" Runs in Docker:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [_c(\"td\", [_vm._v(\" \")]), _c(\"td\", [_vm._v(\" \")])])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"infoTableSeperator\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _c(\"td\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-web\" }),\n _vm._v(\" Website:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-wiki\" }),\n _vm._v(\" Wiki:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-github\" }),\n _vm._v(\" Source:\")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", [\n _c(\"i\", { staticClass: \"icon16-config-mirc\" }),\n _vm._v(\" IRC Chat:\")\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/config.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/display-show.vue?vue&type=template&id=6dfe8938&scoped=true&": -/*!******************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/display-show.vue?vue&type=template&id=6dfe8938&scoped=true& ***! - \******************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"display-show-template\", class: _vm.theme },\n [\n _c(\"vue-snotify\"),\n _vm._v(\" \"),\n _vm.show.id.slug\n ? _c(\"backstretch\", { attrs: { slug: _vm.show.id.slug } })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"input\", { attrs: { type: \"hidden\", id: \"series-id\", value: \"\" } }),\n _vm._v(\" \"),\n _c(\"input\", { attrs: { type: \"hidden\", id: \"indexer-name\", value: \"\" } }),\n _vm._v(\" \"),\n _c(\"input\", { attrs: { type: \"hidden\", id: \"series-slug\", value: \"\" } }),\n _vm._v(\" \"),\n _c(\"show-header\", {\n ref: \"show-header\",\n attrs: { type: \"show\", \"show-id\": _vm.id, \"show-indexer\": _vm.indexer },\n on: {\n reflow: _vm.reflowLayout,\n update: _vm.statusQualityUpdate,\n \"update-overview-status\": function($event) {\n _vm.filterByOverviewStatus = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"row\",\n class: { fanartBackground: _vm.layout.fanartBackground }\n },\n [\n _c(\n \"div\",\n { staticClass: \"col-md-12 top-15 displayShow horizontal-scroll\" },\n [\n _vm.show.seasons\n ? _c(\"vue-good-table\", {\n ref: \"table-seasons\",\n attrs: {\n columns: _vm.columns,\n rows: _vm.orderSeasons,\n groupOptions: {\n enabled: true,\n mode: \"span\",\n customChildObject: \"episodes\"\n },\n \"pagination-options\": {\n enabled: _vm.layout.show.pagination.enable,\n perPage: _vm.paginationPerPage,\n perPageDropdown: _vm.perPageDropdown\n },\n \"search-options\": {\n enabled: true,\n trigger: \"enter\",\n skipDiacritics: false,\n placeholder: \"Search episodes\"\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: _vm.getSortBy(\"episode\", \"desc\")\n },\n selectOptions: {\n enabled: true,\n selectOnCheckboxOnly: true, // only select when checkbox is clicked instead of the row\n selectionInfoClass: \"select-info\",\n selectionText: \"episodes selected\",\n clearSelectionText: \"clear\",\n selectAllByGroup: true\n },\n \"row-style-class\": _vm.rowStyleClassFn,\n \"column-filter-options\": {\n enabled: true\n }\n },\n on: {\n \"on-selected-rows-change\": function($event) {\n _vm.selectedEpisodes = $event.selectedRows\n },\n \"on-per-page-change\": function($event) {\n return _vm.updatePaginationPerPage(\n $event.currentPerPage\n )\n },\n \"on-page-change\": _vm.onPageChange\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"table-header-row\",\n fn: function(props) {\n return [\n _c(\n \"h3\",\n {\n staticClass: \"season-header toggle collapse\"\n },\n [\n _c(\"app-link\", {\n attrs: {\n name: \"season-\" + props.row.season\n }\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.season > 0\n ? \"Season \" + props.row.season\n : \"Specials\"\n ) +\n \"\\n \"\n ),\n _vm._v(\" \"),\n _vm.anyEpisodeNotUnaired(props.row)\n ? _c(\n \"app-link\",\n {\n staticClass: \"epManualSearch\",\n attrs: {\n href:\n \"home/snatchSelection?indexername=\" +\n _vm.show.indexer +\n \"&seriesid=\" +\n _vm.show.id[_vm.show.indexer] +\n \"&season=\" +\n props.row.season +\n \"&episode=1&manual_search_type=season\"\n }\n },\n [\n _vm.config\n ? _c(\"img\", {\n attrs: {\n \"data-ep-manual-search\": \"\",\n src:\n \"images/manualsearch-white.png\",\n width: \"16\",\n height: \"16\",\n alt: \"search\",\n title: \"Manual Search\"\n }\n })\n : _vm._e()\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"season-scene-exception\",\n attrs: {\n \"data-season\":\n props.row.season > 0\n ? props.row.season\n : \"Specials\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"img\",\n _vm._b(\n {},\n \"img\",\n _vm.getSeasonExceptions(props.row.season),\n false\n )\n )\n ],\n 1\n )\n ]\n }\n },\n {\n key: \"table-footer-row\",\n fn: function(ref) {\n var headerRow = ref.headerRow\n return [\n _c(\n \"tr\",\n {\n staticClass:\n \"seasoncols border-bottom shadow\",\n attrs: {\n colspan: \"9999\",\n id: \"season-\" + headerRow.season + \"-footer\"\n }\n },\n [\n _c(\n \"th\",\n {\n staticClass: \"col-footer\",\n attrs: { colspan: \"15\", align: \"left\" }\n },\n [\n _vm._v(\n \"Season contains \" +\n _vm._s(headerRow.episodes.length) +\n \" episodes with total filesize: \" +\n _vm._s(_vm.addFileSize(headerRow))\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"spacer\" })\n ]\n }\n },\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.field == \"content.hasNfo\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.content.hasNfo\n ? \"nfo.gif\"\n : \"nfo-no.gif\"),\n alt: props.row.content.hasNfo\n ? \"Y\"\n : \"N\",\n width: \"23\",\n height: \"11\"\n }\n })\n ])\n : props.column.field == \"content.hasTbn\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.content.hasTbn\n ? \"tbn.gif\"\n : \"tbn-no.gif\"),\n alt: props.row.content.hasTbn\n ? \"Y\"\n : \"N\",\n width: \"23\",\n height: \"11\"\n }\n })\n ])\n : props.column.label == \"Episode\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n class: {\n addQTip:\n props.row.file.location !== \"\"\n },\n attrs: {\n title:\n props.row.file.location !== \"\"\n ? props.row.file.location\n : \"\"\n }\n },\n [_vm._v(_vm._s(props.row.episode))]\n )\n ])\n : props.column.label == \"Scene\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"input\", {\n staticClass:\n \"sceneSeasonXEpisode form-control input-scene addQTip\",\n staticStyle: {\n padding: \"0\",\n \"text-align\": \"center\",\n \"max-width\": \"60px\"\n },\n attrs: {\n type: \"text\",\n placeholder:\n props.formattedRow[props.column.field]\n .season +\n \"x\" +\n props.formattedRow[props.column.field]\n .episode,\n size: \"6\",\n maxlength: \"8\",\n \"data-for-season\": props.row.season,\n \"data-for-episode\": props.row.episode,\n id:\n \"sceneSeasonXEpisode_\" +\n _vm.show.id[_vm.show.indexer] +\n \"_\" +\n props.row.season +\n \"_\" +\n props.row.episode,\n title:\n \"Change this value if scene numbering differs from the indexer episode numbering. Generally used for non-anime shows.\"\n },\n domProps: {\n value:\n props.formattedRow[props.column.field]\n .season +\n \"x\" +\n props.formattedRow[props.column.field]\n .episode\n }\n })\n ])\n : props.column.label == \"Scene Abs. #\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"input\", {\n staticClass:\n \"sceneAbsolute form-control input-scene addQTip\",\n staticStyle: {\n padding: \"0\",\n \"text-align\": \"center\",\n \"max-width\": \"60px\"\n },\n attrs: {\n type: \"text\",\n placeholder:\n props.formattedRow[\n props.column.field\n ],\n size: \"6\",\n maxlength: \"8\",\n \"data-for-absolute\":\n props.formattedRow[\n props.column.field\n ] || 0,\n id:\n \"sceneSeasonXEpisode_\" +\n _vm.show.id[_vm.show.indexer] +\n props.formattedRow[\n props.column.field\n ],\n title:\n \"Change this value if scene absolute numbering differs from the indexer absolute numbering. Generally used for anime shows.\"\n },\n domProps: {\n value: props.formattedRow[\n props.column.field\n ]\n ? props.formattedRow[\n props.column.field\n ]\n : \"\"\n }\n })\n ])\n : props.column.label == \"Title\"\n ? _c(\n \"span\",\n [\n props.row.description !== \"\"\n ? _c(\"plot-info\", {\n attrs: {\n description:\n props.row.description,\n \"show-slug\": _vm.show.id.slug,\n season: props.row.season,\n episode: props.row.episode\n }\n })\n : _vm._e(),\n _vm._v(\n \"\\n \" +\n _vm._s(props.row.title) +\n \"\\n \"\n )\n ],\n 1\n )\n : props.column.label == \"File\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n staticClass: \"addQTip\",\n attrs: {\n title: props.row.file.location\n }\n },\n [_vm._v(_vm._s(props.row.file.name))]\n )\n ])\n : props.column.label == \"Download\"\n ? _c(\n \"span\",\n [\n _vm.config.downloadUrl &&\n props.row.file.location &&\n [\"Downloaded\", \"Archived\"].includes(\n props.row.status\n )\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.downloadUrl +\n props.row.file.location\n }\n },\n [_vm._v(\"Download\")]\n )\n : _vm._e()\n ],\n 1\n )\n : props.column.label == \"Subtitles\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n [\n \"Archived\",\n \"Downloaded\",\n \"Ignored\",\n \"Skipped\"\n ].includes(props.row.status)\n ? _c(\n \"div\",\n { staticClass: \"subtitles\" },\n _vm._l(props.row.subtitles, function(\n flag\n ) {\n return _c(\"div\", { key: flag }, [\n flag !== \"und\"\n ? _c(\"img\", {\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n flag +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: flag,\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n },\n on: {\n click: function($event) {\n return _vm.searchSubtitle(\n $event,\n props.row,\n flag\n )\n }\n }\n })\n : _c(\"img\", {\n staticClass:\n \"subtitle-flag\",\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n flag +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: flag,\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n }\n })\n ])\n }),\n 0\n )\n : _vm._e()\n ])\n : props.column.label == \"Status\"\n ? _c(\"span\", [\n _c(\n \"div\",\n [\n _vm._v(\n \"\\n \" +\n _vm._s(props.row.status) +\n \"\\n \"\n ),\n props.row.quality !== 0\n ? _c(\"quality-pill\", {\n attrs: {\n quality: props.row.quality\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n props.row.status !== \"Unaired\"\n ? _c(\"img\", {\n staticClass: \"addQTip\",\n attrs: {\n title: props.row.watched\n ? \"This episode has been flagged as watched\"\n : \"\",\n src:\n \"images/\" +\n (props.row.watched\n ? \"\"\n : \"not\") +\n \"watched.png\",\n width: \"16\"\n },\n on: {\n click: function($event) {\n return _vm.updateEpisodeWatched(\n props.row,\n !props.row.watched\n )\n }\n }\n })\n : _vm._e()\n ],\n 1\n )\n ])\n : props.column.field == \"search\"\n ? _c(\n \"span\",\n [\n _c(\"img\", {\n ref: \"search-\" + props.row.slug,\n staticClass: \"epForcedSearch\",\n attrs: {\n id:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n name:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n src: \"images/search16.png\",\n height: \"16\",\n alt: _vm.retryDownload(props.row)\n ? \"retry\"\n : \"search\",\n title: _vm.retryDownload(props.row)\n ? \"Retry Download\"\n : \"Forced Seach\"\n },\n on: {\n click: function($event) {\n return _vm.queueSearch(props.row)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"epManualSearch\",\n attrs: {\n id:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n name:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n href:\n \"home/snatchSelection?indexername=\" +\n _vm.show.indexer +\n \"&seriesid=\" +\n _vm.show.id[_vm.show.indexer] +\n \"&season=\" +\n props.row.season +\n \"&episode=\" +\n props.row.episode\n }\n },\n [\n _c(\"img\", {\n attrs: {\n \"data-ep-manual-search\": \"\",\n src: \"images/manualsearch.png\",\n width: \"16\",\n height: \"16\",\n alt: \"search\",\n title: \"Manual Search\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src: \"images/closed_captioning.png\",\n height: \"16\",\n alt: \"search subtitles\",\n title: \"Search Subtitles\"\n },\n on: {\n click: function($event) {\n return _vm.searchSubtitle(\n $event,\n props.row\n )\n }\n }\n })\n ],\n 1\n )\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.formattedRow[props.column.field]\n ) +\n \"\\n \"\n )\n ])\n ]\n }\n },\n {\n key: \"table-column\",\n fn: function(props) {\n return [\n props.column.label == \"Abs. #\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n staticClass: \"addQTip\",\n attrs: {\n title: \"Absolute episode number\"\n }\n },\n [_vm._v(_vm._s(props.column.label))]\n )\n ])\n : props.column.label == \"Scene Abs. #\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n staticClass: \"addQTip\",\n attrs: {\n title: \"Scene Absolute episode number\"\n }\n },\n [_vm._v(_vm._s(props.column.label))]\n )\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(props.column.label) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 377733710\n )\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.layout.show.specials &&\n _vm.specials &&\n _vm.specials.length > 0\n ? _c(\"vue-good-table\", {\n ref: \"table-specials\",\n attrs: {\n columns: _vm.columns,\n rows: _vm.specials,\n groupOptions: {\n enabled: true,\n mode: \"span\",\n customChildObject: \"episodes\"\n },\n \"pagination-options\": {\n enabled: false\n },\n \"search-options\": {\n enabled: true,\n trigger: \"enter\",\n skipDiacritics: false,\n placeholder: \"Search specials\"\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: _vm.getSortBy(\"episode\", \"desc\")\n },\n selectOptions: {\n enabled: true,\n selectOnCheckboxOnly: true, // only select when checkbox is clicked instead of the row\n selectionInfoClass: \"select-info\",\n selectionText: \"episodes selected\",\n clearSelectionText: \"clear\",\n selectAllByGroup: true\n },\n \"row-style-class\": _vm.rowStyleClassFn,\n \"column-filter-options\": {\n enabled: false\n }\n },\n on: {\n \"on-selected-rows-change\": function($event) {\n _vm.selectedEpisodes = $event.selectedRows\n }\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"table-header-row\",\n fn: function(props) {\n return [\n _c(\n \"h3\",\n {\n staticClass: \"season-header toggle collapse\"\n },\n [\n _c(\"app-link\", {\n attrs: {\n name: \"season-\" + props.row.season\n }\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.season > 0\n ? \"Season \" + props.row.season\n : \"Specials\"\n ) +\n \"\\n \"\n ),\n _vm._v(\" \"),\n _vm.anyEpisodeNotUnaired(props.row)\n ? _c(\n \"app-link\",\n {\n staticClass: \"epManualSearch\",\n attrs: {\n href:\n \"home/snatchSelection?indexername=\" +\n _vm.show.indexer +\n \"&seriesid=\" +\n _vm.show.id[_vm.show.indexer] +\n \"&season=\" +\n props.row.season +\n \"&episode=1&manual_search_type=season\"\n }\n },\n [\n _vm.config\n ? _c(\"img\", {\n attrs: {\n \"data-ep-manual-search\": \"\",\n src:\n \"images/manualsearch-white.png\",\n width: \"16\",\n height: \"16\",\n alt: \"search\",\n title: \"Manual Search\"\n }\n })\n : _vm._e()\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", {\n staticClass: \"season-scene-exception\",\n attrs: {\n \"data-season\":\n props.row.season > 0\n ? props.row.season\n : \"Specials\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"img\",\n _vm._b(\n {},\n \"img\",\n _vm.getSeasonExceptions(props.row.season),\n false\n )\n )\n ],\n 1\n )\n ]\n }\n },\n {\n key: \"table-footer-row\",\n fn: function(ref) {\n var headerRow = ref.headerRow\n return [\n _c(\n \"tr\",\n {\n staticClass:\n \"seasoncols border-bottom shadow\",\n attrs: {\n colspan: \"9999\",\n id: \"season-\" + headerRow.season + \"-footer\"\n }\n },\n [\n _c(\n \"th\",\n {\n staticClass: \"col-footer\",\n attrs: { colspan: \"15\", align: \"left\" }\n },\n [\n _vm._v(\n \"Season contains \" +\n _vm._s(headerRow.episodes.length) +\n \" episodes with total filesize: \" +\n _vm._s(_vm.addFileSize(headerRow))\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"spacer\" })\n ]\n }\n },\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.field == \"content.hasNfo\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.content.hasNfo\n ? \"nfo.gif\"\n : \"nfo-no.gif\"),\n alt: props.row.content.hasNfo\n ? \"Y\"\n : \"N\",\n width: \"23\",\n height: \"11\"\n }\n })\n ])\n : props.column.field == \"content.hasTbn\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.content.hasTbn\n ? \"tbn.gif\"\n : \"tbn-no.gif\"),\n alt: props.row.content.hasTbn\n ? \"Y\"\n : \"N\",\n width: \"23\",\n height: \"11\"\n }\n })\n ])\n : props.column.label == \"Episode\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n class: {\n addQTip:\n props.row.file.location !== \"\"\n },\n attrs: {\n title:\n props.row.file.location !== \"\"\n ? props.row.file.location\n : \"\"\n }\n },\n [_vm._v(_vm._s(props.row.episode))]\n )\n ])\n : props.column.label == \"Scene\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"input\", {\n staticClass:\n \"sceneSeasonXEpisode form-control input-scene addQTip\",\n staticStyle: {\n padding: \"0\",\n \"text-align\": \"center\",\n \"max-width\": \"60px\"\n },\n attrs: {\n type: \"text\",\n placeholder:\n props.formattedRow[props.column.field]\n .season +\n \"x\" +\n props.formattedRow[props.column.field]\n .episode,\n size: \"6\",\n maxlength: \"8\",\n \"data-for-season\": props.row.season,\n \"data-for-episode\": props.row.episode,\n id:\n \"sceneSeasonXEpisode_\" +\n _vm.show.id[_vm.show.indexer] +\n \"_\" +\n props.row.season +\n \"_\" +\n props.row.episode,\n title:\n \"Change this value if scene numbering differs from the indexer episode numbering. Generally used for non-anime shows.\"\n },\n domProps: {\n value:\n props.formattedRow[props.column.field]\n .season +\n \"x\" +\n props.formattedRow[props.column.field]\n .episode\n }\n })\n ])\n : props.column.label == \"Scene Abs. #\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"input\", {\n staticClass:\n \"sceneAbsolute form-control input-scene addQTip\",\n staticStyle: {\n padding: \"0\",\n \"text-align\": \"center\",\n \"max-width\": \"60px\"\n },\n attrs: {\n type: \"text\",\n placeholder:\n props.formattedRow[\n props.column.field\n ],\n size: \"6\",\n maxlength: \"8\",\n \"data-for-absolute\":\n props.formattedRow[\n props.column.field\n ] || 0,\n id:\n \"sceneSeasonXEpisode_\" +\n _vm.show.id[_vm.show.indexer] +\n props.formattedRow[\n props.column.field\n ],\n title:\n \"Change this value if scene absolute numbering differs from the indexer absolute numbering. Generally used for anime shows.\"\n },\n domProps: {\n value: props.formattedRow[\n props.column.field\n ]\n ? props.formattedRow[\n props.column.field\n ]\n : \"\"\n }\n })\n ])\n : props.column.label == \"Title\"\n ? _c(\n \"span\",\n [\n props.row.description !== \"\"\n ? _c(\"plot-info\", {\n attrs: {\n description:\n props.row.description,\n \"show-slug\": _vm.show.id.slug,\n season: props.row.season,\n episode: props.row.episode\n }\n })\n : _vm._e(),\n _vm._v(\n \"\\n \" +\n _vm._s(props.row.title) +\n \"\\n \"\n )\n ],\n 1\n )\n : props.column.label == \"File\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n staticClass: \"addQTip\",\n attrs: {\n title: props.row.file.location\n }\n },\n [_vm._v(_vm._s(props.row.file.name))]\n )\n ])\n : props.column.label == \"Download\"\n ? _c(\n \"span\",\n [\n _vm.config.downloadUrl &&\n props.row.file.location &&\n [\"Downloaded\", \"Archived\"].includes(\n props.row.status\n )\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n _vm.config.downloadUrl +\n props.row.file.location\n }\n },\n [_vm._v(\"Download\")]\n )\n : _vm._e()\n ],\n 1\n )\n : props.column.label == \"Subtitles\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n [\n \"Archived\",\n \"Downloaded\",\n \"Ignored\",\n \"Skipped\"\n ].includes(props.row.status)\n ? _c(\n \"div\",\n { staticClass: \"subtitles\" },\n _vm._l(props.row.subtitles, function(\n flag\n ) {\n return _c(\"div\", { key: flag }, [\n flag !== \"und\"\n ? _c(\"img\", {\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n flag +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: \"{flag}\",\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n },\n on: {\n click: function($event) {\n return _vm.searchSubtitle(\n $event,\n props.row,\n flag\n )\n }\n }\n })\n : _c(\"img\", {\n staticClass:\n \"subtitle-flag\",\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n flag +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: \"flag\",\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n }\n })\n ])\n }),\n 0\n )\n : _vm._e()\n ])\n : props.column.label == \"Status\"\n ? _c(\"span\", [\n _c(\n \"div\",\n [\n _vm._v(\n \"\\n \" +\n _vm._s(props.row.status) +\n \"\\n \"\n ),\n props.row.quality !== 0\n ? _c(\"quality-pill\", {\n attrs: {\n quality: props.row.quality\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n props.row.status !== \"Unaired\"\n ? _c(\"img\", {\n staticClass: \"addQTip\",\n attrs: {\n title: props.row.watched\n ? \"This episode has been flagged as watched\"\n : \"\",\n src:\n \"images/\" +\n (props.row.watched\n ? \"\"\n : \"not\") +\n \"watched.png\",\n width: \"16\"\n },\n on: {\n click: function($event) {\n return _vm.updateEpisodeWatched(\n props.row,\n !props.row.watched\n )\n }\n }\n })\n : _vm._e()\n ],\n 1\n )\n ])\n : props.column.field == \"search\"\n ? _c(\n \"span\",\n [\n _c(\"img\", {\n ref: \"search-\" + props.row.slug,\n staticClass: \"epForcedSearch\",\n attrs: {\n id:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n name:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n src: \"images/search16.png\",\n height: \"16\",\n alt: _vm.retryDownload(props.row)\n ? \"retry\"\n : \"search\",\n title: _vm.retryDownload(props.row)\n ? \"Retry Download\"\n : \"Forced Seach\"\n },\n on: {\n click: function($event) {\n return _vm.queueSearch(props.row)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticClass: \"epManualSearch\",\n attrs: {\n id:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n name:\n _vm.show.indexer +\n \"x\" +\n _vm.show.id[_vm.show.indexer] +\n \"x\" +\n props.row.season +\n \"x\" +\n props.row.episode,\n href:\n \"home/snatchSelection?indexername=\" +\n _vm.show.indexer +\n \"&seriesid=\" +\n _vm.show.id[_vm.show.indexer] +\n \"&season=\" +\n props.row.season +\n \"&episode=\" +\n props.row.episode\n }\n },\n [\n _c(\"img\", {\n attrs: {\n \"data-ep-manual-search\": \"\",\n src: \"images/manualsearch.png\",\n width: \"16\",\n height: \"16\",\n alt: \"search\",\n title: \"Manual Search\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\"img\", {\n attrs: {\n src: \"images/closed_captioning.png\",\n height: \"16\",\n alt: \"search subtitles\",\n title: \"Search Subtitles\"\n },\n on: {\n click: function($event) {\n return _vm.searchSubtitle(\n $event,\n props.row\n )\n }\n }\n })\n ],\n 1\n )\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.formattedRow[props.column.field]\n ) +\n \"\\n \"\n )\n ])\n ]\n }\n },\n {\n key: \"table-column\",\n fn: function(props) {\n return [\n props.column.label == \"Abs. #\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n staticClass: \"addQTip\",\n attrs: {\n title: \"Absolute episode number\"\n }\n },\n [_vm._v(_vm._s(props.column.label))]\n )\n ])\n : props.column.label == \"Scene Abs. #\"\n ? _c(\"span\", [\n _c(\n \"span\",\n {\n staticClass: \"addQTip\",\n attrs: {\n title: \"Scene Absolute episode number\"\n }\n },\n [_vm._v(_vm._s(props.column.label))]\n )\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(props.column.label) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 1270435715\n )\n })\n : _vm._e()\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"modal\",\n {\n attrs: {\n name: \"query-start-backlog-search\",\n height: \"auto\",\n width: \"80%\"\n },\n on: { \"before-open\": _vm.beforeBacklogSearchModalClose }\n },\n [\n _c(\"transition\", { attrs: { name: \"modal\" } }, [\n _c(\"div\", { staticClass: \"modal-mask\" }, [\n _c(\"div\", { staticClass: \"modal-wrapper\" }, [\n _c(\"div\", { staticClass: \"modal-content\" }, [\n _c(\"div\", { staticClass: \"modal-header\" }, [\n _c(\n \"button\",\n {\n staticClass: \"close\",\n attrs: {\n type: \"button\",\n \"data-dismiss\": \"modal\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"×\")]\n ),\n _vm._v(\" \"),\n _c(\"h4\", { staticClass: \"modal-title\" }, [\n _vm._v(\"Start search?\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"modal-body\" }, [\n _c(\"p\", [\n _vm._v(\n \"Some episodes have been changed to 'Wanted'. Do you want to trigger a backlog search for these \" +\n _vm._s(_vm.backlogSearchEpisodes.length) +\n \" episode(s)\"\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"modal-footer\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-danger\",\n attrs: { type: \"button\", \"data-dismiss\": \"modal\" },\n on: {\n click: function($event) {\n return _vm.$modal.hide(\"query-start-backlog-search\")\n }\n }\n },\n [_vm._v(\"No\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-success\",\n attrs: { type: \"button\", \"data-dismiss\": \"modal\" },\n on: {\n click: function($event) {\n _vm.search(_vm.backlogSearchEpisodes, \"backlog\")\n _vm.$modal.hide(\"query-start-backlog-search\")\n }\n }\n },\n [_vm._v(\"Yes\")]\n )\n ])\n ])\n ])\n ])\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"modal\",\n {\n attrs: {\n name: \"query-mark-failed-and-search\",\n height: \"auto\",\n width: \"80%\"\n },\n on: { \"before-open\": _vm.beforeFailedSearchModalClose }\n },\n [\n _c(\"transition\", { attrs: { name: \"modal\" } }, [\n _c(\"div\", { staticClass: \"modal-mask\" }, [\n _c(\"div\", { staticClass: \"modal-wrapper\" }, [\n _c(\"div\", { staticClass: \"modal-content\" }, [\n _c(\"div\", { staticClass: \"modal-header\" }, [\n _vm._v(\n \"\\n Mark episode as failed and search?\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"modal-body\" }, [\n _c(\"p\", [_vm._v(\"Starting to search for the episode\")]),\n _vm._v(\" \"),\n _vm.failedSearchEpisode\n ? _c(\"p\", [\n _vm._v(\n \"Would you also like to mark episode \" +\n _vm._s(_vm.failedSearchEpisode.slug) +\n ' as \"failed\"? This will make sure the episode cannot be downloaded again'\n )\n ])\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"modal-footer\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-danger\",\n attrs: { type: \"button\", \"data-dismiss\": \"modal\" },\n on: {\n click: function($event) {\n _vm.search([_vm.failedSearchEpisode], \"backlog\")\n _vm.$modal.hide(\"query-mark-failed-and-search\")\n }\n }\n },\n [_vm._v(\"No\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-success\",\n attrs: { type: \"button\", \"data-dismiss\": \"modal\" },\n on: {\n click: function($event) {\n _vm.search([_vm.failedSearchEpisode], \"failed\")\n _vm.$modal.hide(\"query-mark-failed-and-search\")\n }\n }\n },\n [_vm._v(\"Yes\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-danger\",\n attrs: { type: \"button\", \"data-dismiss\": \"modal\" },\n on: {\n click: function($event) {\n return _vm.$modal.hide(\n \"query-mark-failed-and-search\"\n )\n }\n }\n },\n [_vm._v(\"Cancel\")]\n )\n ])\n ])\n ])\n ])\n ])\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/display-show.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/edit-show.vue?vue&type=template&id=7e9c1d00&scoped=true&": -/*!***************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/edit-show.vue?vue&type=template&id=7e9c1d00&scoped=true& ***! - \***************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"config-content\" } },\n [\n _vm.showLoaded\n ? _c(\"backstretch\", { attrs: { slug: _vm.show.id.slug } })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showLoaded\n ? _c(\n \"h1\",\n { staticClass: \"header\" },\n [\n _vm._v(\"\\n Edit Show - \"),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n _vm.indexer +\n \"&seriesid=\" +\n _vm.id\n }\n },\n [_vm._v(_vm._s(_vm.show.title))]\n )\n ],\n 1\n )\n : _c(\n \"h1\",\n { staticClass: \"header\" },\n [\n _vm._v(\"\\n Edit Show\"),\n !_vm.loadError ? [_vm._v(\" (Loading...)\")] : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.loadError\n ? _c(\"h3\", [_vm._v(\"Error loading show: \" + _vm._s(_vm.loadError))])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showLoaded\n ? _c(\n \"div\",\n {\n class: { summaryFanArt: _vm.layout.fanartBackground },\n attrs: { id: \"config\" }\n },\n [\n _c(\n \"form\",\n {\n staticClass: \"form-horizontal\",\n on: {\n submit: function($event) {\n $event.preventDefault()\n return _vm.saveShow(\"all\")\n }\n }\n },\n [\n _c(\n \"vue-tabs\",\n [\n _c(\"v-tab\", { attrs: { title: \"Main\" } }, [\n _c(\"div\", { staticClass: \"component-group\" }, [\n _c(\"h3\", [_vm._v(\"Main Settings\")]),\n _vm._v(\" \"),\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"location\",\n label: \"Show Location\"\n }\n },\n [\n _c(\"file-browser\", {\n key: _vm.show.id.slug,\n attrs: {\n name: \"location\",\n title: \"Select Show Location\",\n \"initial-dir\": _vm.show.config.location\n },\n on: {\n update: function($event) {\n _vm.show.config.location = $event\n }\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"qualityPreset\",\n label: \"Quality\"\n }\n },\n [\n _c(\"quality-chooser\", {\n attrs: {\n \"overall-quality\": _vm.combinedQualities,\n \"show-slug\": _vm.show.id.slug\n },\n on: {\n \"update:quality:allowed\": function(\n $event\n ) {\n _vm.show.config.qualities.allowed = $event\n },\n \"update:quality:preferred\": function(\n $event\n ) {\n _vm.show.config.qualities.preferred = $event\n }\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"defaultEpStatusSelect\",\n label: \"Default Episode Status\"\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.show.config\n .defaultEpisodeStatus,\n expression:\n \"show.config.defaultEpisodeStatus\"\n }\n ],\n staticClass:\n \"form-control form-control-inline input-sm\",\n attrs: {\n name: \"defaultEpStatus\",\n id: \"defaultEpStatusSelect\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.$set(\n _vm.show.config,\n \"defaultEpisodeStatus\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(\n _vm.defaultEpisodeStatusOptions,\n function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: option.name }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.name) +\n \"\\n \"\n )\n ]\n )\n }\n ),\n 0\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"This will set the status for future episodes.\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"indexerLangSelect\",\n label: \"Info Language\"\n }\n },\n [\n _c(\"language-select\", {\n staticClass:\n \"form-control form-control-inline input-sm\",\n attrs: {\n id: \"indexerLangSelect\",\n language: _vm.show.language,\n available: _vm.availableLanguages,\n name: \"indexer_lang\"\n },\n on: {\n \"update-language\": _vm.updateLanguage\n }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _vm._v(\n \"This only applies to episode filenames and the contents of metadata files.\"\n )\n ])\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Subtitles\",\n id: \"subtitles\"\n },\n model: {\n value: _vm.show.config.subtitlesEnabled,\n callback: function($$v) {\n _vm.$set(\n _vm.show.config,\n \"subtitlesEnabled\",\n $$v\n )\n },\n expression: \"show.config.subtitlesEnabled\"\n }\n },\n [_c(\"span\", [_vm._v(\"search for subtitles\")])]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: { label: \"Paused\", id: \"paused\" },\n model: {\n value: _vm.show.config.paused,\n callback: function($$v) {\n _vm.$set(_vm.show.config, \"paused\", $$v)\n },\n expression: \"show.config.paused\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"pause this show (Medusa will not download episodes)\"\n )\n ])\n ]\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"v-tab\", { attrs: { title: \"Format\" } }, [\n _c(\"div\", { staticClass: \"component-group\" }, [\n _c(\"h3\", [_vm._v(\"Format Settings\")]),\n _vm._v(\" \"),\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n value: _vm.show.config.airByDate,\n label: \"Air by date\",\n id: \"airByDate\"\n },\n on: {\n input: function($event) {\n return _vm.changeFormat(\n $event,\n \"airByDate\"\n )\n }\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"check if the show is released as Show.03.02.2010 rather than Show.S02E03\"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"p\",\n {\n staticStyle: { color: \"rgb(255, 0, 0)\" }\n },\n [\n _vm._v(\n \"In case of an air date conflict between regular and special episodes, the later will be ignored.\"\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n value: _vm.show.config.anime,\n label: \"Anime\",\n id: \"anime\"\n },\n on: {\n input: function($event) {\n return _vm.changeFormat($event, \"anime\")\n }\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"enable if the show is Anime and episodes are released as Show.265 rather than Show.S02E03\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.show.config.anime\n ? _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"anidbReleaseGroup\",\n label: \"Release Groups\"\n }\n },\n [\n _vm.show.title\n ? _c(\"anidb-release-group-ui\", {\n staticClass: \"max-width\",\n attrs: {\n \"show-name\": _vm.show.title,\n blacklist:\n _vm.show.config.release\n .blacklist,\n whitelist:\n _vm.show.config.release\n .whitelist\n },\n on: {\n change:\n _vm.onChangeReleaseGroupsAnime\n }\n })\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n value: _vm.show.config.sports,\n label: \"Sports\",\n id: \"sports\"\n },\n on: {\n input: function($event) {\n return _vm.changeFormat($event, \"sports\")\n }\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"enable if the show is a sporting or MMA event released as Show.03.02.2010 rather than Show.S02E03\"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"p\",\n {\n staticStyle: { color: \"rgb(255, 0, 0)\" }\n },\n [\n _vm._v(\n \"In case of an air date conflict between regular and special episodes, the later will be ignored.\"\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Season\",\n id: \"season_folders\"\n },\n model: {\n value: _vm.show.config.seasonFolders,\n callback: function($$v) {\n _vm.$set(\n _vm.show.config,\n \"seasonFolders\",\n $$v\n )\n },\n expression: \"show.config.seasonFolders\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"group episodes by season folder (disable to store in a single folder)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Scene Numbering\",\n id: \"scene_numbering\"\n },\n model: {\n value: _vm.show.config.scene,\n callback: function($$v) {\n _vm.$set(_vm.show.config, \"scene\", $$v)\n },\n expression: \"show.config.scene\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"search by scene numbering (disable to search by indexer numbering)\"\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"DVD Order\",\n id: \"dvd_order\"\n },\n model: {\n value: _vm.show.config.dvdOrder,\n callback: function($$v) {\n _vm.$set(_vm.show.config, \"dvdOrder\", $$v)\n },\n expression: \"show.config.dvdOrder\"\n }\n },\n [\n _c(\"span\", [\n _vm._v(\n \"use the DVD order instead of the air order\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _vm._v(\n 'A \"Force Full Update\" is necessary, and if you have existing episodes you need to sort them manually.'\n )\n ])\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"show_lists\",\n label: \"Display in show lists\"\n }\n },\n [\n _c(\"multiselect\", {\n attrs: {\n multiple: true,\n options: _vm.layout.show.showListOrder\n },\n model: {\n value: _vm.showLists,\n callback: function($$v) {\n _vm.showLists = $$v\n },\n expression: \"showLists\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"v-tab\", { attrs: { title: \"Advanced\" } }, [\n _c(\"div\", { staticClass: \"component-group\" }, [\n _c(\"h3\", [_vm._v(\"Advanced Settings\")]),\n _vm._v(\" \"),\n _c(\n \"fieldset\",\n { staticClass: \"component-group-list\" },\n [\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"rls_ignore_words\",\n label: \"Ignored words\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n \"list-items\":\n _vm.show.config.release.ignoredWords\n },\n on: { change: _vm.onChangeIgnoredWords }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"clear-left\" }, [\n _c(\"p\", [\n _vm._v(\n \"Search results with one or more words from this list will be ignored.\"\n )\n ])\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Exclude ignored words\",\n id: \"ignored_words_exclude\"\n },\n model: {\n value:\n _vm.show.config.release\n .ignoredWordsExclude,\n callback: function($$v) {\n _vm.$set(\n _vm.show.config.release,\n \"ignoredWordsExclude\",\n $$v\n )\n },\n expression:\n \"show.config.release.ignoredWordsExclude\"\n }\n },\n [\n _c(\"div\", [\n _vm._v(\n \"Use the Ignored Words list to exclude these from the global ignored list\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Currently the effective list is: \" +\n _vm._s(_vm.effectiveIgnored)\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"rls_require_words\",\n label: \"Required words\"\n }\n },\n [\n _c(\"select-list\", {\n attrs: {\n \"list-items\":\n _vm.show.config.release.requiredWords\n },\n on: { change: _vm.onChangeRequiredWords }\n }),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Search results with no words from this list will be ignored.\"\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"config-toggle-slider\",\n {\n attrs: {\n label: \"Exclude required words\",\n id: \"required_words_exclude\"\n },\n model: {\n value:\n _vm.show.config.release\n .requiredWordsExclude,\n callback: function($$v) {\n _vm.$set(\n _vm.show.config.release,\n \"requiredWordsExclude\",\n $$v\n )\n },\n expression:\n \"show.config.release.requiredWordsExclude\"\n }\n },\n [\n _c(\"p\", [\n _vm._v(\n \"Use the Required Words list to exclude these from the global required words list\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Currently the effective list is: \" +\n _vm._s(_vm.effectiveRequired)\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"config-template\",\n {\n attrs: {\n \"label-for\": \"scene_exceptions\",\n label: \"Scene Exception\"\n }\n },\n [\n _c(\n \"config-scene-exceptions\",\n _vm._b(\n {},\n \"config-scene-exceptions\",\n {\n show: _vm.show,\n exceptions: _vm.show.config.aliases\n },\n false\n )\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"config-textbox-number\", {\n attrs: {\n min: -168,\n max: 168,\n step: 1,\n label: \"Airdate offset\",\n id: \"airdate_offset\",\n explanations: [\n \"Amount of hours we want to start searching early (-1) or late (1) for new episodes.\",\n \"This only applies to daily searches.\"\n ]\n },\n model: {\n value: _vm.show.config.airdateOffset,\n callback: function($$v) {\n _vm.$set(\n _vm.show.config,\n \"airdateOffset\",\n $$v\n )\n },\n expression: \"show.config.airdateOffset\"\n }\n })\n ],\n 1\n )\n ])\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa pull-left button\",\n attrs: {\n id: \"submit\",\n type: \"submit\",\n disabled: _vm.saving || !_vm.showLoaded\n },\n domProps: { value: _vm.saveButton }\n })\n ],\n 1\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/edit-show.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/app-link.vue?vue&type=template&id=552abf00&": -/*!**********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/app-link.vue?vue&type=template&id=552abf00& ***! - \**********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n _vm.linkProperties.is,\n {\n tag: \"component\",\n class: { \"router-link\": _vm.linkProperties.is === \"router-link\" },\n attrs: {\n to: _vm.linkProperties.to,\n href: _vm.linkProperties.href,\n target: _vm.linkProperties.target,\n rel: _vm.linkProperties.rel,\n \"false-link\": _vm.linkProperties.falseLink\n }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/app-link.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/asset.vue?vue&type=template&id=77ce7ff4&scoped=true&": -/*!*******************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/asset.vue?vue&type=template&id=77ce7ff4&scoped=true& ***! - \*******************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return !_vm.lazy\n ? _c(\n \"div\",\n { staticStyle: { display: \"inherit\" } },\n [\n !_vm.link\n ? _c(\n \"img\",\n _vm._b(\n {\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n },\n \"img\",\n { src: _vm.src, class: _vm.cls, class: _vm.newCls },\n false\n )\n )\n : _c(\"app-link\", { attrs: { href: _vm.href } }, [\n _c(\n \"img\",\n _vm._b(\n {\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n },\n \"img\",\n { src: _vm.src, class: _vm.newCls },\n false\n )\n )\n ])\n ],\n 1\n )\n : _c(\n \"div\",\n { staticStyle: { display: \"inherit\" } },\n [\n !_vm.link\n ? _c(\"lazy-image\", {\n attrs: {\n \"lazy-src\": _vm.src,\n \"lazy-cls\": _vm.newCls,\n \"lazy-default-src\": _vm.defaultSrc\n }\n })\n : _c(\n \"app-link\",\n { attrs: { href: _vm.href } },\n [\n _c(\"lazy-image\", {\n attrs: {\n \"lazy-src\": _vm.src,\n \"lazy-cls\": _vm.newCls,\n \"lazy-default-src\": _vm.defaultSrc\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/asset.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-scene-exceptions.vue?vue&type=template&id=1c188ea6&scoped=true&": -/*!*************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-scene-exceptions.vue?vue&type=template&id=1c188ea6&scoped=true& ***! - \*************************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"select-list max-width\" }, [\n _c(\n \"ul\",\n [\n _vm._l(_vm.items, function(exception) {\n return _c(\"li\", { key: exception.title + \"-\" + exception.season }, [\n _c(\n \"div\",\n {\n staticClass: \"input-group form-inline\",\n attrs: { disabled: !exception.custom }\n },\n [\n _c(\"input\", {\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\", disabled: !exception.custom },\n domProps: { value: exception.title }\n }),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: exception.season,\n expression: \"exception.season\"\n }\n ],\n staticClass: \"select-season\",\n attrs: {\n name: \"scene-exception-season\",\n disabled: !exception.custom\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n exception,\n \"season\",\n $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n )\n }\n }\n },\n _vm._l(_vm.availableSeasons, function(season) {\n return _c(\n \"option\",\n { key: season.value, domProps: { value: season.value } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(season.description) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n !exception.custom\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.right\",\n value:\n \"This exception has been automatically added through an automated process sourcing title aliases from medusa github repo, thexem.de or anidb.info\",\n expression:\n \"'This exception has been automatically added through an automated process sourcing title aliases from medusa github repo, thexem.de or anidb.info'\",\n modifiers: { right: true }\n }\n ],\n staticClass: \"external-scene-exception\"\n },\n [_vm._m(0, true)]\n )\n : _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n on: {\n click: function($event) {\n return _vm.removeException(exception)\n }\n }\n },\n [_vm._m(1, true)]\n )\n ]\n )\n ])\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"new-item\" }, [\n _c(\"div\", { staticClass: \"input-group form-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newItem,\n expression: \"newItem\"\n }\n ],\n ref: \"newItemInput\",\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\", placeholder: \"add new values per line\" },\n domProps: { value: _vm.newItem },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.newItem = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedSeason,\n expression: \"selectedSeason\"\n }\n ],\n staticClass: \"select-season\",\n attrs: { name: \"add-exception-season\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedSeason = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.availableSeasons, function(season) {\n return _c(\n \"option\",\n { key: season.value, domProps: { value: season.value } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(season.description) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n attrs: { disabled: !_vm.unique },\n on: {\n click: function($event) {\n return _vm.addException()\n }\n }\n },\n [_vm._m(2)]\n )\n ])\n ]),\n _vm._v(\" \"),\n !_vm.unique ? _c(\"div\", [_vm._m(3)]) : _vm._e(),\n _vm._v(\" \"),\n _vm.newItem.length > 0 && _vm.unique\n ? _c(\"div\", { staticClass: \"new-item-help\" }, [\n _vm._v(\"\\n Click \"),\n _c(\"i\", { staticClass: \"glyphicon glyphicon-plus\" }),\n _vm._v(\" to add your \"),\n _c(\"b\", [\n _vm._v(\n _vm._s(\n _vm.selectedSeason === -1\n ? \"Show Exception\"\n : \"Season Exception\"\n )\n )\n ]),\n _vm._v(\".\\n \")\n ])\n : _vm._e()\n ],\n 2\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src: \"images/ico/favicon-16.png\",\n width: \"16\",\n height: \"16\",\n alt: \"search\",\n title:\n \"This exception has been automatically added through an automated process sourcing title aliases from medusa github repo, thexem.de or anidb.info\"\n }\n })\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-remove\",\n attrs: { title: \"Remove\" }\n })\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-plus\",\n attrs: { title: \"Add\" }\n })\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"b\", [\n _vm._v(\"This exception has already been added for this show.\"),\n _c(\"br\"),\n _vm._v(\"Can't add the same exception twice!\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-scene-exceptions.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-template.vue?vue&type=template&id=4ec1c3bb&": -/*!*****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-template.vue?vue&type=template&id=4ec1c3bb& ***! - \*****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-template-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: _vm.labelFor }\n },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [_vm._t(\"default\")], 2)\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-template.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-textbox-number.vue?vue&type=template&id=a355580e&": -/*!***********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-textbox-number.vue?vue&type=template&id=a355580e& ***! - \***********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-textbox-number-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.localValue,\n expression: \"localValue\"\n }\n ],\n attrs: { type: \"number\" },\n domProps: { value: _vm.localValue },\n on: {\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.localValue = $event.target.value\n },\n function($event) {\n return _vm.updateValue()\n }\n ]\n }\n },\n \"input\",\n {\n min: _vm.min,\n max: _vm.max,\n step: _vm.step,\n id: _vm.id,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n }),\n _vm._v(\" \"),\n _vm._t(\"default\")\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-textbox-number.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-textbox.vue?vue&type=template&id=d72e3366&": -/*!****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-textbox.vue?vue&type=template&id=d72e3366& ***! - \****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-textbox\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n {\n id: _vm.id,\n type: _vm.type,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n }.type === \"checkbox\"\n ? _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.localValue,\n expression: \"localValue\"\n }\n ],\n attrs: { type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.localValue)\n ? _vm._i(_vm.localValue, null) > -1\n : _vm.localValue\n },\n on: {\n input: function($event) {\n return _vm.updateValue()\n },\n change: function($event) {\n var $$a = _vm.localValue,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.localValue = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.localValue = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.localValue = $$c\n }\n }\n }\n },\n \"input\",\n {\n id: _vm.id,\n type: _vm.type,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n },\n false\n )\n )\n : {\n id: _vm.id,\n type: _vm.type,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n }.type === \"radio\"\n ? _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.localValue,\n expression: \"localValue\"\n }\n ],\n attrs: { type: \"radio\" },\n domProps: { checked: _vm._q(_vm.localValue, null) },\n on: {\n input: function($event) {\n return _vm.updateValue()\n },\n change: function($event) {\n _vm.localValue = null\n }\n }\n },\n \"input\",\n {\n id: _vm.id,\n type: _vm.type,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n },\n false\n )\n )\n : _c(\n \"input\",\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.localValue,\n expression: \"localValue\"\n }\n ],\n attrs: {\n type: {\n id: _vm.id,\n type: _vm.type,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n }.type\n },\n domProps: { value: _vm.localValue },\n on: {\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.localValue = $event.target.value\n },\n function($event) {\n return _vm.updateValue()\n }\n ]\n }\n },\n \"input\",\n {\n id: _vm.id,\n type: _vm.type,\n name: _vm.id,\n class: _vm.inputClass,\n placeholder: _vm.placeholder,\n disabled: _vm.disabled\n },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n }),\n _vm._v(\" \"),\n _vm._t(\"default\")\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-textbox.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/config-toggle-slider.vue?vue&type=template&id=4b5f11ee&": -/*!**********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/config-toggle-slider.vue?vue&type=template&id=4b5f11ee& ***! - \**********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"config-toggle-slider-content\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: _vm.id } },\n [_c(\"span\", [_vm._v(_vm._s(_vm.label))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\n \"toggle-button\",\n _vm._b(\n {\n attrs: { width: 45, height: 22, sync: \"\" },\n on: {\n input: function($event) {\n return _vm.updateValue()\n }\n },\n model: {\n value: _vm.localChecked,\n callback: function($$v) {\n _vm.localChecked = $$v\n },\n expression: \"localChecked\"\n }\n },\n \"toggle-button\",\n { id: _vm.id, name: _vm.id, disabled: _vm.disabled },\n false\n )\n ),\n _vm._v(\" \"),\n _vm._l(_vm.explanations, function(explanation, index) {\n return _c(\"p\", { key: index }, [_vm._v(_vm._s(explanation))])\n }),\n _vm._v(\" \"),\n _vm._t(\"default\")\n ],\n 2\n )\n ])\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/config-toggle-slider.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/file-browser.vue?vue&type=template&id=e1171a9e&scoped=true&": -/*!**************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/file-browser.vue?vue&type=template&id=e1171a9e&scoped=true& ***! - \**************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"file-browser max-width\" }, [\n _c(\n \"div\",\n { class: _vm.showBrowseButton ? \"input-group\" : \"input-group-no-btn\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.currentPath,\n expression: \"currentPath\"\n }\n ],\n ref: \"locationInput\",\n staticClass: \"form-control input-sm fileBrowserField\",\n attrs: { name: _vm.name, type: \"text\" },\n domProps: { value: _vm.currentPath },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.currentPath = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _vm.showBrowseButton\n ? _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n attrs: { title: _vm.title, alt: _vm.title },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.openDialog($event)\n }\n }\n },\n [_vm._m(0)]\n )\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", {\n ref: \"fileBrowserDialog\",\n staticClass: \"fileBrowserDialog\",\n staticStyle: { display: \"none\" }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n ref: \"fileBrowserSearchBox\",\n staticClass: \"form-control\",\n staticStyle: { display: \"none\" },\n attrs: { type: \"text\" },\n domProps: { value: _vm.currentPath },\n on: {\n keyup: function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.browse($event.target.value)\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { ref: \"fileBrowserFileList\", staticStyle: { display: \"none\" } },\n _vm._l(_vm.files, function(file) {\n return _c(\n \"li\",\n { key: file.name, staticClass: \"ui-state-default ui-corner-all\" },\n [\n _c(\n \"a\",\n {\n on: {\n mouseover: function($event) {\n return _vm.toggleFolder(file, $event)\n },\n mouseout: function($event) {\n return _vm.toggleFolder(file, $event)\n },\n click: function($event) {\n return _vm.fileClicked(file)\n }\n }\n },\n [\n _c(\"span\", {\n class:\n \"ui-icon \" +\n (file.isFile ? \"ui-icon-blank\" : \"ui-icon-folder-collapsed\")\n }),\n _vm._v(\" \" + _vm._s(file.name) + \"\\n \")\n ]\n )\n ]\n )\n }),\n 0\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [_c(\"i\", { staticClass: \"glyphicon glyphicon-open\" })]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/file-browser.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/language-select.vue?vue&type=template&id=a6431fb2&": -/*!*****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/language-select.vue?vue&type=template&id=a6431fb2& ***! - \*****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"select\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/language-select.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/lazy-image.vue?vue&type=template&id=2a36af9c&scoped=true&": -/*!************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/lazy-image.vue?vue&type=template&id=2a36af9c&scoped=true& ***! - \************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"img\", {\n staticClass: \"app-image\",\n class: _vm.lazyCls,\n style: _vm.style,\n attrs: { \"data-src\": _vm.lazySrc, \"data-srcset\": _vm.lazySrcset },\n on: {\n error: function($event) {\n _vm.error = true\n }\n }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/lazy-image.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/load-progress-bar.vue?vue&type=template&id=dbcb65e0&": -/*!*******************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/load-progress-bar.vue?vue&type=template&id=dbcb65e0& ***! - \*******************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.display\n ? _c(\"div\", { staticClass: \"load-progress-bar-container\" }, [\n _c(\"div\", { staticClass: \"border\" }, [\n _c(\"div\", { staticClass: \"msg\" }, [_vm._v(_vm._s(_vm.loadMsg))]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"progress\", style: _vm.styleProgress })\n ])\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/load-progress-bar.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/name-pattern.vue?vue&type=template&id=79b925a8&": -/*!**************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/name-pattern.vue?vue&type=template&id=79b925a8& ***! - \**************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"name-pattern-wrapper\" } }, [\n _vm.type\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"enable_naming_custom\" }\n },\n [_c(\"span\", [_vm._v(\"Custom \" + _vm._s(_vm.type))])]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-sm-10 content\" },\n [\n _c(\"toggle-button\", {\n attrs: {\n width: 45,\n height: 22,\n id: \"enable_naming_custom\",\n name: \"enable_naming_custom\",\n sync: \"\"\n },\n on: {\n input: function($event) {\n return _vm.update()\n }\n },\n model: {\n value: _vm.isEnabled,\n callback: function($$v) {\n _vm.isEnabled = $$v\n },\n expression: \"isEnabled\"\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Name \" +\n _vm._s(_vm.type) +\n \" shows differently than regular shows?\"\n )\n ])\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.type || _vm.isEnabled\n ? _c(\"div\", { staticClass: \"episode-naming\" }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedNamingPattern,\n expression: \"selectedNamingPattern\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"name_presets\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedNamingPattern = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n return _vm.update()\n }\n }\n },\n _vm._l(_vm.presets, function(preset) {\n return _c(\n \"option\",\n { key: preset.pattern, attrs: { id: preset.pattern } },\n [_vm._v(_vm._s(preset.example))]\n )\n }),\n 0\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"naming_custom\" } }, [\n _vm.isCustom\n ? _c(\n \"div\",\n {\n staticClass: \"form-group\",\n staticStyle: { \"padding-top\": \"0\" }\n },\n [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.customName,\n expression: \"customName\"\n }\n ],\n staticClass:\n \"form-control-inline-max input-sm max-input350\",\n attrs: {\n type: \"text\",\n name: \"naming_pattern\",\n id: \"naming_pattern\"\n },\n domProps: { value: _vm.customName },\n on: {\n change: _vm.updatePatternSamples,\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.customName = $event.target.value\n },\n function($event) {\n return _vm.update()\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\"img\", {\n staticClass: \"legend\",\n attrs: {\n src: \"images/legend16.png\",\n width: \"16\",\n height: \"16\",\n alt: \"[Toggle Key]\",\n id: \"show_naming_key\",\n title: \"Toggle Naming Legend\"\n },\n on: {\n click: function($event) {\n _vm.showLegend = !_vm.showLegend\n }\n }\n })\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showLegend && _vm.isCustom\n ? _c(\n \"div\",\n { staticClass: \"nocheck\", attrs: { id: \"naming_key\" } },\n [\n _c(\"table\", { staticClass: \"Key\" }, [\n _vm._m(2),\n _vm._v(\" \"),\n _vm._m(3),\n _vm._v(\" \"),\n _c(\"tbody\", [\n _vm._m(4),\n _vm._v(\" \"),\n _vm._m(5),\n _vm._v(\" \"),\n _vm._m(6),\n _vm._v(\" \"),\n _vm._m(7),\n _vm._v(\" \"),\n _vm._m(8),\n _vm._v(\" \"),\n _vm._m(9),\n _vm._v(\" \"),\n _vm._m(10),\n _vm._v(\" \"),\n _vm._m(11),\n _vm._v(\" \"),\n _vm._m(12),\n _vm._v(\" \"),\n _vm._m(13),\n _vm._v(\" \"),\n _vm._m(14),\n _vm._v(\" \"),\n _vm._m(15),\n _vm._v(\" \"),\n _vm._m(16),\n _vm._v(\" \"),\n _vm._m(17),\n _vm._v(\" \"),\n _vm._m(18),\n _vm._v(\" \"),\n _vm._m(19),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(20),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%M\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"M\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%D\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"d\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Y\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"yyyy\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _vm._m(21),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CM\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"M\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CD\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"d\")))])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%CY\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(_vm.getDateFormat(\"yyyy\")))])\n ]),\n _vm._v(\" \"),\n _vm._m(22),\n _vm._v(\" \"),\n _vm._m(23),\n _vm._v(\" \"),\n _vm._m(24),\n _vm._v(\" \"),\n _vm._m(25),\n _vm._v(\" \"),\n _vm._m(26),\n _vm._v(\" \"),\n _vm._m(27),\n _vm._v(\" \"),\n _vm._m(28),\n _vm._v(\" \"),\n _vm._m(29),\n _vm._v(\" \"),\n _vm._m(30)\n ])\n ])\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm.selectedMultiEpStyle\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(31),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedMultiEpStyle,\n expression: \"selectedMultiEpStyle\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { id: \"naming_multi_ep\", name: \"naming_multi_ep\" },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedMultiEpStyle = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n return _vm.update($event)\n }\n }\n },\n _vm._l(_vm.availableMultiEpStyles, function(multiEpStyle) {\n return _c(\n \"option\",\n {\n key: multiEpStyle.value,\n attrs: { id: \"multiEpStyle\" },\n domProps: { value: multiEpStyle.value }\n },\n [_vm._v(_vm._s(multiEpStyle.text))]\n )\n }),\n 0\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group row\" }, [\n _c(\"h3\", { staticClass: \"col-sm-12\" }, [\n _vm._v(\"Single-EP Sample:\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"example col-sm-12\" }, [\n _c(\n \"span\",\n { staticClass: \"jumbo\", attrs: { id: \"naming_example\" } },\n [_vm._v(_vm._s(_vm.namingExample))]\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.isMulti\n ? _c(\"div\", { staticClass: \"form-group row\" }, [\n _c(\"h3\", { staticClass: \"col-sm-12\" }, [\n _vm._v(\"Multi-EP sample:\")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"example col-sm-12\" }, [\n _c(\n \"span\",\n {\n staticClass: \"jumbo\",\n attrs: { id: \"naming_example_multi\" }\n },\n [_vm._v(_vm._s(_vm.namingExampleMulti))]\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(32),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime\",\n value: \"1\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"1\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"1\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n return _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"Add the absolute number to the season/episode format?\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Only applies to animes. (e.g. S15E45 - 310 vs S15E45)\"\n )\n ])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(33),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime_only\",\n value: \"2\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"2\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"2\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n return _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\"Replace season/episode format with absolute number\")\n ]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Only applies to animes.\")])\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.animeType > 0\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _vm._m(34),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"col-sm-10 content\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.animeType,\n expression: \"animeType\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"naming_anime\",\n id: \"naming_anime_none\",\n value: \"3\"\n },\n domProps: { checked: _vm._q(_vm.animeType, \"3\") },\n on: {\n change: [\n function($event) {\n _vm.animeType = \"3\"\n },\n _vm.updatePatternSamples\n ],\n input: function($event) {\n return _vm.update()\n }\n }\n }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(\"Don't include the absolute number\")]),\n _vm._v(\" \"),\n _c(\"p\", [_vm._v(\"Only applies to animes.\")])\n ])\n ])\n : _vm._e()\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"name_presets\" } },\n [_c(\"span\", [_vm._v(\"Name Pattern:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"label\", { staticClass: \"col-sm-2 control-label\" }, [\n _c(\"span\", [_vm._v(\" \")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { staticClass: \"align-right\" }, [_vm._v(\"Meaning\")]),\n _vm._v(\" \"),\n _c(\"th\", [_vm._v(\"Pattern\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"60%\" } }, [_vm._v(\"Result\")])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tfoot\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { colspan: \"3\" } }, [\n _vm._v(\n \"Use lower case if you want lower case names (eg. %sn, %e.n, %q_n etc)\"\n )\n ])\n ])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Show Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show.Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show_Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Season Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%S\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"2\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0S\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"02\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"XEM Season Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XS\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"2\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0XS\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"02\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"3\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0E\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"03\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"XEM Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XE\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"3\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%0XE\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"03\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Absolute Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%AB\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"003\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Xem Absolute Episode Number:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%XAB\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"003\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Episode Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%EN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode.Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%E_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Episode_Name\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Air Date:\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Post-Processing Date:\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [_c(\"b\", [_vm._v(\"Quality:\")])]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%QN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Q.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p.BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%Q_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p_BluRay\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"b\", [_vm._v(\"Scene Quality:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p HDTV x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQ.N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p.HDTV.x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", [_vm._v(\" \")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%SQ_N\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"720p_HDTV_x264\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: { title: \"Multi-EP style is ignored\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Name:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RN\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"Show.Name.S02E03.HDTV.x264-RLSGROUP\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: {\n title:\n \"UNKNOWN_RELEASE_GROUP is used in place of RLSGROUP if it could not be properly detected\"\n }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Group:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RG\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"RLSGROUP\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"even\" }, [\n _c(\"td\", { staticClass: \"align-right\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-info-sign\",\n attrs: { title: \"If episode is proper/repack add 'proper' to name.\" }\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Release Type:\")])\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"%RT\")]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(\"PROPER\")])\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_multi_ep\" }\n },\n [_c(\"span\", [_vm._v(\"Multi-Episode Style:\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n { staticClass: \"col-sm-2 control-label\", attrs: { for: \"naming_anime\" } },\n [_c(\"span\", [_vm._v(\"Add Absolute Number\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_anime_only\" }\n },\n [_c(\"span\", [_vm._v(\"Only Absolute Number\")])]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"col-sm-2 control-label\",\n attrs: { for: \"naming_anime_none\" }\n },\n [_c(\"span\", [_vm._v(\"No Absolute Number\")])]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/name-pattern.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/plot-info.vue?vue&type=template&id=5c5d9f30&": -/*!***********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/plot-info.vue?vue&type=template&id=5c5d9f30& ***! - \***********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.description !== \"\"\n ? _c(\"img\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.right\",\n value: { content: _vm.description },\n expression: \"{content: description}\",\n modifiers: { right: true }\n }\n ],\n class: _vm.plotInfoClass,\n attrs: { src: \"images/info32.png\", width: \"16\", height: \"16\", alt: \"\" }\n })\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/plot-info.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/poster-size-slider.vue?vue&type=template&id=e5d9abf2&": -/*!********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/poster-size-slider.vue?vue&type=template&id=e5d9abf2& ***! - \********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"show-option pull-right\" }, [\n _vm._v(\"\\n Poster Size:\\n \"),\n _c(\"div\", {\n staticStyle: {\n width: \"100px\",\n display: \"inline-block\",\n \"margin-left\": \"7px\"\n },\n attrs: { id: \"posterSizeSlider\" }\n })\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/poster-size-slider.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/progress-bar.vue?vue&type=template&id=df985d66&scoped=true&": -/*!**************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/progress-bar.vue?vue&type=template&id=df985d66&scoped=true& ***! - \**************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n _vm._b(\n {\n staticClass:\n \"progressbar hidden-print ui-progressbar ui-corner-all ui-widget ui-widget-content\",\n attrs: { role: \"progressbar\" }\n },\n \"div\",\n { title: _vm.title },\n false\n ),\n [\n _vm.text\n ? _c(\"div\", { staticClass: \"progressbarText\" }, [\n _vm._v(_vm._s(_vm.text))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.normalisedPercentage >= 1,\n expression: \"normalisedPercentage >= 1\"\n }\n ],\n class: [\n \"ui-progressbar-value\",\n \"ui-corner-left\",\n \"ui-widget-header\",\n \"progress-\" + _vm.normalisedPercentage\n ],\n style: { width: _vm.percentage + \"%\" }\n })\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/progress-bar.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/quality-chooser.vue?vue&type=template&id=5aba68fa&scoped=true&": -/*!*****************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/quality-chooser.vue?vue&type=template&id=5aba68fa&scoped=true& ***! - \*****************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model.number\",\n value: _vm.selectedQualityPreset,\n expression: \"selectedQualityPreset\",\n modifiers: { number: true }\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: { name: \"quality_preset\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return _vm._n(val)\n })\n _vm.selectedQualityPreset = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _vm.keep\n ? _c(\"option\", { attrs: { value: \"keep\" } }, [_vm._v(\"< Keep >\")])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"option\", { domProps: { value: 0 } }, [_vm._v(\"Custom\")]),\n _vm._v(\" \"),\n _vm._l(_vm.qualityPresets, function(preset) {\n return _c(\n \"option\",\n {\n key: \"quality-preset-\" + preset.key,\n domProps: { value: preset.value }\n },\n [_vm._v(\"\\n \" + _vm._s(preset.name) + \"\\n \")]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.selectedQualityPreset === 0,\n expression: \"selectedQualityPreset === 0\"\n }\n ],\n attrs: { id: \"customQualityWrapper\" }\n },\n [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"h5\", [_vm._v(\"Allowed\")]),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model.number\",\n value: _vm.allowedQualities,\n expression: \"allowedQualities\",\n modifiers: { number: true }\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: {\n name: \"allowed_qualities\",\n multiple: \"multiple\",\n size: _vm.validQualities.length\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return _vm._n(val)\n })\n _vm.allowedQualities = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.validQualities, function(quality) {\n return _c(\n \"option\",\n {\n key: \"quality-list-\" + quality.key,\n domProps: { value: quality.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(quality.name) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"h5\", [_vm._v(\"Preferred\")]),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model.number\",\n value: _vm.preferredQualities,\n expression: \"preferredQualities\",\n modifiers: { number: true }\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: {\n name: \"preferred_qualities\",\n multiple: \"multiple\",\n size: _vm.validQualities.length,\n disabled: _vm.allowedQualities.length === 0\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return _vm._n(val)\n })\n _vm.preferredQualities = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.validQualities, function(quality) {\n return _c(\n \"option\",\n {\n key: \"quality-list-\" + quality.key,\n domProps: { value: quality.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(quality.name) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.selectedQualityPreset !== \"keep\"\n ? _c(\"div\", [\n _vm.allowedQualities.length + _vm.preferredQualities.length >= 1\n ? _c(\n \"div\",\n { attrs: { id: \"qualityExplanation\" } },\n [\n _vm._m(1),\n _vm._v(\" \"),\n _vm.preferredQualities.length === 0\n ? _c(\"h5\", [\n _vm._v(\"\\n This will download \"),\n _c(\"b\", [_vm._v(\"any\")]),\n _vm._v(\n \" of these qualities and then stops searching:\\n \"\n ),\n _c(\"label\", { attrs: { id: \"allowedExplanation\" } }, [\n _vm._v(_vm._s(_vm.explanation.allowed.join(\", \")))\n ])\n ])\n : [\n _c(\"h5\", [\n _vm._v(\"\\n Downloads \"),\n _c(\"b\", [_vm._v(\"any\")]),\n _vm._v(\" of these qualities:\\n \"),\n _c(\n \"label\",\n { attrs: { id: \"allowedPreferredExplanation\" } },\n [_vm._v(_vm._s(_vm.explanation.allowed.join(\", \")))]\n )\n ]),\n _vm._v(\" \"),\n _c(\"h5\", [\n _vm._v(\n \"\\n But it will stop searching when one of these is downloaded:\\n \"\n ),\n _c(\n \"label\",\n { attrs: { id: \"preferredExplanation\" } },\n [\n _vm._v(\n _vm._s(_vm.explanation.preferred.join(\", \"))\n )\n ]\n )\n ])\n ]\n ],\n 2\n )\n : _c(\"div\", [_vm._v(\"Please select at least one allowed quality.\")])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.backloggedEpisodes\n ? _c(\"div\", [\n _c(\"h5\", {\n staticClass: \"{ 'red-text': !backloggedEpisodes.status }\",\n domProps: { innerHTML: _vm._s(_vm.backloggedEpisodes.html) }\n })\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.archive\n ? _c(\"div\", { attrs: { id: \"archive\" } }, [\n _c(\"h5\", [\n _c(\n \"b\",\n [\n _vm._v(\n \"Archive downloaded episodes that are not currently in\\n \"\n ),\n _c(\n \"app-link\",\n {\n staticClass: \"backlog-link\",\n attrs: { href: \"manage/backlogOverview/\", target: \"_blank\" }\n },\n [_vm._v(\"backlog\")]\n ),\n _vm._v(\".\")\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\n \"Avoids unnecessarily increasing your backlog\\n \"\n ),\n _c(\"br\")\n ]),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-inline\",\n attrs: { disabled: _vm.archiveButton.disabled },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.archiveEpisodes($event)\n }\n }\n },\n [\n _vm._v(\n \"\\n \" + _vm._s(_vm.archiveButton.text) + \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"h5\", [_vm._v(_vm._s(_vm.archivedStatus))])\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"b\", [_c(\"strong\", [_vm._v(\"Preferred\")])]),\n _vm._v(\" qualities will replace those in \"),\n _c(\"b\", [_c(\"strong\", [_vm._v(\"allowed\")])]),\n _vm._v(\", even if they are lower.\\n \")\n ])\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"h5\", [_c(\"b\", [_vm._v(\"Quality setting explanation:\")])])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/quality-chooser.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/quality-pill.vue?vue&type=template&id=259b1c21&scoped=true&": -/*!**************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/quality-pill.vue?vue&type=template&id=259b1c21&scoped=true& ***! - \**************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"span\",\n {\n class: _vm.override.class || [\"quality\", _vm.pill.key],\n attrs: { title: _vm.title }\n },\n [_vm._v(_vm._s(_vm.override.text || _vm.pill.name))]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/quality-pill.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/scroll-buttons.vue?vue&type=template&id=3bddc9db&": -/*!****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/scroll-buttons.vue?vue&type=template&id=3bddc9db& ***! - \****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"scroll-buttons-wrapper\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper top\",\n class: { show: _vm.showToTop },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollTop($event)\n }\n }\n },\n [_vm._m(0)]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper left\",\n class: { show: _vm.showLeftRight }\n },\n [\n _c(\"span\", { staticClass: \"scroll-left-inner\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-circle-arrow-left\",\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollLeft($event)\n }\n }\n })\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"scroll-wrapper right\",\n class: { show: _vm.showLeftRight }\n },\n [\n _c(\"span\", { staticClass: \"scroll-right-inner\" }, [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-circle-arrow-right\",\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.scrollRight($event)\n }\n }\n })\n ])\n ]\n )\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", { staticClass: \"scroll-top-inner\" }, [\n _c(\"i\", { staticClass: \"glyphicon glyphicon-circle-arrow-up\" })\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/scroll-buttons.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/select-list.vue?vue&type=template&id=466bd1e5&scoped=true&": -/*!*************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/select-list.vue?vue&type=template&id=466bd1e5&scoped=true& ***! - \*************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n _vm._b(\n { staticClass: \"select-list max-width\" },\n \"div\",\n { disabled: _vm.disabled },\n false\n ),\n [\n _c(\"i\", {\n staticClass: \"switch-input glyphicon glyphicon-refresh\",\n attrs: { title: \"Switch between a list and comma separated values\" },\n on: {\n click: function($event) {\n return _vm.switchFields()\n }\n }\n }),\n _vm._v(\" \"),\n !_vm.csvMode\n ? _c(\n \"ul\",\n [\n _vm._l(_vm.editItems, function(item) {\n return _c(\"li\", { key: item.id }, [\n _c(\"div\", { staticClass: \"input-group\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: item.value,\n expression: \"item.value\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\" },\n domProps: { value: item.value },\n on: {\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(item, \"value\", $event.target.value)\n },\n function($event) {\n return _vm.removeEmpty(item)\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n on: {\n click: function($event) {\n return _vm.deleteItem(item)\n }\n }\n },\n [_vm._m(0, true)]\n )\n ])\n ])\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"new-item\" }, [\n _c(\"div\", { staticClass: \"input-group\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newItem,\n expression: \"newItem\"\n }\n ],\n ref: \"newItemInput\",\n staticClass: \"form-control input-sm\",\n attrs: {\n type: \"text\",\n placeholder: \"add new values per line\"\n },\n domProps: { value: _vm.newItem },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.newItem = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n on: {\n click: function($event) {\n return _vm.addNewItem()\n }\n }\n },\n [_vm._m(1)]\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.newItem.length > 0\n ? _c(\"div\", { staticClass: \"new-item-help\" }, [\n _vm._v(\"\\n Click \"),\n _c(\"i\", { staticClass: \"glyphicon glyphicon-plus\" }),\n _vm._v(\" to finish adding the value.\\n \")\n ])\n : _vm._e()\n ],\n 2\n )\n : _c(\"div\", { staticClass: \"csv\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.csv,\n expression: \"csv\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: {\n type: \"text\",\n placeholder: \"add values comma separated\"\n },\n domProps: { value: _vm.csv },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.csv = $event.target.value\n }\n }\n })\n ])\n ]\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-remove\",\n attrs: { title: \"Remove\" }\n })\n ]\n )\n },\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-plus\",\n attrs: { title: \"Add\" }\n })\n ]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/select-list.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/show-selector.vue?vue&type=template&id=6e81af76&": -/*!***************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/show-selector.vue?vue&type=template&id=6e81af76& ***! - \***************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.showForRoutes\n ? _c(\"div\", { staticClass: \"show-selector form-inline hidden-print\" }, [\n _c(\n \"div\",\n { staticClass: \"select-show-group pull-left top-5 bottom-5\" },\n [\n _vm.shows.length === 0\n ? _c(\n \"select\",\n { class: _vm.selectClass, attrs: { disabled: \"\" } },\n [_c(\"option\", [_vm._v(\"Loading...\")])]\n )\n : _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedShowSlug,\n expression: \"selectedShowSlug\"\n }\n ],\n class: _vm.selectClass,\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedShowSlug = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n function($event) {\n return _vm.$emit(\"change\", _vm.selectedShowSlug)\n }\n ]\n }\n },\n [\n _vm.placeholder\n ? _c(\n \"option\",\n {\n attrs: { disabled: \"\", hidden: \"\" },\n domProps: {\n value: _vm.placeholder,\n selected: !_vm.selectedShowSlug\n }\n },\n [_vm._v(_vm._s(_vm.placeholder))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.whichList === -1\n ? _vm._l(_vm.showLists, function(curShowList) {\n return _c(\n \"optgroup\",\n {\n key: curShowList.type,\n attrs: { label: curShowList.type }\n },\n _vm._l(curShowList.shows, function(show) {\n return _c(\n \"option\",\n {\n key: show.id.slug,\n domProps: { value: show.id.slug }\n },\n [_vm._v(_vm._s(show.title))]\n )\n }),\n 0\n )\n })\n : _vm._l(_vm.showLists[_vm.whichList].shows, function(\n show\n ) {\n return _c(\n \"option\",\n {\n key: show.id.slug,\n domProps: { value: show.id.slug }\n },\n [_vm._v(_vm._s(show.title))]\n )\n })\n ],\n 2\n )\n ]\n )\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/show-selector.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/sorted-select-list.vue?vue&type=template&id=74e96919&scoped=true&": -/*!********************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/sorted-select-list.vue?vue&type=template&id=74e96919&scoped=true& ***! - \********************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n _vm._b(\n { staticClass: \"sorted-select-list max-width\" },\n \"div\",\n { disabled: _vm.disabled },\n false\n ),\n [\n _c(\n \"draggable\",\n {\n staticClass: \"list-group\",\n attrs: { tag: \"ul\", handle: \".handle\" },\n on: {\n start: function($event) {\n _vm.dragging = true\n },\n end: function($event) {\n _vm.dragging = false\n }\n },\n model: {\n value: _vm.editItems,\n callback: function($$v) {\n _vm.editItems = $$v\n },\n expression: \"editItems\"\n }\n },\n _vm._l(_vm.editItems, function(item) {\n return _c(\n \"li\",\n { key: item.id, staticClass: \"draggable-list\" },\n [\n _c(\"font-awesome-icon\", {\n staticClass: \"handle\",\n attrs: { icon: \"align-justify\" }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"draggable-input-group\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: item.value,\n expression: \"item.value\"\n }\n ],\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\" },\n domProps: { value: item.value },\n on: {\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(item, \"value\", $event.target.value)\n },\n function($event) {\n return _vm.removeEmpty(item)\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n on: {\n click: function($event) {\n return _vm.deleteItem(item)\n }\n }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-remove\",\n attrs: { title: \"Remove\" }\n })\n ]\n )\n ]\n )\n ])\n ],\n 1\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"new-item\" }, [\n _c(\"div\", { staticClass: \"draggable-input-group\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newItem,\n expression: \"newItem\"\n }\n ],\n ref: \"newItemInput\",\n staticClass: \"form-control input-sm\",\n attrs: { type: \"text\", placeholder: \"add new values per line\" },\n domProps: { value: _vm.newItem },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.newItem = $event.target.value\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"input-group-btn\",\n on: {\n click: function($event) {\n return _vm.addNewItem()\n }\n }\n },\n [_vm._m(0)]\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.newItem.length > 0\n ? _c(\"div\", { staticClass: \"new-item-help\" }, [\n _vm._v(\"\\n Click \"),\n _c(\"i\", { staticClass: \"glyphicon glyphicon-plus\" }),\n _vm._v(\" to finish adding the value.\\n \")\n ])\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"btn btn-default input-sm\",\n staticStyle: { \"font-size\": \"14px\" }\n },\n [\n _c(\"i\", {\n staticClass: \"glyphicon glyphicon-plus\",\n attrs: { title: \"Add\" }\n })\n ]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/sorted-select-list.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/helpers/state-switch.vue?vue&type=template&id=19ff3e4a&": -/*!**************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/helpers/state-switch.vue?vue&type=template&id=19ff3e4a& ***! - \**************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"img\",\n _vm._b(\n {\n attrs: { height: \"16\", width: \"16\" },\n on: {\n click: function($event) {\n return _vm.$emit(\"click\")\n }\n }\n },\n \"img\",\n { src: _vm.src, alt: _vm.alt },\n false\n )\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/helpers/state-switch.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/home.vue?vue&type=template&id=957c9522&scoped=true&": -/*!**********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/home.vue?vue&type=template&id=957c9522&scoped=true& ***! - \**********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { attrs: { id: \"home\" } },\n [\n [\"banner\", \"simple\", \"small\"].includes(_vm.layout)\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-sm-12\" }, [\n _c(\n \"div\",\n { staticClass: \"home-filter-option option-filter-name\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.filterByName,\n expression: \"filterByName\"\n }\n ],\n staticClass:\n \"form-control form-control-inline input-sm input200\",\n attrs: {\n id: \"filterShowName\",\n type: \"search\",\n placeholder: \"Filter Show Name\"\n },\n domProps: { value: _vm.filterByName },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.filterByName = $event.target.value\n }\n }\n })\n ]\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-sm-12\" }, [\n _c(\n \"div\",\n {\n staticClass: \"home-filter-option pull-left\",\n attrs: { id: \"showRoot\" }\n },\n [\n _c(\n \"select\",\n {\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: { name: \"showRootDir\", id: \"showRootDir\" },\n domProps: { value: _vm.stateLayout.selectedRootIndex },\n on: {\n change: function($event) {\n _vm.setStoreLayout({\n key: \"selectedRootIndex\",\n value: Number($event.target.selectedOptions[0].value)\n })\n }\n }\n },\n _vm._l(_vm.selectedRootIndexOptions, function(option) {\n return _c(\n \"option\",\n {\n key: option.value,\n domProps: { value: String(option.value) }\n },\n [_vm._v(_vm._s(option.text))]\n )\n }),\n 0\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"home-filter-option show-option-layout pull-right\" },\n [\n _c(\"span\", [_vm._v(\"Layout: \")]),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.layout,\n expression: \"layout\"\n }\n ],\n staticClass:\n \"form-control form-control-inline input-sm show-layout\",\n attrs: { name: \"layout\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.layout = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _c(\"option\", { attrs: { value: \"poster\" } }, [\n _vm._v(\"Poster\")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"small\" } }, [\n _vm._v(\"Small Poster\")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"banner\" } }, [\n _vm._v(\"Banner\")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"simple\" } }, [\n _vm._v(\"Simple\")\n ])\n ]\n )\n ]\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-md-12\" },\n [\n _vm.stateLayout.splitHomeInTabs\n ? _c(\n \"div\",\n { attrs: { id: \"showTabs\" } },\n [\n _c(\n \"vue-tabs\",\n { on: { \"tab-change\": _vm.tabChange } },\n _vm._l(_vm.showsInLists, function(showInList) {\n return _c(\n \"v-tab\",\n {\n key: showInList.listTitle,\n attrs: { title: showInList.listTitle }\n },\n [\n [\"banner\", \"simple\", \"small\", \"poster\"].includes(\n _vm.layout\n )\n ? [\n _c(\n \"show-list\",\n _vm._b(\n {\n attrs: {\n id:\n showInList.listTitle.toLowerCase() +\n \"TabContent\"\n }\n },\n \"show-list\",\n {\n listTitle: showInList.listTitle,\n layout: _vm.layout,\n shows: showInList.shows,\n header: showInList.length > 1\n },\n false\n )\n )\n ]\n : _vm._e()\n ],\n 2\n )\n }),\n 1\n )\n ],\n 1\n )\n : [\n [\"banner\", \"simple\", \"small\", \"poster\"].includes(_vm.layout)\n ? [\n _c(\n \"draggable\",\n {\n staticClass: \"list-group\",\n attrs: { tag: \"ul\", handle: \".move-show-list\" },\n model: {\n value: _vm.showList,\n callback: function($$v) {\n _vm.showList = $$v\n },\n expression: \"showList\"\n }\n },\n _vm._l(_vm.showsInLists, function(showInList) {\n return _c(\n \"li\",\n { key: showInList.listTitle },\n [\n _c(\n \"show-list\",\n _vm._b(\n {},\n \"show-list\",\n {\n listTitle: showInList.listTitle,\n layout: _vm.layout,\n shows: showInList.shows,\n header: showInList.length > 1\n },\n false\n )\n )\n ],\n 1\n )\n }),\n 0\n )\n ]\n : _vm._e()\n ],\n _vm._v(\" \"),\n _vm.showsInLists &&\n _vm.showsInLists.filter(function(list) {\n return list.shows.length > 0\n }).length === 0\n ? _c(\n \"span\",\n [\n _vm._v(\"Please add a show \"),\n _c(\"app-link\", { attrs: { href: \"addShows\" } }, [\n _vm._v(\"here\")\n ]),\n _vm._v(\" to get started\")\n ],\n 1\n )\n : _vm._e()\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n _c(\"backstretch\", { attrs: { slug: _vm.config.randomShowSlug } })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/home.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/http/404.vue?vue&type=template&id=6b1176c1&": -/*!**************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/http/404.vue?vue&type=template&id=6b1176c1& ***! - \**************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"align-center\" }, [\n _vm._v(\"You have reached this page by accident, please check the url.\")\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/http/404.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/irc.vue?vue&type=template&id=15ee697a&scoped=true&": -/*!*********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/irc.vue?vue&type=template&id=15ee697a&scoped=true& ***! - \*********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"iframe\", {\n staticClass: \"irc-frame loading-spinner\",\n attrs: { src: _vm.frameSrc }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/irc.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/login.vue?vue&type=template&id=10d9df09&": -/*!***********************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/login.vue?vue&type=template&id=10d9df09& ***! - \***********************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"login\" }, [\n _c(\"form\", { attrs: { action: \"\", method: \"post\" } }, [\n _c(\"h1\", [_vm._v(\"Medusa\")]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n name: \"username\",\n type: \"text\",\n placeholder: \"Username\",\n autocomplete: \"off\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n name: \"password\",\n type: \"password\",\n placeholder: \"Password\",\n autocomplete: \"off\"\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ctrlHolder\" }, [\n _c(\n \"label\",\n { staticClass: \"remember_me\", attrs: { title: \"for 30 days\" } },\n [\n _c(\"input\", {\n staticClass: \"inlay\",\n attrs: {\n id: \"remember_me\",\n name: \"remember_me\",\n type: \"checkbox\",\n value: \"1\",\n checked: \"checked\"\n }\n }),\n _vm._v(\" Remember me\")\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"button\",\n attrs: { name: \"submit\", type: \"submit\", value: \"Login\" }\n })\n ])\n ])\n ])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/login.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/logs.vue?vue&type=template&id=4b4e9e3f&scoped=true&": -/*!**********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/logs.vue?vue&type=template&id=4b4e9e3f&scoped=true& ***! - \**********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\"div\", { staticClass: \"col-md-12 pull-right\" }, [\n _c(\"div\", { staticClass: \"logging-filter-control pull-right\" }, [\n _c(\"div\", { staticClass: \"show-option\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-inline\",\n attrs: { type: \"button\" },\n on: {\n click: function($event) {\n _vm.autoUpdate = !_vm.autoUpdate\n }\n }\n },\n [\n _c(\"i\", {\n class:\n \"glyphicon glyphicon-\" + (_vm.autoUpdate ? \"pause\" : \"play\")\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.autoUpdate ? \"Pause\" : \"Resume\") +\n \"\\n \"\n )\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-option\" }, [\n _c(\"span\", [\n _vm._v(\"Logging level:\\n \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.minLevel,\n expression: \"minLevel\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.minLevel = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n function($event) {\n return _vm.fetchLogsDebounced()\n }\n ]\n }\n },\n _vm._l(_vm.levels, function(level) {\n return _c(\n \"option\",\n { key: level, domProps: { value: level.toUpperCase() } },\n [_vm._v(_vm._s(level))]\n )\n }),\n 0\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-option\" }, [\n _c(\"span\", [\n _vm._v(\"Filter log by:\\n \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.threadFilter,\n expression: \"threadFilter\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.threadFilter = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n function($event) {\n return _vm.fetchLogsDebounced()\n }\n ]\n }\n },\n [\n _vm._m(0),\n _vm._v(\" \"),\n _vm._l(_vm.filters, function(filter) {\n return _c(\n \"option\",\n { key: filter.value, domProps: { value: filter.value } },\n [_vm._v(_vm._s(filter.title))]\n )\n })\n ],\n 2\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-option\" }, [\n _c(\"span\", [\n _vm._v(\"Period:\\n \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.periodFilter,\n expression: \"periodFilter\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.periodFilter = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n function($event) {\n return _vm.fetchLogsDebounced()\n }\n ]\n }\n },\n [\n _c(\"option\", { attrs: { value: \"all\" } }, [_vm._v(\"All\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"one_day\" } }, [\n _vm._v(\"Last 24h\")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"three_days\" } }, [\n _vm._v(\"Last 3 days\")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"one_week\" } }, [\n _vm._v(\"Last 7 days\")\n ])\n ]\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-option\" }, [\n _c(\"span\", [\n _vm._v(\"Search log by:\\n \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.searchQuery,\n expression: \"searchQuery\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: { type: \"text\", placeholder: \"clear to reset\" },\n domProps: { value: _vm.searchQuery },\n on: {\n keyup: function($event) {\n return _vm.fetchLogsDebounced()\n },\n keypress: function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.fetchLogsDebounced.flush()\n },\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.searchQuery = $event.target.value\n }\n }\n })\n ])\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"pre\",\n {\n staticClass: \"col-md-12\",\n class: { fanartOpacity: _vm.layout.fanartBackground }\n },\n [\n _c(\n \"div\",\n { staticClass: \"notepad\" },\n [\n _c(\"app-link\", { attrs: { href: _vm.rawViewLink } }, [\n _c(\"img\", { attrs: { src: \"images/notepad.png\" } })\n ])\n ],\n 1\n ),\n _vm._l(_vm.logLines, function(line, index) {\n return _c(\"div\", { key: \"line-\" + index }, [\n _vm._v(_vm._s(_vm._f(\"formatLine\")(line)))\n ])\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"backstretch\", { attrs: { slug: _vm.config.randomShowSlug } })\n ],\n 1\n )\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"option\", { attrs: { value: \"\" } }, [_vm._v(\"\")])\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/logs.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/root-dirs.vue?vue&type=template&id=de46f99e&": -/*!***************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/root-dirs.vue?vue&type=template&id=de46f99e& ***! - \***************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"root-dirs-wrapper\" } }, [\n _c(\"div\", { staticClass: \"root-dirs-selectbox\" }, [\n _c(\n \"select\",\n _vm._g(\n _vm._b(\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedRootDir,\n expression: \"selectedRootDir\"\n }\n ],\n ref: \"rootDirs\",\n attrs: { name: \"rootDir\", id: \"rootDirs\", size: \"6\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectedRootDir = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n \"select\",\n _vm.$attrs,\n false\n ),\n _vm.$listeners\n ),\n _vm._l(_vm.rootDirs, function(curDir) {\n return _c(\n \"option\",\n { key: curDir.path, domProps: { value: curDir.path } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm._f(\"markDefault\")(curDir)) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"root-dirs-controls\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\" },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.add($event)\n }\n }\n },\n [_vm._v(\"New\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.edit($event)\n }\n }\n },\n [_vm._v(\"Edit\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.remove($event)\n }\n }\n },\n [_vm._v(\"Delete\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa\",\n attrs: { type: \"button\", disabled: !_vm.selectedRootDir },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.setDefault($event)\n }\n }\n },\n [_vm._v(\"Set as Default *\")]\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/root-dirs.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-header.vue?vue&type=template&id=2465ca06&scoped=true&": -/*!*****************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-header.vue?vue&type=template&id=2465ca06&scoped=true& ***! - \*****************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"show-header-container\" },\n [\n _c(\"div\", { staticClass: \"row\" }, [\n _vm.show\n ? _c(\n \"div\",\n {\n staticClass: \"col-lg-12\",\n attrs: { id: \"showtitle\", \"data-showname\": _vm.show.title }\n },\n [\n _c(\"div\", [\n _c(\n \"h1\",\n {\n staticClass: \"title\",\n attrs: {\n \"data-indexer-name\": _vm.show.indexer,\n \"data-series-id\": _vm.show.id[_vm.show.indexer],\n id: \"scene_exception_\" + _vm.show.id[_vm.show.indexer]\n }\n },\n [\n _c(\n \"app-link\",\n {\n staticClass: \"snatchTitle\",\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n _vm.show.indexer +\n \"&seriesid=\" +\n _vm.show.id[_vm.show.indexer]\n }\n },\n [_vm._v(_vm._s(_vm.show.title))]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm.type === \"snatch-selection\"\n ? _c(\n \"div\",\n {\n staticClass: \"pull-right episode-info\",\n attrs: { id: \"show-specials-and-seasons\" }\n },\n [\n _c(\n \"span\",\n { staticClass: \"h2footer display-specials\" },\n [\n _vm._v(\n \"\\n Manual search for: Season \" +\n _vm._s(_vm.season)\n ),\n _vm.episode !== undefined &&\n _vm.manualSearchType !== \"season\"\n ? [_vm._v(\" Episode \" + _vm._s(_vm.episode))]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.manualSearchType !== \"season\" && _vm.episodeTitle\n ? _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.episodeTitle) +\n \"\\n \"\n )\n ])\n : _vm._e()\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.type !== \"snatch-selection\" && _vm.seasons.length >= 1\n ? _c(\n \"div\",\n {\n staticClass: \"pull-right\",\n attrs: { id: \"show-specials-and-seasons\" }\n },\n [\n _vm.seasons.includes(0)\n ? _c(\n \"span\",\n { staticClass: \"h2footer display-specials\" },\n [\n _vm._v(\n \"\\n Display Specials: \"\n ),\n _c(\n \"a\",\n {\n staticClass: \"inner\",\n staticStyle: { cursor: \"pointer\" },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.toggleSpecials()\n }\n }\n },\n [\n _vm._v(\n _vm._s(\n _vm.displaySpecials ? \"Hide\" : \"Show\"\n )\n )\n ]\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"h2footer display-seasons clear\" },\n [\n _c(\n \"span\",\n [\n _vm.seasons.length >= 15\n ? _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.jumpToSeason,\n expression: \"jumpToSeason\"\n }\n ],\n staticClass: \"form-control input-sm\",\n staticStyle: { position: \"relative\" },\n attrs: { id: \"seasonJump\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.jumpToSeason = $event.target\n .multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _c(\n \"option\",\n { attrs: { value: \"jump\" } },\n [_vm._v(\"Jump to Season\")]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.seasons, function(\n seasonNumber\n ) {\n return _c(\n \"option\",\n {\n key:\n \"jumpToSeason-\" + seasonNumber,\n domProps: { value: seasonNumber }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n seasonNumber === 0\n ? \"Specials\"\n : \"Season \" + seasonNumber\n ) +\n \"\\n \"\n )\n ]\n )\n })\n ],\n 2\n )\n : _vm.seasons.length >= 1\n ? [\n _vm._v(\n \"\\n Season:\\n \"\n ),\n _vm._l(_vm.reverse(_vm.seasons), function(\n seasonNumber,\n index\n ) {\n return [\n _c(\n \"app-link\",\n {\n key:\n \"jumpToSeason-\" + seasonNumber,\n attrs: {\n href: \"#season-\" + seasonNumber\n },\n nativeOn: {\n click: function($event) {\n $event.preventDefault()\n _vm.jumpToSeason = seasonNumber\n }\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n seasonNumber === 0\n ? \"Specials\"\n : seasonNumber\n ) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n index !== _vm.seasons.length - 1\n ? _c(\n \"span\",\n {\n key: \"separator-\" + index,\n staticClass: \"separator\"\n },\n [_vm._v(\"| \")]\n )\n : _vm._e()\n ]\n })\n ]\n : _vm._e()\n ],\n 2\n )\n ]\n )\n ]\n )\n : _vm._e()\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.activeShowQueueStatuses, function(queueItem) {\n return _c(\"div\", { key: queueItem.action, staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"alert alert-info\" }, [\n _vm._v(\"\\n \" + _vm._s(queueItem.message) + \"\\n \")\n ])\n ])\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"shadow shadow-background\",\n attrs: { id: \"summaryBackground\" }\n },\n [\n _c(\"div\", { staticClass: \"row\", attrs: { id: \"row-show-summary\" } }, [\n _c(\n \"div\",\n { staticClass: \"col-md-12\", attrs: { id: \"col-show-summary\" } },\n [\n _c(\"div\", { staticClass: \"show-poster-container\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"image-flex-container col-md-12\" },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\": \"images/poster.png\",\n \"show-slug\": _vm.show.id.slug,\n type: \"posterThumb\",\n cls: \"show-image shadow\",\n link: true\n }\n })\n ],\n 1\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"ver-spacer\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-info-container\" }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n {\n staticClass:\n \"pull-right col-lg-3 col-md-3 hidden-sm hidden-xs\"\n },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\": \"images/banner.png\",\n \"show-slug\": _vm.show.id.slug,\n type: \"banner\",\n cls: \"show-banner pull-right shadow\",\n link: true\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass:\n \"pull-left col-lg-9 col-md-9 col-sm-12 col-xs-12\",\n attrs: { id: \"indexers\" }\n },\n [\n _vm.show.rating.imdb && _vm.show.rating.imdb.rating\n ? _c(\n \"span\",\n {\n staticClass: \"imdbstars\",\n attrs: {\n \"qtip-content\":\n _vm.show.rating.imdb.rating +\n \" / 10 Stars
    \" +\n _vm.show.rating.imdb.votes +\n \" Votes\"\n }\n },\n [\n _c(\"span\", {\n style: {\n width:\n Number(_vm.show.rating.imdb.rating) * 10 +\n \"%\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.show.id.imdb\n ? [\n _vm.show.year.start\n ? _c(\"span\", [\n _vm._v(\n \"(\" +\n _vm._s(_vm.show.year.start) +\n \") - \" +\n _vm._s(_vm.show.runtime) +\n \" minutes - \"\n )\n ])\n : _vm._e()\n ]\n : [\n _vm._l(_vm.show.countryCodes, function(country) {\n return _c(\"img\", {\n key: \"flag-\" + country,\n class: [\"country-flag\", \"flag-\" + country],\n staticStyle: {\n \"margin-left\": \"3px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n src: \"images/blank.png\",\n width: \"16\",\n height: \"11\"\n }\n })\n }),\n _vm._v(\" \"),\n _vm.show.imdbInfo.year\n ? _c(\"span\", [\n _vm._v(\n \"\\n (\" +\n _vm._s(_vm.show.imdbInfo.year) +\n \") -\\n \"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.show.imdbInfo.runtimes ||\n _vm.show.runtime\n ) +\n \" minutes\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://www.imdb.com/title/\" +\n _vm.show.id.imdb,\n title:\n \"https://www.imdb.com/title/\" +\n _vm.show.id.imdb\n }\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"margin-top\": \"-1px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n alt: \"[imdb]\",\n height: \"16\",\n width: \"16\",\n src: \"images/imdb.png\"\n }\n })\n ]\n )\n ],\n _vm._v(\" \"),\n _c(\n \"div\",\n { attrs: { id: \"indexer-wrapper\" } },\n [\n _c(\"img\", {\n attrs: {\n id: \"stored-by-indexer\",\n src: \"images/star.png\"\n }\n }),\n _vm._v(\" \"),\n _vm.showIndexerUrl &&\n _vm.indexerConfig[_vm.show.indexer].icon\n ? _c(\n \"app-link\",\n {\n attrs: {\n href: _vm.showIndexerUrl,\n title: _vm.showIndexerUrl\n }\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"margin-top\": \"-1px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n alt:\n _vm.indexerConfig[_vm.show.indexer]\n .name,\n height: \"16\",\n width: \"16\",\n src:\n \"images/\" +\n _vm.indexerConfig[_vm.show.indexer]\n .icon\n }\n })\n ]\n )\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.show.id.trakt\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://trakt.tv/shows/\" +\n _vm.show.id.trakt,\n title:\n \"https://trakt.tv/shows/\" +\n _vm.show.id.trakt\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[trakt]\",\n height: \"16\",\n width: \"16\",\n src: \"images/trakt.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.xemNumbering &&\n _vm.show.xemNumbering.length > 0\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://thexem.de/search?q=\" +\n _vm.show.title,\n title:\n \"http://thexem.de/search?q=\" +\n _vm.show.title\n }\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"margin-top\": \"-1px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n alt: \"[xem]\",\n height: \"16\",\n width: \"16\",\n src: \"images/xem.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.id.tvdb\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://fanart.tv/series/\" +\n _vm.show.id.tvdb,\n title:\n \"https://fanart.tv/series/\" +\n _vm.show.id[_vm.show.indexer]\n }\n },\n [\n _c(\"img\", {\n staticClass: \"fanart\",\n attrs: {\n alt: \"[fanart.tv]\",\n height: \"16\",\n width: \"16\",\n src: \"images/fanart.tv.png\"\n }\n })\n ]\n )\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass:\n \"pull-left col-lg-9 col-md-9 col-sm-12 col-xs-12\",\n attrs: { id: \"tags\" }\n },\n [\n _vm.show.genres\n ? _c(\n \"ul\",\n { staticClass: \"tags\" },\n _vm._l(\n _vm.dedupeGenres(_vm.show.genres),\n function(genre) {\n return _c(\n \"app-link\",\n {\n key: genre.toString(),\n attrs: {\n href:\n \"https://trakt.tv/shows/popular/?genres=\" +\n genre.toLowerCase().replace(\" \", \"-\"),\n title:\n \"View other popular \" +\n genre +\n \" shows on trakt.tv\"\n }\n },\n [_c(\"li\", [_vm._v(_vm._s(genre))])]\n )\n }\n ),\n 1\n )\n : _c(\n \"ul\",\n { staticClass: \"tags\" },\n _vm._l(_vm.showGenres, function(genre) {\n return _c(\n \"app-link\",\n {\n key: genre.toString(),\n attrs: {\n href:\n \"https://www.imdb.com/search/title?count=100&title_type=tv_series&genres=\" +\n genre.toLowerCase().replace(\" \", \"-\"),\n title:\n \"View other popular \" +\n genre +\n \" shows on IMDB\"\n }\n },\n [_c(\"li\", [_vm._v(_vm._s(genre))])]\n )\n }),\n 1\n )\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"row\" }, [\n _vm.configLoaded\n ? _c(\n \"div\",\n {\n ref: \"summary\",\n staticClass: \"col-md-12\",\n attrs: { id: \"summary\" }\n },\n [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n {\n staticClass:\n \"col-lg-9 col-md-8 col-sm-8 col-xs-12\",\n class: {\n summaryFanArt: _vm.layout.fanartBackground\n },\n attrs: { id: \"show-summary\" }\n },\n [\n _c(\n \"table\",\n { staticClass: \"summaryTable pull-left\" },\n [\n _vm.show.plot\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticStyle: {\n \"padding-bottom\": \"15px\"\n },\n attrs: { colspan: \"2\" }\n },\n [\n _c(\"truncate\", {\n attrs: {\n length: 250,\n clamp: \"show more...\",\n less: \"show less...\",\n text: _vm.show.plot\n },\n on: {\n toggle: function($event) {\n return _vm.$emit(\"reflow\")\n }\n }\n })\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.getQualityPreset({\n value: _vm.combinedQualities\n }) !== undefined\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Quality:\")]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _c(\"quality-pill\", {\n attrs: {\n quality:\n _vm.combinedQualities\n }\n })\n ],\n 1\n )\n ])\n : [\n _vm.combineQualities(\n _vm.show.config.qualities.allowed\n ) > 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\"\n },\n [\n _vm._v(\n \"Allowed Qualities:\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _vm._l(\n _vm.show.config\n .qualities.allowed,\n function(\n curQuality,\n index\n ) {\n return [\n _vm._v(\n _vm._s(\n index > 0\n ? \", \"\n : \"\"\n )\n ),\n _c(\"quality-pill\", {\n key:\n \"allowed-\" +\n curQuality,\n attrs: {\n quality: curQuality\n }\n })\n ]\n }\n )\n ],\n 2\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.combineQualities(\n _vm.show.config.qualities\n .preferred\n ) > 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\"\n },\n [\n _vm._v(\n \"Preferred Qualities:\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _vm._l(\n _vm.show.config\n .qualities.preferred,\n function(\n curQuality,\n index\n ) {\n return [\n _vm._v(\n _vm._s(\n index > 0\n ? \", \"\n : \"\"\n )\n ),\n _c(\"quality-pill\", {\n key:\n \"preferred-\" +\n curQuality,\n attrs: {\n quality: curQuality\n }\n })\n ]\n }\n )\n ],\n 2\n )\n ])\n : _vm._e()\n ],\n _vm._v(\" \"),\n _vm.show.network && _vm.show.airs\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Originally Airs: \")]\n ),\n _c(\"td\", [\n _vm._v(_vm._s(_vm.show.airs)),\n !_vm.show.airsFormatValid\n ? _c(\n \"b\",\n {\n staticClass:\n \"invalid-value\"\n },\n [\n _vm._v(\n \" (invalid time format)\"\n )\n ]\n )\n : _vm._e(),\n _vm._v(\n \" on \" +\n _vm._s(_vm.show.network)\n )\n ])\n ])\n : _vm.show.network\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Originally Airs: \")]\n ),\n _c(\"td\", [\n _vm._v(_vm._s(_vm.show.network))\n ])\n ])\n : _vm.show.airs\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Originally Airs: \")]\n ),\n _c(\"td\", [\n _vm._v(_vm._s(_vm.show.airs)),\n !_vm.show.airsFormatValid\n ? _c(\n \"b\",\n {\n staticClass:\n \"invalid-value\"\n },\n [\n _vm._v(\n \" (invalid time format)\"\n )\n ]\n )\n : _vm._e()\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Show Status: \")]\n ),\n _c(\"td\", [\n _vm._v(_vm._s(_vm.show.status))\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Default EP Status: \")]\n ),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.show.config\n .defaultEpisodeStatus\n )\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [\n _c(\n \"span\",\n {\n class: {\n \"invalid-value\": !_vm.show\n .config.locationValid\n }\n },\n [_vm._v(\"Location: \")]\n )\n ]\n ),\n _c(\"td\", [\n _c(\n \"span\",\n {\n class: {\n \"invalid-value\": !_vm.show\n .config.locationValid\n }\n },\n [\n _vm._v(\n _vm._s(_vm.show.config.location)\n )\n ]\n ),\n _vm._v(\n _vm._s(\n _vm.show.config.locationValid\n ? \"\"\n : \" (Missing)\"\n )\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.show.config.aliases.filter(function(\n alias\n ) {\n return alias.season === -1\n }).length > 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\",\n staticStyle: {\n \"vertical-align\": \"top\"\n }\n },\n [_vm._v(\"Scene Name:\")]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.show.config.aliases\n .filter(function(alias) {\n return alias.season === -1\n })\n .map(function(alias) {\n return alias.title\n })\n .join(\", \")\n )\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.config.release.requiredWords\n .length +\n _vm.search.filters.required.length >\n 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\",\n staticStyle: {\n \"vertical-align\": \"top\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n required:\n _vm.type ===\n \"snatch-selection\"\n }\n },\n [_vm._v(\"Required Words: \")]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm.show.config.release\n .requiredWords.length\n ? _c(\n \"span\",\n {\n staticClass: \"break-word\"\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.show.config.release.requiredWords.join(\n \", \"\n )\n ) +\n \"\\n \"\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.search.filters.required\n .length > 0\n ? _c(\n \"span\",\n {\n staticClass:\n \"break-word global-filter\"\n },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"config/search/#searchfilters\"\n }\n },\n [\n _vm.show.config\n .release\n .requiredWords\n .length > 0\n ? [\n _vm.show.config\n .release\n .requiredWordsExclude\n ? _c(\"span\", [\n _vm._v(\n \" excluded from: \"\n )\n ])\n : _c(\"span\", [\n _vm._v(\n \"+ \"\n )\n ])\n ]\n : _vm._e(),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.search.filters.required.join(\n \", \"\n )\n ) +\n \"\\n \"\n )\n ],\n 2\n )\n ],\n 1\n )\n : _vm._e()\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.config.release.ignoredWords\n .length +\n _vm.search.filters.ignored.length >\n 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\",\n staticStyle: {\n \"vertical-align\": \"top\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n ignored:\n _vm.type ===\n \"snatch-selection\"\n }\n },\n [_vm._v(\"Ignored Words: \")]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm.show.config.release\n .ignoredWords.length\n ? _c(\n \"span\",\n {\n staticClass: \"break-word\"\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.show.config.release.ignoredWords.join(\n \", \"\n )\n ) +\n \"\\n \"\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.search.filters.ignored\n .length > 0\n ? _c(\n \"span\",\n {\n staticClass:\n \"break-word global-filter\"\n },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"config/search/#searchfilters\"\n }\n },\n [\n _vm.show.config\n .release\n .ignoredWords\n .length > 0\n ? [\n _vm.show.config\n .release\n .ignoredWordsExclude\n ? _c(\"span\", [\n _vm._v(\n \" excluded from: \"\n )\n ])\n : _c(\"span\", [\n _vm._v(\n \"+ \"\n )\n ])\n ]\n : _vm._e(),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.search.filters.ignored.join(\n \", \"\n )\n ) +\n \"\\n \"\n )\n ],\n 2\n )\n ],\n 1\n )\n : _vm._e()\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.search.filters.preferred.length > 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\",\n staticStyle: {\n \"vertical-align\": \"top\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n preferred:\n _vm.type ===\n \"snatch-selection\"\n }\n },\n [_vm._v(\"Preferred Words: \")]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"config/search/#searchfilters\"\n }\n },\n [\n _c(\n \"span\",\n {\n staticClass:\n \"break-word\"\n },\n [\n _vm._v(\n _vm._s(\n _vm.search.filters.preferred.join(\n \", \"\n )\n )\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.search.filters.undesired.length > 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n staticClass: \"showLegend\",\n staticStyle: {\n \"vertical-align\": \"top\"\n }\n },\n [\n _c(\n \"span\",\n {\n class: {\n undesired:\n _vm.type ===\n \"snatch-selection\"\n }\n },\n [_vm._v(\"Undesired Words: \")]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"config/search/#searchfilters\"\n }\n },\n [\n _c(\n \"span\",\n {\n staticClass:\n \"break-word\"\n },\n [\n _vm._v(\n _vm._s(\n _vm.search.filters.undesired.join(\n \", \"\n )\n )\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.config.release.whitelist &&\n _vm.show.config.release.whitelist.length >\n 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Wanted Groups:\")]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.show.config.release.whitelist.join(\n \", \"\n )\n )\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.config.release.blacklist &&\n _vm.show.config.release.blacklist.length >\n 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Unwanted Groups:\")]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.show.config.release.blacklist.join(\n \", \"\n )\n )\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.config.airdateOffset !== 0\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Daily search offset:\")]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.show.config.airdateOffset\n ) + \" hours\"\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.show.config.locationValid &&\n _vm.show.size > -1\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Size:\")]\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.humanFileSize(\n _vm.show.size\n )\n )\n )\n ])\n ])\n : _vm._e()\n ],\n 2\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass:\n \"col-lg-3 col-md-4 col-sm-4 col-xs-12 pull-xs-left\",\n attrs: { id: \"show-status\" }\n },\n [\n _c(\n \"table\",\n {\n staticClass:\n \"pull-xs-left pull-md-right pull-sm-right pull-lg-right\"\n },\n [\n _vm.show.language\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Info Language:\")]\n ),\n _c(\"td\", [\n _c(\"img\", {\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n _vm.getCountryISO2ToISO3(\n _vm.show.language\n ) +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: _vm.show.language,\n title: _vm.show.language,\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n }\n })\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.config.subtitles.enabled\n ? _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Subtitles: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state:\n _vm.show.config\n .subtitlesEnabled\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"subtitlesEnabled\"\n )\n }\n }\n })\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Season Folders: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state:\n _vm.show.config\n .seasonFolders ||\n _vm.config.namingForceFolders\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Paused: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state: _vm.show.config.paused\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"paused\"\n )\n }\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Air-by-Date: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state: _vm.show.config.airByDate\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"airByDate\"\n )\n }\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Sports: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state: _vm.show.config.sports\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"sports\"\n )\n }\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Anime: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state: _vm.show.config.anime\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"anime\"\n )\n }\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"DVD Order: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state: _vm.show.config.dvdOrder\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"dvdOrder\"\n )\n }\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"tr\", [\n _c(\n \"td\",\n { staticClass: \"showLegend\" },\n [_vm._v(\"Scene Numbering: \")]\n ),\n _c(\n \"td\",\n [\n _c(\"state-switch\", {\n attrs: {\n theme: _vm.layout.themeName,\n state: _vm.show.config.scene\n },\n on: {\n click: function($event) {\n return _vm.toggleConfigOption(\n \"scene\"\n )\n }\n }\n })\n ],\n 1\n )\n ])\n ]\n )\n ]\n )\n ])\n ]\n )\n : _vm._e()\n ])\n ])\n ]\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"shadow shadow-background\",\n attrs: { id: \"episodes-controll-background\" }\n },\n [\n _vm.show\n ? _c(\n \"div\",\n {\n staticClass: \"row\",\n attrs: { id: \"row-show-episodes-controls\" }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"col-md-12\",\n attrs: { id: \"col-show-episodes-controls\" }\n },\n [\n _vm.type === \"show\"\n ? _c(\"div\", { staticClass: \"row key\" }, [\n _c(\n \"div\",\n {\n ref: \"checkboxControls\",\n staticClass: \"col-lg-12\",\n attrs: { id: \"checkboxControls\" }\n },\n [\n _vm.show.seasons\n ? _c(\n \"div\",\n {\n staticClass: \"pull-left top-5\",\n attrs: { id: \"key-padding\" }\n },\n _vm._l(_vm.overviewStatus, function(\n status\n ) {\n return _c(\n \"label\",\n {\n key: status.id,\n attrs: { for: status.id }\n },\n [\n _c(\"span\", { class: status.id }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: status.checked,\n expression: \"status.checked\"\n }\n ],\n attrs: {\n type: \"checkbox\",\n id: status.id\n },\n domProps: {\n checked: Array.isArray(\n status.checked\n )\n ? _vm._i(\n status.checked,\n null\n ) > -1\n : status.checked\n },\n on: {\n change: [\n function($event) {\n var $$a = status.checked,\n $$el = $event.target,\n $$c = $$el.checked\n ? true\n : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n status,\n \"checked\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n status,\n \"checked\",\n $$a\n .slice(0, $$i)\n .concat(\n $$a.slice(\n $$i + 1\n )\n )\n )\n }\n } else {\n _vm.$set(\n status,\n \"checked\",\n $$c\n )\n }\n },\n function($event) {\n return _vm.$emit(\n \"update-overview-status\",\n _vm.overviewStatus\n )\n }\n ]\n }\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(status.name) +\n \": \"\n ),\n _c(\"b\", [\n _vm._v(\n _vm._s(\n _vm.episodeSummary[\n status.name\n ]\n )\n )\n ])\n ])\n ]\n )\n }),\n 0\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"pull-lg-right top-5\" },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedStatus,\n expression: \"selectedStatus\"\n }\n ],\n staticClass:\n \"form-control form-control-inline input-sm-custom input-sm-smallfont\",\n attrs: { id: \"statusSelect\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.selectedStatus = $event.target\n .multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _c(\n \"option\",\n {\n domProps: {\n value: \"Change status to:\"\n }\n },\n [_vm._v(\"Change status to:\")]\n ),\n _vm._v(\" \"),\n _vm._l(\n _vm.changeStatusOptions,\n function(status) {\n return _c(\n \"option\",\n {\n key: status.key,\n domProps: {\n value: status.value\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(status.name) +\n \"\\n \"\n )\n ]\n )\n }\n )\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectedQuality,\n expression: \"selectedQuality\"\n }\n ],\n staticClass:\n \"form-control form-control-inline input-sm-custom input-sm-smallfont\",\n attrs: { id: \"qualitySelect\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call(\n $event.target.options,\n function(o) {\n return o.selected\n }\n )\n .map(function(o) {\n var val =\n \"_value\" in o\n ? o._value\n : o.value\n return val\n })\n _vm.selectedQuality = $event.target\n .multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _c(\n \"option\",\n {\n domProps: {\n value: \"Change quality to:\"\n }\n },\n [_vm._v(\"Change quality to:\")]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.qualities, function(\n quality\n ) {\n return _c(\n \"option\",\n {\n key: quality.key,\n domProps: { value: quality.value }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(quality.name) +\n \"\\n \"\n )\n ]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n attrs: {\n type: \"hidden\",\n id: \"series-slug\"\n },\n domProps: { value: _vm.show.id.slug }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n attrs: {\n type: \"hidden\",\n id: \"series-id\"\n },\n domProps: {\n value: _vm.show.id[_vm.show.indexer]\n }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n attrs: { type: \"hidden\", id: \"indexer\" },\n domProps: { value: _vm.show.indexer }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa\",\n attrs: {\n type: \"button\",\n id: \"changeStatus\",\n value: \"Go\"\n },\n on: { click: _vm.changeStatusClicked }\n })\n ]\n )\n ]\n )\n ])\n : _c(\"div\")\n ]\n )\n ]\n )\n : _vm._e()\n ]\n )\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-header.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-history.vue?vue&type=template&id=c645b858&scoped=true&": -/*!******************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-history.vue?vue&type=template&id=c645b858&scoped=true& ***! - \******************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"show-history-wrapper\",\n class: { \"component-margin\": !_vm.hideHistory }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"row horizontal-scroll\",\n class: { fanartBackground: _vm.layout.fanartBackground }\n },\n [\n _c(\n \"div\",\n { staticClass: \"col-md-12 top-15\" },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.history.length > 0,\n expression: \"history.length > 0\"\n }\n ],\n staticClass: \"button-row\"\n },\n [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa top-5 bottom-5 pull-right\",\n attrs: { id: \"showhistory\", type: \"button\" },\n on: {\n click: function($event) {\n _vm.hideHistory = !_vm.hideHistory\n }\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.hideHistory ? \"Show History\" : \"Hide History\"\n ) +\n \"\\n \"\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"vue-good-table\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value:\n !_vm.hideHistory &&\n _vm.show.id.slug &&\n _vm.history.length > 0,\n expression:\n \"!hideHistory && show.id.slug && history.length > 0\"\n }\n ],\n attrs: {\n columns: _vm.columns,\n rows: _vm.history,\n \"search-options\": {\n enabled: false\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: { field: \"actionDate\", type: \"desc\" }\n },\n \"column-filter-options\": {\n enabled: true\n },\n styleClass: \"vgt-table condensed\",\n \"row-style-class\": _vm.rowStyleClassFn\n },\n scopedSlots: _vm._u([\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.label === \"Date\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.actionDate\n ? _vm.fuzzyParseDateTime(\n props.formattedRow[props.column.field]\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Quality\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n props.row.quality !== 0\n ? _c(\"quality-pill\", {\n attrs: { quality: props.row.quality }\n })\n : _vm._e()\n ],\n 1\n )\n : props.column.label === \"Provider/Group\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n [\"Snatched\", \"Failed\"].includes(\n props.row.statusName\n )\n ? [\n _c(\"img\", {\n staticClass: \"addQTip\",\n staticStyle: { \"margin-right\": \"5px\" },\n attrs: {\n src:\n \"images/providers/\" +\n props.row.provider.id +\n \".png\",\n alt: props.row.provider.name,\n width: \"16\",\n height: \"16\",\n title: props.row.provider.name,\n onError:\n \"this.onerror=null;this.src='images/providers/missing.png';\"\n }\n })\n ]\n : _vm._e(),\n _vm._v(\" \"),\n props.row.statusName === \"Downloaded\"\n ? _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.releaseGroup !== -1\n ? props.row.releaseGroup\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.row.statusName === \"Subtitled\"\n ? _c(\"img\", {\n staticClass: \"addQTip\",\n staticStyle: { \"margin-right\": \"5px\" },\n attrs: {\n src:\n \"images/subtitles/\" +\n props.row.provider.id +\n \".png\",\n alt: props.row.provider.name,\n width: \"16\",\n height: \"16\",\n title: props.row.provider.name\n }\n })\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(props.row.provider.name) +\n \"\\n \"\n )\n ])\n ],\n 2\n )\n : props.column.label === \"Release\" &&\n props.row.statusName === \"Subtitled\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n props.row.resource !== \"und\"\n ? _c(\"img\", {\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n props.row.resource +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: props.row.resource,\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n }\n })\n : _c(\"img\", {\n staticClass: \"subtitle-flag\",\n attrs: {\n src:\n \"images/subtitles/flags/\" +\n props.row.resource +\n \".png\",\n width: \"16\",\n height: \"11\",\n alt: props.row.resource,\n onError:\n \"this.onerror=null;this.src='images/flags/unknown.png';\"\n }\n })\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.formattedRow[props.column.field]\n ) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ])\n })\n ],\n 1\n )\n ]\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-history.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/banner.vue?vue&type=template&id=1918507d&": -/*!**********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/banner.vue?vue&type=template&id=1918507d& ***! - \**********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"horizontal-scroll\" },\n [\n _vm.shows.length > 0\n ? _c(\"vue-good-table\", {\n class: { fanartOpacity: _vm.stateLayout.fanartBackground },\n attrs: {\n columns: _vm.columns,\n rows: _vm.shows,\n \"search-options\": {\n enabled: false\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: _vm.getSortBy()\n },\n \"column-filter-options\": {\n enabled: true\n }\n },\n on: { \"on-sort-change\": _vm.saveSorting },\n scopedSlots: _vm._u(\n [\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.label == \"Next Ep\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.nextAirDate\n ? _vm.fuzzyParseDateTime(\n props.row.nextAirDate\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label == \"Prev Ep\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.prevAirDate\n ? _vm.fuzzyParseDateTime(\n props.row.prevAirDate\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label == \"Show\"\n ? _c(\"span\", { staticClass: \"tvShow\" }, [\n _c(\"span\", { staticStyle: { display: \"none\" } }, [\n _vm._v(_vm._s(props.row.title))\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"imgbanner\" },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n props.row.indexer +\n \"&seriesid=\" +\n props.row.id[props.row.indexer]\n }\n },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\": \"images/banner.png\",\n \"show-slug\": props.row.id.slug,\n type: \"banner\",\n cls: \"banner\",\n alt: props.row.title,\n title: props.row.title\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ])\n : props.column.label == \"Network\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n props.row.network\n ? [\n _c(\n \"span\",\n {\n staticClass: \"hidden-print\",\n attrs: { title: props.row.network }\n },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\":\n \"images/network/nonetwork.png\",\n \"show-slug\":\n props.row.indexer +\n props.row.id[props.row.indexer],\n type: \"network\",\n cls: \"show-network-image\",\n link: false,\n width: \"54\",\n height: \"27\",\n alt: props.row.network,\n title: props.row.network\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"visible-print-inline\" },\n [_vm._v(_vm._s(props.row.network))]\n )\n ]\n : [\n _c(\n \"span\",\n {\n staticClass: \"hidden-print\",\n attrs: { title: \"No Network\" }\n },\n [\n _c(\"img\", {\n attrs: {\n id: \"network\",\n width: \"54\",\n height: \"27\",\n src: \"images/network/nonetwork.png\",\n alt: \"No Network\",\n title: \"No Network\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"visible-print-inline\" },\n [_vm._v(\"No Network\")]\n )\n ]\n ],\n 2\n )\n : props.column.label == \"Indexer\"\n ? _c(\n \"span\",\n { staticClass: \"align-center indexer-image\" },\n [\n props.row.id.imdb\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://www.imdb.com/title/\" +\n props.row.id.imdb,\n title:\n \"http://www.imdb.com/title/\" +\n props.row.id.imdb\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[imdb]\",\n height: \"16\",\n width: \"16\",\n src: \"images/imdb.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n props.row.id.trakt\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://trakt.tv/shows/\" +\n props.row.id.trakt,\n title:\n \"https://trakt.tv/shows/\" +\n props.row.id.trakt\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[trakt]\",\n height: \"16\",\n width: \"16\",\n src: \"images/trakt.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showIndexerUrl &&\n _vm.indexerConfig[props.row.indexer].icon\n ? _c(\n \"app-link\",\n {\n attrs: {\n href: _vm.showIndexerUrl(props.row),\n title: _vm.showIndexerUrl(props.row)\n }\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"margin-top\": \"-1px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n alt:\n _vm.indexerConfig[props.row.indexer]\n .name,\n height: \"16\",\n width: \"16\",\n src:\n \"images/\" +\n _vm.indexerConfig[props.row.indexer]\n .icon\n }\n })\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : props.column.label == \"Quality\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n _c(\"quality-pill\", {\n attrs: {\n allowed: props.row.config.qualities.allowed,\n preferred:\n props.row.config.qualities.preferred,\n \"show-title\": \"\"\n }\n })\n ],\n 1\n )\n : props.column.label == \"Downloads\"\n ? _c(\n \"span\",\n [\n _c(\n \"progress-bar\",\n _vm._b(\n {},\n \"progress-bar\",\n props.row.stats.tooltip,\n false\n )\n )\n ],\n 1\n )\n : props.column.label == \"Size\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.prettyBytes(props.row.stats.episodes.size)\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Active\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.config &&\n !props.row.config.paused &&\n props.row.status === \"Continuing\"\n ? \"yes\"\n : \"no\") +\n \"16.png\",\n alt:\n props.row.config &&\n !props.row.config.paused &&\n props.row.status === \"Continuing\"\n ? \"yes\"\n : \"no\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : props.column.label === \"Xem\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.xemNumbering &&\n props.row.xemNumbering.length !== 0\n ? \"yes\"\n : \"no\") +\n \"16.png\",\n alt:\n props.row.xemNumbering &&\n props.row.xemNumbering.length !== 0\n ? \"yes\"\n : \"no\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(props.formattedRow[props.column.field]) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 3337244109\n )\n })\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-list/banner.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/index.vue?vue&type=template&id=3df39291&scoped=true&": -/*!*********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/index.vue?vue&type=template&id=3df39291&scoped=true& ***! - \*********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n !_vm.stateLayout.splitHomeInTabs &&\n _vm.showsInLists && _vm.showsInLists.length > 1\n ? _c(\"div\", { staticClass: \"showListTitle listTitle\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"h2\", { staticClass: \"header\" }, [_vm._v(_vm._s(_vm.listTitle))])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.layout === \"poster\"\n ? _c(\"div\", { staticClass: \"row poster-ui-controls\" }, [\n _c(\n \"div\",\n { staticClass: \"col-lg-12\" },\n [\n _c(\"div\", { staticClass: \"show-option\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.posterUiSortDir,\n expression: \"posterUiSortDir\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: {\n id: \"postersortdirection\",\n placeholder: \"Direction\"\n },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.posterUiSortDir = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n [\n _c(\"option\", { domProps: { value: 1 } }, [\n _vm._v(\"Ascending\")\n ]),\n _vm._v(\" \"),\n _c(\"option\", { domProps: { value: 0 } }, [\n _vm._v(\"Descending\")\n ])\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-option pull-right\" }, [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.posterUiSortBy,\n expression: \"posterUiSortBy\"\n }\n ],\n staticClass: \"form-control form-control-inline input-sm\",\n attrs: { id: \"postersort\", placeholder: \"Sort By\" },\n on: {\n change: function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.posterUiSortBy = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n }\n }\n },\n _vm._l(_vm.posterSortByOptions, function(option) {\n return _c(\n \"option\",\n { key: option.value, domProps: { value: option.value } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(option.text) +\n \"\\n \"\n )\n ]\n )\n }),\n 0\n )\n ]),\n _vm._v(\" \"),\n _c(\"poster-size-slider\")\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !this.showsLoading.finished && _vm.shows.length === 0\n ? _c(\n \"div\",\n [\n _c(\"state-switch\", {\n attrs: { state: \"loading\", theme: _vm.stateLayout.themeName }\n }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(\"Loading\")])\n ],\n 1\n )\n : _vm.shows.length >= 1\n ? _c(\n \"div\",\n {\n class: [\n [\"simple\", \"small\", \"banner\"].includes(_vm.layout)\n ? \"table-layout\"\n : \"\"\n ]\n },\n [\n _c(\n _vm.mappedLayout,\n _vm._b({ tag: \"component\" }, \"component\", _vm.$props, false)\n )\n ],\n 1\n )\n : _vm._e()\n ])\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"button\",\n {\n staticClass: \"nav-show-list move-show-list\",\n attrs: { type: \"button\" }\n },\n [\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" }),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"icon-bar\" })\n ]\n )\n }\n]\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-list/index.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/poster.vue?vue&type=template&id=54b453c4&scoped=true&": -/*!**********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/poster.vue?vue&type=template&id=54b453c4&scoped=true& ***! - \**********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"row\", attrs: { name: \"poster-container-row\" } },\n [\n _c(\n \"div\",\n { staticClass: \"col-md-12\", attrs: { name: \"poster-container-col\" } },\n [\n _c(\n \"isotope\",\n {\n directives: [\n {\n name: \"images-loaded\",\n rawName: \"v-images-loaded:on.always\",\n value: _vm.updateLayout,\n expression: \"updateLayout\",\n arg: \"on\",\n modifiers: { always: true }\n }\n ],\n ref: \"isotope-\" + _vm.listTitle,\n attrs: {\n list: _vm.showsReady,\n id: \"isotope-container-\" + _vm.listTitle,\n \"item-selector\": \"show-container\",\n options: _vm.option\n }\n },\n _vm._l(_vm.showsReady, function(show) {\n return _c(\n \"div\",\n {\n key: show.id.slug,\n style: _vm.showContainerStyle,\n attrs: {\n id: show.id.slug,\n \"data-name\": show.title,\n \"data-date\": show.airDate,\n \"data-network\": show.network,\n \"data-indexer\": show.indexer\n }\n },\n [\n _c(\"div\", { staticClass: \"overlay-container\" }, [\n _c(\"div\", { staticClass: \"background-image\" }, [\n _c(\"img\", {\n attrs: { src: \"images/poster-back-dark.png\" }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"poster-overlay\" },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n show.indexer +\n \"&seriesid=\" +\n show.id[show.indexer]\n }\n },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\": \"images/poster.png\",\n \"show-slug\": show.id.slug,\n lazy: \"\",\n type: \"posterThumb\",\n cls: \"show-image\",\n link: false\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-poster-footer row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-md-12\" },\n [\n _c(\"progress-bar\", {\n attrs: { percentage: show.stats.tooltip.percentage }\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-title\" }, [\n _c(\"div\", { staticClass: \"ellipsis\" }, [\n _vm._v(_vm._s(show.title))\n ]),\n _vm._v(\" \"),\n show.xemNumbering.length > 0\n ? _c(\"div\", { staticClass: \"xem\" }, [\n _c(\"img\", {\n attrs: {\n src: \"images/xem.png\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"show-date\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.dateOrStatus(show)) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.fontSize !== null,\n expression: \"fontSize !== null\"\n }\n ],\n staticClass: \"show-details\"\n },\n [\n _c(\n \"table\",\n {\n staticClass: \"show-details\",\n class: {\n fanartOpacity:\n _vm.stateLayout.fanartBackground\n },\n attrs: {\n width: \"100%\",\n cellspacing: \"1\",\n border: \"0\",\n cellpadding: \"0\"\n }\n },\n [\n _c(\"tr\", [\n _c(\"td\", { staticClass: \"show-table\" }, [\n _c(\n \"span\",\n {\n staticClass: \"show-dlstats\",\n style: { fontSize: _vm.fontSize },\n attrs: {\n title:\n \"Downloaded: \" +\n show.stats.episodes.downloaded +\n (!show.stats.episodes.snatched\n ? \"\"\n : \"; Snatched:\" +\n show.stats.episodes.snatched) +\n \"; Total: \" +\n show.stats.episodes.total\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n \"\" +\n show.stats.episodes.downloaded +\n (!show.stats.episodes.snatched\n ? \"\"\n : \"+\" +\n show.stats.episodes\n .snatched) +\n \" / \" +\n show.stats.episodes.total\n ) +\n \"\\n \"\n )\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\"td\", { staticClass: \"show-table\" }, [\n show.network\n ? _c(\n \"span\",\n { attrs: { title: show.network } },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\":\n \"images/network/nonetwork.png\",\n \"show-slug\": show.id.slug,\n type: \"network\",\n cls: \"show-network-image\",\n link: false,\n alt: show.network,\n title: show.network,\n imgWidth: _vm.logoWidth\n }\n })\n ],\n 1\n )\n : _c(\n \"span\",\n { attrs: { title: \"No Network\" } },\n [\n _c(\"img\", {\n staticClass: \"show-network-image\",\n attrs: {\n src:\n \"images/network/nonetwork.png\",\n alt: \"No Network\",\n title: \"No Network\"\n }\n })\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"td\",\n { staticClass: \"show-table\" },\n [\n _c(\"quality-pill\", {\n attrs: {\n allowed:\n show.config.qualities.allowed,\n preferred:\n show.config.qualities.preferred,\n override: {\n class: \"show-quality\",\n style: \"test\"\n },\n \"show-title\": \"\"\n }\n })\n ],\n 1\n )\n ])\n ]\n )\n ]\n )\n ],\n 1\n )\n ])\n ]\n )\n }),\n 0\n )\n ],\n 1\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-list/poster.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/simple.vue?vue&type=template&id=01425003&": -/*!**********************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/simple.vue?vue&type=template&id=01425003& ***! - \**********************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"horizontal-scroll\" },\n [\n _vm.shows.length > 0\n ? _c(\"vue-good-table\", {\n class: { fanartOpacity: _vm.stateLayout.fanartBackground },\n attrs: {\n columns: _vm.columns,\n rows: _vm.shows,\n \"search-options\": {\n enabled: false\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: _vm.getSortBy()\n },\n \"column-filter-options\": {\n enabled: true\n }\n },\n on: { \"on-sort-change\": _vm.saveSorting },\n scopedSlots: _vm._u(\n [\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.label == \"Next Ep\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.nextAirDate\n ? _vm.fuzzyParseDateTime(\n props.row.nextAirDate\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Prev Ep\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.prevAirDate\n ? _vm.fuzzyParseDateTime(\n props.row.prevAirDate\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Show\"\n ? _c(\n \"span\",\n { staticClass: \"tvShow\" },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n props.row.indexer +\n \"&seriesid=\" +\n props.row.id[props.row.indexer]\n }\n },\n [_vm._v(_vm._s(props.row.title))]\n )\n ],\n 1\n )\n : props.column.label === \"Network\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(_vm._s(props.row.network))\n ])\n ])\n : props.column.label === \"Indexer\"\n ? _c(\n \"span\",\n { staticClass: \"align-center indexer-image\" },\n [\n props.row.id.imdb\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://www.imdb.com/title/\" +\n props.row.id.imdb,\n title:\n \"http://www.imdb.com/title/\" +\n props.row.id.imdb\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[imdb]\",\n height: \"16\",\n width: \"16\",\n src: \"images/imdb.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n props.row.id.trakt\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://trakt.tv/shows/\" +\n props.row.id.trakt,\n title:\n \"https://trakt.tv/shows/\" +\n props.row.id.trakt\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[trakt]\",\n height: \"16\",\n width: \"16\",\n src: \"images/trakt.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showIndexerUrl &&\n _vm.indexerConfig[props.row.indexer].icon\n ? _c(\n \"app-link\",\n {\n attrs: {\n href: _vm.showIndexerUrl(props.row),\n title: _vm.showIndexerUrl(props.row)\n }\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"margin-top\": \"-1px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n alt:\n _vm.indexerConfig[props.row.indexer]\n .name,\n height: \"16\",\n width: \"16\",\n src:\n \"images/\" +\n _vm.indexerConfig[props.row.indexer]\n .icon\n }\n })\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : props.column.label === \"Quality\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n _c(\"quality-pill\", {\n attrs: {\n allowed: props.row.config.qualities.allowed,\n preferred:\n props.row.config.qualities.preferred,\n \"show-title\": \"\"\n }\n })\n ],\n 1\n )\n : props.column.label === \"Downloads\"\n ? _c(\n \"span\",\n [\n _c(\n \"progress-bar\",\n _vm._b(\n {},\n \"progress-bar\",\n props.row.stats.tooltip,\n false\n )\n )\n ],\n 1\n )\n : props.column.label === \"Size\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.prettyBytes(props.row.stats.episodes.size)\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Active\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.config &&\n !props.row.config.paused &&\n props.row.status === \"Continuing\"\n ? \"yes\"\n : \"no\") +\n \"16.png\",\n alt:\n props.row.config &&\n !props.row.config.paused &&\n props.row.status === \"Continuing\"\n ? \"yes\"\n : \"no\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : props.column.label === \"Xem\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.xemNumbering &&\n props.row.xemNumbering.length !== 0\n ? \"yes\"\n : \"no\") +\n \"16.png\",\n alt:\n props.row.xemNumbering &&\n props.row.xemNumbering.length !== 0\n ? \"yes\"\n : \"no\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(props.formattedRow[props.column.field]) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 1703816732\n )\n })\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-list/simple.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-list/smallposter.vue?vue&type=template&id=0c941eda&": -/*!***************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-list/smallposter.vue?vue&type=template&id=0c941eda& ***! - \***************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"horizontal-scroll\" },\n [\n _vm.shows.length > 0\n ? _c(\"vue-good-table\", {\n class: { fanartOpacity: _vm.stateLayout.fanartBackground },\n attrs: {\n columns: _vm.columns,\n rows: _vm.shows,\n \"search-options\": {\n enabled: false\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: _vm.getSortBy()\n },\n \"column-filter-options\": {\n enabled: true\n }\n },\n on: { \"on-sort-change\": _vm.saveSorting },\n scopedSlots: _vm._u(\n [\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.label == \"Next Ep\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.nextAirDate\n ? _vm.fuzzyParseDateTime(\n props.row.nextAirDate\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label == \"Prev Ep\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.prevAirDate\n ? _vm.fuzzyParseDateTime(\n props.row.prevAirDate\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label == \"Show\"\n ? _c(\"span\", { staticClass: \"tvShow\" }, [\n _c(\n \"div\",\n { staticClass: \"imgsmallposter small\" },\n [\n _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n props.row.indexer +\n \"&seriesid=\" +\n props.row.id[props.row.indexer],\n title: props.row.title\n }\n },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\": \"images/poster.png\",\n \"show-slug\": props.row.id.slug,\n type: \"posterThumb\",\n cls: \"small\",\n alt: props.row.title,\n title: props.row.title,\n link: false\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"app-link\",\n {\n staticStyle: { \"vertical-align\": \"middle\" },\n attrs: {\n href:\n \"home/displayShow?indexername=\" +\n props.row.indexer +\n \"&seriesid=\" +\n props.row.id[props.row.indexer]\n }\n },\n [_vm._v(_vm._s(props.row.title))]\n )\n ],\n 1\n )\n ])\n : props.column.label == \"Network\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n props.row.network\n ? [\n _c(\n \"span\",\n {\n staticClass: \"hidden-print\",\n attrs: { title: props.row.network }\n },\n [\n _c(\"asset\", {\n attrs: {\n \"default-src\":\n \"images/network/nonetwork.png\",\n \"show-slug\":\n props.row.indexer +\n props.row.id[props.row.indexer],\n type: \"network\",\n cls: \"show-network-image\",\n link: false,\n width: \"54\",\n height: \"27\",\n alt: props.row.network,\n title: props.row.network\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"visible-print-inline\" },\n [_vm._v(_vm._s(props.row.network))]\n )\n ]\n : [\n _c(\n \"span\",\n {\n staticClass: \"hidden-print\",\n attrs: { title: \"No Network\" }\n },\n [\n _c(\"img\", {\n attrs: {\n id: \"network\",\n width: \"54\",\n height: \"27\",\n src: \"images/network/nonetwork.png\",\n alt: \"No Network\",\n title: \"No Network\"\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"visible-print-inline\" },\n [_vm._v(\"No Network\")]\n )\n ]\n ],\n 2\n )\n : props.column.label == \"Indexer\"\n ? _c(\n \"span\",\n { staticClass: \"align-center indexer-image\" },\n [\n props.row.id.imdb\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"http://www.imdb.com/title/\" +\n props.row.id.imdb,\n title:\n \"http://www.imdb.com/title/\" +\n props.row.id.imdb\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[imdb]\",\n height: \"16\",\n width: \"16\",\n src: \"images/imdb.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n props.row.id.trakt\n ? _c(\n \"app-link\",\n {\n attrs: {\n href:\n \"https://trakt.tv/shows/\" +\n props.row.id.trakt,\n title:\n \"https://trakt.tv/shows/\" +\n props.row.id.trakt\n }\n },\n [\n _c(\"img\", {\n attrs: {\n alt: \"[trakt]\",\n height: \"16\",\n width: \"16\",\n src: \"images/trakt.png\"\n }\n })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showIndexerUrl &&\n _vm.indexerConfig[props.row.indexer].icon\n ? _c(\n \"app-link\",\n {\n attrs: {\n href: _vm.showIndexerUrl(props.row),\n title: _vm.showIndexerUrl(props.row)\n }\n },\n [\n _c(\"img\", {\n staticStyle: {\n \"margin-top\": \"-1px\",\n \"vertical-align\": \"middle\"\n },\n attrs: {\n alt:\n _vm.indexerConfig[props.row.indexer]\n .name,\n height: \"16\",\n width: \"16\",\n src:\n \"images/\" +\n _vm.indexerConfig[props.row.indexer]\n .icon\n }\n })\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : props.column.label == \"Quality\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n _c(\"quality-pill\", {\n attrs: {\n allowed: props.row.config.qualities.allowed,\n preferred:\n props.row.config.qualities.preferred,\n \"show-title\": \"\"\n }\n })\n ],\n 1\n )\n : props.column.label == \"Downloads\"\n ? _c(\n \"span\",\n [\n _c(\n \"progress-bar\",\n _vm._b(\n {},\n \"progress-bar\",\n props.row.stats.tooltip,\n false\n )\n )\n ],\n 1\n )\n : props.column.label == \"Size\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.prettyBytes(props.row.stats.episodes.size)\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Active\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.config &&\n !props.row.config.paused &&\n props.row.status === \"Continuing\"\n ? \"yes\"\n : \"no\") +\n \"16.png\",\n alt:\n props.row.config &&\n !props.row.config.paused &&\n props.row.status === \"Continuing\"\n ? \"yes\"\n : \"no\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : props.column.label === \"Xem\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n attrs: {\n src:\n \"images/\" +\n (props.row.xemNumbering &&\n props.row.xemNumbering.length !== 0\n ? \"yes\"\n : \"no\") +\n \"16.png\",\n alt:\n props.row.xemNumbering &&\n props.row.xemNumbering.length !== 0\n ? \"yes\"\n : \"no\",\n width: \"16\",\n height: \"16\"\n }\n })\n ])\n : _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(props.formattedRow[props.column.field]) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 1329773065\n )\n })\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-list/smallposter.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/show-results.vue?vue&type=template&id=68e9fa36&scoped=true&": -/*!******************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/show-results.vue?vue&type=template&id=68e9fa36&scoped=true& ***! - \******************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"show-results-wrapper\" }, [\n _c(\n \"div\",\n {\n staticClass: \"row horizontal-scroll\",\n class: { fanartBackground: _vm.layout.fanartBackground }\n },\n [\n _c(\n \"div\",\n { staticClass: \"col-md-12 top-15\" },\n [\n _c(\n \"div\",\n { staticClass: \"button-row\" },\n [\n _c(\"input\", {\n staticClass: \"btn-medusa manualSearchButton top-5 bottom-5\",\n attrs: { type: \"button\", value: \"Refresh Results\" },\n on: { click: _vm.getProviderResults }\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"btn-medusa manualSearchButton top-5 bottom-5\",\n attrs: { type: \"button\", value: \"Force Search\" },\n on: { click: _vm.forceSearch }\n }),\n _vm._v(\" \"),\n _vm.loading\n ? [\n _c(\"state-switch\", { attrs: { state: \"loading\" } }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(_vm._s(_vm.loadingMessage))])\n ]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"vue-good-table\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.show.id.slug,\n expression: \"show.id.slug\"\n }\n ],\n ref: \"vgt-show-results\",\n attrs: {\n columns: _vm.columns,\n rows: _vm.combinedResults,\n \"search-options\": {\n enabled: false\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: _vm.getSortBy(\"quality\", \"desc\")\n },\n \"column-filter-options\": {\n enabled: true\n },\n \"row-style-class\": _vm.rowStyleClassFn,\n styleClass: \"vgt-table condensed\"\n },\n on: { \"on-sort-change\": _vm.saveSorting },\n scopedSlots: _vm._u([\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.label === \"Provider\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _c(\"img\", {\n staticClass: \"addQTip\",\n attrs: {\n src:\n \"images/providers/\" +\n props.row.provider.imageName,\n alt: props.row.provider.name,\n width: \"16\",\n title: props.row.provider.name,\n onError:\n \"this.onerror=null;this.src='images/providers/missing.png';\"\n }\n })\n ])\n : props.column.label === \"Quality\"\n ? _c(\n \"span\",\n { staticClass: \"align-center\" },\n [\n props.row.quality !== 0\n ? _c(\"quality-pill\", {\n attrs: { quality: props.row.quality }\n })\n : _vm._e()\n ],\n 1\n )\n : props.column.label === \"Seeds\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.seeders !== -1\n ? props.row.seeders\n : \"-\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Peers\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.leechers !== -1\n ? props.row.leechers\n : \"-\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Added\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.dateAdded\n ? _vm.fuzzyParseDateTime(\n props.row.dateAdded\n )\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Published\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.pubdate\n ? _vm.fuzzyParseDateTime(props.row.pubdate)\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label === \"Updated\"\n ? _c(\"span\", { staticClass: \"align-center\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.row.time\n ? _vm.fuzzyParseDateTime(props.row.time)\n : \"\"\n ) +\n \"\\n \"\n )\n ])\n : props.column.label == \"Snatch\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n src: \"images/download.png\",\n width: \"16\",\n height: \"16\",\n alt: \"snatch\",\n title: \"Download selected episode\",\n \"data-identifier\": props.row.identifier\n },\n on: {\n click: function($event) {\n return _vm.snatchResult($event, props.row)\n }\n }\n })\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(props.formattedRow[props.column.field]) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ])\n })\n ],\n 1\n )\n ]\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/show-results.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/snatch-selection.vue?vue&type=template&id=0ad4c7fc&scoped=true&": -/*!**********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/snatch-selection.vue?vue&type=template&id=0ad4c7fc&scoped=true& ***! - \**********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"snatch-selection-template\",\n attrs: { id: \"snatch-selection-template\" }\n },\n [\n _c(\"vue-snotify\"),\n _vm._v(\" \"),\n _vm.show.id.slug\n ? _c(\"backstretch\", { attrs: { slug: _vm.show.id.slug } })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"show-header\", {\n ref: \"show-header\",\n attrs: {\n type: \"snatch-selection\",\n \"show-id\": _vm.id,\n \"show-indexer\": _vm.indexer,\n \"manual-search-type\": _vm.manualSearchType\n },\n on: {\n \"update-overview-status\": function($event) {\n _vm.filterByOverviewStatus = $event\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"show-history\",\n _vm._b(\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.show && _vm.season,\n expression: \"show && season\"\n }\n ],\n key:\n \"history-\" +\n _vm.show.id.slug +\n \"-\" +\n _vm.season +\n \"-\" +\n (_vm.episode || \"\"),\n staticClass: \"show-history\"\n },\n \"show-history\",\n { show: _vm.show, season: _vm.season, episode: _vm.episode },\n false\n )\n ),\n _vm._v(\" \"),\n _c(\n \"show-results\",\n _vm._b(\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.show && _vm.season,\n expression: \"show && season\"\n }\n ],\n key:\n \"results-\" +\n _vm.show.id.slug +\n \"-\" +\n _vm.season +\n \"-\" +\n (_vm.episode || \"\"),\n staticClass: \"table-layout\"\n },\n \"show-results\",\n { show: _vm.show, season: _vm.season, episode: _vm.episode },\n false\n )\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/snatch-selection.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/sub-menu.vue?vue&type=template&id=0f7fe6dc&scoped=true&": -/*!**************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/sub-menu.vue?vue&type=template&id=0f7fe6dc&scoped=true& ***! - \**************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.subMenu.length > 0\n ? _c(\"div\", { attrs: { id: \"sub-menu-wrapper\" } }, [\n _c(\n \"div\",\n { staticClass: \"row shadow\", attrs: { id: \"sub-menu-container\" } },\n [\n _c(\n \"div\",\n {\n staticClass: \"submenu-default hidden-print col-md-12\",\n attrs: { id: \"sub-menu\" }\n },\n [\n _vm._l(_vm.subMenu, function(menuItem) {\n return _c(\n \"app-link\",\n {\n key: \"sub-menu-\" + menuItem.title,\n staticClass: \"btn-medusa top-5 bottom-5\",\n attrs: { href: menuItem.path },\n nativeOn: _vm._d({}, [\n _vm.clickEventCond(menuItem),\n function($event) {\n $event.preventDefault()\n return _vm.confirmDialog($event, menuItem.confirm)\n }\n ])\n },\n [\n _c(\"span\", { class: [\"pull-left\", menuItem.icon] }),\n _vm._v(\" \" + _vm._s(menuItem.title) + \"\\n \")\n ]\n )\n }),\n _vm._v(\" \"),\n _c(\"show-selector\", {\n attrs: {\n \"show-slug\": _vm.curShowSlug,\n \"follow-selection\": \"\"\n }\n })\n ],\n 2\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"btn-group\" })\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/sub-menu.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./src/components/subtitle-search.vue?vue&type=template&id=49da16c6&scoped=true&": -/*!*********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/subtitle-search.vue?vue&type=template&id=49da16c6&scoped=true& ***! - \*********************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"tr\", { staticClass: \"subtitle-search-wrapper\" }, [\n _c(\"td\", { attrs: { colspan: \"9999\" } }, [\n _vm.loading\n ? _c(\n \"span\",\n { staticClass: \"loading-message\" },\n [\n _vm._v(_vm._s(_vm.loadingMessage) + \" \"),\n _c(\"state-switch\", {\n attrs: { theme: _vm.general.themeName, state: \"loading\" }\n })\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.displayQuestion\n ? _c(\"div\", { staticClass: \"search-question\" }, [\n _c(\"div\", { staticClass: \"question\" }, [\n !_vm.lang\n ? _c(\"p\", [\n _vm._v(\n \"Do you want to manually pick subtitles or let us choose it for you?\"\n )\n ])\n : _c(\"p\", [\n _vm._v(\n \"Do you want to manually pick subtitles or search a subtitle with the language code \"\n ),\n _c(\"b\", [_vm._v(_vm._s(_vm.lang))]),\n _vm._v(\" for you?\")\n ])\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"options\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-info\",\n attrs: { type: \"button\" },\n on: { click: _vm.autoSearch }\n },\n [_vm._v(\"Auto\")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn-medusa btn-success\",\n attrs: { type: \"button\" },\n on: { click: _vm.manualSearch }\n },\n [_vm._v(\"Manual\")]\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.displayQuestion && _vm.searchType == \"manual\"\n ? _c(\n \"div\",\n { staticClass: \"subtitle-results\" },\n [\n _c(\"span\", { staticClass: \"release-name\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.releaseName) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\"vue-good-table\", {\n attrs: {\n columns: _vm.columns,\n rows: _vm.subtitles,\n \"search-options\": {\n enabled: false\n },\n \"sort-options\": {\n enabled: true,\n initialSortBy: { field: \"score\", type: \"desc\" }\n },\n styleClass: \"vgt-table condensed subtitle-table\"\n },\n scopedSlots: _vm._u(\n [\n {\n key: \"table-column\",\n fn: function(props) {\n return [\n props.column.label === \"Download\"\n ? _c(\"span\", [\n _c(\"span\", [\n _vm._v(_vm._s(props.column.label))\n ]),\n _vm._v(\" \"),\n _c(\n \"span\",\n {\n staticClass: \"btn-medusa btn-xs pull-right\",\n on: { click: _vm.close }\n },\n [_vm._v(\"hide\")]\n )\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(props.column.label) +\n \"\\n \"\n )\n ])\n ]\n }\n },\n {\n key: \"table-row\",\n fn: function(props) {\n return [\n props.column.field === \"provider\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n src:\n \"images/subtitles/\" +\n props.row.provider +\n \".png\",\n width: \"16\",\n height: \"16\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"span\",\n { attrs: { title: props.row.provider } },\n [_vm._v(_vm._s(props.row.provider))]\n )\n ])\n : props.column.field === \"lang\"\n ? _c(\"span\", [\n _c(\"img\", {\n attrs: {\n title: props.row.lang,\n src:\n \"images/subtitles/flags/\" +\n props.row.lang +\n \".png\",\n width: \"16\",\n height: \"11\"\n }\n })\n ])\n : props.column.field === \"filename\"\n ? _c(\"span\", [\n _c(\n \"a\",\n {\n attrs: {\n title:\n \"Download\" +\n (props.row.hearing_impaired\n ? \" hearing impaired \"\n : \" \") +\n \"subtitle: \" +\n props.row.filename\n },\n on: {\n click: function($event) {\n return _vm.pickSubtitle(props.row.id)\n }\n }\n },\n [\n props.row.hearing_impaired\n ? _c(\"img\", {\n attrs: {\n src: \"images/hearing_impaired.png\",\n width: \"16\",\n height: \"16\"\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"subtitle-name\" },\n [_vm._v(_vm._s(props.row.filename))]\n ),\n _vm._v(\" \"),\n props.row.sub_score >= props.row.min_score\n ? _c(\"img\", {\n attrs: {\n src: \"images/save.png\",\n width: \"16\",\n height: \"16\"\n }\n })\n : _vm._e()\n ]\n )\n ])\n : props.column.field === \"download\"\n ? _c(\"span\", [\n _c(\n \"a\",\n {\n attrs: {\n title:\n \"Download\" +\n (props.row.hearing_impaired\n ? \" hearing impaired \"\n : \" \") +\n \"subtitle: \" +\n props.row.filename\n },\n on: {\n click: function($event) {\n return _vm.pickSubtitle(props.row.id)\n }\n }\n },\n [\n _c(\"img\", {\n attrs: {\n src: \"images/download.png\",\n width: \"16\",\n height: \"16\"\n }\n })\n ]\n )\n ])\n : _c(\"span\", [\n _vm._v(\n \"\\n \" +\n _vm._s(\n props.formattedRow[props.column.field]\n ) +\n \"\\n \"\n )\n ])\n ]\n }\n }\n ],\n null,\n false,\n 3665434881\n )\n })\n ],\n 1\n )\n : _vm._e()\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/components/subtitle-search.vue?./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options"); - -/***/ }), - -/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js?!./src/components/anidb-release-group-ui.vue?vue&type=style&index=0&id=662b9a4b&scoped=true&lang=css&": -/*!*********************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-style-loader!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib??vue-loader-options!./src/components/anidb-release-group-ui.vue?vue&type=style&index=0&id=662b9a4b&scoped=true&lang=css& ***! - \*********************************************************************************************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// style-loader: Adds some css to the DOM by adding a \").prop(\"disabled\",!0).appendTo(\"head\"),a.$breakpoints=h(\"\").prop(\"disabled\",!0).appendTo(\"head\"),a.isInitializing=!0,S.setUpColspan(t,o),S.setupSelector(t,o),o.columnSelector_mediaquery&&S.setupBreakpoints(t,o),a.isInitializing=!1,a.$container.length?S.updateCols(t,o):n&&console.warn(\"ColumnSelector >> container not found\"),t.$table.off(\"refreshColumnSelector\"+c).on(\"refreshColumnSelector\"+c,function(e,t,o){S.refreshColumns(this.config,t,o)}),n&&console.log(\"ColumnSelector >> Widget initialized\")):n&&console.error(\"ColumnSelector >> ERROR: Column Selector aborting, no input found in the layout! ***\")},refreshColumns:function(e,t,o){var l,a,n,c,r=e.selector,s=h.isArray(o||t),i=e.widgetOptions;if(null!=t&&r.$container.length){if(\"selectors\"===t&&(r.$container.empty(),S.setupSelector(e,i),S.setupBreakpoints(e,i),void 0===o&&null!==o&&(o=r.auto)),s)for(a=o||t,h.each(a,function(e,t){a[e]=parseInt(t,10)}),l=0;l tr > \",a=h(l+\"th,\"+l+\"td\"),n=[];for(t=0;t'),o=n.selector,l=n.widgetOptions,c.find(\".tablesorter-column-selector\").html(o.$container.html()).find(\"input\").each(function(){var e=h(this).attr(\"data-column\"),t=\"auto\"===e?o.auto:o.states[e];h(this).toggleClass(l.columnSelector_cssChecked,t).prop(\"checked\",t)}),o.$popup=c.on(\"change\",\"input\",function(){if(!o.isInitializing){if(!S.checkChange(n,this.checked))return this.checked=!this.checked,!1;a=h(this).toggleClass(l.columnSelector_cssChecked,this.checked).attr(\"data-column\"),o.$container.find('input[data-column=\"'+a+'\"]').prop(\"checked\",this.checked).trigger(\"change\")}}))}};f.window_resize=function(){f.timer_resize&&clearTimeout(f.timer_resize),f.timer_resize=setTimeout(function(){h(window).trigger(\"resizeEnd\")},250)},f.addWidget({id:\"columnSelector\",priority:10,options:{columnSelector_container:null,columnSelector_columns:{},columnSelector_saveColumns:!0,columnSelector_layout:'',columnSelector_layoutCustomizer:null,columnSelector_name:\"data-selector-name\",columnSelector_mediaquery:!0,columnSelector_mediaqueryName:\"Auto: \",columnSelector_mediaqueryState:!0,columnSelector_mediaqueryHidden:!1,columnSelector_maxVisible:null,columnSelector_minVisible:null,columnSelector_breakpoints:[\"20em\",\"30em\",\"40em\",\"50em\",\"60em\",\"70em\"],columnSelector_maxPriorities:6,columnSelector_priority:\"data-priority\",columnSelector_cssChecked:\"checked\",columnSelector_classHasSpan:\"hasSpan\",columnSelector_updated:\"columnUpdate\"},init:function(e,t,o,l){S.init(e,o,l)},remove:function(e,t,o,l){var a=t.selector;!l&&a&&(a&&a.$container.empty(),a.$popup&&a.$popup.empty(),a.$style.remove(),a.$breakpoints.remove(),h(t.namespace+\"columnselector\"+o.columnSelector_classHasSpan).removeClass(o.filter_filteredRow||\"filtered\"),t.$table.find(\"[data-col-span]\").each(function(e,t){var o=h(t);o.attr(\"colspan\",o.attr(\"data-col-span\"))}),t.$table.off(\"updateAll\"+c+\" update\"+c))}})}(jQuery);return jQuery;}));\n\n\n//# sourceURL=webpack:///./node_modules/tablesorter/dist/js/widgets/widget-columnSelector.min.js?"); - -/***/ }), - -/***/ "./node_modules/tablesorter/dist/js/widgets/widget-filter.min.js": -/*!***********************************************************************!*\ - !*** ./node_modules/tablesorter/dist/js/widgets/widget-filter.min.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(factory){if (true){!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));} else {}}(function(jQuery){\n\n/*! Widget: filter - updated 2018-03-18 (v2.30.0) */\n!function(M){\"use strict\";var I,D,z=M.tablesorter||{},_=z.css,o=z.keyCodes;M.extend(_,{filterRow:\"tablesorter-filter-row\",filter:\"tablesorter-filter\",filterDisabled:\"disabled\",filterRowHide:\"hideme\"}),M.extend(o,{backSpace:8,escape:27,space:32,left:37,down:40}),z.addWidget({id:\"filter\",priority:50,options:{filter_cellFilter:\"\",filter_childRows:!1,filter_childByColumn:!1,filter_childWithSibs:!0,filter_columnAnyMatch:!0,filter_columnFilters:!0,filter_cssFilter:\"\",filter_defaultAttrib:\"data-value\",filter_defaultFilter:{},filter_excludeFilter:{},filter_external:\"\",filter_filteredRow:\"filtered\",filter_filterLabel:'Filter \"{{label}}\" column by...',filter_formatter:null,filter_functions:null,filter_hideEmpty:!0,filter_hideFilters:!1,filter_ignoreCase:!0,filter_liveSearch:!0,filter_matchType:{input:\"exact\",select:\"exact\"},filter_onlyAvail:\"filter-onlyAvail\",filter_placeholder:{search:\"\",select:\"\"},filter_reset:null,filter_resetOnEsc:!0,filter_saveFilters:!1,filter_searchDelay:300,filter_searchFiltered:!0,filter_selectSource:null,filter_selectSourceSeparator:\"|\",filter_serversideFiltering:!1,filter_startsWith:!1,filter_useParsedData:!1},format:function(e,t,r){t.$table.hasClass(\"hasFilters\")||I.init(e,t,r)},remove:function(e,t,r,i){var l,a,n=t.$table,s=t.$tbodies,o=\"addRows updateCell update updateRows updateComplete appendCache filterReset filterAndSortReset filterFomatterUpdate filterEnd search stickyHeadersInit \".split(\" \").join(t.namespace+\"filter \");if(n.removeClass(\"hasFilters\").unbind(o.replace(z.regex.spaces,\" \")).find(\".\"+_.filterRow).remove(),r.filter_initialized=!1,!i){for(l=0;l=]/g,query:\"(q|query)\",wild01:/\\?/g,wild0More:/\\*/g,quote:/\\\"/g,isNeg1:/(>=?\\s*-\\d)/,isNeg2:/(<=?\\s*\\d)/},types:{or:function(e,t,r){if(!D.orTest.test(t.iFilter)&&!D.orSplit.test(t.filter)||D.regex.test(t.filter))return null;var i,l,a,n=M.extend({},t),s=t.filter.split(D.orSplit),o=t.iFilter.split(D.orSplit),c=s.length;for(i=0;i]=?/,gtTest:/>/,gteTest:/>=/,ltTest:/'+(a.data(\"placeholder\")||a.attr(\"data-placeholder\")||d.filter_placeholder.select||\"\")+\"\":\"\",0<=(l=s=i).indexOf(d.filter_selectSourceSeparator)&&(l=(s=i.split(d.filter_selectSourceSeparator))[1],s=s[0]),t+=\"\");f.$table.find(\"thead\").find(\"select.\"+_.filter+'[data-column=\"'+n+'\"]').append(t),(o=\"function\"==typeof(l=d.filter_selectSource)||z.getColumnData(r,l,n))&&I.buildSelect(f.table,n,\"\",!0,a.hasClass(d.filter_onlyAvail))}I.buildDefault(r,!0),I.bindSearch(r,f.$table.find(\".\"+_.filter),!0),d.filter_external&&I.bindSearch(r,d.filter_external),d.filter_hideFilters&&I.hideFilters(f),f.showProcessing&&(l=\"filterStart filterEnd \".split(\" \").join(f.namespace+\"filter-sp \"),f.$table.unbind(l.replace(z.regex.spaces,\" \")).bind(l,function(e,t){a=t?f.$table.find(\".\"+_.header).filter(\"[data-column]\").filter(function(){return\"\"!==t[M(this).data(\"column\")]}):\"\",z.isProcessing(r,\"filterStart\"===e.type,t?a:\"\")})),f.filteredRows=f.totalRows,l=\"tablesorter-initialized pagerBeforeInitialized \".split(\" \").join(f.namespace+\"filter \"),f.$table.unbind(l.replace(z.regex.spaces,\" \")).bind(l,function(){I.completeInit(this)}),f.pager&&f.pager.initialized&&!d.filter_initialized?(f.$table.triggerHandler(\"filterFomatterUpdate\"),setTimeout(function(){I.filterInitComplete(f)},100)):d.filter_initialized||I.completeInit(r)},completeInit:function(e){var t=e.config,r=t.widgetOptions,i=I.setDefaults(e,t,r)||[];i.length&&(t.delayInit&&\"\"===i.join(\"\")||z.setFilters(e,i,!0)),t.$table.triggerHandler(\"filterFomatterUpdate\"),setTimeout(function(){r.filter_initialized||I.filterInitComplete(t)},100)},formatterUpdated:function(e,t){var r=e&&e.closest(\"table\"),i=r.length&&r[0].config,l=i&&i.widgetOptions;l&&!l.filter_initialized&&(l.filter_formatterInit[t]=1)},filterInitComplete:function(e){function t(){l.filter_initialized=!0,e.lastSearch=e.$table.data(\"lastSearch\"),e.$table.triggerHandler(\"filterInit\",e),I.findRows(e.table,e.lastSearch||[]),z.debug(e,\"filter\")&&console.log(\"Filter >> Widget initialized\")}var r,i,l=e.widgetOptions,a=0;if(M.isEmptyObject(l.filter_formatter))t();else{for(i=l.filter_formatterInit.length,r=0;r';for(a=0;a\");for(t.$filters=M(g+=\"\").appendTo(t.$table.children(\"thead\").eq(0)).children(\"td\"),a=0;a\").appendTo(i):((f=z.getColumnData(e,r.filter_formatter,a))?(r.filter_formatterCount++,(g=f(i,a))&&0===g.length&&(g=i.children(\"input\")),g&&(0===g.parent().length||g.parent().length&&g.parent()[0]!==i[0])&&i.append(g)):g=M('').appendTo(i),g&&(d=n.data(\"placeholder\")||n.attr(\"data-placeholder\")||r.filter_placeholder.search||\"\",g.attr(\"placeholder\",d))),g&&(c=(M.isArray(r.filter_cssFilter)?void 0!==r.filter_cssFilter[a]&&r.filter_cssFilter[a]||\"\":r.filter_cssFilter)||\"\",g.addClass(_.filter+\" \"+c),d=(d=(c=r.filter_filterLabel).match(/{{([^}]+?)}}/g))||[\"{{label}}\"],M.each(d,function(e,t){var r=new RegExp(t,\"g\"),i=n.attr(\"data-\"+t.replace(/{{|}}/g,\"\")),l=void 0===i?n.text():i;c=c.replace(r,M.trim(l))}),g.attr({\"data-column\":i.attr(\"data-column\"),\"aria-label\":c}),o&&(g.attr(\"placeholder\",\"\").addClass(_.filterDisabled)[0].disabled=!0)))},bindSearch:function(l,e,t){if(l=M(l)[0],(e=M(e)).length){var r,a=l.config,n=a.widgetOptions,i=a.namespace+\"filter\",s=n.filter_$externalFilters;!0!==t&&(r=n.filter_anyColumnSelector+\",\"+n.filter_multipleColumnSelector,n.filter_$anyMatch=e.filter(r),s&&s.length?n.filter_$externalFilters=n.filter_$externalFilters.add(e):n.filter_$externalFilters=e,z.setFilters(l,a.$table.data(\"lastSearch\")||[],!1===t)),r=\"keypress keyup keydown search change input \".split(\" \").join(i+\" \"),e.attr(\"data-lastSearchTime\",(new Date).getTime()).unbind(r.replace(z.regex.spaces,\" \")).bind(\"keydown\"+i,function(e){if(e.which===o.escape&&!l.config.widgetOptions.filter_resetOnEsc)return!1}).bind(\"keyup\"+i,function(e){n=l.config.widgetOptions;var t=parseInt(M(this).attr(\"data-column\"),10),r=\"boolean\"==typeof n.filter_liveSearch?n.filter_liveSearch:z.getColumnData(l,n.filter_liveSearch,t);if(void 0===r&&(r=n.filter_liveSearch.fallback||!1),M(this).attr(\"data-lastSearchTime\",(new Date).getTime()),e.which===o.escape)this.value=n.filter_resetOnEsc?\"\":a.lastSearch[t];else{if(\"\"!==this.value&&(\"number\"==typeof r&&this.value.length=o.left&&e.which<=o.down)))return;if(!1===r&&\"\"!==this.value&&e.which!==o.enter)return}I.searching(l,!0,!0,t)}).bind(\"search change keypress input blur \".split(\" \").join(i+\" \"),function(e){var t=parseInt(M(this).attr(\"data-column\"),10),r=e.type,i=\"boolean\"==typeof n.filter_liveSearch?n.filter_liveSearch:z.getColumnData(l,n.filter_liveSearch,t);!l.config.widgetOptions.filter_initialized||e.which!==o.enter&&\"search\"!==r&&\"blur\"!==r&&(\"change\"!==r&&\"input\"!==r||!0!==i&&(!0===i||\"INPUT\"===e.target.nodeName)||this.value===a.lastSearch[t])||(e.preventDefault(),M(this).attr(\"data-lastSearchTime\",(new Date).getTime()),I.searching(l,\"keypress\"!==r||e.which===o.enter,!0,t))})}},searching:function(e,t,r,i){var l,a=e.config.widgetOptions;void 0===i?l=!1:void 0===(l=\"boolean\"==typeof a.filter_liveSearch?a.filter_liveSearch:z.getColumnData(e,a.filter_liveSearch,i))&&(l=a.filter_liveSearch.fallback||!1),clearTimeout(a.filter_searchTimer),void 0===t||!0===t?a.filter_searchTimer=setTimeout(function(){I.checkFilters(e,t,r)},l?a.filter_searchDelay:10):I.checkFilters(e,t,r)},equalFilters:function(e,t,r){var i,l=[],a=[],n=e.columns+1;for(t=M.isArray(t)?t:[],r=M.isArray(r)?r:[],i=0;i=e.columns&&(s=e.columns-1);n<=s;n++)u[u.length]=n;t=t.replace(l[f],\"\")}if(!r&&/,/.test(t))for(d=(o=t.split(/\\s*,\\s*/)).length,c=0;c> Starting filter widget search\",r),m=new Date),R.filteredRows=0,t=S||[],c=R.totalRows=0;c> Searching through \"+(w&&F> Completed search\"+z.benchmark(m)),T.filter_initialized&&(R.$table.triggerHandler(\"filterBeforeEnd\",R),R.$table.triggerHandler(\"filterEnd\",R)),setTimeout(function(){z.applyWidget(R.table)},0)}},getOptionSource:function(e,t,r){var i=(e=M(e)[0]).config,l=!1,a=i.widgetOptions.filter_selectSource,n=i.$table.data(\"lastSearch\")||[],s=\"function\"==typeof a||z.getColumnData(e,a,t);if(r&&\"\"!==n[t]&&(r=!1),!0===s)l=a(e,t,r);else{if(s instanceof M||\"string\"===M.type(s)&&0<=s.indexOf(\"\"))return s;if(M.isArray(s))l=s;else if(\"object\"===M.type(a)&&s&&null===(l=s(e,t,r)))return null}return!1===l&&(l=I.getOptions(e,t,r)),I.processOptions(e,t,l)},processOptions:function(l,a,r){if(!M.isArray(r))return!1;var n,e,t,i,s,o,c=(l=M(l)[0]).config,f=null!=a&&0<=a&&a'+(p.data(\"placeholder\")||p.attr(\"data-placeholder\")||h.filter_placeholder.select||\"\")+\"\",m=u.$table.find(\"thead\").find(\"select.\"+_.filter+'[data-column=\"'+t+'\"]').val();if(void 0!==r&&\"\"!==r||null!==(r=I.getOptionSource(e,t,l))){if(M.isArray(r)){for(a=0;a\"+d.text.replace(D.quote,\""\")+\"\"}else\"\"+d!=\"[object Object]\"&&(0<=(n=s=d=(\"\"+d).replace(D.quote,\""\")).indexOf(h.filter_selectSourceSeparator)&&(n=(o=s.split(h.filter_selectSourceSeparator))[0],s=o[1]),g+=\"\"!==d?\"\":\"\");r=[]}c=(u.$filters?u.$filters:u.$table.children(\"thead\")).find(\".\"+_.filter),h.filter_$externalFilters&&(c=c&&c.length?c.add(h.filter_$externalFilters):h.filter_$externalFilters),(f=c.filter('select[data-column=\"'+t+'\"]')).length&&(f[i?\"html\":\"append\"](g),M.isArray(r)||f.append(r).val(m),f.val(m))}}},buildDefault:function(e,t){var r,i,l,a=e.config,n=a.widgetOptions,s=a.columns;for(r=0;r> Saving last sort: \"+t.sortList+v.benchmark(a))):(e.addClass(\"hasSaveSort\"),n=\"\",v.storage&&(n=g(t),l&&console.log('saveSort >> Last sort loaded: \"'+n+'\"'+v.benchmark(a)),e.bind(\"saveSortReset\",function(t){t.stopPropagation(),v.storage(s,\"tablesorter-savesort\",\"\")})),r&&n&&0'),v=o.parent().addClass(S.css.stickyHide).css({position:g.length?\"absolute\":\"fixed\",padding:parseInt(o.parent().parent().css(\"padding-left\"),10),top:l+_,left:0,visibility:\"hidden\",zIndex:y.stickyHeaders_zIndex||2}),p=o.children(\"thead:first\"),m=\"\",f=function(e,s){var t,i,r,a,d,n=e.filter(\":visible\"),c=n.length;for(t=0;tt.top&&c thead:gt(0), tr.sticky-false\").hide(),o.find(\"> tbody, > tfoot\").remove(),o.find(\"caption\").toggle(y.stickyHeaders_includeCaption),a=p.children().children(),o.css({height:0,width:0,margin:0}),a.find(\".\"+S.css.resizer).remove(),k.addClass(\"hasStickyHeaders\").bind(\"pagerComplete\"+d,function(){C()}),S.bindEvents(e,p.children().children(\".\"+S.css.header)),y.stickyHeaders_appendTo?T(y.stickyHeaders_appendTo).append(v):k.after(v),t.onRenderHeader)for(i=(r=p.children(\"tr\").children()).length,s=0;s> Using\",g?u:\"cookies\"),m.parseJSON&&(n=g?m.parseJSON(y[u][t]||\"null\")||{}:(a=O.cookie.split(/[;\\s|=]/),0!==(s=m.inArray(t,a)+1)&&m.parseJSON(a[s]||\"null\")||{})),void 0===r||!y.JSON||!JSON.hasOwnProperty(\"stringify\"))return n&&n[f]?n[f][_]:\"\";n[f]||(n[f]={}),n[f][_]=r,g?y[u][t]=JSON.stringify(n):((i=new Date).setTime(i.getTime()+31536e6),O.cookie=t+\"=\"+JSON.stringify(n).replace(/\\\"/g,'\"')+\"; expires=\"+i.toGMTString()+\"; path=/\")}}(jQuery,window,document);return jQuery;}));\n\n\n//# sourceURL=webpack:///./node_modules/tablesorter/dist/js/widgets/widget-storage.min.js?"); - -/***/ }), - -/***/ "./node_modules/timers-browserify/main.js": -/*!************************************************!*\ - !*** ./node_modules/timers-browserify/main.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\n__webpack_require__(/*! setimmediate */ \"./node_modules/setimmediate/setImmediate.js\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/timers-browserify/main.js?"); - -/***/ }), - -/***/ "./node_modules/underscore.deep/underscore.deep.js": -/*!*********************************************************!*\ - !*** ./node_modules/underscore.deep/underscore.deep.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Generated by CoffeeScript 1.6.3\nvar deepClone, deepDelete, deepExtend, deepFromFlat, deepKeys, deepMapValues, isPlainObject, mapKeys, mapValues, _;\n\n_ = __webpack_require__(/*! underscore */ \"./node_modules/underscore/underscore.js\");\n\nmodule.exports = {\n deepKeys: deepKeys = function(obj) {\n if (!isPlainObject(obj)) {\n throw new Error(\"deepKeys must be called on an object, not '\" + obj + \"'\");\n }\n return _.flatten(_.map(obj, function(v, k) {\n if (isPlainObject(v) && !_.isEmpty(v)) {\n return _.map(deepKeys(v), function(subkey) {\n return \"\" + k + \".\" + subkey;\n });\n } else {\n return [k];\n }\n }));\n },\n deepClone: deepClone = function(object) {\n var type, _i, _len, _ref;\n if (object == null) {\n return object;\n }\n _ref = [Date, Number, String, Boolean];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n type = _ref[_i];\n if (object instanceof type) {\n return new type(object);\n }\n }\n if (_(object).isArray()) {\n return _(object).map(deepClone);\n }\n if (!_(object).isObject()) {\n return object;\n }\n if (object.nodeType && _(object.cloneNode).isFunction()) {\n return object.cloneNode(true);\n }\n if (object.constructor !== {}.constructor) {\n return object;\n }\n return mapValues(object, deepClone);\n },\n deepHas: function(obj, keys) {\n var helper;\n helper = function(obj, keys) {\n if ((keys.length === 0) || (!_.isObject(obj))) {\n return false;\n } else if (keys.length === 1) {\n return _.first(keys) in obj;\n } else {\n return helper(obj[_.first(keys)], _.rest(keys));\n }\n };\n return helper(obj, _.isArray(keys) ? keys : keys.split('.'));\n },\n deepOmit: function(obj, keys) {\n var deepOmitOne;\n if (!isPlainObject(obj)) {\n throw new Error(\"deepOmit must be called on an object, not '\" + obj + \"'\");\n }\n deepOmitOne = function(obj, key) {\n var helper;\n helper = function(obj, key_arr) {\n switch (false) {\n case !_.isEmpty(key_arr):\n return obj;\n case key_arr.length !== 1:\n return _.omit(obj, _.first(key_arr));\n case !!isPlainObject(obj[_.first(key_arr)]):\n return obj;\n default:\n return _.extend({}, obj, _.object([_.first(key_arr)], [helper(obj[_.first(key_arr)], _.rest(key_arr))]));\n }\n };\n return helper(obj, key.split('.'));\n };\n return _.reduce(keys, deepOmitOne, obj);\n },\n deepPick: (function() {\n var deepGet;\n deepGet = function(obj, key) {\n var helper;\n helper = function(obj, key_arr) {\n if (key_arr.length === 1) {\n return obj != null ? obj[_.first(key_arr)] : void 0;\n } else {\n return helper(obj[_.first(key_arr)], _.rest(key_arr));\n }\n };\n return helper(obj, key.split('.'));\n };\n return function(obj, keys) {\n var flat_new_obj;\n if (!isPlainObject(obj)) {\n throw new Error(\"deepPick must be called on an object, not '\" + obj + \"'\");\n }\n flat_new_obj = _.reduce(keys, function(new_obj, key) {\n var val;\n val = deepGet(obj, key);\n if (val !== void 0) {\n new_obj[key] = val;\n }\n return new_obj;\n }, {});\n return deepFromFlat(flat_new_obj);\n };\n })(),\n deepDelete: deepDelete = function(obj, key) {\n if ((key == null) || (obj == null)) {\n return;\n }\n if (!_(key).isArray()) {\n key = key.split('.');\n }\n if (key.length === 1) {\n delete obj[key];\n return;\n }\n return deepDelete(obj[key[0]], key.slice(1, key.length));\n },\n deepExtend: deepExtend = function(obj, ext, mutate) {\n return _.reduce(ext, function(acc, val, key) {\n acc[key] = (key in obj) && isPlainObject(obj[key]) && isPlainObject(val) ? deepExtend(obj[key], val) : val;\n return acc;\n }, mutate ? obj : _.clone(obj));\n },\n isPlainObject: isPlainObject = function(value) {\n return (value != null ? value.constructor : void 0) === {}.constructor;\n },\n deepToFlat: function(obj) {\n var recurse, res;\n res = {};\n recurse = function(obj, current) {\n var key, newKey, value, _results;\n _results = [];\n for (key in obj) {\n value = obj[key];\n newKey = (current ? current + \".\" + key : key);\n if (value && isPlainObject(value)) {\n _results.push(recurse(value, newKey));\n } else {\n _results.push(res[newKey] = value);\n }\n }\n return _results;\n };\n recurse(obj);\n return res;\n },\n deepFromFlat: deepFromFlat = function(o) {\n var k, key, oo, part, parts, t;\n oo = {};\n t = void 0;\n parts = void 0;\n part = void 0;\n for (k in o) {\n t = oo;\n parts = k.split(\".\");\n key = parts.pop();\n while (parts.length) {\n part = parts.shift();\n t = t[part] = t[part] || {};\n }\n t[key] = o[k];\n }\n return oo;\n },\n mapValues: mapValues = function(obj, f_val) {\n if (!isPlainObject(obj)) {\n throw new Error(\"mapValues must be called on an object, not '\" + obj + \"'\");\n }\n return _.object(_.keys(obj), _.map(obj, f_val));\n },\n deepMapValues: deepMapValues = function(obj, f) {\n if (!isPlainObject(obj)) {\n throw new Error(\"deepMapValues must be called on an object, not '\" + obj + \"'\");\n }\n return mapValues(obj, function(v, k) {\n if (isPlainObject(v)) {\n return deepMapValues(v, function(subv, subk) {\n return f(subv, \"\" + k + \".\" + subk);\n });\n } else {\n return f(v, k);\n }\n });\n },\n mapKeys: mapKeys = function(obj, f_val) {\n if (!isPlainObject(obj)) {\n throw new Error(\"mapKeys must be called on an object, not '\" + obj + \"'\");\n }\n return _.object(_.map(obj, function(v, k) {\n return f_val(k, v);\n }), _.values(obj));\n }\n};\n\n\n//# sourceURL=webpack:///./node_modules/underscore.deep/underscore.deep.js?"); - -/***/ }), - -/***/ "./node_modules/underscore/underscore.js": -/*!***********************************************!*\ - !*** ./node_modules/underscore/underscore.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Underscore.js 1.7.0\n// http://underscorejs.org\n// (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Underscore may be freely distributed under the MIT license.\n\n(function() {\n\n // Baseline setup\n // --------------\n\n // Establish the root object, `window` in the browser, or `exports` on the server.\n var root = this;\n\n // Save the previous value of the `_` variable.\n var previousUnderscore = root._;\n\n // Save bytes in the minified (but not gzipped) version:\n var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\n\n // Create quick reference variables for speed access to core prototypes.\n var\n push = ArrayProto.push,\n slice = ArrayProto.slice,\n concat = ArrayProto.concat,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n // All **ECMAScript 5** native function implementations that we hope to use\n // are declared here.\n var\n nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeBind = FuncProto.bind;\n\n // Create a safe reference to the Underscore object for use below.\n var _ = function(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n };\n\n // Export the Underscore object for **Node.js**, with\n // backwards-compatibility for the old `require()` API. If we're in\n // the browser, add `_` as a global object.\n if (true) {\n if ( true && module.exports) {\n exports = module.exports = _;\n }\n exports._ = _;\n } else {}\n\n // Current version.\n _.VERSION = '1.7.0';\n\n // Internal function that returns an efficient (for current engines) version\n // of the passed-in callback, to be repeatedly applied in other Underscore\n // functions.\n var createCallback = function(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n case 2: return function(value, other) {\n return func.call(context, value, other);\n };\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n };\n\n // A mostly-internal function to generate callbacks that can be applied\n // to each element in a collection, returning the desired result — either\n // identity, an arbitrary callback, a property matcher, or a property accessor.\n _.iteratee = function(value, context, argCount) {\n if (value == null) return _.identity;\n if (_.isFunction(value)) return createCallback(value, context, argCount);\n if (_.isObject(value)) return _.matches(value);\n return _.property(value);\n };\n\n // Collection Functions\n // --------------------\n\n // The cornerstone, an `each` implementation, aka `forEach`.\n // Handles raw objects in addition to array-likes. Treats all\n // sparse array-likes as if they were dense.\n _.each = _.forEach = function(obj, iteratee, context) {\n if (obj == null) return obj;\n iteratee = createCallback(iteratee, context);\n var i, length = obj.length;\n if (length === +length) {\n for (i = 0; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var keys = _.keys(obj);\n for (i = 0, length = keys.length; i < length; i++) {\n iteratee(obj[keys[i]], keys[i], obj);\n }\n }\n return obj;\n };\n\n // Return the results of applying the iteratee to each element.\n _.map = _.collect = function(obj, iteratee, context) {\n if (obj == null) return [];\n iteratee = _.iteratee(iteratee, context);\n var keys = obj.length !== +obj.length && _.keys(obj),\n length = (keys || obj).length,\n results = Array(length),\n currentKey;\n for (var index = 0; index < length; index++) {\n currentKey = keys ? keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n var reduceError = 'Reduce of empty array with no initial value';\n\n // **Reduce** builds up a single result from a list of values, aka `inject`,\n // or `foldl`.\n _.reduce = _.foldl = _.inject = function(obj, iteratee, memo, context) {\n if (obj == null) obj = [];\n iteratee = createCallback(iteratee, context, 4);\n var keys = obj.length !== +obj.length && _.keys(obj),\n length = (keys || obj).length,\n index = 0, currentKey;\n if (arguments.length < 3) {\n if (!length) throw new TypeError(reduceError);\n memo = obj[keys ? keys[index++] : index++];\n }\n for (; index < length; index++) {\n currentKey = keys ? keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n // The right-associative version of reduce, also known as `foldr`.\n _.reduceRight = _.foldr = function(obj, iteratee, memo, context) {\n if (obj == null) obj = [];\n iteratee = createCallback(iteratee, context, 4);\n var keys = obj.length !== + obj.length && _.keys(obj),\n index = (keys || obj).length,\n currentKey;\n if (arguments.length < 3) {\n if (!index) throw new TypeError(reduceError);\n memo = obj[keys ? keys[--index] : --index];\n }\n while (index--) {\n currentKey = keys ? keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n // Return the first value which passes a truth test. Aliased as `detect`.\n _.find = _.detect = function(obj, predicate, context) {\n var result;\n predicate = _.iteratee(predicate, context);\n _.some(obj, function(value, index, list) {\n if (predicate(value, index, list)) {\n result = value;\n return true;\n }\n });\n return result;\n };\n\n // Return all the elements that pass a truth test.\n // Aliased as `select`.\n _.filter = _.select = function(obj, predicate, context) {\n var results = [];\n if (obj == null) return results;\n predicate = _.iteratee(predicate, context);\n _.each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n };\n\n // Return all the elements for which a truth test fails.\n _.reject = function(obj, predicate, context) {\n return _.filter(obj, _.negate(_.iteratee(predicate)), context);\n };\n\n // Determine whether all of the elements match a truth test.\n // Aliased as `all`.\n _.every = _.all = function(obj, predicate, context) {\n if (obj == null) return true;\n predicate = _.iteratee(predicate, context);\n var keys = obj.length !== +obj.length && _.keys(obj),\n length = (keys || obj).length,\n index, currentKey;\n for (index = 0; index < length; index++) {\n currentKey = keys ? keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n };\n\n // Determine if at least one element in the object matches a truth test.\n // Aliased as `any`.\n _.some = _.any = function(obj, predicate, context) {\n if (obj == null) return false;\n predicate = _.iteratee(predicate, context);\n var keys = obj.length !== +obj.length && _.keys(obj),\n length = (keys || obj).length,\n index, currentKey;\n for (index = 0; index < length; index++) {\n currentKey = keys ? keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n };\n\n // Determine if the array or object contains a given value (using `===`).\n // Aliased as `include`.\n _.contains = _.include = function(obj, target) {\n if (obj == null) return false;\n if (obj.length !== +obj.length) obj = _.values(obj);\n return _.indexOf(obj, target) >= 0;\n };\n\n // Invoke a method (with arguments) on every item in a collection.\n _.invoke = function(obj, method) {\n var args = slice.call(arguments, 2);\n var isFunc = _.isFunction(method);\n return _.map(obj, function(value) {\n return (isFunc ? method : value[method]).apply(value, args);\n });\n };\n\n // Convenience version of a common use case of `map`: fetching a property.\n _.pluck = function(obj, key) {\n return _.map(obj, _.property(key));\n };\n\n // Convenience version of a common use case of `filter`: selecting only objects\n // containing specific `key:value` pairs.\n _.where = function(obj, attrs) {\n return _.filter(obj, _.matches(attrs));\n };\n\n // Convenience version of a common use case of `find`: getting the first object\n // containing specific `key:value` pairs.\n _.findWhere = function(obj, attrs) {\n return _.find(obj, _.matches(attrs));\n };\n\n // Return the maximum element (or element-based computation).\n _.max = function(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null && obj != null) {\n obj = obj.length === +obj.length ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value > result) {\n result = value;\n }\n }\n } else {\n iteratee = _.iteratee(iteratee, context);\n _.each(obj, function(value, index, list) {\n computed = iteratee(value, index, list);\n if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n result = value;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Return the minimum element (or element-based computation).\n _.min = function(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null && obj != null) {\n obj = obj.length === +obj.length ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value < result) {\n result = value;\n }\n }\n } else {\n iteratee = _.iteratee(iteratee, context);\n _.each(obj, function(value, index, list) {\n computed = iteratee(value, index, list);\n if (computed < lastComputed || computed === Infinity && result === Infinity) {\n result = value;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Shuffle a collection, using the modern version of the\n // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n _.shuffle = function(obj) {\n var set = obj && obj.length === +obj.length ? obj : _.values(obj);\n var length = set.length;\n var shuffled = Array(length);\n for (var index = 0, rand; index < length; index++) {\n rand = _.random(0, index);\n if (rand !== index) shuffled[index] = shuffled[rand];\n shuffled[rand] = set[index];\n }\n return shuffled;\n };\n\n // Sample **n** random values from a collection.\n // If **n** is not specified, returns a single random element.\n // The internal `guard` argument allows it to work with `map`.\n _.sample = function(obj, n, guard) {\n if (n == null || guard) {\n if (obj.length !== +obj.length) obj = _.values(obj);\n return obj[_.random(obj.length - 1)];\n }\n return _.shuffle(obj).slice(0, Math.max(0, n));\n };\n\n // Sort the object's values by a criterion produced by an iteratee.\n _.sortBy = function(obj, iteratee, context) {\n iteratee = _.iteratee(iteratee, context);\n return _.pluck(_.map(obj, function(value, index, list) {\n return {\n value: value,\n index: index,\n criteria: iteratee(value, index, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n };\n\n // An internal function used for aggregate \"group by\" operations.\n var group = function(behavior) {\n return function(obj, iteratee, context) {\n var result = {};\n iteratee = _.iteratee(iteratee, context);\n _.each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n };\n\n // Groups the object's values by a criterion. Pass either a string attribute\n // to group by, or a function that returns the criterion.\n _.groupBy = group(function(result, value, key) {\n if (_.has(result, key)) result[key].push(value); else result[key] = [value];\n });\n\n // Indexes the object's values by a criterion, similar to `groupBy`, but for\n // when you know that your index values will be unique.\n _.indexBy = group(function(result, value, key) {\n result[key] = value;\n });\n\n // Counts instances of an object that group by a certain criterion. Pass\n // either a string attribute to count by, or a function that returns the\n // criterion.\n _.countBy = group(function(result, value, key) {\n if (_.has(result, key)) result[key]++; else result[key] = 1;\n });\n\n // Use a comparator function to figure out the smallest index at which\n // an object should be inserted so as to maintain order. Uses binary search.\n _.sortedIndex = function(array, obj, iteratee, context) {\n iteratee = _.iteratee(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = array.length;\n while (low < high) {\n var mid = low + high >>> 1;\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n };\n\n // Safely create a real, live array from anything iterable.\n _.toArray = function(obj) {\n if (!obj) return [];\n if (_.isArray(obj)) return slice.call(obj);\n if (obj.length === +obj.length) return _.map(obj, _.identity);\n return _.values(obj);\n };\n\n // Return the number of elements in an object.\n _.size = function(obj) {\n if (obj == null) return 0;\n return obj.length === +obj.length ? obj.length : _.keys(obj).length;\n };\n\n // Split a collection into two arrays: one whose elements all satisfy the given\n // predicate, and one whose elements all do not satisfy the predicate.\n _.partition = function(obj, predicate, context) {\n predicate = _.iteratee(predicate, context);\n var pass = [], fail = [];\n _.each(obj, function(value, key, obj) {\n (predicate(value, key, obj) ? pass : fail).push(value);\n });\n return [pass, fail];\n };\n\n // Array Functions\n // ---------------\n\n // Get the first element of an array. Passing **n** will return the first N\n // values in the array. Aliased as `head` and `take`. The **guard** check\n // allows it to work with `_.map`.\n _.first = _.head = _.take = function(array, n, guard) {\n if (array == null) return void 0;\n if (n == null || guard) return array[0];\n if (n < 0) return [];\n return slice.call(array, 0, n);\n };\n\n // Returns everything but the last entry of the array. Especially useful on\n // the arguments object. Passing **n** will return all the values in\n // the array, excluding the last N. The **guard** check allows it to work with\n // `_.map`.\n _.initial = function(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n };\n\n // Get the last element of an array. Passing **n** will return the last N\n // values in the array. The **guard** check allows it to work with `_.map`.\n _.last = function(array, n, guard) {\n if (array == null) return void 0;\n if (n == null || guard) return array[array.length - 1];\n return slice.call(array, Math.max(array.length - n, 0));\n };\n\n // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n // Especially useful on the arguments object. Passing an **n** will return\n // the rest N values in the array. The **guard**\n // check allows it to work with `_.map`.\n _.rest = _.tail = _.drop = function(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n };\n\n // Trim out all falsy values from an array.\n _.compact = function(array) {\n return _.filter(array, _.identity);\n };\n\n // Internal implementation of a recursive `flatten` function.\n var flatten = function(input, shallow, strict, output) {\n if (shallow && _.every(input, _.isArray)) {\n return concat.apply(output, input);\n }\n for (var i = 0, length = input.length; i < length; i++) {\n var value = input[i];\n if (!_.isArray(value) && !_.isArguments(value)) {\n if (!strict) output.push(value);\n } else if (shallow) {\n push.apply(output, value);\n } else {\n flatten(value, shallow, strict, output);\n }\n }\n return output;\n };\n\n // Flatten out an array, either recursively (by default), or just one level.\n _.flatten = function(array, shallow) {\n return flatten(array, shallow, false, []);\n };\n\n // Return a version of the array that does not contain the specified value(s).\n _.without = function(array) {\n return _.difference(array, slice.call(arguments, 1));\n };\n\n // Produce a duplicate-free version of the array. If the array has already\n // been sorted, you have the option of using a faster algorithm.\n // Aliased as `unique`.\n _.uniq = _.unique = function(array, isSorted, iteratee, context) {\n if (array == null) return [];\n if (!_.isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = _.iteratee(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = array.length; i < length; i++) {\n var value = array[i];\n if (isSorted) {\n if (!i || seen !== value) result.push(value);\n seen = value;\n } else if (iteratee) {\n var computed = iteratee(value, i, array);\n if (_.indexOf(seen, computed) < 0) {\n seen.push(computed);\n result.push(value);\n }\n } else if (_.indexOf(result, value) < 0) {\n result.push(value);\n }\n }\n return result;\n };\n\n // Produce an array that contains the union: each distinct element from all of\n // the passed-in arrays.\n _.union = function() {\n return _.uniq(flatten(arguments, true, true, []));\n };\n\n // Produce an array that contains every item shared between all the\n // passed-in arrays.\n _.intersection = function(array) {\n if (array == null) return [];\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = array.length; i < length; i++) {\n var item = array[i];\n if (_.contains(result, item)) continue;\n for (var j = 1; j < argsLength; j++) {\n if (!_.contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n };\n\n // Take the difference between one array and a number of other arrays.\n // Only the elements present in just the first array will remain.\n _.difference = function(array) {\n var rest = flatten(slice.call(arguments, 1), true, true, []);\n return _.filter(array, function(value){\n return !_.contains(rest, value);\n });\n };\n\n // Zip together multiple lists into a single array -- elements that share\n // an index go together.\n _.zip = function(array) {\n if (array == null) return [];\n var length = _.max(arguments, 'length').length;\n var results = Array(length);\n for (var i = 0; i < length; i++) {\n results[i] = _.pluck(arguments, i);\n }\n return results;\n };\n\n // Converts lists into objects. Pass either a single array of `[key, value]`\n // pairs, or two parallel arrays of the same length -- one of keys, and one of\n // the corresponding values.\n _.object = function(list, values) {\n if (list == null) return {};\n var result = {};\n for (var i = 0, length = list.length; i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n };\n\n // Return the position of the first occurrence of an item in an array,\n // or -1 if the item is not included in the array.\n // If the array is large and already in sort order, pass `true`\n // for **isSorted** to use binary search.\n _.indexOf = function(array, item, isSorted) {\n if (array == null) return -1;\n var i = 0, length = array.length;\n if (isSorted) {\n if (typeof isSorted == 'number') {\n i = isSorted < 0 ? Math.max(0, length + isSorted) : isSorted;\n } else {\n i = _.sortedIndex(array, item);\n return array[i] === item ? i : -1;\n }\n }\n for (; i < length; i++) if (array[i] === item) return i;\n return -1;\n };\n\n _.lastIndexOf = function(array, item, from) {\n if (array == null) return -1;\n var idx = array.length;\n if (typeof from == 'number') {\n idx = from < 0 ? idx + from + 1 : Math.min(idx, from + 1);\n }\n while (--idx >= 0) if (array[idx] === item) return idx;\n return -1;\n };\n\n // Generate an integer Array containing an arithmetic progression. A port of\n // the native Python `range()` function. See\n // [the Python documentation](http://docs.python.org/library/functions.html#range).\n _.range = function(start, stop, step) {\n if (arguments.length <= 1) {\n stop = start || 0;\n start = 0;\n }\n step = step || 1;\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n };\n\n // Function (ahem) Functions\n // ------------------\n\n // Reusable constructor function for prototype setting.\n var Ctor = function(){};\n\n // Create a function bound to a given object (assigning `this`, and arguments,\n // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n // available.\n _.bind = function(func, context) {\n var args, bound;\n if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\n if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n args = slice.call(arguments, 2);\n bound = function() {\n if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments)));\n Ctor.prototype = func.prototype;\n var self = new Ctor;\n Ctor.prototype = null;\n var result = func.apply(self, args.concat(slice.call(arguments)));\n if (_.isObject(result)) return result;\n return self;\n };\n return bound;\n };\n\n // Partially apply a function by creating a version that has had some of its\n // arguments pre-filled, without changing its dynamic `this` context. _ acts\n // as a placeholder, allowing any combination of arguments to be pre-filled.\n _.partial = function(func) {\n var boundArgs = slice.call(arguments, 1);\n return function() {\n var position = 0;\n var args = boundArgs.slice();\n for (var i = 0, length = args.length; i < length; i++) {\n if (args[i] === _) args[i] = arguments[position++];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return func.apply(this, args);\n };\n };\n\n // Bind a number of an object's methods to that object. Remaining arguments\n // are the method names to be bound. Useful for ensuring that all callbacks\n // defined on an object belong to it.\n _.bindAll = function(obj) {\n var i, length = arguments.length, key;\n if (length <= 1) throw new Error('bindAll must be passed function names');\n for (i = 1; i < length; i++) {\n key = arguments[i];\n obj[key] = _.bind(obj[key], obj);\n }\n return obj;\n };\n\n // Memoize an expensive function by storing its results.\n _.memoize = function(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = hasher ? hasher.apply(this, arguments) : key;\n if (!_.has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n };\n\n // Delays a function for the given number of milliseconds, and then calls\n // it with the arguments supplied.\n _.delay = function(func, wait) {\n var args = slice.call(arguments, 2);\n return setTimeout(function(){\n return func.apply(null, args);\n }, wait);\n };\n\n // Defers a function, scheduling it to run after the current call stack has\n // cleared.\n _.defer = function(func) {\n return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));\n };\n\n // Returns a function, that, when invoked, will only be triggered at most once\n // during a given window of time. Normally, the throttled function will run\n // as much as it can, without ever going more than once per `wait` duration;\n // but if you'd like to disable the execution on the leading edge, pass\n // `{leading: false}`. To disable execution on the trailing edge, ditto.\n _.throttle = function(func, wait, options) {\n var context, args, result;\n var timeout = null;\n var previous = 0;\n if (!options) options = {};\n var later = function() {\n previous = options.leading === false ? 0 : _.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n return function() {\n var now = _.now();\n if (!previous && options.leading === false) previous = now;\n var remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n clearTimeout(timeout);\n timeout = null;\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n };\n\n // Returns a function, that, as long as it continues to be invoked, will not\n // be triggered. The function will be called after it stops being called for\n // N milliseconds. If `immediate` is passed, trigger the function on the\n // leading edge, instead of the trailing.\n _.debounce = function(func, wait, immediate) {\n var timeout, args, context, timestamp, result;\n\n var later = function() {\n var last = _.now() - timestamp;\n\n if (last < wait && last > 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n }\n }\n };\n\n return function() {\n context = this;\n args = arguments;\n timestamp = _.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n };\n\n // Returns the first function passed as an argument to the second,\n // allowing you to adjust arguments, run code before and after, and\n // conditionally execute the original function.\n _.wrap = function(func, wrapper) {\n return _.partial(wrapper, func);\n };\n\n // Returns a negated version of the passed-in predicate.\n _.negate = function(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n };\n\n // Returns a function that is the composition of a list of functions, each\n // consuming the return value of the function that follows.\n _.compose = function() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n };\n\n // Returns a function that will only be executed after being called N times.\n _.after = function(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n };\n\n // Returns a function that will only be executed before being called N times.\n _.before = function(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n } else {\n func = null;\n }\n return memo;\n };\n };\n\n // Returns a function that will be executed at most one time, no matter how\n // often you call it. Useful for lazy initialization.\n _.once = _.partial(_.before, 2);\n\n // Object Functions\n // ----------------\n\n // Retrieve the names of an object's properties.\n // Delegates to **ECMAScript 5**'s native `Object.keys`\n _.keys = function(obj) {\n if (!_.isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (_.has(obj, key)) keys.push(key);\n return keys;\n };\n\n // Retrieve the values of an object's properties.\n _.values = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[keys[i]];\n }\n return values;\n };\n\n // Convert an object into a list of `[key, value]` pairs.\n _.pairs = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [keys[i], obj[keys[i]]];\n }\n return pairs;\n };\n\n // Invert the keys and values of an object. The values must be serializable.\n _.invert = function(obj) {\n var result = {};\n var keys = _.keys(obj);\n for (var i = 0, length = keys.length; i < length; i++) {\n result[obj[keys[i]]] = keys[i];\n }\n return result;\n };\n\n // Return a sorted list of the function names available on the object.\n // Aliased as `methods`\n _.functions = _.methods = function(obj) {\n var names = [];\n for (var key in obj) {\n if (_.isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n };\n\n // Extend a given object with all the properties in passed-in object(s).\n _.extend = function(obj) {\n if (!_.isObject(obj)) return obj;\n var source, prop;\n for (var i = 1, length = arguments.length; i < length; i++) {\n source = arguments[i];\n for (prop in source) {\n if (hasOwnProperty.call(source, prop)) {\n obj[prop] = source[prop];\n }\n }\n }\n return obj;\n };\n\n // Return a copy of the object only containing the whitelisted properties.\n _.pick = function(obj, iteratee, context) {\n var result = {}, key;\n if (obj == null) return result;\n if (_.isFunction(iteratee)) {\n iteratee = createCallback(iteratee, context);\n for (key in obj) {\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n } else {\n var keys = concat.apply([], slice.call(arguments, 1));\n obj = new Object(obj);\n for (var i = 0, length = keys.length; i < length; i++) {\n key = keys[i];\n if (key in obj) result[key] = obj[key];\n }\n }\n return result;\n };\n\n // Return a copy of the object without the blacklisted properties.\n _.omit = function(obj, iteratee, context) {\n if (_.isFunction(iteratee)) {\n iteratee = _.negate(iteratee);\n } else {\n var keys = _.map(concat.apply([], slice.call(arguments, 1)), String);\n iteratee = function(value, key) {\n return !_.contains(keys, key);\n };\n }\n return _.pick(obj, iteratee, context);\n };\n\n // Fill in a given object with default properties.\n _.defaults = function(obj) {\n if (!_.isObject(obj)) return obj;\n for (var i = 1, length = arguments.length; i < length; i++) {\n var source = arguments[i];\n for (var prop in source) {\n if (obj[prop] === void 0) obj[prop] = source[prop];\n }\n }\n return obj;\n };\n\n // Create a (shallow-cloned) duplicate of an object.\n _.clone = function(obj) {\n if (!_.isObject(obj)) return obj;\n return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n };\n\n // Invokes interceptor with the obj, and then returns obj.\n // The primary purpose of this method is to \"tap into\" a method chain, in\n // order to perform operations on intermediate results within the chain.\n _.tap = function(obj, interceptor) {\n interceptor(obj);\n return obj;\n };\n\n // Internal recursive comparison function for `isEqual`.\n var eq = function(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // A strict comparison is necessary because `null == undefined`.\n if (a == null || b == null) return a === b;\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n }\n if (typeof a != 'object' || typeof b != 'object') return false;\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n // Objects with different constructors are not equivalent, but `Object`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (\n aCtor !== bCtor &&\n // Handle Object.create(x) cases\n 'constructor' in a && 'constructor' in b &&\n !(_.isFunction(aCtor) && aCtor instanceof aCtor &&\n _.isFunction(bCtor) && bCtor instanceof bCtor)\n ) {\n return false;\n }\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n var size, result;\n // Recursively compare objects and arrays.\n if (className === '[object Array]') {\n // Compare array lengths to determine if a deep comparison is necessary.\n size = a.length;\n result = size === b.length;\n if (result) {\n // Deep compare the contents, ignoring non-numeric properties.\n while (size--) {\n if (!(result = eq(a[size], b[size], aStack, bStack))) break;\n }\n }\n } else {\n // Deep compare objects.\n var keys = _.keys(a), key;\n size = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n result = _.keys(b).length === size;\n if (result) {\n while (size--) {\n // Deep compare each member\n key = keys[size];\n if (!(result = _.has(b, key) && eq(a[key], b[key], aStack, bStack))) break;\n }\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return result;\n };\n\n // Perform a deep comparison to check if two objects are equal.\n _.isEqual = function(a, b) {\n return eq(a, b, [], []);\n };\n\n // Is a given array, string, or object empty?\n // An \"empty\" object has no enumerable own-properties.\n _.isEmpty = function(obj) {\n if (obj == null) return true;\n if (_.isArray(obj) || _.isString(obj) || _.isArguments(obj)) return obj.length === 0;\n for (var key in obj) if (_.has(obj, key)) return false;\n return true;\n };\n\n // Is a given value a DOM element?\n _.isElement = function(obj) {\n return !!(obj && obj.nodeType === 1);\n };\n\n // Is a given value an array?\n // Delegates to ECMA5's native Array.isArray\n _.isArray = nativeIsArray || function(obj) {\n return toString.call(obj) === '[object Array]';\n };\n\n // Is a given variable an object?\n _.isObject = function(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object' && !!obj;\n };\n\n // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp.\n _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) {\n _['is' + name] = function(obj) {\n return toString.call(obj) === '[object ' + name + ']';\n };\n });\n\n // Define a fallback version of the method in browsers (ahem, IE), where\n // there isn't any inspectable \"Arguments\" type.\n if (!_.isArguments(arguments)) {\n _.isArguments = function(obj) {\n return _.has(obj, 'callee');\n };\n }\n\n // Optimize `isFunction` if appropriate. Work around an IE 11 bug.\n if (true) {\n _.isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n }\n\n // Is a given object a finite number?\n _.isFinite = function(obj) {\n return isFinite(obj) && !isNaN(parseFloat(obj));\n };\n\n // Is the given value `NaN`? (NaN is the only number which does not equal itself).\n _.isNaN = function(obj) {\n return _.isNumber(obj) && obj !== +obj;\n };\n\n // Is a given value a boolean?\n _.isBoolean = function(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n };\n\n // Is a given value equal to null?\n _.isNull = function(obj) {\n return obj === null;\n };\n\n // Is a given variable undefined?\n _.isUndefined = function(obj) {\n return obj === void 0;\n };\n\n // Shortcut function for checking if an object has a given property directly\n // on itself (in other words, not on a prototype).\n _.has = function(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n };\n\n // Utility Functions\n // -----------------\n\n // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n // previous owner. Returns a reference to the Underscore object.\n _.noConflict = function() {\n root._ = previousUnderscore;\n return this;\n };\n\n // Keep the identity function around for default iteratees.\n _.identity = function(value) {\n return value;\n };\n\n _.constant = function(value) {\n return function() {\n return value;\n };\n };\n\n _.noop = function(){};\n\n _.property = function(key) {\n return function(obj) {\n return obj[key];\n };\n };\n\n // Returns a predicate for checking whether an object has a given set of `key:value` pairs.\n _.matches = function(attrs) {\n var pairs = _.pairs(attrs), length = pairs.length;\n return function(obj) {\n if (obj == null) return !length;\n obj = new Object(obj);\n for (var i = 0; i < length; i++) {\n var pair = pairs[i], key = pair[0];\n if (pair[1] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n };\n };\n\n // Run a function **n** times.\n _.times = function(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = createCallback(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n };\n\n // Return a random integer between min and max (inclusive).\n _.random = function(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n };\n\n // A (possibly faster) way to get the current timestamp as an integer.\n _.now = Date.now || function() {\n return new Date().getTime();\n };\n\n // List of HTML entities for escaping.\n var escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n };\n var unescapeMap = _.invert(escapeMap);\n\n // Functions for escaping and unescaping strings to/from HTML interpolation.\n var createEscaper = function(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped\n var source = '(?:' + _.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n };\n _.escape = createEscaper(escapeMap);\n _.unescape = createEscaper(unescapeMap);\n\n // If the value of the named `property` is a function then invoke it with the\n // `object` as context; otherwise, return it.\n _.result = function(object, property) {\n if (object == null) return void 0;\n var value = object[property];\n return _.isFunction(value) ? object[property]() : value;\n };\n\n // Generate a unique integer id (unique within the entire client session).\n // Useful for temporary DOM ids.\n var idCounter = 0;\n _.uniqueId = function(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n };\n\n // By default, Underscore uses ERB-style template delimiters, change the\n // following template settings to use alternative delimiters.\n _.templateSettings = {\n evaluate : /<%([\\s\\S]+?)%>/g,\n interpolate : /<%=([\\s\\S]+?)%>/g,\n escape : /<%-([\\s\\S]+?)%>/g\n };\n\n // When customizing `templateSettings`, if you don't want to define an\n // interpolation, evaluation or escaping regex, we need one that is\n // guaranteed not to match.\n var noMatch = /(.)^/;\n\n // Certain characters need to be escaped so that they can be put into a\n // string literal.\n var escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n var escaper = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n var escapeChar = function(match) {\n return '\\\\' + escapes[match];\n };\n\n // JavaScript micro-templating, similar to John Resig's implementation.\n // Underscore templating handles arbitrary delimiters, preserves whitespace,\n // and correctly escapes quotes within interpolated code.\n // NB: `oldSettings` only exists for backwards compatibility.\n _.template = function(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = _.defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escaper, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offest.\n return match;\n });\n source += \"';\\n\";\n\n // If a variable is not specified, place data values in local scope.\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n try {\n var render = new Function(settings.variable || 'obj', '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n var argument = settings.variable || 'obj';\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n };\n\n // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n _.chain = function(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n };\n\n // OOP\n // ---------------\n // If Underscore is called as a function, it returns a wrapped object that\n // can be used OO-style. This wrapper holds altered versions of all the\n // underscore functions. Wrapped objects may be chained.\n\n // Helper function to continue chaining intermediate results.\n var result = function(obj) {\n return this._chain ? _(obj).chain() : obj;\n };\n\n // Add your own custom functions to the Underscore object.\n _.mixin = function(obj) {\n _.each(_.functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return result.call(this, func.apply(_, args));\n };\n });\n };\n\n // Add all of the Underscore functions to the wrapper object.\n _.mixin(_);\n\n // Add all mutator Array functions to the wrapper.\n _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n return result.call(this, obj);\n };\n });\n\n // Add all accessor Array functions to the wrapper.\n _.each(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n return result.call(this, method.apply(this._wrapped, arguments));\n };\n });\n\n // Extracts the result from a wrapped and chained object.\n _.prototype.value = function() {\n return this._wrapped;\n };\n\n // AMD registration happens at the end for compatibility with AMD loaders\n // that may not enforce next-turn semantics on modules. Even though general\n // practice for AMD registration is to be anonymous, underscore registers\n // as a named module because, like jQuery, it is a base library that is\n // popular enough to be bundled in a third party lib, but not be part of\n // an AMD load request. Those cases could generate an error when an\n // anonymous define() is called outside of a loader request.\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n return _;\n }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n }\n}.call(this));\n\n\n//# sourceURL=webpack:///./node_modules/underscore/underscore.js?"); - -/***/ }), - -/***/ "./node_modules/v-tooltip/dist/v-tooltip.esm.js": -/*!******************************************************!*\ - !*** ./node_modules/v-tooltip/dist/v-tooltip.esm.js ***! - \******************************************************/ -/*! exports provided: default, VClosePopover, VPopover, VTooltip, createTooltip, destroyTooltip, install */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VClosePopover\", function() { return VClosePopover; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VPopover\", function() { return VPopover; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VTooltip\", function() { return VTooltip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTooltip\", function() { return createTooltip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"destroyTooltip\", function() { return destroyTooltip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"install\", function() { return install; });\n/* harmony import */ var popper_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! popper.js */ \"./node_modules/popper.js/dist/esm/popper.js\");\n/* harmony import */ var vue_resize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-resize */ \"./node_modules/vue-resize/dist/vue-resize.esm.js\");\n\n\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\n\nif (typeof window !== 'undefined') {\n SVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n return value;\n}\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\n\nfunction addClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n if (classList.indexOf(newClass) === -1) {\n classList.push(newClass);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\n\nfunction removeClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n var index = classList.indexOf(newClass);\n\n if (index !== -1) {\n classList.splice(index, 1);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nvar _listCacheClear = listCacheClear;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nvar eq_1 = eq;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq_1(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nvar _assocIndexOf = assocIndexOf;\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = _assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nvar _listCacheDelete = listCacheDelete;\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = _assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nvar _listCacheGet = listCacheGet;\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return _assocIndexOf(this.__data__, key) > -1;\n}\n\nvar _listCacheHas = listCacheHas;\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = _assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nvar _listCacheSet = listCacheSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = _listCacheClear;\nListCache.prototype['delete'] = _listCacheDelete;\nListCache.prototype.get = _listCacheGet;\nListCache.prototype.has = _listCacheHas;\nListCache.prototype.set = _listCacheSet;\n\nvar _ListCache = ListCache;\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new _ListCache;\n this.size = 0;\n}\n\nvar _stackClear = stackClear;\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nvar _stackDelete = stackDelete;\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nvar _stackGet = stackGet;\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nvar _stackHas = stackHas;\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\nvar _freeGlobal = freeGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = _freeGlobal || freeSelf || Function('return this')();\n\nvar _root = root;\n\n/** Built-in value references. */\nvar Symbol$1 = _root.Symbol;\n\nvar _Symbol = Symbol$1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nvar _getRawTag = getRawTag;\n\n/** Used for built-in method references. */\nvar objectProto$1 = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString$1 = objectProto$1.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString$1.call(value);\n}\n\nvar _objectToString = objectToString;\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag$1 && symToStringTag$1 in Object(value))\n ? _getRawTag(value)\n : _objectToString(value);\n}\n\nvar _baseGetTag = baseGetTag;\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nvar isObject_1 = isObject;\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject_1(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = _baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nvar isFunction_1 = isFunction;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = _root['__core-js_shared__'];\n\nvar _coreJsData = coreJsData;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(_coreJsData && _coreJsData.keys && _coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nvar _isMasked = isMasked;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nvar _toSource = toSource;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto$1 = Function.prototype,\n objectProto$2 = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString$1 = funcProto$1.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$1 = objectProto$2.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString$1.call(hasOwnProperty$1).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject_1(value) || _isMasked(value)) {\n return false;\n }\n var pattern = isFunction_1(value) ? reIsNative : reIsHostCtor;\n return pattern.test(_toSource(value));\n}\n\nvar _baseIsNative = baseIsNative;\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nvar _getValue = getValue;\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = _getValue(object, key);\n return _baseIsNative(value) ? value : undefined;\n}\n\nvar _getNative = getNative;\n\n/* Built-in method references that are verified to be native. */\nvar Map = _getNative(_root, 'Map');\n\nvar _Map = Map;\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = _getNative(Object, 'create');\n\nvar _nativeCreate = nativeCreate;\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = _nativeCreate ? _nativeCreate(null) : {};\n this.size = 0;\n}\n\nvar _hashClear = hashClear;\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nvar _hashDelete = hashDelete;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto$3 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$2 = objectProto$3.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (_nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty$2.call(data, key) ? data[key] : undefined;\n}\n\nvar _hashGet = hashGet;\n\n/** Used for built-in method references. */\nvar objectProto$4 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$3 = objectProto$4.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return _nativeCreate ? (data[key] !== undefined) : hasOwnProperty$3.call(data, key);\n}\n\nvar _hashHas = hashHas;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED$1 = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (_nativeCreate && value === undefined) ? HASH_UNDEFINED$1 : value;\n return this;\n}\n\nvar _hashSet = hashSet;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = _hashClear;\nHash.prototype['delete'] = _hashDelete;\nHash.prototype.get = _hashGet;\nHash.prototype.has = _hashHas;\nHash.prototype.set = _hashSet;\n\nvar _Hash = Hash;\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new _Hash,\n 'map': new (_Map || _ListCache),\n 'string': new _Hash\n };\n}\n\nvar _mapCacheClear = mapCacheClear;\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nvar _isKeyable = isKeyable;\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return _isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nvar _getMapData = getMapData;\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = _getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nvar _mapCacheDelete = mapCacheDelete;\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return _getMapData(this, key).get(key);\n}\n\nvar _mapCacheGet = mapCacheGet;\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return _getMapData(this, key).has(key);\n}\n\nvar _mapCacheHas = mapCacheHas;\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = _getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nvar _mapCacheSet = mapCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = _mapCacheClear;\nMapCache.prototype['delete'] = _mapCacheDelete;\nMapCache.prototype.get = _mapCacheGet;\nMapCache.prototype.has = _mapCacheHas;\nMapCache.prototype.set = _mapCacheSet;\n\nvar _MapCache = MapCache;\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof _ListCache) {\n var pairs = data.__data__;\n if (!_Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new _MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nvar _stackSet = stackSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new _ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = _stackClear;\nStack.prototype['delete'] = _stackDelete;\nStack.prototype.get = _stackGet;\nStack.prototype.has = _stackHas;\nStack.prototype.set = _stackSet;\n\nvar _Stack = Stack;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED$2 = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED$2);\n return this;\n}\n\nvar _setCacheAdd = setCacheAdd;\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nvar _setCacheHas = setCacheHas;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new _MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = _setCacheAdd;\nSetCache.prototype.has = _setCacheHas;\n\nvar _SetCache = SetCache;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nvar _arraySome = arraySome;\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nvar _cacheHas = cacheHas;\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new _SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!_arraySome(other, function(othValue, othIndex) {\n if (!_cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nvar _equalArrays = equalArrays;\n\n/** Built-in value references. */\nvar Uint8Array = _root.Uint8Array;\n\nvar _Uint8Array = Uint8Array;\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nvar _mapToArray = mapToArray;\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nvar _setToArray = setToArray;\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG$1 = 1,\n COMPARE_UNORDERED_FLAG$1 = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = _Symbol ? _Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new _Uint8Array(object), new _Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq_1(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = _mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG$1;\n convert || (convert = _setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG$1;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = _equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nvar _equalByTag = equalByTag;\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nvar _arrayPush = arrayPush;\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nvar isArray_1 = isArray;\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray_1(object) ? result : _arrayPush(result, symbolsFunc(object));\n}\n\nvar _baseGetAllKeys = baseGetAllKeys;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nvar _arrayFilter = arrayFilter;\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nvar stubArray_1 = stubArray;\n\n/** Used for built-in method references. */\nvar objectProto$5 = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto$5.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray_1 : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return _arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nvar _getSymbols = getSymbols;\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nvar _baseTimes = baseTimes;\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nvar isObjectLike_1 = isObjectLike;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike_1(value) && _baseGetTag(value) == argsTag;\n}\n\nvar _baseIsArguments = baseIsArguments;\n\n/** Used for built-in method references. */\nvar objectProto$6 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$4 = objectProto$6.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = _baseIsArguments(function() { return arguments; }()) ? _baseIsArguments : function(value) {\n return isObjectLike_1(value) && hasOwnProperty$4.call(value, 'callee') &&\n !propertyIsEnumerable$1.call(value, 'callee');\n};\n\nvar isArguments_1 = isArguments;\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nvar stubFalse_1 = stubFalse;\n\nvar isBuffer_1 = createCommonjsModule(function (module, exports) {\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? _root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse_1;\n\nmodule.exports = isBuffer;\n});\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nvar _isIndex = isIndex;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER$1 = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1;\n}\n\nvar isLength_1 = isLength;\n\n/** `Object#toString` result references. */\nvar argsTag$1 = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag$1 = '[object Boolean]',\n dateTag$1 = '[object Date]',\n errorTag$1 = '[object Error]',\n funcTag$1 = '[object Function]',\n mapTag$1 = '[object Map]',\n numberTag$1 = '[object Number]',\n objectTag = '[object Object]',\n regexpTag$1 = '[object RegExp]',\n setTag$1 = '[object Set]',\n stringTag$1 = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag$1 = '[object ArrayBuffer]',\n dataViewTag$1 = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag$1] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] =\ntypedArrayTags[dataViewTag$1] = typedArrayTags[dateTag$1] =\ntypedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] =\ntypedArrayTags[mapTag$1] = typedArrayTags[numberTag$1] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag$1] =\ntypedArrayTags[setTag$1] = typedArrayTags[stringTag$1] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike_1(value) &&\n isLength_1(value.length) && !!typedArrayTags[_baseGetTag(value)];\n}\n\nvar _baseIsTypedArray = baseIsTypedArray;\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nvar _baseUnary = baseUnary;\n\nvar _nodeUtil = createCommonjsModule(function (module, exports) {\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && _freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n});\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = _nodeUtil && _nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? _baseUnary(nodeIsTypedArray) : _baseIsTypedArray;\n\nvar isTypedArray_1 = isTypedArray;\n\n/** Used for built-in method references. */\nvar objectProto$7 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$5 = objectProto$7.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray_1(value),\n isArg = !isArr && isArguments_1(value),\n isBuff = !isArr && !isArg && isBuffer_1(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray_1(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? _baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty$5.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n _isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nvar _arrayLikeKeys = arrayLikeKeys;\n\n/** Used for built-in method references. */\nvar objectProto$8 = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$8;\n\n return value === proto;\n}\n\nvar _isPrototype = isPrototype;\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nvar _overArg = overArg;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = _overArg(Object.keys, Object);\n\nvar _nativeKeys = nativeKeys;\n\n/** Used for built-in method references. */\nvar objectProto$9 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$6 = objectProto$9.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!_isPrototype(object)) {\n return _nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty$6.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nvar _baseKeys = baseKeys;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength_1(value.length) && !isFunction_1(value);\n}\n\nvar isArrayLike_1 = isArrayLike;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike_1(object) ? _arrayLikeKeys(object) : _baseKeys(object);\n}\n\nvar keys_1 = keys;\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return _baseGetAllKeys(object, keys_1, _getSymbols);\n}\n\nvar _getAllKeys = getAllKeys;\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG$2 = 1;\n\n/** Used for built-in method references. */\nvar objectProto$a = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$7 = objectProto$a.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG$2,\n objProps = _getAllKeys(object),\n objLength = objProps.length,\n othProps = _getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty$7.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nvar _equalObjects = equalObjects;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = _getNative(_root, 'DataView');\n\nvar _DataView = DataView;\n\n/* Built-in method references that are verified to be native. */\nvar Promise$1 = _getNative(_root, 'Promise');\n\nvar _Promise = Promise$1;\n\n/* Built-in method references that are verified to be native. */\nvar Set = _getNative(_root, 'Set');\n\nvar _Set = Set;\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = _getNative(_root, 'WeakMap');\n\nvar _WeakMap = WeakMap;\n\n/** `Object#toString` result references. */\nvar mapTag$2 = '[object Map]',\n objectTag$1 = '[object Object]',\n promiseTag = '[object Promise]',\n setTag$2 = '[object Set]',\n weakMapTag$1 = '[object WeakMap]';\n\nvar dataViewTag$2 = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = _toSource(_DataView),\n mapCtorString = _toSource(_Map),\n promiseCtorString = _toSource(_Promise),\n setCtorString = _toSource(_Set),\n weakMapCtorString = _toSource(_WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = _baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag$2) ||\n (_Map && getTag(new _Map) != mapTag$2) ||\n (_Promise && getTag(_Promise.resolve()) != promiseTag) ||\n (_Set && getTag(new _Set) != setTag$2) ||\n (_WeakMap && getTag(new _WeakMap) != weakMapTag$1)) {\n getTag = function(value) {\n var result = _baseGetTag(value),\n Ctor = result == objectTag$1 ? value.constructor : undefined,\n ctorString = Ctor ? _toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag$2;\n case mapCtorString: return mapTag$2;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag$2;\n case weakMapCtorString: return weakMapTag$1;\n }\n }\n return result;\n };\n}\n\nvar _getTag = getTag;\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG$3 = 1;\n\n/** `Object#toString` result references. */\nvar argsTag$2 = '[object Arguments]',\n arrayTag$1 = '[object Array]',\n objectTag$2 = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto$b = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$8 = objectProto$b.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray_1(object),\n othIsArr = isArray_1(other),\n objTag = objIsArr ? arrayTag$1 : _getTag(object),\n othTag = othIsArr ? arrayTag$1 : _getTag(other);\n\n objTag = objTag == argsTag$2 ? objectTag$2 : objTag;\n othTag = othTag == argsTag$2 ? objectTag$2 : othTag;\n\n var objIsObj = objTag == objectTag$2,\n othIsObj = othTag == objectTag$2,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer_1(object)) {\n if (!isBuffer_1(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new _Stack);\n return (objIsArr || isTypedArray_1(object))\n ? _equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : _equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG$3)) {\n var objIsWrapped = objIsObj && hasOwnProperty$8.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty$8.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new _Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new _Stack);\n return _equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nvar _baseIsEqualDeep = baseIsEqualDeep;\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike_1(value) && !isObjectLike_1(other))) {\n return value !== value && other !== other;\n }\n return _baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nvar _baseIsEqual = baseIsEqual;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return _baseIsEqual(value, other);\n}\n\nvar isEqual_1 = isEqual;\n\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '
    ',\n trigger: 'hover focus',\n offset: 0\n};\nvar openTooltips = [];\n\nvar Tooltip =\n/*#__PURE__*/\nfunction () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='
    ']\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n * How tooltip is triggered - click, hover, focus, manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n * [options docs](https://popper.js.org/popper-documentation.html)\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(_reference, _options) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n _defineProperty(this, \"_events\", []);\n\n _defineProperty(this, \"_setTooltipNodeEvent\", function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call\n\n _this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element\n\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this._tooltipNode.addEventListener(evt.type, callback);\n\n return true;\n }\n\n return false;\n });\n\n // apply user options over default ones\n _options = _objectSpread2({}, DEFAULT_OPTIONS, {}, _options);\n _reference.jquery && (_reference = _reference[0]);\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this); // cache reference and options\n\n this.reference = _reference;\n this.options = _options; // set initial state\n\n this._isOpen = false;\n\n this._init();\n } //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n _createClass(Tooltip, [{\n key: \"show\",\n value: function show() {\n this._show(this.reference, this.options);\n }\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n this._hide();\n }\n /**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._dispose();\n }\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this._isOpen) {\n return this.hide();\n } else {\n return this.show();\n }\n }\n }, {\n key: \"setClasses\",\n value: function setClasses(classes) {\n this._classes = classes;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this.options.title = content;\n\n if (this._tooltipNode) {\n this._setContent(content, this.options);\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n var classesUpdated = false;\n var classes = options && options.classes || directive.options.defaultClass;\n\n if (!isEqual_1(this._classes, classes)) {\n this.setClasses(classes);\n classesUpdated = true;\n }\n\n options = getOptions(options);\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n this.dispose();\n\n this._init();\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n } //\n // Private methods\n //\n\n }, {\n key: \"_init\",\n value: function _init() {\n // get events list\n var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];\n this._isDisposed = false;\n this._enableDocumentTouch = events.indexOf('manual') === -1;\n events = events.filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }); // set event listeners\n\n this._setEventListeners(this.reference, events, this.options); // title attribute\n\n\n this.$_originalTitle = this.reference.getAttribute('title');\n this.reference.removeAttribute('title');\n this.reference.setAttribute('data-original-title', this.$_originalTitle);\n }\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n }, {\n key: \"_create\",\n value: function _create(reference, template) {\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template.trim();\n var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)\n\n tooltipNode.id = \"tooltip_\".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip\n // The attribute will be switched in a next frame so\n // CSS transitions can play\n\n tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n tooltipNode.addEventListener('mouseenter', this.hide);\n tooltipNode.addEventListener('click', this.hide);\n } // return the generated tooltip node\n\n\n return tooltipNode;\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(content, options) {\n var _this2 = this;\n\n this.asyncContent = false;\n\n this._applyContent(content, options).then(function () {\n _this2.popperInstance.update();\n });\n }\n }, {\n key: \"_applyContent\",\n value: function _applyContent(title, options) {\n var _this3 = this;\n\n return new Promise(function (resolve, reject) {\n var allowHtml = options.html;\n var rootNode = _this3._tooltipNode;\n if (!rootNode) return;\n var titleNode = rootNode.querySelector(_this3.options.innerSelector);\n\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n if (allowHtml) {\n while (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n\n titleNode.appendChild(title);\n }\n } else if (typeof title === 'function') {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var result = title();\n\n if (result && typeof result.then === 'function') {\n _this3.asyncContent = true;\n options.loadingClass && addClasses(rootNode, options.loadingClass);\n\n if (options.loadingContent) {\n _this3._applyContent(options.loadingContent, options);\n }\n\n result.then(function (asyncResult) {\n options.loadingClass && removeClasses(rootNode, options.loadingClass);\n return _this3._applyContent(asyncResult, options);\n }).then(resolve).catch(reject);\n } else {\n _this3._applyContent(result, options).then(resolve).catch(reject);\n }\n\n return;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n resolve();\n });\n }\n }, {\n key: \"_show\",\n value: function _show(reference, options) {\n if (options && typeof options.container === 'string') {\n var container = document.querySelector(options.container);\n if (!container) return;\n }\n\n clearTimeout(this._disposeTimer);\n options = Object.assign({}, options);\n delete options.offset;\n var updateClasses = true;\n\n if (this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n updateClasses = false;\n }\n\n var result = this._ensureShown(reference, options);\n\n if (updateClasses && this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n }\n\n addClasses(reference, ['v-tooltip-open']);\n return result;\n }\n }, {\n key: \"_ensureShown\",\n value: function _ensureShown(reference, options) {\n var _this4 = this;\n\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n\n this._isOpen = true;\n openTooltips.push(this); // if the tooltipNode already exists, just show it\n\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n\n this.popperInstance.enableEventListeners();\n this.popperInstance.update();\n\n if (this.asyncContent) {\n this._setContent(options.title, options);\n }\n\n return this;\n } // get title\n\n\n var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined\n\n if (!title) {\n return this;\n } // create tooltip node\n\n\n var tooltipNode = this._create(reference, options.template);\n\n this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons\n\n reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container\n\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = _objectSpread2({}, options.popperOptions, {\n placement: options.placement\n });\n\n popperOptions.modifiers = _objectSpread2({}, popperOptions.modifiers, {\n arrow: {\n element: this.options.arrowSelector\n }\n });\n\n if (options.boundariesElement) {\n popperOptions.modifiers.preventOverflow = {\n boundariesElement: options.boundariesElement\n };\n }\n\n this.popperInstance = new popper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](reference, tooltipNode, popperOptions);\n\n this._setContent(title, options); // Fix position\n\n\n requestAnimationFrame(function () {\n if (!_this4._isDisposed && _this4.popperInstance) {\n _this4.popperInstance.update(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (!_this4._isDisposed) {\n _this4._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n } else {\n _this4.dispose();\n }\n });\n } else {\n _this4.dispose();\n }\n });\n return this;\n }\n }, {\n key: \"_noLongerOpen\",\n value: function _noLongerOpen() {\n var index = openTooltips.indexOf(this);\n\n if (index !== -1) {\n openTooltips.splice(index, 1);\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide()\n /* reference, options */\n {\n var _this5 = this;\n\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n this._noLongerOpen(); // hide tooltipNode\n\n\n this._tooltipNode.style.display = 'none';\n\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n this.popperInstance.disableEventListeners();\n clearTimeout(this._disposeTimer);\n var disposeTime = directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this._disposeTimer = setTimeout(function () {\n if (_this5._tooltipNode) {\n _this5._tooltipNode.removeEventListener('mouseenter', _this5.hide);\n\n _this5._tooltipNode.removeEventListener('click', _this5.hide); // Don't remove popper instance, just the HTML element\n\n\n _this5._removeTooltipNode();\n }\n }, disposeTime);\n }\n\n removeClasses(this.reference, ['v-tooltip-open']);\n return this;\n }\n }, {\n key: \"_removeTooltipNode\",\n value: function _removeTooltipNode() {\n if (!this._tooltipNode) return;\n var parentNode = this._tooltipNode.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._tooltipNode);\n this.reference.removeAttribute('aria-describedby');\n }\n\n this._tooltipNode = null;\n }\n }, {\n key: \"_dispose\",\n value: function _dispose() {\n var _this6 = this;\n\n this._isDisposed = true;\n this.reference.removeAttribute('data-original-title');\n\n if (this.$_originalTitle) {\n this.reference.setAttribute('title', this.$_originalTitle);\n } // remove event listeners first to prevent any unexpected behaviour\n\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this6.reference.removeEventListener(event, func);\n });\n\n this._events = [];\n\n if (this._tooltipNode) {\n this._hide();\n\n this._tooltipNode.removeEventListener('mouseenter', this.hide);\n\n this._tooltipNode.removeEventListener('click', this.hide); // destroy instance\n\n\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n this._removeTooltipNode();\n }\n } else {\n this._noLongerOpen();\n }\n\n return this;\n }\n }, {\n key: \"_findContainer\",\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n }\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: \"_append\",\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(reference, events, options) {\n var _this7 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n if (_this7.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n if (_this7.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this7._isOpen === true) {\n return;\n }\n\n evt.usedByTooltip = true;\n\n _this7._scheduleShow(reference, options.delay, options, evt);\n };\n\n _this7._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n\n _this7._scheduleHide(reference, options.delay, options, evt);\n };\n\n _this7._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: \"_onDocumentTouch\",\n value: function _onDocumentTouch(event) {\n if (this._enableDocumentTouch) {\n this._scheduleHide(this.reference, this.options.delay, this.options, event);\n }\n }\n }, {\n key: \"_scheduleShow\",\n value: function _scheduleShow(reference, delay, options\n /*, evt */\n ) {\n var _this8 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n return _this8._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: \"_scheduleHide\",\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this9 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n if (_this9._isOpen === false) {\n return;\n }\n\n if (!_this9._tooltipNode.ownerDocument.body.contains(_this9._tooltipNode)) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (evt.type === 'mouseleave') {\n var isSet = _this9._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this9._hide(reference, options);\n }, computedDelay);\n }\n }]);\n\n return Tooltip;\n}(); // Hide tooltips on touch devices\n\nif (typeof document !== 'undefined') {\n document.addEventListener('touchstart', function (event) {\n for (var i = 0; i < openTooltips.length; i++) {\n openTooltips[i]._onDocumentTouch(event);\n }\n }, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n}\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nvar state = {\n enabled: true\n};\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\nvar defaultOptions = {\n // Default tooltip placement relative to target element\n defaultPlacement: 'top',\n // Default CSS classes applied to the tooltip element\n defaultClass: 'vue-tooltip-theme',\n // Default CSS classes applied to the target element of the tooltip\n defaultTargetClass: 'has-tooltip',\n // Is the content HTML by default?\n defaultHtml: true,\n // Default HTML template of the tooltip element\n // It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n // Change if the classes conflict with other libraries (for example bootstrap)\n defaultTemplate: '
    ',\n // Selector used to get the arrow element in the tooltip template\n defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n // Selector used to get the inner content element in the tooltip template\n defaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n // Delay (ms)\n defaultDelay: 0,\n // Default events that trigger the tooltip\n defaultTrigger: 'hover focus',\n // Default position offset (px)\n defaultOffset: 0,\n // Default container where the tooltip will be appended\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Class added when content is loading\n defaultLoadingClass: 'tooltip-loading',\n // Displayed when tooltip content is loading\n defaultLoadingContent: '...',\n // Hide on mouseover tooltip\n autoHide: true,\n // Close tooltip on click on tooltip target?\n defaultHideOnTargetClick: true,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 5000,\n // Options for popover\n popover: {\n defaultPlacement: 'bottom',\n // Use the `popoverClass` prop for theming\n defaultClass: 'vue-popover-theme',\n // Base class (change if conflicts with other libraries)\n defaultBaseClass: 'tooltip popover',\n // Wrapper class (contains arrow and inner)\n defaultWrapperClass: 'wrapper',\n // Inner content class\n defaultInnerClass: 'tooltip-inner popover-inner',\n // Arrow class\n defaultArrowClass: 'tooltip-arrow popover-arrow',\n // Class added when popover is open\n defaultOpenClass: 'open',\n defaultDelay: 0,\n defaultTrigger: 'click',\n defaultOffset: 0,\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Hides if clicked outside of popover\n defaultAutoHide: true,\n // Update popper on content resize\n defaultHandleResize: true\n }\n};\nfunction getOptions(options) {\n var result = {\n placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n popperOptions: _objectSpread2({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n };\n\n if (result.offset) {\n var typeofOffset = _typeof(result.offset);\n\n var offset = result.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n if (!result.popperOptions.modifiers) {\n result.popperOptions.modifiers = {};\n }\n\n result.popperOptions.modifiers.offset = {\n offset: offset\n };\n }\n\n if (result.trigger && result.trigger.indexOf('click') !== -1) {\n result.hideOnTargetClick = false;\n }\n\n return result;\n}\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n\n for (var i = 0; i < positions.length; i++) {\n var pos = positions[i];\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n\n return placement;\n}\nfunction getContent(value) {\n var type = _typeof(value);\n\n if (type === 'string') {\n return value;\n } else if (value && type === 'object') {\n return value.content;\n } else {\n return false;\n }\n}\nfunction createTooltip(el, value) {\n var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = getContent(value);\n var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\n var opts = _objectSpread2({\n title: content\n }, getOptions(_objectSpread2({}, value, {\n placement: getPlacement(value, modifiers)\n })));\n\n var tooltip = el._tooltip = new Tooltip(el, opts);\n tooltip.setClasses(classes);\n tooltip._vueEl = el; // Class on target\n\n var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n el._tooltipTargetClasses = targetClasses;\n addClasses(el, targetClasses);\n return tooltip;\n}\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n\n delete el._tooltip;\n delete el._tooltipOldShow;\n }\n\n if (el._tooltipTargetClasses) {\n removeClasses(el, el._tooltipTargetClasses);\n delete el._tooltipTargetClasses;\n }\n}\nfunction bind(el, _ref) {\n var value = _ref.value,\n oldValue = _ref.oldValue,\n modifiers = _ref.modifiers;\n var content = getContent(value);\n\n if (!content || !state.enabled) {\n destroyTooltip(el);\n } else {\n var tooltip;\n\n if (el._tooltip) {\n tooltip = el._tooltip; // Content\n\n tooltip.setContent(content); // Options\n\n tooltip.setOptions(_objectSpread2({}, value, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n tooltip = createTooltip(el, value, modifiers);\n } // Manual show\n\n\n if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n el._tooltipOldShow = value.show;\n value.show ? tooltip.show() : tooltip.hide();\n }\n }\n}\nvar directive = {\n options: defaultOptions,\n bind: bind,\n update: bind,\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\nfunction addListeners(el) {\n el.addEventListener('click', onClick);\n el.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('click', onClick);\n el.removeEventListener('touchstart', onTouchStart);\n el.removeEventListener('touchend', onTouchEnd);\n el.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n var el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n var touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener('touchend', onTouchEnd);\n el.addEventListener('touchcancel', onTouchCancel);\n }\n}\n\nfunction onTouchEnd(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n\n if (event.changedTouches.length === 1) {\n var touch = event.changedTouches[0];\n var firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\n\nfunction onTouchCancel(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n bind: function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n }\n },\n update: function update(el, _ref2) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (value !== oldValue) {\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind: function unbind(el) {\n removeListeners(el);\n }\n};\n\nfunction getDefault(key) {\n var value = directive.options.popover[key];\n\n if (typeof value === 'undefined') {\n return directive.options[key];\n }\n\n return value;\n}\n\nvar isIOS = false;\n\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\n\nif (typeof window !== 'undefined') {\n Element = window.Element;\n}\n\nvar script = {\n name: 'VPopover',\n components: {\n ResizeObserver: vue_resize__WEBPACK_IMPORTED_MODULE_1__[\"ResizeObserver\"]\n },\n props: {\n open: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: function _default() {\n return getDefault('defaultPlacement');\n }\n },\n delay: {\n type: [String, Number, Object],\n default: function _default() {\n return getDefault('defaultDelay');\n }\n },\n offset: {\n type: [String, Number],\n default: function _default() {\n return getDefault('defaultOffset');\n }\n },\n trigger: {\n type: String,\n default: function _default() {\n return getDefault('defaultTrigger');\n }\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: function _default() {\n return getDefault('defaultContainer');\n }\n },\n boundariesElement: {\n type: [String, Element],\n default: function _default() {\n return getDefault('defaultBoundariesElement');\n }\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return getDefault('defaultPopperOptions');\n }\n },\n popoverClass: {\n type: [String, Array],\n default: function _default() {\n return getDefault('defaultClass');\n }\n },\n popoverBaseClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultBaseClass;\n }\n },\n popoverInnerClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultInnerClass;\n }\n },\n popoverWrapperClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultWrapperClass;\n }\n },\n popoverArrowClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultArrowClass;\n }\n },\n autoHide: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultAutoHide;\n }\n },\n handleResize: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultHandleResize;\n }\n },\n openGroup: {\n type: String,\n default: null\n },\n openClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultOpenClass;\n }\n }\n },\n data: function data() {\n return {\n isOpen: false,\n id: Math.random().toString(36).substr(2, 10)\n };\n },\n computed: {\n cssClass: function cssClass() {\n return _defineProperty({}, this.openClass, this.isOpen);\n },\n popoverId: function popoverId() {\n return \"popover_\".concat(this.id);\n }\n },\n watch: {\n open: function open(val) {\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n },\n disabled: function disabled(val, oldVal) {\n if (val !== oldVal) {\n if (val) {\n this.hide();\n } else if (this.open) {\n this.show();\n }\n }\n },\n container: function container(val) {\n if (this.isOpen && this.popperInstance) {\n var popoverNode = this.$refs.popover;\n var reference = this.$refs.trigger;\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.popperInstance.scheduleUpdate();\n }\n },\n trigger: function trigger(val) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n },\n placement: function placement(val) {\n var _this = this;\n\n this.$_updatePopper(function () {\n _this.popperInstance.options.placement = val;\n });\n },\n offset: '$_restartPopper',\n boundariesElement: '$_restartPopper',\n popperOptions: {\n handler: '$_restartPopper',\n deep: true\n }\n },\n created: function created() {\n this.$_isDisposed = false;\n this.$_mounted = false;\n this.$_events = [];\n this.$_preventOpen = false;\n },\n mounted: function mounted() {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n this.$_init();\n\n if (this.open) {\n this.show();\n }\n },\n deactivated: function deactivated() {\n this.hide();\n },\n beforeDestroy: function beforeDestroy() {\n this.dispose();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref2.event,\n _ref2$skipDelay = _ref2.skipDelay,\n _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (force || !this.disabled) {\n this.$_scheduleShow(event);\n this.$emit('show');\n }\n\n this.$emit('update:open', true);\n this.$_beingShowed = true;\n requestAnimationFrame(function () {\n _this2.$_beingShowed = false;\n });\n },\n hide: function hide() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref3.event,\n _ref3$skipDelay = _ref3.skipDelay;\n\n this.$_scheduleHide(event);\n this.$emit('hide');\n this.$emit('update:open', false);\n },\n dispose: function dispose() {\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({\n skipDelay: true\n });\n\n if (this.popperInstance) {\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n }\n }\n\n this.$_mounted = false;\n this.popperInstance = null;\n this.isOpen = false;\n this.$emit('dispose');\n },\n $_init: function $_init() {\n if (this.trigger.indexOf('manual') === -1) {\n this.$_addEventListeners();\n }\n },\n $_show: function $_show() {\n var _this3 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n clearTimeout(this.$_disposeTimer); // Already open\n\n if (this.isOpen) {\n return;\n } // Popper is already initialized\n\n\n if (this.popperInstance) {\n this.isOpen = true;\n this.popperInstance.enableEventListeners();\n this.popperInstance.scheduleUpdate();\n }\n\n if (!this.$_mounted) {\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.$_mounted = true;\n }\n\n if (!this.popperInstance) {\n var popperOptions = _objectSpread2({}, this.popperOptions, {\n placement: this.placement\n });\n\n popperOptions.modifiers = _objectSpread2({}, popperOptions.modifiers, {\n arrow: _objectSpread2({}, popperOptions.modifiers && popperOptions.modifiers.arrow, {\n element: this.$refs.arrow\n })\n });\n\n if (this.offset) {\n var offset = this.$_getOffset();\n popperOptions.modifiers.offset = _objectSpread2({}, popperOptions.modifiers && popperOptions.modifiers.offset, {\n offset: offset\n });\n }\n\n if (this.boundariesElement) {\n popperOptions.modifiers.preventOverflow = _objectSpread2({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow, {\n boundariesElement: this.boundariesElement\n });\n }\n\n this.popperInstance = new popper_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"](reference, popoverNode, popperOptions); // Fix position\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed && _this3.popperInstance) {\n _this3.popperInstance.scheduleUpdate(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed) {\n _this3.isOpen = true;\n } else {\n _this3.dispose();\n }\n });\n } else {\n _this3.dispose();\n }\n });\n }\n\n var openGroup = this.openGroup;\n\n if (openGroup) {\n var popover;\n\n for (var i = 0; i < openPopovers.length; i++) {\n popover = openPopovers[i];\n\n if (popover.openGroup !== openGroup) {\n popover.hide();\n popover.$emit('close-group');\n }\n }\n }\n\n openPopovers.push(this);\n this.$emit('apply-show');\n },\n $_hide: function $_hide() {\n var _this4 = this;\n\n // Already hidden\n if (!this.isOpen) {\n return;\n }\n\n var index = openPopovers.indexOf(this);\n\n if (index !== -1) {\n openPopovers.splice(index, 1);\n }\n\n this.isOpen = false;\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this.$_disposeTimer);\n var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(function () {\n var popoverNode = _this4.$refs.popover;\n\n if (popoverNode) {\n // Don't remove popper instance, just the HTML element\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n _this4.$_mounted = false;\n }\n }, disposeTime);\n }\n\n this.$emit('apply-hide');\n },\n $_findContainer: function $_findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n },\n $_getOffset: function $_getOffset() {\n var typeofOffset = _typeof(this.offset);\n\n var offset = this.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n return offset;\n },\n $_addEventListeners: function $_addEventListeners() {\n var _this5 = this;\n\n var reference = this.$refs.trigger;\n var directEvents = [];\n var oppositeEvents = [];\n var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(event) {\n if (_this5.isOpen) {\n return;\n }\n\n event.usedByTooltip = true;\n !_this5.$_preventOpen && _this5.show({\n event: event\n });\n _this5.hidden = false;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(event) {\n if (event.usedByTooltip) {\n return;\n }\n\n _this5.hide({\n event: event\n });\n\n _this5.hidden = true;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n },\n $_scheduleShow: function $_scheduleShow() {\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_show();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n }\n },\n $_scheduleHide: function $_scheduleHide() {\n var _this6 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_hide();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n this.$_scheduleTimer = setTimeout(function () {\n if (!_this6.isOpen) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (event && event.type === 'mouseleave') {\n var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this6.$_hide();\n }, computedDelay);\n }\n },\n $_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n var _this7 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n var callback = function callback(event2) {\n var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call\n\n popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this7.hide({\n event: event2\n });\n }\n };\n\n if (popoverNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n popoverNode.addEventListener(event.type, callback);\n return true;\n }\n\n return false;\n },\n $_removeEventListeners: function $_removeEventListeners() {\n var reference = this.$refs.trigger;\n this.$_events.forEach(function (_ref4) {\n var func = _ref4.func,\n event = _ref4.event;\n reference.removeEventListener(event, func);\n });\n this.$_events = [];\n },\n $_updatePopper: function $_updatePopper(cb) {\n if (this.popperInstance) {\n cb();\n if (this.isOpen) this.popperInstance.scheduleUpdate();\n }\n },\n $_restartPopper: function $_restartPopper() {\n if (this.popperInstance) {\n var isOpen = this.isOpen;\n this.dispose();\n this.$_isDisposed = false;\n this.$_init();\n\n if (isOpen) {\n this.show({\n skipDelay: true,\n force: true\n });\n }\n }\n },\n $_handleGlobalClose: function $_handleGlobalClose(event) {\n var _this8 = this;\n\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.$_beingShowed) return;\n this.hide({\n event: event\n });\n\n if (event.closePopover) {\n this.$emit('close-directive');\n } else {\n this.$emit('auto-hide');\n }\n\n if (touch) {\n this.$_preventOpen = true;\n setTimeout(function () {\n _this8.$_preventOpen = false;\n }, 300);\n }\n },\n $_handleResize: function $_handleResize() {\n if (this.isOpen && this.popperInstance) {\n this.popperInstance.scheduleUpdate();\n this.$emit('resize');\n }\n }\n }\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (isIOS) {\n document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener('click', handleGlobalClick, true);\n }\n}\n\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _loop = function _loop(i) {\n var popover = openPopovers[i];\n\n if (popover.$refs.popover) {\n var contains = popover.$refs.popover.contains(event.target);\n requestAnimationFrame(function () {\n if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n popover.$_handleGlobalClose(event, touch);\n }\n });\n }\n };\n\n // Delay so that close directive has time to set values\n for (var i = 0; i < openPopovers.length; i++) {\n _loop(i);\n }\n}\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"v-popover\",\n class: _vm.cssClass\n }, [_c(\"div\", {\n ref: \"trigger\",\n staticClass: \"trigger\",\n staticStyle: {\n display: \"inline-block\"\n },\n attrs: {\n \"aria-describedby\": _vm.popoverId,\n tabindex: _vm.trigger.indexOf(\"focus\") !== -1 ? 0 : undefined\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c(\"div\", {\n ref: \"popover\",\n class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],\n style: {\n visibility: _vm.isOpen ? \"visible\" : \"hidden\"\n },\n attrs: {\n id: _vm.popoverId,\n \"aria-hidden\": _vm.isOpen ? \"false\" : \"true\",\n tabindex: _vm.autoHide ? 0 : undefined\n },\n on: {\n keyup: function keyup($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n\n _vm.autoHide && _vm.hide();\n }\n }\n }, [_c(\"div\", {\n class: _vm.popoverWrapperClass\n }, [_c(\"div\", {\n ref: \"inner\",\n class: _vm.popoverInnerClass,\n staticStyle: {\n position: \"relative\"\n }\n }, [_c(\"div\", [_vm._t(\"popover\")], 2), _vm._v(\" \"), _vm.handleResize ? _c(\"ResizeObserver\", {\n on: {\n notify: _vm.$_handleResize\n }\n }) : _vm._e()], 1), _vm._v(\" \"), _c(\"div\", {\n ref: \"arrow\",\n class: _vm.popoverArrowClass\n })])])]);\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nvar defineProperty = (function() {\n try {\n var func = _getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nvar _defineProperty$1 = defineProperty;\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && _defineProperty$1) {\n _defineProperty$1(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nvar _baseAssignValue = baseAssignValue;\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq_1(object[key], value)) ||\n (value === undefined && !(key in object))) {\n _baseAssignValue(object, key, value);\n }\n}\n\nvar _assignMergeValue = assignMergeValue;\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nvar _createBaseFor = createBaseFor;\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = _createBaseFor();\n\nvar _baseFor = baseFor;\n\nvar _cloneBuffer = createCommonjsModule(function (module, exports) {\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? _root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n});\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new _Uint8Array(result).set(new _Uint8Array(arrayBuffer));\n return result;\n}\n\nvar _cloneArrayBuffer = cloneArrayBuffer;\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? _cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nvar _cloneTypedArray = cloneTypedArray;\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nvar _copyArray = copyArray;\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject_1(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nvar _baseCreate = baseCreate;\n\n/** Built-in value references. */\nvar getPrototype = _overArg(Object.getPrototypeOf, Object);\n\nvar _getPrototype = getPrototype;\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !_isPrototype(object))\n ? _baseCreate(_getPrototype(object))\n : {};\n}\n\nvar _initCloneObject = initCloneObject;\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike_1(value) && isArrayLike_1(value);\n}\n\nvar isArrayLikeObject_1 = isArrayLikeObject;\n\n/** `Object#toString` result references. */\nvar objectTag$3 = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto$2 = Function.prototype,\n objectProto$c = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString$2 = funcProto$2.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$9 = objectProto$c.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString$2.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike_1(value) || _baseGetTag(value) != objectTag$3) {\n return false;\n }\n var proto = _getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty$9.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString$2.call(Ctor) == objectCtorString;\n}\n\nvar isPlainObject_1 = isPlainObject;\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nvar _safeGet = safeGet;\n\n/** Used for built-in method references. */\nvar objectProto$d = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$a = objectProto$d.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty$a.call(object, key) && eq_1(objValue, value)) ||\n (value === undefined && !(key in object))) {\n _baseAssignValue(object, key, value);\n }\n}\n\nvar _assignValue = assignValue;\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n _baseAssignValue(object, key, newValue);\n } else {\n _assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nvar _copyObject = copyObject;\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nvar _nativeKeysIn = nativeKeysIn;\n\n/** Used for built-in method references. */\nvar objectProto$e = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$b = objectProto$e.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject_1(object)) {\n return _nativeKeysIn(object);\n }\n var isProto = _isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty$b.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nvar _baseKeysIn = baseKeysIn;\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike_1(object) ? _arrayLikeKeys(object, true) : _baseKeysIn(object);\n}\n\nvar keysIn_1 = keysIn;\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return _copyObject(value, keysIn_1(value));\n}\n\nvar toPlainObject_1 = toPlainObject;\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = _safeGet(object, key),\n srcValue = _safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n _assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray_1(srcValue),\n isBuff = !isArr && isBuffer_1(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray_1(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray_1(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject_1(objValue)) {\n newValue = _copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = _cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = _cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject_1(srcValue) || isArguments_1(srcValue)) {\n newValue = objValue;\n if (isArguments_1(objValue)) {\n newValue = toPlainObject_1(objValue);\n }\n else if (!isObject_1(objValue) || isFunction_1(objValue)) {\n newValue = _initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n _assignMergeValue(object, key, newValue);\n}\n\nvar _baseMergeDeep = baseMergeDeep;\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n _baseFor(source, function(srcValue, key) {\n stack || (stack = new _Stack);\n if (isObject_1(srcValue)) {\n _baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(_safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n _assignMergeValue(object, key, newValue);\n }\n }, keysIn_1);\n}\n\nvar _baseMerge = baseMerge;\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nvar identity_1 = identity;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nvar _apply = apply;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return _apply(func, this, otherArgs);\n };\n}\n\nvar _overRest = overRest;\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nvar constant_1 = constant;\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !_defineProperty$1 ? identity_1 : function(func, string) {\n return _defineProperty$1(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant_1(string),\n 'writable': true\n });\n};\n\nvar _baseSetToString = baseSetToString;\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nvar _shortOut = shortOut;\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = _shortOut(_baseSetToString);\n\nvar _setToString = setToString;\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return _setToString(_overRest(func, start, identity_1), func + '');\n}\n\nvar _baseRest = baseRest;\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject_1(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike_1(object) && _isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq_1(object[index], value);\n }\n return false;\n}\n\nvar _isIterateeCall = isIterateeCall;\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return _baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && _isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nvar _createAssigner = createAssigner;\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = _createAssigner(function(object, source, srcIndex) {\n _baseMerge(object, source, srcIndex);\n});\n\nvar merge_1 = merge;\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css = \".resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\";\nstyleInject(css);\n\nfunction install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (install.installed) return;\n install.installed = true;\n var finalOptions = {};\n merge_1(finalOptions, defaultOptions, options);\n plugin.options = finalOptions;\n directive.options = finalOptions;\n Vue.directive('tooltip', directive);\n Vue.directive('close-popover', vclosepopover);\n Vue.component('v-popover', __vue_component__);\n}\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = __vue_component__;\nvar plugin = {\n install: install,\n\n get enabled() {\n return state.enabled;\n },\n\n set enabled(value) {\n state.enabled = value;\n }\n\n}; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (plugin);\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js?"); - -/***/ }), - -/***/ "./node_modules/vue-async-computed/dist/vue-async-computed.esm.js": -/*!************************************************************************!*\ - !*** ./node_modules/vue-async-computed/dist/vue-async-computed.esm.js ***! - \************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\nfunction setAsyncState(vm, stateObject, state) {\n vm.$set(vm.$data._asyncComputed[stateObject], 'state', state);\n vm.$set(vm.$data._asyncComputed[stateObject], 'updating', state === 'updating');\n vm.$set(vm.$data._asyncComputed[stateObject], 'error', state === 'error');\n vm.$set(vm.$data._asyncComputed[stateObject], 'success', state === 'success');\n}\n\nfunction getterOnly(fn) {\n if (typeof fn === 'function') return fn;\n\n return fn.get;\n}\n\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nfunction isComputedLazy(item) {\n return hasOwnProperty(item, 'lazy') && item.lazy;\n}\n\nfunction isLazyActive(vm, key) {\n return vm[lazyActivePrefix + key];\n}\n\nvar lazyActivePrefix = 'async_computed$lazy_active$',\n lazyDataPrefix = 'async_computed$lazy_data$';\n\nfunction initLazy(data, key) {\n data[lazyActivePrefix + key] = false;\n data[lazyDataPrefix + key] = null;\n}\n\nfunction makeLazyComputed(key) {\n return {\n get: function get() {\n this[lazyActivePrefix + key] = true;\n return this[lazyDataPrefix + key];\n },\n set: function set(value) {\n this[lazyDataPrefix + key] = value;\n }\n };\n}\n\nfunction silentSetLazy(vm, key, value) {\n vm[lazyDataPrefix + key] = value;\n}\nfunction silentGetLazy(vm, key) {\n return vm[lazyDataPrefix + key];\n}\n\nvar getGetterWatchedByArray = function getGetterWatchedByArray(computedAsyncProperty) {\n return function getter() {\n var _this = this;\n\n computedAsyncProperty.watch.forEach(function (key) {\n // Check if nested key is watched.\n var splittedByDot = key.split('.');\n if (splittedByDot.length === 1) {\n // If not, just access it.\n // eslint-disable-next-line no-unused-expressions\n _this[key];\n } else {\n // Access the nested propety.\n try {\n var start = _this;\n splittedByDot.forEach(function (part) {\n start = start[part];\n });\n } catch (error) {\n console.error('AsyncComputed: bad path: ', key);\n throw error;\n }\n }\n });\n return computedAsyncProperty.get.call(this);\n };\n};\n\nvar getGetterWatchedByFunction = function getGetterWatchedByFunction(computedAsyncProperty) {\n return function getter() {\n computedAsyncProperty.watch.call(this);\n return computedAsyncProperty.get.call(this);\n };\n};\n\nfunction getWatchedGetter(computedAsyncProperty) {\n if (typeof computedAsyncProperty.watch === 'function') {\n return getGetterWatchedByFunction(computedAsyncProperty);\n } else if (Array.isArray(computedAsyncProperty.watch)) {\n computedAsyncProperty.watch.forEach(function (key) {\n if (typeof key !== 'string') {\n throw new Error('AsyncComputed: watch elemnts must be strings');\n }\n });\n return getGetterWatchedByArray(computedAsyncProperty);\n } else {\n throw Error('AsyncComputed: watch should be function or an array');\n }\n}\n\nvar DidNotUpdate = typeof Symbol === 'function' ? Symbol('did-not-update') : {};\n\nvar getGetterWithShouldUpdate = function getGetterWithShouldUpdate(asyncProprety, currentGetter) {\n return function getter() {\n return asyncProprety.shouldUpdate.call(this) ? currentGetter.call(this) : DidNotUpdate;\n };\n};\n\nvar shouldNotUpdate = function shouldNotUpdate(value) {\n return DidNotUpdate === value;\n};\n\nvar prefix = '_async_computed$';\n\nvar AsyncComputed = {\n install: function install(Vue, pluginOptions) {\n pluginOptions = pluginOptions || {};\n\n Vue.config.optionMergeStrategies.asyncComputed = Vue.config.optionMergeStrategies.computed;\n\n Vue.mixin({\n data: function data() {\n return {\n _asyncComputed: {}\n };\n },\n\n computed: {\n $asyncComputed: function $asyncComputed() {\n return this.$data._asyncComputed;\n }\n },\n beforeCreate: function beforeCreate() {\n var asyncComputed = this.$options.asyncComputed || {};\n\n if (!Object.keys(asyncComputed).length) return;\n\n for (var key in asyncComputed) {\n var getter = getterFn(key, asyncComputed[key]);\n this.$options.computed[prefix + key] = getter;\n }\n\n this.$options.data = initDataWithAsyncComputed(this.$options);\n },\n created: function created() {\n for (var key in this.$options.asyncComputed || {}) {\n var item = this.$options.asyncComputed[key],\n value = generateDefault.call(this, item, pluginOptions);\n if (isComputedLazy(item)) {\n silentSetLazy(this, key, value);\n } else {\n this[key] = value;\n }\n }\n\n for (var _key in this.$options.asyncComputed || {}) {\n handleAsyncComputedPropetyChanges(this, _key, pluginOptions, Vue);\n }\n }\n });\n }\n};\n\nfunction handleAsyncComputedPropetyChanges(vm, key, pluginOptions, Vue) {\n var promiseId = 0;\n var watcher = function watcher(newPromise) {\n var thisPromise = ++promiseId;\n\n if (shouldNotUpdate(newPromise)) return;\n\n if (!newPromise || !newPromise.then) {\n newPromise = Promise.resolve(newPromise);\n }\n setAsyncState(vm, key, 'updating');\n\n newPromise.then(function (value) {\n if (thisPromise !== promiseId) return;\n setAsyncState(vm, key, 'success');\n vm[key] = value;\n }).catch(function (err) {\n if (thisPromise !== promiseId) return;\n\n setAsyncState(vm, key, 'error');\n Vue.set(vm.$data._asyncComputed[key], 'exception', err);\n if (pluginOptions.errorHandler === false) return;\n\n var handler = pluginOptions.errorHandler === undefined ? console.error.bind(console, 'Error evaluating async computed property:') : pluginOptions.errorHandler;\n\n if (pluginOptions.useRawError) {\n handler(err, vm, err.stack);\n } else {\n handler(err.stack);\n }\n });\n };\n Vue.set(vm.$data._asyncComputed, key, {\n exception: null,\n update: function update() {\n if (!vm._isDestroyed) {\n watcher(getterOnly(vm.$options.asyncComputed[key]).apply(vm));\n }\n }\n });\n setAsyncState(vm, key, 'updating');\n vm.$watch(prefix + key, watcher, { immediate: true });\n}\n\nfunction initDataWithAsyncComputed(options) {\n var optionData = options.data;\n var asyncComputed = options.asyncComputed || {};\n\n return function vueAsyncComputedInjectedDataFn(vm) {\n var data = (typeof optionData === 'function' ? optionData.call(this, vm) : optionData) || {};\n for (var key in asyncComputed) {\n var item = this.$options.asyncComputed[key];\n if (isComputedLazy(item)) {\n initLazy(data, key);\n this.$options.computed[key] = makeLazyComputed(key);\n } else {\n data[key] = null;\n }\n }\n return data;\n };\n}\n\nfunction getterFn(key, fn) {\n if (typeof fn === 'function') return fn;\n\n var getter = fn.get;\n\n if (hasOwnProperty(fn, 'watch')) {\n getter = getWatchedGetter(fn);\n }\n\n if (hasOwnProperty(fn, 'shouldUpdate')) {\n getter = getGetterWithShouldUpdate(fn, getter);\n }\n\n if (isComputedLazy(fn)) {\n var nonLazy = getter;\n getter = function lazyGetter() {\n if (isLazyActive(this, key)) {\n return nonLazy.call(this);\n } else {\n return silentGetLazy(this, key);\n }\n };\n }\n return getter;\n}\n\nfunction generateDefault(fn, pluginOptions) {\n var defaultValue = null;\n\n if ('default' in fn) {\n defaultValue = fn.default;\n } else if ('default' in pluginOptions) {\n defaultValue = pluginOptions.default;\n }\n\n if (typeof defaultValue === 'function') {\n return defaultValue.call(this);\n } else {\n return defaultValue;\n }\n}\n\n/* istanbul ignore if */\nif (typeof window !== 'undefined' && window.Vue) {\n // Auto install in dist mode\n window.Vue.use(AsyncComputed);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (AsyncComputed);\n\n\n//# sourceURL=webpack:///./node_modules/vue-async-computed/dist/vue-async-computed.esm.js?"); - -/***/ }), - -/***/ "./node_modules/vue-cookies/vue-cookies.js": -/*!*************************************************!*\ - !*** ./node_modules/vue-cookies/vue-cookies.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/**\r\n * Vue Cookies v1.7.0\r\n * https://github.com/cmp-cc/vue-cookies\r\n *\r\n * Copyright 2016, cmp-cc\r\n * Released under the MIT license\r\n */\r\n\r\n(function() {\r\n\r\n var defaultConfig = {\r\n expires : '1d',\r\n path : '; path=/',\r\n domain:'',\r\n secure:'',\r\n sameSite:''\r\n }\r\n\r\n var VueCookies = {\r\n // install of Vue\r\n install: function(Vue) {\r\n Vue.prototype.$cookies = this\r\n Vue.$cookies = this\r\n },\r\n config : function(expireTimes,path,domain,secure,sameSite) {\r\n defaultConfig.expires = expireTimes ? expireTimes : '1d';\r\n defaultConfig.path = path ? '; path=' + path : '; path=/';\r\n defaultConfig.domain = domain ? '; domain=' + domain : '';\r\n defaultConfig.secure = secure ? '; Secure' : '';\r\n defaultConfig.sameSite = sameSite ? '; SameSite=' + sameSite : '';\r\n },\r\n get: function(key) {\r\n var value = decodeURIComponent(document.cookie.replace(new RegExp(\"(?:(?:^|.*;)\\\\s*\" + encodeURIComponent(key).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$\"), \"$1\")) || null\r\n\r\n if(value && value.substring(0,1) === \"{\" && value.substring(value.length-1,value.length) === \"}\") {\r\n try {\r\n value = JSON.parse(value)\r\n }catch (e) {\r\n return value;\r\n }\r\n }\r\n return value;\r\n },\r\n set: function(key, value, expireTimes, path, domain, secure, sameSite) {\r\n if (!key) {\r\n throw new Error(\"Cookie name is not find in first argument.\")\r\n }else if(/^(?:expires|max\\-age|path|domain|secure|SameSite)$/i.test(key)){\r\n throw new Error(\"Cookie key name illegality, Cannot be set to ['expires','max-age','path','domain','secure','SameSite']\\t current key name: \" + key);\r\n }\r\n // support json object\r\n if(value && value.constructor === Object) {\r\n value = JSON.stringify(value);\r\n }\r\n var _expires = \"\";\r\n expireTimes = expireTimes === undefined ? defaultConfig.expires : expireTimes;\r\n if (expireTimes && expireTimes != 0) {\r\n switch (expireTimes.constructor) {\r\n case Number:\r\n if(expireTimes === Infinity || expireTimes === -1) _expires = \"; expires=Fri, 31 Dec 9999 23:59:59 GMT\";\r\n else _expires = \"; max-age=\" + expireTimes;\r\n break;\r\n case String:\r\n if (/^(?:\\d{1,}(y|m|d|h|min|s))$/i.test(expireTimes)) {\r\n // get capture number group\r\n var _expireTime = expireTimes.replace(/^(\\d{1,})(?:y|m|d|h|min|s)$/i, \"$1\");\r\n // get capture type group , to lower case\r\n switch (expireTimes.replace(/^(?:\\d{1,})(y|m|d|h|min|s)$/i, \"$1\").toLowerCase()) {\r\n // Frequency sorting\r\n case 'm': _expires = \"; max-age=\" + +_expireTime * 2592000; break; // 60 * 60 * 24 * 30\r\n case 'd': _expires = \"; max-age=\" + +_expireTime * 86400; break; // 60 * 60 * 24\r\n case 'h': _expires = \"; max-age=\" + +_expireTime * 3600; break; // 60 * 60\r\n case 'min': _expires = \"; max-age=\" + +_expireTime * 60; break; // 60\r\n case 's': _expires = \"; max-age=\" + _expireTime; break;\r\n case 'y': _expires = \"; max-age=\" + +_expireTime * 31104000; break; // 60 * 60 * 24 * 30 * 12\r\n default: new Error(\"unknown exception of 'set operation'\");\r\n }\r\n } else {\r\n _expires = \"; expires=\" + expireTimes;\r\n }\r\n break;\r\n case Date:\r\n _expires = \"; expires=\" + expireTimes.toUTCString();\r\n break;\r\n }\r\n }\r\n document.cookie =\r\n encodeURIComponent(key) + \"=\" + encodeURIComponent(value) +\r\n _expires +\r\n (domain ? \"; domain=\" + domain : defaultConfig.domain) +\r\n (path ? \"; path=\" + path : defaultConfig.path) +\r\n (secure === undefined ? defaultConfig.secure : secure ? \"; Secure\" : \"\") +\r\n (sameSite === undefined ? defaultConfig.sameSite : (sameSite ? \"; SameSite=\" + sameSite : \"\"));\r\n return this;\r\n },\r\n remove: function(key, path, domain) {\r\n if (!key || !this.isKey(key)) {\r\n return false;\r\n }\r\n document.cookie = encodeURIComponent(key) + \"=; expires=Thu, 01 Jan 1970 00:00:00 GMT\" + (domain ? \"; domain=\" + domain : defaultConfig.domain) + (path ? \"; path=\" + path : defaultConfig.path);\r\n return this;\r\n },\r\n isKey: function(key) {\r\n return (new RegExp(\"(?:^|;\\\\s*)\" + encodeURIComponent(key).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\")).test(document.cookie);\r\n },\r\n keys: function() {\r\n if(!document.cookie) return [];\r\n var _keys = document.cookie.replace(/((?:^|\\s*;)[^\\=]+)(?=;|$)|^\\s*|\\s*(?:\\=[^;]*)?(?:\\1|$)/g, \"\").split(/\\s*(?:\\=[^;]*)?;\\s*/);\r\n for (var _index = 0; _index < _keys.length; _index++) {\r\n _keys[_index] = decodeURIComponent(_keys[_index]);\r\n }\r\n return _keys;\r\n }\r\n }\r\n\r\n if (true) {\r\n module.exports = VueCookies;\r\n } else {}\r\n // vue-cookies can exist independently,no dependencies library\r\n if(typeof window!==\"undefined\"){\r\n window.$cookies = VueCookies;\r\n }\r\n\r\n})()\r\n\n\n//# sourceURL=webpack:///./node_modules/vue-cookies/vue-cookies.js?"); - -/***/ }), - -/***/ "./node_modules/vue-good-table/dist/vue-good-table.esm.js": -/*!****************************************************************!*\ - !*** ./node_modules/vue-good-table/dist/vue-good-table.esm.js ***! - \****************************************************************/ -/*! exports provided: default, VueGoodTable */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VueGoodTable\", function() { return __vue_component__$7; });\n/**\n * vue-good-table v2.19.1\n * (c) 2018-present xaksis \n * https://github.com/xaksis/vue-good-table\n * Released under the MIT License.\n */\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _createForOfIteratorHelper(o) {\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) {\n var i = 0;\n\n var F = function () {};\n\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var it,\n normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = o[Symbol.iterator]();\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\n/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _([1, 2]).forEach(function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, typeof iteratee == 'function' ? iteratee : identity);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nvar lodash_foreach = forEach;\n\n/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER$1 = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag$1 = '[object Arguments]',\n funcTag$1 = '[object Function]',\n genTag$1 = '[object GeneratorFunction]';\n\n/** Used to detect unsigned integer values. */\nvar reIsUint$1 = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes$1(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg$1(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar objectProto$1 = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty$1 = objectProto$1.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString$1 = objectProto$1.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable$1 = objectProto$1.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys$1 = overArg$1(Object.keys, Object),\n nativeMax = Math.max;\n\n/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */\nvar nonEnumShadows = !propertyIsEnumerable$1.call({ 'valueOf': 1 }, 'valueOf');\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys$1(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray$1(value) || isArguments$1(value))\n ? baseTimes$1(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty$1.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex$1(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty$1.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys$1(object) {\n if (!isPrototype$1(object)) {\n return nativeKeys$1(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty$1.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex$1(value, length) {\n length = length == null ? MAX_SAFE_INTEGER$1 : length;\n return !!length &&\n (typeof value == 'number' || reIsUint$1.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject$1(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike$1(object) && isIndex$1(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype$1(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto$1;\n\n return value === proto;\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments$1(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject$1(value) && hasOwnProperty$1.call(value, 'callee') &&\n (!propertyIsEnumerable$1.call(value, 'callee') || objectToString$1.call(value) == argsTag$1);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray$1 = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike$1(value) {\n return value != null && isLength$1(value.length) && !isFunction$1(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject$1(value) {\n return isObjectLike$1(value) && isArrayLike$1(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction$1(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject$1(value) ? objectToString$1.call(value) : '';\n return tag == funcTag$1 || tag == genTag$1;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength$1(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject$1(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike$1(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (nonEnumShadows || isPrototype$1(source) || isArrayLike$1(source)) {\n copyObject(source, keys$1(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty$1.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys$1(object) {\n return isArrayLike$1(object) ? arrayLikeKeys$1(object) : baseKeys$1(object);\n}\n\nvar lodash_assign = assign;\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar lodash_clonedeep = createCommonjsModule(function (module, exports) {\n/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = cloneDeep;\n});\n\nvar lodash_filter = createCommonjsModule(function (module, exports) {\n/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array ? array.length : 0,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n */\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate));\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = filter;\n});\n\nvar lodash_isequal = createCommonjsModule(function (module, exports) {\n/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n});\n\n// all diacritics\r\nvar diacritics = \r\n\t{\r\n\t\t'a' : ['a','à','á','â','ã','ä','å','æ','ā','ă','ą','ǎ','ǟ','ǡ','ǻ','ȁ','ȃ','ȧ','ɐ','ɑ','ɒ','ͣ','а','ӑ','ӓ','ᵃ','ᵄ','ᶏ','ḁ','ẚ','ạ','ả','ấ','ầ','ẩ','ẫ','ậ','ắ','ằ','ẳ','ẵ','ặ','ₐ','ⱥ','a'],\r\n\t\t'A' : ['A','À','Á','Â','Ã','Ä','Å','Ā','Ă','Ą','Ǎ','Ǟ','Ǡ','Ǻ','Ȁ','Ȃ','Ȧ','Ⱥ','А','Ӑ','Ӓ','ᴀ','ᴬ','Ḁ','Ạ','Ả','Ấ','Ầ','Ẩ','Ẫ','Ậ','Ắ','Ằ','Ẳ','Ẵ','Ặ','A'],\r\n\t\t \r\n\t\t'b' : ['b','ƀ','ƃ','ɓ','ᖯ','ᵇ','ᵬ','ᶀ','ḃ','ḅ','ḇ','b'],\r\n\t\t'B' : ['B','Ɓ','Ƃ','Ƀ','ʙ','ᛒ','ᴃ','ᴮ','ᴯ','Ḃ','Ḅ','Ḇ','B'],\r\n\t\t \r\n\t\t'c' : ['c','ç','ć','ĉ','ċ','č','ƈ','ȼ','ɕ','ͨ','ᴄ','ᶜ','ḉ','ↄ','c'],\r\n\t\t'C' : ['C','Ç','Ć','Ĉ','Ċ','Č','Ƈ','Ȼ','ʗ','Ḉ','C'],\r\n\t\t\r\n\t\t'd' : ['d','ď','đ','Ƌ','ƌ','ȡ','ɖ','ɗ','ͩ','ᵈ','ᵭ','ᶁ','ᶑ','ḋ','ḍ','ḏ','ḑ','ḓ','d'],\r\n\t\t'D' : ['D','Ď','Đ','Ɖ','Ɗ','ᴰ','Ḋ','Ḍ','Ḏ','Ḑ','Ḓ','D'],\r\n\t\t\r\n\t\t'e' : ['e','è','é','ê','ë','ē','ĕ','ė','ę','ě','ǝ','ȅ','ȇ','ȩ','ɇ','ɘ','ͤ','ᵉ','ᶒ','ḕ','ḗ','ḙ','ḛ','ḝ','ẹ','ẻ','ẽ','ế','ề','ể','ễ','ệ','ₑ','e'],\r\n\t\t'E' : ['E','È','É','Ê','Ë','Ē','Ĕ','Ė','Ę','Ě','Œ','Ǝ','Ɛ','Ȅ','Ȇ','Ȩ','Ɇ','ɛ','ɜ','ɶ','Є','Э','э','є','Ӭ','ӭ','ᴇ','ᴈ','ᴱ','ᴲ','ᵋ','ᵌ','ᶓ','ᶔ','ᶟ','Ḕ','Ḗ','Ḙ','Ḛ','Ḝ','Ẹ','Ẻ','Ẽ','Ế','Ề','Ể','Ễ','Ệ','E','𐐁','𐐩'],\r\n\t\t\r\n\t\t'f' : ['f','ƒ','ᵮ','ᶂ','ᶠ','ḟ','f'],\r\n\t\t'F' : ['F','Ƒ','Ḟ','ⅎ','F'],\r\n\t\t\r\n\t\t'g' : ['g','ĝ','ğ','ġ','ģ','ǥ','ǧ','ǵ','ɠ','ɡ','ᵍ','ᵷ','ᵹ','ᶃ','ᶢ','ḡ','g'],\r\n\t\t'G' : ['G','Ĝ','Ğ','Ġ','Ģ','Ɠ','Ǥ','Ǧ','Ǵ','ɢ','ʛ','ᴳ','Ḡ','G'],\r\n\t\t\r\n\t\t'h' : ['h','ĥ','ħ','ƕ','ȟ','ɥ','ɦ','ʮ','ʯ','ʰ','ʱ','ͪ','Һ','һ','ᑋ','ᶣ','ḣ','ḥ','ḧ','ḩ','ḫ','ⱨ','h'],\r\n\t\t'H' : ['H','Ĥ','Ħ','Ȟ','ʜ','ᕼ','ᚺ','ᚻ','ᴴ','Ḣ','Ḥ','Ḧ','Ḩ','Ḫ','Ⱨ','H'],\r\n\t\t\r\n\t\t'i' : ['i','ì','í','î','ï','ĩ','ī','ĭ','į','ǐ','ȉ','ȋ','ɨ','ͥ','ᴉ','ᵎ','ᵢ','ᶖ','ᶤ','ḭ','ḯ','ỉ','ị','i'],\r\n\t\t'I' : ['I','Ì','Í','Î','Ï','Ĩ','Ī','Ĭ','Į','İ','Ǐ','Ȉ','Ȋ','ɪ','І','ᴵ','ᵻ','ᶦ','ᶧ','Ḭ','Ḯ','Ỉ','Ị','I'],\r\n\t\t\r\n\t\t'j' : ['j','ĵ','ǰ','ɉ','ʝ','ʲ','ᶡ','ᶨ','j'],\r\n\t\t'J' : ['J','Ĵ','ᴊ','ᴶ','J'],\r\n\t\t\r\n\t\t'k' : ['k','ķ','ƙ','ǩ','ʞ','ᵏ','ᶄ','ḱ','ḳ','ḵ','ⱪ','k'],\r\n\t\t'K' : ['K','Ķ','Ƙ','Ǩ','ᴷ','Ḱ','Ḳ','Ḵ','Ⱪ','K'],\r\n\t\t\r\n\t\t'l' : ['l','ĺ','ļ','ľ','ŀ','ł','ƚ','ȴ','ɫ','ɬ','ɭ','ˡ','ᶅ','ᶩ','ᶪ','ḷ','ḹ','ḻ','ḽ','ℓ','ⱡ'],\r\n\t\t'L' : ['L','Ĺ','Ļ','Ľ','Ŀ','Ł','Ƚ','ʟ','ᴌ','ᴸ','ᶫ','Ḷ','Ḹ','Ḻ','Ḽ','Ⱡ','Ɫ'],\r\n\t\t\r\n\t\t'm' : ['m','ɯ','ɰ','ɱ','ͫ','ᴟ','ᵐ','ᵚ','ᵯ','ᶆ','ᶬ','ᶭ','ḿ','ṁ','ṃ','㎡','㎥','m'],\r\n\t\t'M' : ['M','Ɯ','ᴍ','ᴹ','Ḿ','Ṁ','Ṃ','M'],\r\n\t\t\r\n\t\t'n' : ['n','ñ','ń','ņ','ň','ʼn','ƞ','ǹ','ȵ','ɲ','ɳ','ᵰ','ᶇ','ᶮ','ᶯ','ṅ','ṇ','ṉ','ṋ','ⁿ','n'],\r\n\t\t'N' : ['N','Ñ','Ń','Ņ','Ň','Ɲ','Ǹ','Ƞ','ɴ','ᴎ','ᴺ','ᴻ','ᶰ','Ṅ','Ṇ','Ṉ','Ṋ','N'],\r\n\t\t\r\n\t\t'o' : ['o','ò','ó','ô','õ','ö','ø','ō','ŏ','ő','ơ','ǒ','ǫ','ǭ','ǿ','ȍ','ȏ','ȫ','ȭ','ȯ','ȱ','ɵ','ͦ','о','ӧ','ө','ᴏ','ᴑ','ᴓ','ᴼ','ᵒ','ᶱ','ṍ','ṏ','ṑ','ṓ','ọ','ỏ','ố','ồ','ổ','ỗ','ộ','ớ','ờ','ở','ỡ','ợ','ₒ','o','𐐬'],\r\n\t\t'O' : ['O','Ò','Ó','Ô','Õ','Ö','Ø','Ō','Ŏ','Ő','Ɵ','Ơ','Ǒ','Ǫ','Ǭ','Ǿ','Ȍ','Ȏ','Ȫ','Ȭ','Ȯ','Ȱ','О','Ӧ','Ө','Ṍ','Ṏ','Ṑ','Ṓ','Ọ','Ỏ','Ố','Ồ','Ổ','Ỗ','Ộ','Ớ','Ờ','Ở','Ỡ','Ợ','O','𐐄'],\r\n\t\t\r\n\t\t'p' : ['p','ᵖ','ᵱ','ᵽ','ᶈ','ṕ','ṗ','p'],\r\n\t\t'P' : ['P','Ƥ','ᴘ','ᴾ','Ṕ','Ṗ','Ᵽ','P'],\r\n\t\t\r\n\t\t'q' : ['q','ɋ','ʠ','ᛩ','q'],\r\n\t\t'Q' : ['Q','Ɋ','Q'],\r\n\t\t\r\n\t\t'r' : ['r','ŕ','ŗ','ř','ȑ','ȓ','ɍ','ɹ','ɻ','ʳ','ʴ','ʵ','ͬ','ᵣ','ᵲ','ᶉ','ṙ','ṛ','ṝ','ṟ'],\r\n\t\t'R' : ['R','Ŕ','Ŗ','Ř','Ʀ','Ȑ','Ȓ','Ɍ','ʀ','ʁ','ʶ','ᚱ','ᴙ','ᴚ','ᴿ','Ṙ','Ṛ','Ṝ','Ṟ','Ɽ'],\r\n\t\t\r\n\t\t's' : ['s','ś','ŝ','ş','š','ș','ʂ','ᔆ','ᶊ','ṡ','ṣ','ṥ','ṧ','ṩ','s'],\r\n\t\t'S' : ['S','Ś','Ŝ','Ş','Š','Ș','ȿ','ˢ','ᵴ','Ṡ','Ṣ','Ṥ','Ṧ','Ṩ','S'],\r\n\t\t\r\n\t\t't' : ['t','ţ','ť','ŧ','ƫ','ƭ','ț','ʇ','ͭ','ᵀ','ᵗ','ᵵ','ᶵ','ṫ','ṭ','ṯ','ṱ','ẗ','t'],\r\n\t\t'T' : ['T','Ţ','Ť','Ƭ','Ʈ','Ț','Ⱦ','ᴛ','ᵀ','Ṫ','Ṭ','Ṯ','Ṱ','T'],\r\n\t \t\r\n\t\t'u' : ['u','ù','ú','û','ü','ũ','ū','ŭ','ů','ű','ų','ư','ǔ','ǖ','ǘ','ǚ','ǜ','ȕ','ȗ','ͧ','ߎ','ᵘ','ᵤ','ṳ','ṵ','ṷ','ṹ','ṻ','ụ','ủ','ứ','ừ','ử','ữ','ự','u'],\r\n\t\t'U' : ['U','Ù','Ú','Û','Ü','Ũ','Ū','Ŭ','Ů','Ű','Ų','Ư','Ǔ','Ǖ','Ǘ','Ǚ','Ǜ','Ȕ','Ȗ','Ʉ','ᴜ','ᵁ','ᵾ','Ṳ','Ṵ','Ṷ','Ṹ','Ṻ','Ụ','Ủ','Ứ','Ừ','Ử','Ữ','Ự','U'],\r\n\t\t\r\n\t\t'v' : ['v','ʋ','ͮ','ᵛ','ᵥ','ᶹ','ṽ','ṿ','ⱱ','v','ⱴ'],\r\n\t\t'V' : ['V','Ʋ','Ʌ','ʌ','ᴠ','ᶌ','Ṽ','Ṿ','V'],\r\n\t\t\r\n\t\t'w' : ['w','ŵ','ʷ','ᵂ','ẁ','ẃ','ẅ','ẇ','ẉ','ẘ','ⱳ','w'],\r\n\t\t'W' : ['W','Ŵ','ʍ','ᴡ','Ẁ','Ẃ','Ẅ','Ẇ','Ẉ','Ⱳ','W'],\r\n\t\t\r\n\t\t'x' : ['x','̽','͓','ᶍ','ͯ','ẋ','ẍ','ₓ','x'],\r\n\t\t'X' : ['X','ˣ','ͯ','Ẋ','Ẍ','☒','✕','✖','✗','✘','X'],\r\n\t\t\r\n\t\t'y' : ['y','ý','ÿ','ŷ','ȳ','ɏ','ʸ','ẏ','ỳ','ỵ','ỷ','ỹ','y'],\r\n\t\t'Y' : ['Y','Ý','Ŷ','Ÿ','Ƴ','ƴ','Ȳ','Ɏ','ʎ','ʏ','Ẏ','Ỳ','Ỵ','Ỷ','Ỹ','Y'],\r\n\t\t\r\n\t\t'z' : ['z','ź','ż','ž','ƶ','ȥ','ɀ','ʐ','ʑ','ᙆ','ᙇ','ᶻ','ᶼ','ᶽ','ẑ','ẓ','ẕ','ⱬ','z'],\r\n\t\t'Z' : ['Z','Ź','Ż','Ž','Ƶ','Ȥ','ᴢ','ᵶ','Ẑ','Ẓ','Ẕ','Ⱬ','Z']\r\n\t};\r\n\r\n/*\r\n * Main function of the module which removes all diacritics from the received text\r\n */\r\nvar diacriticless = function (text) {\r\n var result = [];\r\n\r\n\t// iterate over all the characters of the received text\r\n for(var i=0; i 2 && arguments[2] !== undefined ? arguments[2] : false;\n var fromDropdown = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n // take care of nulls\n if (typeof rowval === 'undefined' || rowval === null) {\n return false;\n } // row value\n\n\n var rowValue = skipDiacritics ? String(rowval).toLowerCase() : diacriticless(escapeRegExp(String(rowval)).toLowerCase()); // search term\n\n var searchTerm = skipDiacritics ? filter.toLowerCase() : diacriticless(escapeRegExp(filter).toLowerCase()); // comparison\n\n return fromDropdown ? rowValue === searchTerm : rowValue.indexOf(searchTerm) > -1;\n },\n compare: function compare(x, y) {\n function cook(d) {\n if (typeof d === 'undefined' || d === null) return '';\n return diacriticless(d.toLowerCase());\n }\n\n x = cook(x);\n y = cook(y);\n if (x < y) return -1;\n if (x > y) return 1;\n return 0;\n }\n};\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script = {\n name: 'VgtPaginationPageInfo',\n props: {\n currentPage: {\n \"default\": 1\n },\n lastPage: {\n \"default\": 1\n },\n totalRecords: {\n \"default\": 0\n },\n ofText: {\n \"default\": 'of',\n type: String\n },\n pageText: {\n \"default\": 'page',\n type: String\n }\n },\n data: function data() {\n return {};\n },\n computed: {\n pageInfo: function pageInfo() {\n return \"\".concat(this.ofText, \" \").concat(this.lastPage);\n }\n },\n methods: {\n changePage: function changePage(event) {\n var value = parseInt(event.target.value, 10); //! invalid number\n\n if (Number.isNaN(value) || value > this.lastPage || value < 1) {\n event.target.value = this.currentPage;\n return false;\n } //* valid number\n\n\n event.target.value = value;\n this.$emit('page-changed', value);\n }\n },\n mounted: function mounted() {},\n components: {}\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n staticClass: \"footer__navigation__page-info\"\n }, [_vm._v(\"\\n \" + _vm._s(_vm.pageText) + \" \"), _c('input', {\n staticClass: \"footer__navigation__page-info__current-entry\",\n attrs: {\n \"type\": \"text\"\n },\n domProps: {\n \"value\": _vm.currentPage\n },\n on: {\n \"keyup\": function keyup($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }\n\n $event.stopPropagation();\n return _vm.changePage($event);\n }\n }\n }), _vm._v(\" \" + _vm._s(_vm.pageInfo) + \"\\n\")]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = \"data-v-9a8cd1f4\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\n//\nvar DEFAULT_ROWS_PER_PAGE_DROPDOWN = [10, 20, 30, 40, 50];\nvar script$1 = {\n name: 'VgtPagination',\n props: {\n styleClass: {\n \"default\": 'table table-bordered'\n },\n total: {\n \"default\": null\n },\n perPage: {},\n rtl: {\n \"default\": false\n },\n customRowsPerPageDropdown: {\n \"default\": function _default() {\n return [];\n }\n },\n paginateDropdownAllowAll: {\n \"default\": true\n },\n mode: {\n \"default\": 'records'\n },\n // text options\n nextText: {\n \"default\": 'Next'\n },\n prevText: {\n \"default\": 'Prev'\n },\n rowsPerPageText: {\n \"default\": 'Rows per page:'\n },\n ofText: {\n \"default\": 'of'\n },\n pageText: {\n \"default\": 'page'\n },\n allText: {\n \"default\": 'All'\n }\n },\n data: function data() {\n return {\n currentPage: 1,\n prevPage: 0,\n currentPerPage: 10,\n rowsPerPageOptions: []\n };\n },\n watch: {\n perPage: {\n handler: function handler(newValue, oldValue) {\n this.handlePerPage();\n this.perPageChanged(oldValue);\n },\n immediate: true\n },\n customRowsPerPageDropdown: function customRowsPerPageDropdown() {\n this.handlePerPage();\n }\n },\n computed: {\n // Number of pages\n pagesCount: function pagesCount() {\n var quotient = Math.floor(this.total / this.currentPerPage);\n var remainder = this.total % this.currentPerPage;\n return remainder === 0 ? quotient : quotient + 1;\n },\n // Current displayed items\n paginatedInfo: function paginatedInfo() {\n var first = (this.currentPage - 1) * this.currentPerPage + 1;\n var last = Math.min(this.total, this.currentPage * this.currentPerPage);\n\n if (last === 0) {\n first = 0;\n }\n\n return \"\".concat(first, \" - \").concat(last, \" \").concat(this.ofText, \" \").concat(this.total);\n },\n // Can go to next page\n nextIsPossible: function nextIsPossible() {\n return this.currentPage < this.pagesCount;\n },\n // Can go to previous page\n prevIsPossible: function prevIsPossible() {\n return this.currentPage > 1;\n }\n },\n methods: {\n // Change current page\n changePage: function changePage(pageNumber) {\n var emit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (pageNumber > 0 && this.total > this.currentPerPage * (pageNumber - 1)) {\n this.prevPage = this.currentPage;\n this.currentPage = pageNumber;\n if (emit) this.pageChanged();\n }\n },\n // Go to next page\n nextPage: function nextPage() {\n if (this.nextIsPossible) {\n this.prevPage = this.currentPage;\n ++this.currentPage;\n this.pageChanged();\n }\n },\n // Go to previous page\n previousPage: function previousPage() {\n if (this.prevIsPossible) {\n this.prevPage = this.currentPage;\n --this.currentPage;\n this.pageChanged();\n }\n },\n // Indicate page changing\n pageChanged: function pageChanged() {\n this.$emit('page-changed', {\n currentPage: this.currentPage,\n prevPage: this.prevPage\n });\n },\n // Indicate per page changing\n perPageChanged: function perPageChanged(oldValue) {\n // go back to first page\n if (oldValue) {\n //* only emit if this isn't first initialization\n this.$emit('per-page-changed', {\n currentPerPage: this.currentPerPage\n });\n }\n\n this.changePage(1, false);\n },\n // Handle per page changing\n handlePerPage: function handlePerPage() {\n //* if there's a custom dropdown then we use that\n if (this.customRowsPerPageDropdown !== null && Array.isArray(this.customRowsPerPageDropdown) && this.customRowsPerPageDropdown.length !== 0) {\n this.rowsPerPageOptions = lodash_clonedeep(this.customRowsPerPageDropdown);\n } else {\n //* otherwise we use the default rows per page dropdown\n this.rowsPerPageOptions = lodash_clonedeep(DEFAULT_ROWS_PER_PAGE_DROPDOWN);\n }\n\n if (this.perPage) {\n this.currentPerPage = this.perPage; // if perPage doesn't already exist, we add it\n\n var found = false;\n\n for (var i = 0; i < this.rowsPerPageOptions.length; i++) {\n if (this.rowsPerPageOptions[i] === this.perPage) {\n found = true;\n }\n }\n\n if (!found && this.perPage !== -1) {\n this.rowsPerPageOptions.unshift(this.perPage);\n }\n } else {\n // reset to default\n this.currentPerPage = 10;\n }\n }\n },\n mounted: function mounted() {},\n components: {\n 'pagination-page-info': __vue_component__\n }\n};\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n staticClass: \"vgt-wrap__footer vgt-clearfix\"\n }, [_c('div', {\n staticClass: \"footer__row-count vgt-pull-left\"\n }, [_c('span', {\n staticClass: \"footer__row-count__label\"\n }, [_vm._v(_vm._s(_vm.rowsPerPageText))]), _vm._v(\" \"), _c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.currentPerPage,\n expression: \"currentPerPage\"\n }],\n staticClass: \"footer__row-count__select\",\n attrs: {\n \"autocomplete\": \"off\",\n \"name\": \"perPageSelect\"\n },\n on: {\n \"change\": [function ($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) {\n return o.selected;\n }).map(function (o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val;\n });\n _vm.currentPerPage = $event.target.multiple ? $$selectedVal : $$selectedVal[0];\n }, _vm.perPageChanged]\n }\n }, [_vm._l(_vm.rowsPerPageOptions, function (option, idx) {\n return _c('option', {\n key: 'rows-dropdown-option-' + idx,\n domProps: {\n \"value\": option\n }\n }, [_vm._v(\"\\n \" + _vm._s(option) + \"\\n \")]);\n }), _vm._v(\" \"), _vm.paginateDropdownAllowAll ? _c('option', {\n domProps: {\n \"value\": _vm.total\n }\n }, [_vm._v(_vm._s(_vm.allText))]) : _vm._e()], 2)]), _vm._v(\" \"), _c('div', {\n staticClass: \"footer__navigation vgt-pull-right\"\n }, [_c('a', {\n staticClass: \"footer__navigation__page-btn\",\n \"class\": {\n disabled: !_vm.prevIsPossible\n },\n attrs: {\n \"href\": \"javascript:undefined\",\n \"tabindex\": \"0\"\n },\n on: {\n \"click\": function click($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.previousPage($event);\n }\n }\n }, [_c('span', {\n staticClass: \"chevron\",\n \"class\": {\n 'left': !_vm.rtl,\n 'right': _vm.rtl\n }\n }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.prevText))])]), _vm._v(\" \"), _vm.mode === 'pages' ? _c('pagination-page-info', {\n attrs: {\n \"totalRecords\": _vm.total,\n \"lastPage\": _vm.pagesCount,\n \"currentPage\": _vm.currentPage,\n \"ofText\": _vm.ofText,\n \"pageText\": _vm.pageText\n },\n on: {\n \"page-changed\": _vm.changePage\n }\n }) : _c('div', {\n staticClass: \"footer__navigation__info\"\n }, [_vm._v(_vm._s(_vm.paginatedInfo))]), _vm._v(\" \"), _c('a', {\n staticClass: \"footer__navigation__page-btn\",\n \"class\": {\n disabled: !_vm.nextIsPossible\n },\n attrs: {\n \"href\": \"javascript:undefined\",\n \"tabindex\": \"0\"\n },\n on: {\n \"click\": function click($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.nextPage($event);\n }\n }\n }, [_c('span', [_vm._v(_vm._s(_vm.nextText))]), _vm._v(\" \"), _c('span', {\n staticClass: \"chevron\",\n \"class\": {\n 'right': !_vm.rtl,\n 'left': _vm.rtl\n }\n })])], 1)]);\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$1 = normalizeComponent({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, __vue_script__$1, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$2 = {\n name: 'VgtGlobalSearch',\n props: ['value', 'searchEnabled', 'globalSearchPlaceholder'],\n data: function data() {\n return {\n globalSearchTerm: null\n };\n },\n computed: {\n showControlBar: function showControlBar() {\n if (this.searchEnabled) return true;\n if (this.$slots && this.$slots['internal-table-actions']) return true;\n return false;\n }\n },\n methods: {\n updateValue: function updateValue(value) {\n this.$emit('input', value);\n this.$emit('on-keyup', value);\n },\n entered: function entered(value) {\n this.$emit('on-enter', value);\n }\n }\n};\n\n/* script */\nvar __vue_script__$2 = script$2;\n/* template */\n\nvar __vue_render__$2 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _vm.showControlBar ? _c('div', {\n staticClass: \"vgt-global-search vgt-clearfix\"\n }, [_c('div', {\n staticClass: \"vgt-global-search__input vgt-pull-left\"\n }, [_vm.searchEnabled ? _c('span', {\n staticClass: \"input__icon\"\n }, [_c('div', {\n staticClass: \"magnifying-glass\"\n })]) : _vm._e(), _vm._v(\" \"), _vm.searchEnabled ? _c('input', {\n staticClass: \"vgt-input vgt-pull-left\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.globalSearchPlaceholder\n },\n domProps: {\n \"value\": _vm.value\n },\n on: {\n \"input\": function input($event) {\n return _vm.updateValue($event.target.value);\n },\n \"keyup\": function keyup($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }\n\n return _vm.entered($event.target.value);\n }\n }\n }) : _vm._e()]), _vm._v(\" \"), _c('div', {\n staticClass: \"vgt-global-search__actions vgt-pull-right\"\n }, [_vm._t(\"internal-table-actions\")], 2)]) : _vm._e();\n};\n\nvar __vue_staticRenderFns__$2 = [];\n/* style */\n\nvar __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$2 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$2 = normalizeComponent({\n render: __vue_render__$2,\n staticRenderFns: __vue_staticRenderFns__$2\n}, __vue_inject_styles__$2, __vue_script__$2, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\nvar script$3 = {\n name: 'VgtFilterRow',\n props: ['lineNumbers', 'columns', 'typedColumns', 'globalSearchEnabled', 'selectable', 'mode'],\n watch: {\n columns: {\n handler: function handler(newValue, oldValue) {\n this.populateInitialFilters();\n },\n deep: true,\n immediate: true\n }\n },\n data: function data() {\n return {\n columnFilters: {},\n timer: null\n };\n },\n computed: {\n // to create a filter row, we need to\n // make sure that there is atleast 1 column\n // that requires filtering\n hasFilterRow: function hasFilterRow() {\n // if (this.mode === 'remote' || !this.globalSearchEnabled) {\n for (var i = 0; i < this.columns.length; i++) {\n var col = this.columns[i];\n\n if (col.filterOptions && col.filterOptions.enabled) {\n return true;\n }\n } // }\n\n\n return false;\n }\n },\n methods: {\n reset: function reset() {\n var emitEvent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.columnFilters = {};\n var vSelect = this.$refs && this.$refs['vgt-multiselect'];\n\n if (vSelect) {\n vSelect.forEach(function (ref) {\n ref.clearSelection();\n });\n }\n\n if (emitEvent) {\n this.$emit('filter-changed', this.columnFilters);\n }\n },\n isFilterable: function isFilterable(column) {\n return column.filterOptions && column.filterOptions.enabled;\n },\n isDropdown: function isDropdown(column) {\n return this.isFilterable(column) && column.filterOptions.filterDropdownItems && column.filterOptions.filterDropdownItems.length;\n },\n isDropdownObjects: function isDropdownObjects(column) {\n return this.isDropdown(column) && _typeof(column.filterOptions.filterDropdownItems[0]) === 'object';\n },\n isDropdownArray: function isDropdownArray(column) {\n return this.isDropdown(column) && _typeof(column.filterOptions.filterDropdownItems[0]) !== 'object';\n },\n isMultiselectDropdown: function isMultiselectDropdown(column) {\n return this.isFilterable(column) && column.filterOptions && column.filterOptions.filterMultiselectDropdownItems;\n },\n // get column's defined placeholder or default one\n getPlaceholder: function getPlaceholder(column) {\n var placeholder = this.isFilterable(column) && column.filterOptions.placeholder || \"Filter \".concat(column.label);\n return placeholder;\n },\n updateFiltersOnEnter: function updateFiltersOnEnter(column, value) {\n if (this.timer) clearTimeout(this.timer);\n this.updateFiltersImmediately(column, value);\n },\n updateFiltersOnKeyup: function updateFiltersOnKeyup(column, value) {\n // if the trigger is enter, we don't filter on keyup\n if (column.filterOptions.trigger === 'enter') return;\n this.updateFilters(column, value);\n },\n // since vue doesn't detect property addition and deletion, we\n // need to create helper function to set property etc\n updateFilters: function updateFilters(column, value) {\n var _this = this;\n\n if (this.timer) clearTimeout(this.timer);\n this.timer = setTimeout(function () {\n _this.updateFiltersImmediately(column, value);\n }, 400);\n },\n updateFiltersImmediately: function updateFiltersImmediately(column, value) {\n this.$set(this.columnFilters, column.field, value);\n this.$emit('filter-changed', this.columnFilters);\n },\n populateInitialFilters: function populateInitialFilters() {\n for (var i = 0; i < this.columns.length; i++) {\n var col = this.columns[i]; // lets see if there are initial\n // filters supplied by user\n\n if (this.isFilterable(col) && typeof col.filterOptions.filterValue !== 'undefined' && col.filterOptions.filterValue !== null) {\n this.$set(this.columnFilters, col.field, col.filterOptions.filterValue); // this.updateFilters(col, col.filterOptions.filterValue);\n // this.$set(col.filterOptions, 'filterValue', undefined);\n }\n } //* lets emit event once all filters are set\n\n\n this.$emit('filter-changed', this.columnFilters);\n }\n }\n};\n\n/* script */\nvar __vue_script__$3 = script$3;\n/* template */\n\nvar __vue_render__$3 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _vm.hasFilterRow ? _c('tr', [_vm.lineNumbers ? _c('th') : _vm._e(), _vm._v(\" \"), _vm.selectable ? _c('th') : _vm._e(), _vm._v(\" \"), _vm._l(_vm.columns, function (column, index) {\n return !column.hidden ? _c('th', {\n key: index,\n staticClass: \"filter-th\"\n }, [_vm.isFilterable(column) ? _c('div', [!_vm.isDropdown(column) && !_vm.isMultiselectDropdown(column) ? _c('input', {\n staticClass: \"vgt-input\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.getPlaceholder(column)\n },\n domProps: {\n \"value\": _vm.columnFilters[column.field]\n },\n on: {\n \"keyup\": function keyup($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }\n\n return _vm.updateFiltersOnEnter(column, $event.target.value);\n },\n \"input\": function input($event) {\n return _vm.updateFiltersOnKeyup(column, $event.target.value);\n }\n }\n }) : _vm._e(), _vm._v(\" \"), _vm.isDropdownArray(column) ? _c('select', {\n staticClass: \"vgt-select\",\n domProps: {\n \"value\": _vm.columnFilters[column.field]\n },\n on: {\n \"change\": function change($event) {\n return _vm.updateFilters(column, $event.target.value);\n }\n }\n }, [_c('option', {\n key: \"-1\",\n attrs: {\n \"value\": \"\"\n }\n }, [_vm._v(_vm._s(_vm.getPlaceholder(column)))]), _vm._v(\" \"), _vm._l(column.filterOptions.filterDropdownItems, function (option, i) {\n return _c('option', {\n key: i,\n domProps: {\n \"value\": option\n }\n }, [_vm._v(\"\\n \" + _vm._s(option) + \"\\n \")]);\n })], 2) : _vm._e(), _vm._v(\" \"), _vm.isDropdownObjects(column) ? _c('select', {\n staticClass: \"vgt-select\",\n domProps: {\n \"value\": _vm.columnFilters[column.field]\n },\n on: {\n \"change\": function change($event) {\n return _vm.updateFilters(column, $event.target.value, true);\n }\n }\n }, [_c('option', {\n key: \"-1\",\n attrs: {\n \"value\": \"\"\n }\n }, [_vm._v(_vm._s(_vm.getPlaceholder(column)))]), _vm._v(\" \"), _vm._l(column.filterOptions.filterDropdownItems, function (option, i) {\n return _c('option', {\n key: i,\n domProps: {\n \"value\": option.value\n }\n }, [_vm._v(_vm._s(option.text))]);\n })], 2) : _vm._e(), _vm._v(\" \"), _vm.isMultiselectDropdown(column) ? _c('v-select', {\n ref: \"vgt-multiselect\",\n refInFor: true,\n attrs: {\n \"options\": column.filterOptions.filterMultiselectDropdownItems,\n \"loading\": column.filterOptions.loading,\n \"placeholder\": _vm.getPlaceholder(column),\n \"multiple\": \"\"\n },\n on: {\n \"input\": function input(selectedItems) {\n return _vm.updateFiltersOnKeyup(column, selectedItems);\n }\n }\n }) : _vm._e()], 1) : _vm._e()]) : _vm._e();\n })], 2) : _vm._e();\n};\n\nvar __vue_staticRenderFns__$3 = [];\n/* style */\n\nvar __vue_inject_styles__$3 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$3 = \"data-v-523184e9\";\n/* module identifier */\n\nvar __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$3 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$3 = normalizeComponent({\n render: __vue_render__$3,\n staticRenderFns: __vue_staticRenderFns__$3\n}, __vue_inject_styles__$3, __vue_script__$3, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);\n\nfunction getNextSort(currentSort) {\n if (currentSort === 'asc') return 'desc'; // if (currentSort === 'desc') return null;\n\n return 'asc';\n}\n\nfunction getIndex(sortArray, column) {\n for (var i = 0; i < sortArray.length; i++) {\n if (column.field === sortArray[i].field) return i;\n }\n\n return -1;\n}\n\nvar primarySort = function (sortArray, column) {\n if (sortArray.length && sortArray.length === 1 && sortArray[0].field === column.field) {\n var type = getNextSort(sortArray[0].type);\n\n if (type) {\n sortArray[0].type = getNextSort(sortArray[0].type);\n } else {\n sortArray = [];\n }\n } else {\n sortArray = [{\n field: column.field,\n type: 'asc'\n }];\n }\n\n return sortArray;\n};\n\nvar secondarySort = function (sortArray, column) {\n //* this means that primary sort exists, we're\n //* just adding a secondary sort\n var index = getIndex(sortArray, column);\n\n if (index === -1) {\n sortArray.push({\n field: column.field,\n type: 'asc'\n });\n } else {\n var type = getNextSort(sortArray[index].type);\n\n if (type) {\n sortArray[index].type = type;\n } else {\n sortArray.splice(index, 1);\n }\n }\n\n return sortArray;\n};\n\n//\nvar script$4 = {\n name: 'VgtTableHeader',\n props: {\n lineNumbers: {\n \"default\": false,\n type: Boolean\n },\n selectable: {\n \"default\": false,\n type: Boolean\n },\n allSelected: {\n \"default\": false,\n type: Boolean\n },\n allSelectedIndeterminate: {\n \"default\": false,\n type: Boolean\n },\n columns: {\n type: Array\n },\n mode: {\n type: String\n },\n typedColumns: {},\n //* Sort related\n sortable: {\n type: Boolean\n },\n // sortColumn: {\n // type: Number,\n // },\n // sortType: {\n // type: String,\n // },\n // utility functions\n // isSortableColumn: {\n // type: Function,\n // },\n getClasses: {\n type: Function\n },\n //* search related\n searchEnabled: {\n type: Boolean\n },\n tableRef: {},\n paginated: {}\n },\n watch: {\n columns: {\n handler: function handler() {\n this.setColumnStyles();\n },\n immediate: true\n },\n tableRef: {\n handler: function handler() {\n this.setColumnStyles();\n },\n immediate: true\n },\n paginated: {\n handler: function handler() {\n if (this.tableRef) {\n this.setColumnStyles();\n }\n },\n deep: true\n }\n },\n data: function data() {\n return {\n checkBoxThStyle: {},\n lineNumberThStyle: {},\n columnStyles: [],\n sorts: []\n };\n },\n computed: {},\n methods: {\n reset: function reset() {\n this.$refs['filter-row'].reset(true);\n },\n toggleSelectAll: function toggleSelectAll() {\n this.$emit('on-toggle-select-all');\n },\n isSortableColumn: function isSortableColumn(column) {\n var sortable = column.sortable;\n var isSortable = typeof sortable === 'boolean' ? sortable : this.sortable;\n return isSortable;\n },\n sort: function sort(e, column) {\n //* if column is not sortable, return right here\n if (!this.isSortableColumn(column)) return;\n\n if (e.shiftKey) {\n this.sorts = secondarySort(this.sorts, column);\n } else {\n this.sorts = primarySort(this.sorts, column);\n }\n\n this.$emit('on-sort-change', this.sorts);\n },\n setInitialSort: function setInitialSort(sorts) {\n this.sorts = sorts;\n this.$emit('on-sort-change', this.sorts);\n },\n getColumnSort: function getColumnSort(column) {\n for (var i = 0; i < this.sorts.length; i += 1) {\n if (this.sorts[i].field === column.field) {\n return this.sorts[i].type || 'asc';\n }\n }\n\n return null;\n },\n getHeaderClasses: function getHeaderClasses(column, index) {\n var classes = lodash_assign({}, this.getClasses(index, 'th'), {\n sortable: this.isSortableColumn(column),\n 'sorting sorting-desc': this.getColumnSort(column) === 'desc',\n 'sorting sorting-asc': this.getColumnSort(column) === 'asc'\n });\n return classes;\n },\n filterRows: function filterRows(columnFilters) {\n this.$emit('filter-changed', columnFilters);\n },\n getWidthStyle: function getWidthStyle(dom) {\n if (window && window.getComputedStyle && dom) {\n var cellStyle = window.getComputedStyle(dom, null);\n return {\n width: cellStyle.width\n };\n }\n\n return {\n width: 'auto'\n };\n },\n setColumnStyles: function setColumnStyles() {\n var colStyles = [];\n\n for (var i = 0; i < this.columns.length; i++) {\n if (this.tableRef) {\n var skip = 0;\n if (this.selectable) skip++;\n if (this.lineNumbers) skip++;\n var cell = this.tableRef.rows[0].cells[i + skip];\n colStyles.push(this.getWidthStyle(cell));\n } else {\n colStyles.push({\n minWidth: this.columns[i].width ? this.columns[i].width : 'auto',\n maxWidth: this.columns[i].width ? this.columns[i].width : 'auto',\n width: this.columns[i].width ? this.columns[i].width : 'auto'\n });\n }\n }\n\n this.columnStyles = colStyles;\n },\n getColumnStyle: function getColumnStyle(column, index) {\n var styleObject = {\n minWidth: column.width ? column.width : 'auto',\n maxWidth: column.width ? column.width : 'auto',\n width: column.width ? column.width : 'auto'\n }; //* if fixed header we need to get width from original table\n\n if (this.tableRef) {\n if (this.selectable) index++;\n if (this.lineNumbers) index++;\n var cell = this.tableRef.rows[0].cells[index];\n var cellStyle = window.getComputedStyle(cell, null);\n styleObject.width = cellStyle.width;\n }\n\n return styleObject;\n }\n },\n mounted: function mounted() {\n window.addEventListener('resize', this.setColumnStyles);\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this.setColumnStyles);\n },\n components: {\n 'vgt-filter-row': __vue_component__$3\n }\n};\n\n/* script */\nvar __vue_script__$4 = script$4;\n/* template */\n\nvar __vue_render__$4 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('thead', [_c('tr', [_vm.lineNumbers ? _c('th', {\n staticClass: \"line-numbers\"\n }) : _vm._e(), _vm._v(\" \"), _vm.selectable ? _c('th', {\n staticClass: \"vgt-checkbox-col\"\n }, [_c('input', {\n attrs: {\n \"type\": \"checkbox\"\n },\n domProps: {\n \"checked\": _vm.allSelected,\n \"indeterminate\": _vm.allSelectedIndeterminate\n },\n on: {\n \"change\": _vm.toggleSelectAll\n }\n })]) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.columns, function (column, index) {\n return !column.hidden ? _c('th', {\n key: index,\n \"class\": _vm.getHeaderClasses(column, index),\n style: _vm.columnStyles[index],\n on: {\n \"click\": function click($event) {\n return _vm.sort($event, column);\n }\n }\n }, [_vm._t(\"table-column\", [_c('span', [_vm._v(_vm._s(column.label))])], {\n \"column\": column\n })], 2) : _vm._e();\n })], 2), _vm._v(\" \"), _c(\"vgt-filter-row\", {\n ref: \"filter-row\",\n tag: \"tr\",\n attrs: {\n \"global-search-enabled\": _vm.searchEnabled,\n \"line-numbers\": _vm.lineNumbers,\n \"selectable\": _vm.selectable,\n \"columns\": _vm.columns,\n \"mode\": _vm.mode,\n \"typed-columns\": _vm.typedColumns\n },\n on: {\n \"filter-changed\": _vm.filterRows\n }\n })], 1);\n};\n\nvar __vue_staticRenderFns__$4 = [];\n/* style */\n\nvar __vue_inject_styles__$4 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$4 = \"data-v-eb5a915e\";\n/* module identifier */\n\nvar __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$4 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$4 = normalizeComponent({\n render: __vue_render__$4,\n staticRenderFns: __vue_staticRenderFns__$4\n}, __vue_inject_styles__$4, __vue_script__$4, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$5 = {\n name: 'VgtHeaderRow',\n props: {\n headerRow: {\n type: Object\n },\n columns: {\n type: Array\n },\n lineNumbers: {\n type: Boolean\n },\n selectable: {\n type: Boolean\n },\n collapsable: {\n type: [Boolean, Number],\n \"default\": false\n },\n selectAllByGroup: {\n type: Boolean\n },\n groupChildObject: {\n type: String\n },\n collectFormatted: {\n type: Function\n },\n formattedRow: {\n type: Function\n },\n getClasses: {\n type: Function\n },\n fullColspan: {\n type: Number\n },\n groupIndex: {\n type: Number\n },\n groupOptions: {\n type: Object\n }\n },\n data: function data() {\n return {};\n },\n computed: {\n allSelected: function allSelected() {\n var headerRow = this.headerRow,\n groupChildObject = this.groupChildObject;\n return headerRow[groupChildObject].filter(function (row) {\n return row.vgtSelected;\n }).length === headerRow[groupChildObject].length;\n },\n hiddenColumns: function hiddenColumns() {\n var columns = this.columns;\n return columns.filter(function (column) {\n return !column.hidden;\n });\n },\n spanColumns: function spanColumns() {\n var headerRow = this.headerRow,\n groupOptions = this.groupOptions;\n return headerRow.mode === 'span' || groupOptions.mode === 'span';\n }\n },\n methods: {\n columnCollapsable: function columnCollapsable(currentIndex) {\n if (this.collapsable === true) {\n return currentIndex === 0;\n }\n\n return currentIndex === this.collapsable;\n },\n toggleSelectGroup: function toggleSelectGroup(event) {\n this.$emit('on-select-group-change', {\n groupIndex: this.groupIndex,\n checked: event.target.checked\n });\n }\n },\n mounted: function mounted() {},\n components: {}\n};\n\n/* script */\nvar __vue_script__$5 = script$5;\n/* template */\n\nvar __vue_render__$5 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('tr', [_vm.spanColumns ? _c('th', {\n staticClass: \"vgt-left-align vgt-row-header\",\n attrs: {\n \"colspan\": _vm.fullColspan\n },\n on: {\n \"click\": function click($event) {\n _vm.collapsable ? _vm.$emit('vgtExpand', !_vm.headerRow.vgtIsExpanded) : function () {};\n }\n }\n }, [_vm.collapsable ? _c('span', {\n staticClass: \"triangle\",\n \"class\": {\n 'expand': _vm.headerRow.vgtIsExpanded\n }\n }) : _vm._e(), _vm._v(\" \"), _vm.selectAllByGroup ? [_vm._t(\"table-header-group-select\", [_c('input', {\n attrs: {\n \"type\": \"checkbox\"\n },\n domProps: {\n \"checked\": _vm.allSelected\n },\n on: {\n \"change\": function change($event) {\n return _vm.toggleSelectGroup($event);\n }\n }\n })], {\n \"columns\": _vm.columns,\n \"row\": _vm.headerRow\n })] : _vm._e(), _vm._v(\" \"), _vm._t(\"table-header-row\", [_vm.headerRow.html ? _c('span', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.headerRow.label)\n }\n }) : _c('span', [_vm._v(\"\\n \" + _vm._s(_vm.headerRow.label) + \"\\n \")])], {\n \"row\": _vm.headerRow\n })], 2) : _vm._e(), _vm._v(\" \"), !_vm.spanColumns && _vm.lineNumbers ? _c('th', {\n staticClass: \"vgt-row-header\"\n }) : _vm._e(), _vm._v(\" \"), !_vm.spanColumns && _vm.selectable ? _c('th', {\n staticClass: \"vgt-row-header\",\n \"class\": {\n 'vgt-checkbox-col': _vm.selectAllByGroup\n }\n }, [_vm.selectAllByGroup ? [_vm._t(\"table-header-group-select\", [_c('input', {\n attrs: {\n \"type\": \"checkbox\"\n },\n domProps: {\n \"checked\": _vm.allSelected\n },\n on: {\n \"change\": function change($event) {\n return _vm.toggleSelectGroup($event);\n }\n }\n })], {\n \"columns\": _vm.columns,\n \"row\": _vm.headerRow\n })] : _vm._e()], 2) : _vm._e(), _vm._v(\" \"), !_vm.spanColumns ? _vm._l(_vm.hiddenColumns, function (column, i) {\n return _c('th', {\n key: i,\n staticClass: \"vgt-row-header\",\n \"class\": _vm.getClasses(i, 'td'),\n on: {\n \"click\": function click($event) {\n _vm.columnCollapsable(i) ? _vm.$emit('vgtExpand', !_vm.headerRow.vgtIsExpanded) : function () {};\n }\n }\n }, [_vm.columnCollapsable(i) ? _c('span', {\n staticClass: \"triangle\",\n \"class\": {\n 'expand': _vm.headerRow.vgtIsExpanded\n }\n }) : _vm._e(), _vm._v(\" \"), _vm._t(\"table-header-row\", [!column.html ? _c('span', [_vm._v(\"\\n \" + _vm._s(_vm.collectFormatted(_vm.headerRow, column, true)) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), column.html ? _c('span', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.collectFormatted(_vm.headerRow, column, true))\n }\n }) : _vm._e()], {\n \"row\": _vm.headerRow,\n \"column\": column,\n \"formattedRow\": _vm.formattedRow(_vm.headerRow, true)\n })], 2);\n }) : _vm._e()], 2);\n};\n\nvar __vue_staticRenderFns__$5 = [];\n/* style */\n\nvar __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$5 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$5 = normalizeComponent({\n render: __vue_render__$5,\n staticRenderFns: __vue_staticRenderFns__$5\n}, __vue_inject_styles__$5, __vue_script__$5, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$6 = {\n name: 'vgtColumnDropdown',\n props: ['columns'],\n data: function data() {\n return {\n filteredColumns: [],\n selectOpen: false\n };\n },\n methods: {\n updateFilteredColumn: function updateFilteredColumn(columnLabel, checked) {\n this.$emit('input', {\n label: columnLabel,\n checked: checked\n });\n }\n },\n watch: {\n columns: {\n handler: function handler() {\n var columns = this.columns;\n this.filteredColumns = columns.filter(function (column) {\n return column.hidden !== undefined;\n });\n },\n deep: true,\n immediate: true\n }\n }\n};\n\n/* script */\nvar __vue_script__$6 = script$6;\n/* template */\n\nvar __vue_render__$6 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n staticClass: \"vgt-dropdown vgt-clearfix\"\n }, [_c('div', {\n staticClass: \"button-group pull-right\"\n }, [_c('button', {\n staticClass: \"btn btn-default btn-sm dropdown-toggle\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function click($event) {\n _vm.selectOpen = !_vm.selectOpen;\n }\n }\n }, [_c('span', {\n staticClass: \"fa fa-cog\",\n attrs: {\n \"aria-hidden\": \"false\"\n }\n }, [_vm._v(\"Select Columns\")]), _vm._v(\" \"), _c('span', {\n staticClass: \"caret\"\n })]), _vm._v(\" \"), _c('ul', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.selectOpen,\n expression: \"selectOpen\"\n }],\n staticClass: \"vgt-dropdown-menu\"\n }, _vm._l(_vm.filteredColumns, function (column, index) {\n return _c('li', {\n key: index\n }, [_c('span', {\n staticClass: \"small\",\n attrs: {\n \"tabIndex\": \"-1\"\n }\n }, [_c('input', {\n ref: \"filterlabel\" + column.label,\n refInFor: true,\n attrs: {\n \"type\": \"checkbox\"\n },\n domProps: {\n \"checked\": !column.hidden\n },\n on: {\n \"change\": function change($event) {\n $event.preventDefault();\n return _vm.updateFilteredColumn(column.label, $event.target.checked);\n }\n }\n }), _vm._v(\"\\n \" + _vm._s(column.label) + \"\\n \")])]);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$6 = [];\n/* style */\n\nvar __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$6 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$6 = normalizeComponent({\n render: __vue_render__$6,\n staticRenderFns: __vue_staticRenderFns__$6\n}, __vue_inject_styles__$6, __vue_script__$6, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\nfunction toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}\n\nfunction requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nfunction toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}\n\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\n\nfunction addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}\n\nvar MILLISECONDS_IN_MINUTE = 60000;\n\nfunction getDateMillisecondsPart(date) {\n return date.getTime() % MILLISECONDS_IN_MINUTE;\n}\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\n\n\nfunction getTimezoneOffsetInMilliseconds(dirtyDate) {\n var date = new Date(dirtyDate.getTime());\n var baseTimezoneOffset = Math.ceil(date.getTimezoneOffset());\n date.setSeconds(0, 0);\n var hasNegativeUTCOffset = baseTimezoneOffset > 0;\n var millisecondsPartOfTimezoneOffset = hasNegativeUTCOffset ? (MILLISECONDS_IN_MINUTE + getDateMillisecondsPart(date)) % MILLISECONDS_IN_MINUTE : getDateMillisecondsPart(date);\n return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset;\n}\n\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * var result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * var result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\n\nfunction compareAsc(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var diff = dateLeft.getTime() - dateRight.getTime();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1; // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Now `isValid` doesn't throw an exception\n * if the first argument is not an instance of Date.\n * Instead, argument is converted beforehand using `toDate`.\n *\n * Examples:\n *\n * | `isValid` argument | Before v2.0.0 | v2.0.0 onward |\n * |---------------------------|---------------|---------------|\n * | `new Date()` | `true` | `true` |\n * | `new Date('2016-01-01')` | `true` | `true` |\n * | `new Date('')` | `false` | `false` |\n * | `new Date(1488370835081)` | `true` | `true` |\n * | `new Date(NaN)` | `false` | `false` |\n * | `'2016-01-01'` | `TypeError` | `false` |\n * | `''` | `TypeError` | `false` |\n * | `1488370835081` | `TypeError` | `true` |\n * | `NaN` | `TypeError` | `false` |\n *\n * We introduce this change to make *date-fns* consistent with ECMAScript behavior\n * that try to coerce arguments to the expected type\n * (which is also the case with other *date-fns* functions).\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * var result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * var result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * var result = isValid(new Date(''))\n * //=> false\n */\n\nfunction isValid(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n return !isNaN(date);\n}\n\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nfunction formatDistance(token, count, options) {\n options = options || {};\n var result;\n\n if (typeof formatDistanceLocale[token] === 'string') {\n result = formatDistanceLocale[token];\n } else if (count === 1) {\n result = formatDistanceLocale[token].one;\n } else {\n result = formatDistanceLocale[token].other.replace('{{count}}', count);\n }\n\n if (options.addSuffix) {\n if (options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n}\n\nfunction buildFormatLongFn(args) {\n return function (dirtyOptions) {\n var options = dirtyOptions || {};\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\n\nvar formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nfunction formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n}\n\nfunction buildLocalizeFn(args) {\n return function (dirtyIndex, dirtyOptions) {\n var options = dirtyOptions || {};\n var context = options.context ? String(options.context) : 'standalone';\n var valuesArray;\n\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n\n var _width = options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n return valuesArray[index];\n };\n}\n\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized.\n // If you are making a new locale based on this one, check if the same is true for the language you're working on.\n // Generally, formatted dates should look like they are in the middle of a sentence,\n // e.g. in Spanish language the weekdays and months should be in the lowercase.\n\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nfunction ordinalNumber(dirtyNumber, _dirtyOptions) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`:\n //\n // var options = dirtyOptions || {}\n // var unit = String(options.unit)\n //\n // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n}\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\n\nfunction buildMatchPatternFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var matchResult = string.match(args.matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n\n if (!parseResult) {\n return null;\n }\n\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}\n\nfunction buildMatchFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var value;\n\n if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {\n value = findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n } else {\n value = findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n }\n\n value = args.valueCallback ? args.valueCallback(value) : value;\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}\n\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n}\n\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n}\n\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\n\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\n\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * var result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\n\nfunction subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}\n\nfunction addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n\n while (output.length < targetLength) {\n output = '0' + output;\n }\n\n return sign + output;\n}\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nvar formatters = {\n // Year\n y: function (date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function (date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function (date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function (date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return dayPeriodEnumValue.toUpperCase();\n\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function (date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function (date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function (date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function (date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function (date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\n\nvar MILLISECONDS_IN_DAY = 86400000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}\n\nvar MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCWeek(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCWeekYear(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate, dirtyOptions);\n var year = date.getUTCFullYear();\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, dirtyOptions);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCWeekYear(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate);\n var year = getUTCWeekYear(dirtyDate, dirtyOptions);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, dirtyOptions);\n return date;\n}\n\nvar MILLISECONDS_IN_WEEK$1 = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK$1) + 1;\n}\n\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n /*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\n};\nvar formatters$1 = {\n // Era\n G: function (date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n\n return formatters.y(date, token);\n },\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year\n\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n } // Ordinal number\n\n\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n } // Padding\n\n\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function (date, token) {\n var isoWeekYear = getUTCISOWeekYear(date); // Padding\n\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n case 'M':\n case 'MM':\n return formatters.M(date, token);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function (date, token, localize, options) {\n var week = getUTCWeek(date, options);\n\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function (date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function (date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n\n return formatters.d(date, token);\n },\n // Day of year\n D: function (date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return formatters.h(date, token);\n },\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n\n return formatters.H(date, token);\n },\n // Hour [0-11]\n K: function (date, token, localize) {\n var hours = date.getUTCHours() % 12;\n\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function (date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function (date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n\n return formatters.m(date, token);\n },\n // Second\n s: function (date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n\n return formatters.s(date, token);\n },\n // Fraction of second\n S: function (date, token) {\n return formatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return 'Z';\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\n\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n\n if (minutes === 0) {\n return sign + String(hours);\n }\n\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n\n return formatTimezone(offset, dirtyDelimiter);\n}\n\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n\nfunction dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n}\n\nfunction timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n}\n\nfunction dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/);\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n}\n\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\n\nvar protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nfunction isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nfunction isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nfunction throwProtectedError(token) {\n if (token === 'YYYY') {\n throw new RangeError('Use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr');\n } else if (token === 'YY') {\n throw new RangeError('Use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr');\n } else if (token === 'D') {\n throw new RangeError('Use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr');\n } else if (token === 'DD') {\n throw new RangeError('Use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr');\n }\n}\n\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Su | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Su | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | a..aaa | AM, PM | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bbb | AM, PM, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 1, 2, ..., 11, 0 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 0001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 05/29/1453 | 7 |\n * | | PP | May 29, 1453 | 7 |\n * | | PPP | May 29th, 1453 | 7 |\n * | | PPPP | Sunday, May 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 05/29/1453, 12:00 AM | 7 |\n * | | PPpp | May 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | May 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Sunday, May 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 9. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The second argument is now required for the sake of explicitness.\n *\n * ```javascript\n * // Before v2.0.0\n * format(new Date(2016, 0, 1))\n *\n * // v2.0.0 onward\n * format(new Date(2016, 0, 1), \"yyyy-MM-dd'T'HH:mm:ss.SSSxxx\")\n * ```\n *\n * - New format string API for `format` function\n * which is based on [Unicode Technical Standard #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n * See [this post](https://blog.date-fns.org/post/unicode-tokens-in-date-fns-v2-sreatyki91jg) for more details.\n *\n * - Characters are now escaped using single quote symbols (`'`) instead of square brackets.\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://git.io/fxCyr\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://git.io/fxCyr\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * var result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * var result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * var result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nfunction format(dirtyDate, dirtyFormatStr, dirtyOptions) {\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var options = dirtyOptions || {};\n var locale$1 = options.locale || locale;\n var localeFirstWeekContainsDate = locale$1.options && locale$1.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var localeWeekStartsOn = locale$1.options && locale$1.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (!locale$1.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale$1.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n var originalDate = toDate(dirtyDate);\n\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n\n\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale$1,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale$1.formatLong, formatterOptions);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n\n var firstCharacter = substring[0];\n\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n\n var formatter = formatters$1[firstCharacter];\n\n if (formatter) {\n if (!options.useAdditionalWeekYearTokens && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring);\n }\n\n if (!options.useAdditionalDayOfYearTokens && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring);\n }\n\n return formatter(utcDate, substring, locale$1.localize, formatterOptions);\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n return substring;\n }).join('');\n return result;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}\n\nfunction assign$1(target, dirtyObject) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n\n dirtyObject = dirtyObject || {};\n\n for (var property in dirtyObject) {\n if (dirtyObject.hasOwnProperty(property)) {\n target[property] = dirtyObject[property];\n }\n }\n\n return target;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction setUTCDay(dirtyDate, dirtyDay, dirtyOptions) {\n requiredArgs(2, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = toInteger(dirtyDay);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction setUTCISODay(dirtyDate, dirtyDay) {\n requiredArgs(2, arguments);\n var day = toInteger(dirtyDay);\n\n if (day % 7 === 0) {\n day = day - 7;\n }\n\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction setUTCISOWeek(dirtyDate, dirtyISOWeek) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var isoWeek = toInteger(dirtyISOWeek);\n var diff = getUTCISOWeek(date) - isoWeek;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}\n\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction setUTCWeek(dirtyDate, dirtyWeek, options) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var week = toInteger(dirtyWeek);\n var diff = getUTCWeek(date, options) - week;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}\n\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE$1 = 60000;\nvar MILLISECONDS_IN_SECOND = 1000;\nvar numericPatterns = {\n month: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/,\n // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/,\n // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/,\n // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/,\n // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/,\n // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/,\n // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n minute: /^[0-5]?\\d/,\n // 0 to 59\n second: /^[0-5]?\\d/,\n // 0 to 59\n singleDigit: /^\\d/,\n // 0 to 9\n twoDigits: /^\\d{1,2}/,\n // 0 to 99\n threeDigits: /^\\d{1,3}/,\n // 0 to 999\n fourDigits: /^\\d{1,4}/,\n // 0 to 9999\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/,\n // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/,\n // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/,\n // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/ // 0 to 9999, -0 to -9999\n\n};\nvar timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};\n\nfunction parseNumericPattern(pattern, string, valueCallback) {\n var matchResult = string.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n var value = parseInt(matchResult[0], 10);\n return {\n value: valueCallback ? valueCallback(value) : value,\n rest: string.slice(matchResult[0].length)\n };\n}\n\nfunction parseTimezonePattern(pattern, string) {\n var matchResult = string.match(pattern);\n\n if (!matchResult) {\n return null;\n } // Input is 'Z'\n\n\n if (matchResult[0] === 'Z') {\n return {\n value: 0,\n rest: string.slice(1)\n };\n }\n\n var sign = matchResult[1] === '+' ? 1 : -1;\n var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n return {\n value: sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE$1 + seconds * MILLISECONDS_IN_SECOND),\n rest: string.slice(matchResult[0].length)\n };\n}\n\nfunction parseAnyDigitsSigned(string, valueCallback) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, string, valueCallback);\n}\n\nfunction parseNDigits(n, string, valueCallback) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, string, valueCallback);\n\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, string, valueCallback);\n\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, string, valueCallback);\n\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, string, valueCallback);\n\n default:\n return parseNumericPattern(new RegExp('^\\\\d{1,' + n + '}'), string, valueCallback);\n }\n}\n\nfunction parseNDigitsSigned(n, string, valueCallback) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, string, valueCallback);\n\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, string, valueCallback);\n\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, string, valueCallback);\n\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, string, valueCallback);\n\n default:\n return parseNumericPattern(new RegExp('^-?\\\\d{1,' + n + '}'), string, valueCallback);\n }\n}\n\nfunction dayPeriodEnumToHours(enumValue) {\n switch (enumValue) {\n case 'morning':\n return 4;\n\n case 'evening':\n return 17;\n\n case 'pm':\n case 'noon':\n case 'afternoon':\n return 12;\n\n case 'am':\n case 'midnight':\n case 'night':\n default:\n return 0;\n }\n}\n\nfunction normalizeTwoDigitYear(twoDigitYear, currentYear) {\n var isCommonEra = currentYear > 0; // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n\n var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n var result;\n\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n var rangeEnd = absCurrentYear + 50;\n var rangeEndCentury = Math.floor(rangeEnd / 100) * 100;\n var isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n\n return isCommonEra ? result : 1 - result;\n}\n\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // User for validation\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\n\n\nvar parsers = {\n // Era\n G: {\n priority: 140,\n parse: function (string, token, match, _options) {\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return match.era(string, {\n width: 'abbreviated'\n }) || match.era(string, {\n width: 'narrow'\n });\n // A, B\n\n case 'GGGGG':\n return match.era(string, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return match.era(string, {\n width: 'wide'\n }) || match.era(string, {\n width: 'abbreviated'\n }) || match.era(string, {\n width: 'narrow'\n });\n }\n },\n set: function (date, flags, value, _options) {\n flags.era = value;\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['R', 'u', 't', 'T']\n },\n // Year\n y: {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n priority: 130,\n parse: function (string, token, match, _options) {\n var valueCallback = function (year) {\n return {\n year: year,\n isTwoDigitYear: token === 'yy'\n };\n };\n\n switch (token) {\n case 'y':\n return parseNDigits(4, string, valueCallback);\n\n case 'yo':\n return match.ordinalNumber(string, {\n unit: 'year',\n valueCallback: valueCallback\n });\n\n default:\n return parseNDigits(token.length, string, valueCallback);\n }\n },\n validate: function (_date, value, _options) {\n return value.isTwoDigitYear || value.year > 0;\n },\n set: function (date, flags, value, _options) {\n var currentYear = date.getUTCFullYear();\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'u', 'w', 'I', 'i', 'e', 'c', 't', 'T']\n },\n // Local week-numbering year\n Y: {\n priority: 130,\n parse: function (string, token, match, _options) {\n var valueCallback = function (year) {\n return {\n year: year,\n isTwoDigitYear: token === 'YY'\n };\n };\n\n switch (token) {\n case 'Y':\n return parseNDigits(4, string, valueCallback);\n\n case 'Yo':\n return match.ordinalNumber(string, {\n unit: 'year',\n valueCallback: valueCallback\n });\n\n default:\n return parseNDigits(token.length, string, valueCallback);\n }\n },\n validate: function (_date, value, _options) {\n return value.isTwoDigitYear || value.year > 0;\n },\n set: function (date, flags, value, options) {\n var currentYear = getUTCWeekYear(date, options);\n\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n },\n incompatibleTokens: ['y', 'R', 'u', 'Q', 'q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']\n },\n // ISO week-numbering year\n R: {\n priority: 130,\n parse: function (string, token, _match, _options) {\n if (token === 'R') {\n return parseNDigitsSigned(4, string);\n }\n\n return parseNDigitsSigned(token.length, string);\n },\n set: function (_date, _flags, value, _options) {\n var firstWeekOfYear = new Date(0);\n firstWeekOfYear.setUTCFullYear(value, 0, 4);\n firstWeekOfYear.setUTCHours(0, 0, 0, 0);\n return startOfUTCISOWeek(firstWeekOfYear);\n },\n incompatibleTokens: ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']\n },\n // Extended year\n u: {\n priority: 130,\n parse: function (string, token, _match, _options) {\n if (token === 'u') {\n return parseNDigitsSigned(4, string);\n }\n\n return parseNDigitsSigned(token.length, string);\n },\n set: function (date, _flags, value, _options) {\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['G', 'y', 'Y', 'R', 'w', 'I', 'i', 'e', 'c', 't', 'T']\n },\n // Quarter\n Q: {\n priority: 120,\n parse: function (string, token, match, _options) {\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n case 'QQ':\n // 01, 02, 03, 04\n return parseNDigits(token.length, string);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return match.ordinalNumber(string, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return match.quarter(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return match.quarter(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return match.quarter(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.quarter(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 4;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Stand-alone quarter\n q: {\n priority: 120,\n parse: function (string, token, match, _options) {\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n case 'qq':\n // 01, 02, 03, 04\n return parseNDigits(token.length, string);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return match.ordinalNumber(string, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return match.quarter(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return match.quarter(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return match.quarter(string, {\n width: 'wide',\n context: 'standalone'\n }) || match.quarter(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(string, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 4;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'Q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Month\n M: {\n priority: 110,\n parse: function (string, token, match, _options) {\n var valueCallback = function (value) {\n return value - 1;\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return parseNumericPattern(numericPatterns.month, string, valueCallback);\n // 01, 02, ..., 12\n\n case 'MM':\n return parseNDigits(2, string, valueCallback);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return match.ordinalNumber(string, {\n unit: 'month',\n valueCallback: valueCallback\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return match.month(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return match.month(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return match.month(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.month(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 11;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'L', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Stand-alone month\n L: {\n priority: 110,\n parse: function (string, token, match, _options) {\n var valueCallback = function (value) {\n return value - 1;\n };\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return parseNumericPattern(numericPatterns.month, string, valueCallback);\n // 01, 02, ..., 12\n\n case 'LL':\n return parseNDigits(2, string, valueCallback);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return match.ordinalNumber(string, {\n unit: 'month',\n valueCallback: valueCallback\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return match.month(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return match.month(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return match.month(string, {\n width: 'wide',\n context: 'standalone'\n }) || match.month(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(string, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 11;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'M', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Local week of year\n w: {\n priority: 100,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'w':\n return parseNumericPattern(numericPatterns.week, string);\n\n case 'wo':\n return match.ordinalNumber(string, {\n unit: 'week'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 53;\n },\n set: function (date, _flags, value, options) {\n return startOfUTCWeek(setUTCWeek(date, value, options), options);\n },\n incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']\n },\n // ISO week of year\n I: {\n priority: 100,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'I':\n return parseNumericPattern(numericPatterns.week, string);\n\n case 'Io':\n return match.ordinalNumber(string, {\n unit: 'week'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 53;\n },\n set: function (date, _flags, value, options) {\n return startOfUTCISOWeek(setUTCISOWeek(date, value, options), options);\n },\n incompatibleTokens: ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']\n },\n // Day of the month\n d: {\n priority: 90,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'd':\n return parseNumericPattern(numericPatterns.date, string);\n\n case 'do':\n return match.ordinalNumber(string, {\n unit: 'date'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (date, value, _options) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n var month = date.getUTCMonth();\n\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCDate(value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']\n },\n // Day of year\n D: {\n priority: 90,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'D':\n case 'DD':\n return parseNumericPattern(numericPatterns.dayOfYear, string);\n\n case 'Do':\n return match.ordinalNumber(string, {\n unit: 'date'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (date, value, _options) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMonth(0, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T']\n },\n // Day of week\n E: {\n priority: 90,\n parse: function (string, token, match, _options) {\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 6;\n },\n set: function (date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['D', 'i', 'e', 'c', 't', 'T']\n },\n // Local day of week\n e: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case 'e':\n case 'ee':\n // 03\n return parseNDigits(token.length, string, valueCallback);\n // 3rd\n\n case 'eo':\n return match.ordinalNumber(string, {\n unit: 'day',\n valueCallback: valueCallback\n });\n // Tue\n\n case 'eee':\n return match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(string, {\n width: 'short',\n context: 'formatting'\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 6;\n },\n set: function (date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'c', 't', 'T']\n },\n // Stand-alone local day of week\n c: {\n priority: 90,\n parse: function (string, token, match, options) {\n var valueCallback = function (value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case 'c':\n case 'cc':\n // 03\n return parseNDigits(token.length, string, valueCallback);\n // 3rd\n\n case 'co':\n return match.ordinalNumber(string, {\n unit: 'day',\n valueCallback: valueCallback\n });\n // Tue\n\n case 'ccc':\n return match.day(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(string, {\n width: 'short',\n context: 'standalone'\n }) || match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return match.day(string, {\n width: 'short',\n context: 'standalone'\n }) || match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'standalone'\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(string, {\n width: 'short',\n context: 'standalone'\n }) || match.day(string, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 6;\n },\n set: function (date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'e', 't', 'T']\n },\n // ISO day of week\n i: {\n priority: 90,\n parse: function (string, token, match, _options) {\n var valueCallback = function (value) {\n if (value === 0) {\n return 7;\n }\n\n return value;\n };\n\n switch (token) {\n // 2\n case 'i':\n case 'ii':\n // 02\n return parseNDigits(token.length, string);\n // 2nd\n\n case 'io':\n return match.ordinalNumber(string, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return match.day(string, {\n width: 'abbreviated',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'short',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n // T\n\n case 'iiiii':\n return match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n // Tu\n\n case 'iiiiii':\n return match.day(string, {\n width: 'short',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n // Tuesday\n\n case 'iiii':\n default:\n return match.day(string, {\n width: 'wide',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'abbreviated',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'short',\n context: 'formatting',\n valueCallback: valueCallback\n }) || match.day(string, {\n width: 'narrow',\n context: 'formatting',\n valueCallback: valueCallback\n });\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 7;\n },\n set: function (date, _flags, value, options) {\n date = setUTCISODay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'E', 'e', 'c', 't', 'T']\n },\n // AM or PM\n a: {\n priority: 80,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaaa':\n return match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return match.dayPeriod(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['b', 'B', 'H', 'K', 'k', 't', 'T']\n },\n // AM, PM, midnight\n b: {\n priority: 80,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbbb':\n return match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return match.dayPeriod(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'B', 'H', 'K', 'k', 't', 'T']\n },\n // in the morning, in the afternoon, in the evening, at night\n B: {\n priority: 80,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return match.dayPeriod(string, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(string, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'b', 't', 'T']\n },\n // Hour [1-12]\n h: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'h':\n return parseNumericPattern(numericPatterns.hour12h, string);\n\n case 'ho':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 12;\n },\n set: function (date, _flags, value, _options) {\n var isPM = date.getUTCHours() >= 12;\n\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setUTCHours(0, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n\n return date;\n },\n incompatibleTokens: ['H', 'K', 'k', 't', 'T']\n },\n // Hour [0-23]\n H: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'H':\n return parseNumericPattern(numericPatterns.hour23h, string);\n\n case 'Ho':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 23;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCHours(value, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'b', 'h', 'K', 'k', 't', 'T']\n },\n // Hour [0-11]\n K: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'K':\n return parseNumericPattern(numericPatterns.hour11h, string);\n\n case 'Ko':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 11;\n },\n set: function (date, _flags, value, _options) {\n var isPM = date.getUTCHours() >= 12;\n\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n\n return date;\n },\n incompatibleTokens: ['a', 'b', 'h', 'H', 'k', 't', 'T']\n },\n // Hour [1-24]\n k: {\n priority: 70,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'k':\n return parseNumericPattern(numericPatterns.hour24h, string);\n\n case 'ko':\n return match.ordinalNumber(string, {\n unit: 'hour'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 1 && value <= 24;\n },\n set: function (date, _flags, value, _options) {\n var hours = value <= 24 ? value % 24 : value;\n date.setUTCHours(hours, 0, 0, 0);\n return date;\n },\n incompatibleTokens: ['a', 'b', 'h', 'H', 'K', 't', 'T']\n },\n // Minute\n m: {\n priority: 60,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 'm':\n return parseNumericPattern(numericPatterns.minute, string);\n\n case 'mo':\n return match.ordinalNumber(string, {\n unit: 'minute'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 59;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMinutes(value, 0, 0);\n return date;\n },\n incompatibleTokens: ['t', 'T']\n },\n // Second\n s: {\n priority: 50,\n parse: function (string, token, match, _options) {\n switch (token) {\n case 's':\n return parseNumericPattern(numericPatterns.second, string);\n\n case 'so':\n return match.ordinalNumber(string, {\n unit: 'second'\n });\n\n default:\n return parseNDigits(token.length, string);\n }\n },\n validate: function (_date, value, _options) {\n return value >= 0 && value <= 59;\n },\n set: function (date, _flags, value, _options) {\n date.setUTCSeconds(value, 0);\n return date;\n },\n incompatibleTokens: ['t', 'T']\n },\n // Fraction of second\n S: {\n priority: 30,\n parse: function (string, token, _match, _options) {\n var valueCallback = function (value) {\n return Math.floor(value * Math.pow(10, -token.length + 3));\n };\n\n return parseNDigits(token.length, string, valueCallback);\n },\n set: function (date, _flags, value, _options) {\n date.setUTCMilliseconds(value);\n return date;\n },\n incompatibleTokens: ['t', 'T']\n },\n // Timezone (ISO-8601. +00:00 is `'Z'`)\n X: {\n priority: 10,\n parse: function (string, token, _match, _options) {\n switch (token) {\n case 'X':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string);\n\n case 'XX':\n return parseTimezonePattern(timezonePatterns.basic, string);\n\n case 'XXXX':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string);\n\n case 'XXXXX':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string);\n\n case 'XXX':\n default:\n return parseTimezonePattern(timezonePatterns.extended, string);\n }\n },\n set: function (date, flags, value, _options) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n return new Date(date.getTime() - value);\n },\n incompatibleTokens: ['t', 'T', 'x']\n },\n // Timezone (ISO-8601)\n x: {\n priority: 10,\n parse: function (string, token, _match, _options) {\n switch (token) {\n case 'x':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string);\n\n case 'xx':\n return parseTimezonePattern(timezonePatterns.basic, string);\n\n case 'xxxx':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string);\n\n case 'xxxxx':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string);\n\n case 'xxx':\n default:\n return parseTimezonePattern(timezonePatterns.extended, string);\n }\n },\n set: function (date, flags, value, _options) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n return new Date(date.getTime() - value);\n },\n incompatibleTokens: ['t', 'T', 'X']\n },\n // Seconds timestamp\n t: {\n priority: 40,\n parse: function (string, _token, _match, _options) {\n return parseAnyDigitsSigned(string);\n },\n set: function (_date, _flags, value, _options) {\n return [new Date(value * 1000), {\n timestampIsSet: true\n }];\n },\n incompatibleTokens: '*'\n },\n // Milliseconds timestamp\n T: {\n priority: 20,\n parse: function (string, _token, _match, _options) {\n return parseAnyDigitsSigned(string);\n },\n set: function (_date, _flags, value, _options) {\n return [new Date(value), {\n timestampIsSet: true\n }];\n },\n incompatibleTokens: '*'\n }\n};\n\nvar TIMEZONE_UNIT_PRIORITY = 10; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp$1 = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp$1 = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp$1 = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp$1 = /''/g;\nvar notWhitespaceRegExp = /\\S/;\nvar unescapedLatinCharacterRegExp$1 = /[a-zA-Z]/;\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Su | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Su | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 1, 2, ..., 11, 0 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 0001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Old `parse` was renamed to `toDate`.\n * Now `parse` is a new function which parses a string using a provided format.\n *\n * ```javascript\n * // Before v2.0.0\n * parse('2016-01-01')\n *\n * // v2.0.0 onward\n * toDate('2016-01-01')\n * parse('2016-01-01', 'yyyy-MM-dd', new Date())\n * ```\n *\n * @param {String} dateString - the string to parse\n * @param {String} formatString - the string of tokens\n * @param {Date|Number} referenceDate - defines values missing from the parsed dateString\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://git.io/fxCyr\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://git.io/fxCyr\n * @returns {Date} the parsed date\n * @throws {TypeError} 3 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\n\nfunction parse(dirtyDateString, dirtyFormatString, dirtyReferenceDate, dirtyOptions) {\n requiredArgs(3, arguments);\n var dateString = String(dirtyDateString);\n var formatString = String(dirtyFormatString);\n var options = dirtyOptions || {};\n var locale$1 = options.locale || locale;\n\n if (!locale$1.match) {\n throw new RangeError('locale must contain match property');\n }\n\n var localeFirstWeekContainsDate = locale$1.options && locale$1.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var localeWeekStartsOn = locale$1.options && locale$1.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (formatString === '') {\n if (dateString === '') {\n return toDate(dirtyReferenceDate);\n } else {\n return new Date(NaN);\n }\n }\n\n var subFnOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale$1 // If timezone isn't specified, it will be set to the system timezone\n\n };\n var setters = [{\n priority: TIMEZONE_UNIT_PRIORITY,\n set: dateToSystemTimezone,\n index: 0\n }];\n var i;\n var tokens = formatString.match(longFormattingTokensRegExp$1).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale$1.formatLong, subFnOptions);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp$1);\n var usedTokens = [];\n\n for (i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (!options.useAdditionalWeekYearTokens && isProtectedWeekYearToken(token)) {\n throwProtectedError(token);\n }\n\n if (!options.useAdditionalDayOfYearTokens && isProtectedDayOfYearToken(token)) {\n throwProtectedError(token);\n }\n\n var firstCharacter = token[0];\n var parser = parsers[firstCharacter];\n\n if (parser) {\n var incompatibleTokens = parser.incompatibleTokens;\n\n if (Array.isArray(incompatibleTokens)) {\n var incompatibleToken = void 0;\n\n for (var _i = 0; _i < usedTokens.length; _i++) {\n var usedToken = usedTokens[_i].token;\n\n if (incompatibleTokens.indexOf(usedToken) !== -1 || usedToken === firstCharacter) {\n incompatibleToken = usedTokens[_i];\n break;\n }\n }\n\n if (incompatibleToken) {\n throw new RangeError(\"The format string mustn't contain `\".concat(incompatibleToken.fullToken, \"` and `\").concat(token, \"` at the same time\"));\n }\n } else if (parser.incompatibleTokens === '*' && usedTokens.length) {\n throw new RangeError(\"The format string mustn't contain `\".concat(token, \"` and any other token at the same time\"));\n }\n\n usedTokens.push({\n token: firstCharacter,\n fullToken: token\n });\n var parseResult = parser.parse(dateString, token, locale$1.match, subFnOptions);\n\n if (!parseResult) {\n return new Date(NaN);\n }\n\n setters.push({\n priority: parser.priority,\n set: parser.set,\n validate: parser.validate,\n value: parseResult.value,\n index: setters.length\n });\n dateString = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp$1)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n } // Replace two single quote characters with one single quote character\n\n\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString$1(token);\n } // Cut token from string, or, if string doesn't match the token, return Invalid Date\n\n\n if (dateString.indexOf(token) === 0) {\n dateString = dateString.slice(token.length);\n } else {\n return new Date(NaN);\n }\n }\n } // Check if the remaining input contains something other than whitespace\n\n\n if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n return new Date(NaN);\n }\n\n var uniquePrioritySetters = setters.map(function (setter) {\n return setter.priority;\n }).sort(function (a, b) {\n return b - a;\n }).filter(function (priority, index, array) {\n return array.indexOf(priority) === index;\n }).map(function (priority) {\n return setters.filter(function (setter) {\n return setter.priority === priority;\n }).reverse();\n }).map(function (setterArray) {\n return setterArray[0];\n });\n var date = toDate(dirtyReferenceDate);\n\n if (isNaN(date)) {\n return new Date(NaN);\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/37\n\n\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var flags = {};\n\n for (i = 0; i < uniquePrioritySetters.length; i++) {\n var setter = uniquePrioritySetters[i];\n\n if (setter.validate && !setter.validate(utcDate, setter.value, subFnOptions)) {\n return new Date(NaN);\n }\n\n var result = setter.set(utcDate, flags, setter.value, subFnOptions); // Result is tuple (date, flags)\n\n if (result[0]) {\n utcDate = result[0];\n assign$1(flags, result[1]); // Result is date\n } else {\n utcDate = result;\n }\n }\n\n return utcDate;\n}\n\nfunction dateToSystemTimezone(date, flags) {\n if (flags.timestampIsSet) {\n return date;\n }\n\n var convertedDate = new Date(0);\n convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n return convertedDate;\n}\n\nfunction cleanEscapedString$1(input) {\n return input.match(escapedStringRegExp$1)[1].replace(doubleQuoteRegExp$1, \"'\");\n}\n\nvar date = lodash_clonedeep(defaultType);\ndate.isRight = true;\n\ndate.compare = function (x, y, column) {\n function cook(d) {\n if (column && column.dateInputFormat) {\n return parse(\"\".concat(d), \"\".concat(column.dateInputFormat), new Date());\n }\n\n return d;\n }\n\n x = cook(x);\n y = cook(y);\n\n if (!isValid(x)) {\n return -1;\n }\n\n if (!isValid(y)) {\n return 1;\n }\n\n return compareAsc(x, y);\n};\n\ndate.format = function (v, column) {\n if (v === undefined || v === null) return ''; // convert to date\n\n var date = parse(v, column.dateInputFormat, new Date());\n\n if (isValid(date)) {\n return format(date, column.dateOutputFormat);\n }\n\n console.error(\"Not a valid date: \\\"\".concat(v, \"\\\"\"));\n return null;\n};\n\nvar date$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': date\n});\n\nvar number = lodash_clonedeep(defaultType);\nnumber.isRight = true;\n\nnumber.filterPredicate = function (rowval, filter) {\n return number.compare(rowval, filter) === 0;\n};\n\nnumber.compare = function (x, y) {\n function cook(d) {\n // if d is null or undefined we give it the smallest\n // possible value\n if (d === undefined || d === null) return -Infinity;\n return d.indexOf('.') >= 0 ? parseFloat(d) : parseInt(d, 10);\n }\n\n x = typeof x === 'number' ? x : cook(x);\n y = typeof y === 'number' ? y : cook(y);\n if (x < y) return -1;\n if (x > y) return 1;\n return 0;\n};\n\nvar number$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': number\n});\n\nvar decimal = lodash_clonedeep(number);\n\ndecimal.format = function (v) {\n if (v === undefined || v === null) return '';\n return parseFloat(Math.round(v * 100) / 100).toFixed(2);\n};\n\nvar decimal$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': decimal\n});\n\nvar percentage = lodash_clonedeep(number);\n\npercentage.format = function (v) {\n if (v === undefined || v === null) return '';\n return \"\".concat(parseFloat(v * 100).toFixed(2), \"%\");\n};\n\nvar percentage$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': percentage\n});\n\nvar _boolean = lodash_clonedeep(defaultType);\n\n_boolean.isRight = true;\n\n_boolean.filterPredicate = function (rowval, filter) {\n return _boolean.compare(rowval, filter) === 0;\n};\n\n_boolean.compare = function (x, y) {\n function cook(d) {\n if (typeof d === 'boolean') return d ? 1 : 0;\n if (typeof d === 'string') return d === 'true' ? 1 : 0;\n return -Infinity;\n }\n\n x = cook(x);\n y = cook(y);\n if (x < y) return -1;\n if (x > y) return 1;\n return 0;\n};\n\nvar _boolean$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n 'default': _boolean\n});\n\nvar index = {\n date: date$1,\n decimal: decimal$1,\n number: number$1,\n percentage: percentage$1,\n \"boolean\": _boolean$1\n};\n\nvar dataTypes = {};\nvar coreDataTypes = index;\nlodash_foreach(Object.keys(coreDataTypes), function (key) {\n var compName = key.replace(/^\\.\\//, '').replace(/\\.js/, '');\n dataTypes[compName] = coreDataTypes[key][\"default\"];\n});\nvar script$7 = {\n name: 'vue-good-table',\n props: {\n isLoading: {\n \"default\": null,\n type: Boolean\n },\n maxHeight: {\n \"default\": null,\n type: String\n },\n fixedHeader: {\n \"default\": false,\n type: Boolean\n },\n theme: {\n \"default\": ''\n },\n mode: {\n \"default\": 'local'\n },\n // could be remote\n totalRows: {},\n // required if mode = 'remote'\n styleClass: {\n \"default\": 'vgt-table bordered'\n },\n columns: {},\n rows: {},\n lineNumbers: {\n \"default\": false\n },\n responsive: {\n \"default\": true\n },\n rtl: {\n \"default\": false\n },\n rowStyleClass: {\n \"default\": null,\n type: [Function, String]\n },\n groupOptions: {\n \"default\": function _default() {\n return {\n enabled: false,\n mode: ''\n };\n }\n },\n selectOptions: {\n \"default\": function _default() {\n return {\n enabled: false,\n selectionInfoClass: '',\n selectionText: 'rows selected',\n clearSelectionText: 'clear',\n disableSelectInfo: false\n };\n }\n },\n // sort\n sortOptions: {\n \"default\": function _default() {\n return {\n enabled: true,\n initialSortBy: {}\n };\n }\n },\n // pagination\n paginationOptions: {\n \"default\": function _default() {\n return {\n enabled: false,\n perPage: 10,\n perPageDropdown: null,\n position: 'bottom',\n dropdownAllowAll: true,\n mode: 'records' // or pages\n\n };\n }\n },\n searchOptions: {\n \"default\": function _default() {\n return {\n enabled: false,\n trigger: null,\n externalQuery: null,\n searchFn: null,\n placeholder: 'Search Table'\n };\n }\n },\n columnFilterOptions: {\n \"default\": function _default() {\n return {\n enabled: false\n };\n }\n }\n },\n data: function data() {\n return {\n // loading state for remote mode\n tableLoading: false,\n // text options\n nextText: 'Next',\n prevText: 'Prev',\n rowsPerPageText: 'Rows per page',\n ofText: 'of',\n allText: 'All',\n pageText: 'page',\n // internal select options\n selectable: false,\n selectOnCheckboxOnly: false,\n selectAllByPage: true,\n disableSelectInfo: false,\n selectionInfoClass: '',\n selectionText: 'rows selected',\n clearSelectionText: 'clear',\n // internal sort options\n sortable: true,\n defaultSortBy: null,\n // internal search options\n searchEnabled: false,\n searchTrigger: null,\n externalSearchQuery: null,\n searchFn: null,\n searchPlaceholder: 'Search Table',\n searchSkipDiacritics: false,\n // internal pagination options\n perPage: null,\n paginate: false,\n paginateOnTop: false,\n paginateOnBottom: true,\n customRowsPerPageDropdown: [],\n paginateDropdownAllowAll: true,\n paginationMode: 'records',\n currentPage: 1,\n currentPerPage: 10,\n sorts: [],\n globalSearchTerm: '',\n filteredRows: [],\n columnFilters: {},\n forceSearch: false,\n sortChanged: false,\n dataTypes: dataTypes || {},\n // internal column filter options\n columnFilterEnabled: false\n };\n },\n watch: {\n rows: {\n handler: function handler() {\n this.$emit('update:isLoading', false);\n this.filterRows(this.columnFilters, false);\n },\n deep: true,\n immediate: true\n },\n selectOptions: {\n handler: function handler() {\n this.initializeSelect();\n },\n deep: true,\n immediate: true\n },\n paginationOptions: {\n handler: function handler(newValue, oldValue) {\n if (!lodash_isequal(newValue, oldValue)) {\n this.initializePagination();\n }\n },\n deep: true,\n immediate: true\n },\n searchOptions: {\n handler: function handler() {\n if (this.searchOptions.externalQuery !== undefined && this.searchOptions.externalQuery !== this.searchTerm) {\n //* we need to set searchTerm to externalQuery first.\n this.externalSearchQuery = this.searchOptions.externalQuery;\n this.handleSearch();\n }\n\n this.initializeSearch();\n },\n deep: true,\n immediate: true\n },\n sortOptions: {\n handler: function handler(newValue, oldValue) {\n if (!lodash_isequal(newValue, oldValue)) {\n this.initializeSort();\n }\n },\n deep: true\n },\n selectedRows: function selectedRows(newValue, oldValue) {\n if (!lodash_isequal(newValue, oldValue)) {\n this.$emit('on-selected-rows-change', {\n selectedRows: this.selectedRows\n });\n }\n },\n columnFilterOptions: {\n handler: function handler() {\n this.initializeColumnFilter();\n },\n deep: true,\n immediate: true\n }\n },\n computed: {\n hasFooterSlot: function hasFooterSlot() {\n return !!this.$slots['table-actions-bottom'];\n },\n wrapperStyles: function wrapperStyles() {\n return {\n overflow: 'scroll-y',\n maxHeight: this.maxHeight ? this.maxHeight : 'auto'\n };\n },\n hasHeaderRowTemplate: function hasHeaderRowTemplate() {\n return !!this.$slots['table-header-row'] || !!this.$scopedSlots['table-header-row'];\n },\n showEmptySlot: function showEmptySlot() {\n if (!this.paginated.length) return true;\n var groupChildObject = this.groupChildObject;\n\n if (this.paginated[0].label === 'no groups' && !this.paginated[0][groupChildObject].length) {\n return true;\n }\n\n return false;\n },\n allSelected: function allSelected() {\n return this.selectedRowCount > 0 && (this.selectAllByPage && this.selectedPageRowsCount === this.totalPageRowCount || !this.selectAllByPage && this.selectedRowCount === this.totalRowCount);\n },\n allSelectedIndeterminate: function allSelectedIndeterminate() {\n return !this.allSelected && (this.selectAllByPage && this.selectedPageRowsCount > 0 || !this.selectAllByPage && this.selectedRowCount > 0);\n },\n selectionInfo: function selectionInfo() {\n return \"\".concat(this.selectedRowCount, \" \").concat(this.selectionText);\n },\n selectedRowCount: function selectedRowCount() {\n return this.selectedRows.length;\n },\n selectedPageRowsCount: function selectedPageRowsCount() {\n return this.selectedPageRows.length;\n },\n selectedPageRows: function selectedPageRows() {\n var selectedRows = [];\n var groupChildObject = this.groupChildObject;\n lodash_foreach(this.paginated, function (headerRow) {\n lodash_foreach(headerRow[groupChildObject], function (row) {\n if (row.vgtSelected) {\n selectedRows.push(row);\n }\n });\n });\n return selectedRows;\n },\n selectedRows: function selectedRows() {\n var selectedRows = [];\n var groupChildObject = this.groupChildObject;\n lodash_foreach(this.processedRows, function (headerRow) {\n lodash_foreach(headerRow[groupChildObject], function (row) {\n if (row.vgtSelected) {\n selectedRows.push(row);\n }\n });\n });\n return selectedRows.sort(function (r1, r2) {\n return r1.originalIndex - r2.originalIndex;\n });\n },\n fullColspan: function fullColspan() {\n var fullColspan = 0;\n\n for (var i = 0; i < this.columns.length; i += 1) {\n if (!this.columns[i].hidden) {\n fullColspan += 1;\n }\n }\n\n if (this.lineNumbers) fullColspan++;\n if (this.selectable) fullColspan++;\n return fullColspan;\n },\n groupHeaderOnTop: function groupHeaderOnTop() {\n if (this.groupOptions && this.groupOptions.enabled && this.groupOptions.headerPosition && this.groupOptions.headerPosition === 'bottom') {\n return false;\n }\n\n if (this.groupOptions && this.groupOptions.enabled) return true; // will only get here if groupOptions is false\n\n return false;\n },\n groupHeaderOnBottom: function groupHeaderOnBottom() {\n if (this.groupOptions && this.groupOptions.enabled && this.groupOptions.headerPosition && this.groupOptions.headerPosition === 'bottom') {\n return true;\n }\n\n return false;\n },\n groupChildObject: function groupChildObject() {\n return this.groupOptions.customChildObject || 'children';\n },\n totalRowCount: function totalRowCount() {\n var groupChildObject = this.groupChildObject;\n var total = 0;\n lodash_foreach(this.processedRows, function (headerRow) {\n total += headerRow[groupChildObject] ? headerRow[groupChildObject].length : 0;\n });\n return total;\n },\n totalPageRowCount: function totalPageRowCount() {\n var total = 0;\n var groupChildObject = this.groupChildObject;\n lodash_foreach(this.paginated, function (headerRow) {\n total += headerRow[groupChildObject] ? headerRow[groupChildObject].length : 0;\n });\n return total;\n },\n wrapStyleClasses: function wrapStyleClasses() {\n var classes = 'vgt-wrap';\n if (this.rtl) classes += ' rtl';\n classes += \" \".concat(this.theme);\n return classes;\n },\n tableStyleClasses: function tableStyleClasses() {\n var classes = this.styleClass;\n classes += \" \".concat(this.theme);\n return classes;\n },\n searchTerm: function searchTerm() {\n return this.externalSearchQuery != null ? this.externalSearchQuery : this.globalSearchTerm;\n },\n //\n globalSearchAllowed: function globalSearchAllowed() {\n if (this.searchEnabled && !!this.globalSearchTerm && this.searchTrigger !== 'enter') {\n return true;\n }\n\n if (this.externalSearchQuery != null && this.searchTrigger !== 'enter') {\n return true;\n }\n\n if (this.forceSearch) {\n this.forceSearch = false;\n return true;\n }\n\n return false;\n },\n // this is done everytime sortColumn\n // or sort type changes\n //----------------------------------------\n processedRows: function processedRows() {\n var _this = this;\n\n // we only process rows when mode is local\n var computedRows = this.filteredRows;\n\n if (this.mode === 'remote') {\n return computedRows;\n } // take care of the global filter here also\n\n\n if (this.globalSearchAllowed) {\n // here also we need to de-construct and then\n // re-construct the rows.\n var allRows = [];\n var groupChildObject = this.groupChildObject;\n lodash_foreach(this.filteredRows, function (headerRow) {\n allRows.push.apply(allRows, _toConsumableArray(headerRow[groupChildObject]));\n });\n var filteredRows = [];\n lodash_foreach(allRows, function (row) {\n lodash_foreach(_this.columns, function (col) {\n // if col does not have search disabled,\n if (!col.globalSearchDisabled) {\n // if a search function is provided,\n // use that for searching, otherwise,\n // use the default search behavior\n if (_this.searchFn) {\n var foundMatch = _this.searchFn(row, col, _this.collectFormatted(row, col), _this.searchTerm);\n\n if (foundMatch) {\n filteredRows.push(row);\n return false; // break the loop\n }\n } else {\n // comparison\n var matched = defaultType.filterPredicate(_this.collectFormatted(row, col), _this.searchTerm, _this.searchSkipDiacritics);\n\n if (matched) {\n filteredRows.push(row);\n return false; // break loop\n }\n }\n }\n });\n }); // this is where we emit on search\n\n this.$emit('on-search', {\n searchTerm: this.searchTerm,\n rowCount: filteredRows.length\n }); // here we need to reconstruct the nested structure\n // of rows\n\n computedRows = [];\n lodash_foreach(this.filteredRows, function (headerRow) {\n var i = headerRow.vgt_header_id;\n var children = lodash_filter(filteredRows, ['vgt_id', i]);\n\n if (children.length) {\n var newHeaderRow = lodash_clonedeep(headerRow);\n newHeaderRow[groupChildObject] = children;\n computedRows.push(newHeaderRow);\n }\n });\n }\n\n if (this.sorts.length) {\n //* we need to sort\n computedRows.forEach(function (cRows) {\n cRows[_this.groupChildObject].sort(function (xRow, yRow) {\n //* we need to get column for each sort\n var sortValue;\n\n for (var i = 0; i < _this.sorts.length; i += 1) {\n var column = _this.getColumnForField(_this.sorts[i].field);\n\n var xvalue = _this.collect(xRow, _this.sorts[i].field);\n\n var yvalue = _this.collect(yRow, _this.sorts[i].field); //* if a custom sort function has been provided we use that\n\n\n var sortFn = column.sortFn;\n\n if (sortFn && typeof sortFn === 'function') {\n sortValue = sortValue || sortFn(xvalue, yvalue, column, xRow, yRow) * (_this.sorts[i].type === 'desc' ? -1 : 1);\n } else {\n //* else we use our own sort\n sortValue = sortValue || column.typeDef.compare(xvalue, yvalue, column) * (_this.sorts[i].type === 'desc' ? -1 : 1);\n }\n }\n\n return sortValue;\n });\n });\n } // if the filtering is event based, we need to maintain filter\n // rows\n\n\n if (this.searchTrigger === 'enter') {\n this.filteredRows = computedRows;\n }\n\n return computedRows;\n },\n paginated: function paginated() {\n var groupChildObject = this.groupChildObject;\n if (!this.processedRows.length) return [];\n\n if (this.mode === 'remote') {\n return this.processedRows;\n } // for every group, extract the child rows\n // to cater to paging\n\n\n var paginatedRows = [];\n lodash_foreach(this.processedRows, function (childRows) {\n var _paginatedRows;\n\n (_paginatedRows = paginatedRows).push.apply(_paginatedRows, _toConsumableArray(childRows[groupChildObject]));\n });\n\n if (this.paginate) {\n var pageStart = (this.currentPage - 1) * this.currentPerPage; // in case of filtering we might be on a page that is\n // not relevant anymore\n // also, if setting to all, current page will not be valid\n\n if (pageStart >= paginatedRows.length || this.currentPerPage === -1) {\n this.currentPage = 1;\n pageStart = 0;\n } // calculate page end now\n\n\n var pageEnd = paginatedRows.length + 1; // if the setting is set to 'all'\n\n if (this.currentPerPage !== -1) {\n pageEnd = this.currentPage * this.currentPerPage;\n }\n\n paginatedRows = paginatedRows.slice(pageStart, pageEnd);\n } // reconstruct paginated rows here\n\n\n var reconstructedRows = [];\n lodash_foreach(this.processedRows, function (headerRow) {\n var i = headerRow.vgt_header_id;\n var children = lodash_filter(paginatedRows, ['vgt_id', i]);\n\n if (children.length) {\n var newHeaderRow = lodash_clonedeep(headerRow);\n newHeaderRow[groupChildObject] = children;\n reconstructedRows.push(newHeaderRow);\n }\n });\n return reconstructedRows;\n },\n originalRows: function originalRows() {\n var rows = lodash_clonedeep(this.rows);\n var groupChildObject = this.groupChildObject;\n var nestedRows = [];\n\n if (!this.groupOptions.enabled) {\n nestedRows = this.handleGrouped([{\n label: 'no groups',\n children: rows\n }]);\n } else {\n nestedRows = this.handleGrouped(rows);\n } // we need to preserve the original index of\n // rows so lets do that\n\n\n var index = 0;\n lodash_foreach(nestedRows, function (headerRow, i) {\n lodash_foreach(headerRow[groupChildObject], function (row, j) {\n row.originalIndex = index++;\n });\n });\n return nestedRows;\n },\n typedColumns: function typedColumns() {\n var columns = lodash_assign(this.columns, []);\n\n for (var i = 0; i < this.columns.length; i++) {\n var column = columns[i];\n column.typeDef = this.dataTypes[column.type] || defaultType;\n }\n\n return columns;\n },\n hasRowClickListener: function hasRowClickListener() {\n return this.$listeners && this.$listeners['on-row-click'];\n }\n },\n methods: {\n toggleExpand: function toggleExpand(index) {\n var headerRow = this.filteredRows[index];\n\n if (headerRow) {\n this.$set(headerRow, 'vgtIsExpanded', !headerRow.vgtIsExpanded);\n }\n },\n expandAll: function expandAll() {\n var _this2 = this;\n\n this.filteredRows.forEach(function (row) {\n _this2.$set(row, 'vgtIsExpanded', true);\n });\n },\n collapseAll: function collapseAll() {\n var _this3 = this;\n\n this.filteredRows.forEach(function (row) {\n _this3.$set(row, 'vgtIsExpanded', false);\n });\n },\n getColumnForField: function getColumnForField(field) {\n for (var i = 0; i < this.typedColumns.length; i += 1) {\n if (this.typedColumns[i].field === field) return this.typedColumns[i];\n }\n },\n handleSearch: function handleSearch() {\n this.resetTable(); // for remote mode, we need to emit on-search\n\n if (this.mode === 'remote') {\n this.$emit('on-search', {\n searchTerm: this.searchTerm\n });\n }\n },\n reset: function reset() {\n this.initializeSort();\n this.changePage(1);\n this.$refs['table-header-primary'].reset(true);\n\n if (this.$refs['table-header-secondary']) {\n this.$refs['table-header-secondary'].reset(true);\n }\n },\n emitSelectedRows: function emitSelectedRows() {\n this.$emit('on-select-all', {\n selected: this.selectedRowCount === this.totalRowCount,\n selectedRows: this.selectedRows\n });\n },\n unselectAllInternal: function unselectAllInternal(forceAll) {\n var _this4 = this;\n\n var rows = this.selectAllByPage && !forceAll ? this.paginated : this.filteredRows;\n var groupChildObject = this.groupChildObject;\n lodash_foreach(rows, function (headerRow, i) {\n lodash_foreach(headerRow[groupChildObject], function (row, j) {\n _this4.$set(row, 'vgtSelected', false);\n });\n });\n this.emitSelectedRows();\n },\n toggleSelectAll: function toggleSelectAll() {\n var _this5 = this;\n\n if (this.allSelected) {\n this.unselectAllInternal();\n return;\n }\n\n var rows = this.selectAllByPage ? this.paginated : this.filteredRows;\n var groupChildObject = this.groupChildObject;\n lodash_foreach(rows, function (headerRow) {\n lodash_foreach(headerRow[groupChildObject], function (row) {\n _this5.$set(row, 'vgtSelected', true);\n });\n });\n this.emitSelectedRows();\n },\n toggleSelectGroup: function toggleSelectGroup(event, headerRow) {\n var _this6 = this;\n\n var groupChildObject = this.groupChildObject;\n lodash_foreach(headerRow[groupChildObject], function (row) {\n _this6.$set(row, 'vgtSelected', event.checked);\n });\n },\n changePage: function changePage(value) {\n if (this.paginationOptions.enabled) {\n var paginationWidget = this.$refs.paginationBottom;\n\n if (this.paginationOptions.position === 'top') {\n paginationWidget = this.$refs.paginationTop;\n }\n\n if (paginationWidget) {\n paginationWidget.currentPage = value; // we also need to set the currentPage\n // for table.\n\n this.currentPage = value;\n }\n }\n },\n pageChangedEvent: function pageChangedEvent() {\n return {\n currentPage: this.currentPage,\n currentPerPage: this.currentPerPage,\n total: Math.floor(this.totalRowCount / this.currentPerPage)\n };\n },\n pageChanged: function pageChanged(pagination) {\n this.currentPage = pagination.currentPage;\n var pageChangedEvent = this.pageChangedEvent();\n pageChangedEvent.prevPage = pagination.prevPage;\n this.$emit('on-page-change', pageChangedEvent);\n\n if (this.mode === 'remote') {\n this.$emit('update:isLoading', true);\n }\n },\n perPageChanged: function perPageChanged(pagination) {\n this.currentPerPage = pagination.currentPerPage; //* update perPage also\n\n var perPageChangedEvent = this.pageChangedEvent();\n this.$emit('on-per-page-change', perPageChangedEvent);\n\n if (this.mode === 'remote') {\n this.$emit('update:isLoading', true);\n }\n },\n changeSort: function changeSort(sorts) {\n this.sorts = sorts;\n this.$emit('on-sort-change', sorts); // every time we change sort we need to reset to page 1\n\n this.changePage(1); // if the mode is remote, we don't need to do anything\n // after this. just set table loading to true\n\n if (this.mode === 'remote') {\n this.$emit('update:isLoading', true);\n return;\n }\n\n this.sortChanged = true;\n },\n // checkbox click should always do the following\n onCheckboxClicked: function onCheckboxClicked(row, index, event) {\n this.$set(row, 'vgtSelected', !row.vgtSelected);\n this.$emit('on-row-click', {\n row: row,\n pageIndex: index,\n selected: !!row.vgtSelected,\n event: event\n });\n },\n onRowDoubleClicked: function onRowDoubleClicked(row, index, event) {\n this.$emit('on-row-dblclick', {\n row: row,\n pageIndex: index,\n selected: !!row.vgtSelected,\n event: event\n });\n },\n onRowClicked: function onRowClicked(row, index, event) {\n if (this.selectable && !this.selectOnCheckboxOnly) {\n this.$set(row, 'vgtSelected', !row.vgtSelected);\n }\n\n this.$emit('on-row-click', {\n row: row,\n pageIndex: index,\n selected: !!row.vgtSelected,\n event: event\n });\n },\n onRowAuxClicked: function onRowAuxClicked(row, index, event) {\n this.$emit('on-row-aux-click', {\n row: row,\n pageIndex: index,\n selected: !!row.vgtSelected,\n event: event\n });\n },\n onCellClicked: function onCellClicked(row, column, rowIndex, event) {\n this.$emit('on-cell-click', {\n row: row,\n column: column,\n rowIndex: rowIndex,\n event: event\n });\n },\n onMouseenter: function onMouseenter(row, index) {\n this.$emit('on-row-mouseenter', {\n row: row,\n pageIndex: index\n });\n },\n onMouseleave: function onMouseleave(row, index) {\n this.$emit('on-row-mouseleave', {\n row: row,\n pageIndex: index\n });\n },\n searchTableOnEnter: function searchTableOnEnter() {\n if (this.searchTrigger === 'enter') {\n this.handleSearch(); // we reset the filteredRows here because\n // we want to search across everything.\n\n this.filteredRows = lodash_clonedeep(this.originalRows);\n this.forceSearch = true;\n this.sortChanged = true;\n }\n },\n searchTableOnKeyUp: function searchTableOnKeyUp() {\n if (this.searchTrigger !== 'enter') {\n this.handleSearch();\n }\n },\n resetTable: function resetTable() {\n this.unselectAllInternal(true); // every time we searchTable\n\n this.changePage(1);\n },\n // field can be:\n // 1. function\n // 2. regular property - ex: 'prop'\n // 3. nested property path - ex: 'nested.prop'\n collect: function collect(obj, field) {\n // utility function to get nested property\n function dig(obj, selector) {\n var result = obj;\n var splitter = selector.split('.');\n\n for (var i = 0; i < splitter.length; i++) {\n if (typeof result === 'undefined' || result === null) {\n return undefined;\n }\n\n result = result[splitter[i]];\n }\n\n return result;\n }\n\n if (typeof field === 'function') return field(obj);\n if (typeof field === 'string') return dig(obj, field);\n return undefined;\n },\n collectFormatted: function collectFormatted(obj, column) {\n var headerRow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var value;\n\n if (headerRow && column.headerField) {\n value = this.collect(obj, column.headerField);\n } else {\n value = this.collect(obj, column.field);\n }\n\n if (value === undefined) return ''; // if user has supplied custom formatter,\n // use that here\n\n if (column.formatFn && typeof column.formatFn === 'function') {\n return column.formatFn(value, obj);\n } // lets format the resultant data\n\n\n var type = column.typeDef; // this will only happen if we try to collect formatted\n // before types have been initialized. for example: on\n // load when external query is specified.\n\n if (!type) {\n type = this.dataTypes[column.type] || defaultType;\n }\n\n return type.format(value, column);\n },\n formattedRow: function formattedRow(row) {\n var isHeaderRow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var formattedRow = {};\n\n for (var i = 0; i < this.typedColumns.length; i++) {\n var col = this.typedColumns[i]; // what happens if field is\n\n if (col.field) {\n formattedRow[col.field] = this.collectFormatted(row, col, isHeaderRow);\n }\n }\n\n return formattedRow;\n },\n // Get classes for the given column index & element.\n getClasses: function getClasses(index, element, row) {\n var _this$typedColumns$in = this.typedColumns[index],\n typeDef = _this$typedColumns$in.typeDef,\n custom = _this$typedColumns$in[\"\".concat(element, \"Class\")];\n\n var isRight = typeDef.isRight;\n if (this.rtl) isRight = true;\n var classes = {\n 'vgt-right-align': isRight,\n 'vgt-left-align': !isRight\n }; // for td we need to check if value is\n // a function.\n\n if (typeof custom === 'function') {\n classes[custom(row)] = true;\n } else if (typeof custom === 'string') {\n classes[custom] = true;\n }\n\n return classes;\n },\n filterMultiselectItems: function filterMultiselectItems(column, row) {\n var columnFieldName = column.field;\n var columnFilters = this.columnFilters[columnFieldName];\n\n if (column.filterOptions && column.filterOptions.filterMultiselectDropdownItems) {\n if (columnFilters.length === 0) {\n return true;\n } // Otherwise Use default filters\n\n\n var typeDef = column.typeDef;\n\n var _iterator = _createForOfIteratorHelper(columnFilters),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _filter = _step.value;\n var filterLabel = _filter;\n\n if (_typeof(_filter) === 'object') {\n filterLabel = _filter.label;\n }\n\n if (typeDef.filterPredicate(this.collect(row, columnFieldName), filterLabel)) {\n return true;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return false;\n }\n\n return undefined;\n },\n // method to filter rows\n filterRows: function filterRows(columnFilters) {\n var _this7 = this;\n\n var fromFilter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n // if (!this.rows.length) return;\n // this is invoked either as a result of changing filters\n // or as a result of modifying rows.\n this.columnFilters = columnFilters;\n var computedRows = lodash_clonedeep(this.originalRows);\n var groupChildObject = this.groupChildObject; // do we have a filter to care about?\n // if not we don't need to do anything\n\n if (this.columnFilters && Object.keys(this.columnFilters).length) {\n // every time we filter rows, we need to set current page\n // to 1\n // if the mode is remote, we only need to reset, if this is\n // being called from filter, not when rows are changing\n if (this.mode !== 'remote' || fromFilter) {\n this.changePage(1);\n } // we need to emit an event and that's that.\n // but this only needs to be invoked if filter is changing\n // not when row object is modified.\n\n\n if (fromFilter) {\n this.$emit('on-column-filter', {\n columnFilters: this.columnFilters\n });\n } // if mode is remote, we don't do any filtering here.\n\n\n if (this.mode === 'remote') {\n if (fromFilter) {\n this.$emit('update:isLoading', true);\n } else {\n // if remote filtering has already been taken care of.\n this.filteredRows = computedRows;\n }\n\n return;\n }\n\n var _loop = function _loop(i) {\n var col = _this7.typedColumns[i];\n\n if (_this7.columnFilters[col.field]) {\n computedRows = lodash_foreach(computedRows, function (headerRow) {\n var newChildren = headerRow[groupChildObject].filter(function (row) {\n // If column has a custom filter, use that.\n if (col.filterOptions && typeof col.filterOptions.filterFn === 'function') {\n return col.filterOptions.filterFn(_this7.collect(row, col.field), _this7.columnFilters[col.field]);\n }\n\n var filterMultiselect = _this7.filterMultiselectItems(col, row);\n\n if (filterMultiselect !== undefined) {\n return filterMultiselect;\n } // Otherwise Use default filters\n\n\n var typeDef = col.typeDef;\n return typeDef.filterPredicate(_this7.collect(row, col.field), _this7.columnFilters[col.field], false, col.filterOptions && _typeof(col.filterOptions.filterDropdownItems) === 'object');\n }); // should we remove the header?\n\n headerRow[groupChildObject] = newChildren;\n });\n }\n };\n\n for (var i = 0; i < this.typedColumns.length; i++) {\n _loop(i);\n }\n }\n\n this.filteredRows = computedRows;\n },\n getCurrentIndex: function getCurrentIndex(index) {\n return (this.currentPage - 1) * this.currentPerPage + index + 1;\n },\n getRowStyleClass: function getRowStyleClass(row) {\n var classes = '';\n if (this.hasRowClickListener) classes += 'clickable';\n var rowStyleClasses;\n\n if (typeof this.rowStyleClass === 'function') {\n rowStyleClasses = this.rowStyleClass(row);\n } else {\n rowStyleClasses = this.rowStyleClass;\n }\n\n if (rowStyleClasses) {\n classes += \" \".concat(rowStyleClasses);\n }\n\n return classes;\n },\n handleGrouped: function handleGrouped(originalRows) {\n var groupChildObject = this.groupChildObject;\n lodash_foreach(originalRows, function (headerRow, i) {\n headerRow.vgt_header_id = i;\n lodash_foreach(headerRow[groupChildObject], function (childRow) {\n childRow.vgt_id = i;\n });\n });\n return originalRows;\n },\n toggleFilteredColumn: function toggleFilteredColumn(value) {\n this.columns.find(function (column) {\n return column.label === value.label;\n }).hidden = !value.checked;\n },\n initializePagination: function initializePagination() {\n var _this8 = this;\n\n var _this$paginationOptio = this.paginationOptions,\n enabled = _this$paginationOptio.enabled,\n perPage = _this$paginationOptio.perPage,\n position = _this$paginationOptio.position,\n perPageDropdown = _this$paginationOptio.perPageDropdown,\n dropdownAllowAll = _this$paginationOptio.dropdownAllowAll,\n nextLabel = _this$paginationOptio.nextLabel,\n prevLabel = _this$paginationOptio.prevLabel,\n rowsPerPageLabel = _this$paginationOptio.rowsPerPageLabel,\n ofLabel = _this$paginationOptio.ofLabel,\n pageLabel = _this$paginationOptio.pageLabel,\n allLabel = _this$paginationOptio.allLabel,\n setCurrentPage = _this$paginationOptio.setCurrentPage,\n mode = _this$paginationOptio.mode;\n\n if (typeof enabled === 'boolean') {\n this.paginate = enabled;\n }\n\n if (typeof perPage === 'number') {\n this.perPage = perPage;\n }\n\n if (position === 'top') {\n this.paginateOnTop = true; // default is false\n\n this.paginateOnBottom = false; // default is true\n } else if (position === 'both') {\n this.paginateOnTop = true;\n this.paginateOnBottom = true;\n }\n\n if (Array.isArray(perPageDropdown) && perPageDropdown.length) {\n this.customRowsPerPageDropdown = perPageDropdown;\n\n if (!this.perPage) {\n var _perPageDropdown = _slicedToArray(perPageDropdown, 1);\n\n this.perPage = _perPageDropdown[0];\n }\n }\n\n if (typeof dropdownAllowAll === 'boolean') {\n this.paginateDropdownAllowAll = dropdownAllowAll;\n }\n\n if (typeof mode === 'string') {\n this.paginationMode = mode;\n }\n\n if (typeof nextLabel === 'string') {\n this.nextText = nextLabel;\n }\n\n if (typeof prevLabel === 'string') {\n this.prevText = prevLabel;\n }\n\n if (typeof rowsPerPageLabel === 'string') {\n this.rowsPerPageText = rowsPerPageLabel;\n }\n\n if (typeof ofLabel === 'string') {\n this.ofText = ofLabel;\n }\n\n if (typeof pageLabel === 'string') {\n this.pageText = pageLabel;\n }\n\n if (typeof allLabel === 'string') {\n this.allText = allLabel;\n }\n\n if (typeof setCurrentPage === 'number') {\n setTimeout(function () {\n _this8.changePage(setCurrentPage);\n }, 500);\n }\n },\n initializeSearch: function initializeSearch() {\n var _this$searchOptions = this.searchOptions,\n enabled = _this$searchOptions.enabled,\n trigger = _this$searchOptions.trigger,\n externalQuery = _this$searchOptions.externalQuery,\n searchFn = _this$searchOptions.searchFn,\n placeholder = _this$searchOptions.placeholder,\n skipDiacritics = _this$searchOptions.skipDiacritics;\n\n if (typeof enabled === 'boolean') {\n this.searchEnabled = enabled;\n }\n\n if (trigger === 'enter') {\n this.searchTrigger = trigger;\n }\n\n if (typeof externalQuery === 'string') {\n this.externalSearchQuery = externalQuery;\n }\n\n if (typeof searchFn === 'function') {\n this.searchFn = searchFn;\n }\n\n if (typeof placeholder === 'string') {\n this.searchPlaceholder = placeholder;\n }\n\n if (typeof skipDiacritics === 'boolean') {\n this.searchSkipDiacritics = skipDiacritics;\n }\n },\n initializeSort: function initializeSort() {\n var _this$sortOptions = this.sortOptions,\n enabled = _this$sortOptions.enabled,\n initialSortBy = _this$sortOptions.initialSortBy;\n\n if (typeof enabled === 'boolean') {\n this.sortable = enabled;\n } //* initialSortBy can be an array or an object\n\n\n if (_typeof(initialSortBy) === 'object') {\n var ref = this.fixedHeader ? this.$refs['table-header-secondary'] : this.$refs['table-header-primary'];\n\n if (Array.isArray(initialSortBy)) {\n ref.setInitialSort(initialSortBy);\n } else {\n var hasField = Object.prototype.hasOwnProperty.call(initialSortBy, 'field');\n if (hasField) ref.setInitialSort([initialSortBy]);\n }\n }\n },\n initializeSelect: function initializeSelect() {\n var _this$selectOptions = this.selectOptions,\n enabled = _this$selectOptions.enabled,\n selectionInfoClass = _this$selectOptions.selectionInfoClass,\n selectionText = _this$selectOptions.selectionText,\n clearSelectionText = _this$selectOptions.clearSelectionText,\n selectOnCheckboxOnly = _this$selectOptions.selectOnCheckboxOnly,\n selectAllByPage = _this$selectOptions.selectAllByPage,\n disableSelectInfo = _this$selectOptions.disableSelectInfo,\n selectAllByGroup = _this$selectOptions.selectAllByGroup;\n\n if (typeof enabled === 'boolean') {\n this.selectable = enabled;\n }\n\n if (typeof selectOnCheckboxOnly === 'boolean') {\n this.selectOnCheckboxOnly = selectOnCheckboxOnly;\n }\n\n if (typeof selectAllByPage === 'boolean') {\n this.selectAllByPage = selectAllByPage;\n }\n\n this.selectAllByGroup = Boolean(selectAllByGroup);\n\n if (typeof disableSelectInfo === 'boolean') {\n this.disableSelectInfo = disableSelectInfo;\n }\n\n if (typeof selectionInfoClass === 'string') {\n this.selectionInfoClass = selectionInfoClass;\n }\n\n if (typeof selectionText === 'string') {\n this.selectionText = selectionText;\n }\n\n if (typeof clearSelectionText === 'string') {\n this.clearSelectionText = clearSelectionText;\n }\n },\n initializeColumnFilter: function initializeColumnFilter() {\n var enabled = this.columnFilterOptions.enabled;\n\n if (typeof enabled === 'boolean') {\n this.columnFilterEnabled = enabled;\n }\n }\n },\n mounted: function mounted() {\n if (this.perPage) {\n this.currentPerPage = this.perPage;\n }\n\n this.initializeSort();\n },\n components: {\n 'vgt-pagination': __vue_component__$1,\n 'vgt-global-search': __vue_component__$2,\n 'vgt-header-row': __vue_component__$5,\n 'vgt-table-header': __vue_component__$4,\n 'vgt-column-dropdown': __vue_component__$6\n }\n};\n\n/* script */\nvar __vue_script__$7 = script$7;\n/* template */\n\nvar __vue_render__$7 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n \"class\": _vm.wrapStyleClasses\n }, [_vm.isLoading ? _c('div', {\n staticClass: \"vgt-loading vgt-center-align\"\n }, [_vm._t(\"loadingContent\", [_c('span', {\n staticClass: \"vgt-loading__content\"\n }, [_vm._v(\"\\n Loading...\\n \")])])], 2) : _vm._e(), _vm._v(\" \"), _c('div', {\n staticClass: \"vgt-inner-wrap\",\n \"class\": {\n 'is-loading': _vm.isLoading\n }\n }, [_vm.paginate && _vm.paginateOnTop ? _vm._t(\"pagination-top\", [_c('vgt-pagination', {\n ref: \"paginationTop\",\n attrs: {\n \"perPage\": _vm.perPage,\n \"rtl\": _vm.rtl,\n \"total\": _vm.totalRows || _vm.totalRowCount,\n \"mode\": _vm.paginationMode,\n \"nextText\": _vm.nextText,\n \"prevText\": _vm.prevText,\n \"rowsPerPageText\": _vm.rowsPerPageText,\n \"customRowsPerPageDropdown\": _vm.customRowsPerPageDropdown,\n \"paginateDropdownAllowAll\": _vm.paginateDropdownAllowAll,\n \"ofText\": _vm.ofText,\n \"pageText\": _vm.pageText,\n \"allText\": _vm.allText\n },\n on: {\n \"page-changed\": _vm.pageChanged,\n \"per-page-changed\": _vm.perPageChanged\n }\n })], {\n \"pageChanged\": _vm.pageChanged,\n \"perPageChanged\": _vm.perPageChanged,\n \"total\": _vm.totalRows || _vm.totalRowCount\n }) : _vm._e(), _vm._v(\" \"), _c('vgt-global-search', {\n attrs: {\n \"search-enabled\": _vm.searchEnabled && _vm.externalSearchQuery == null,\n \"global-search-placeholder\": _vm.searchPlaceholder\n },\n on: {\n \"on-keyup\": _vm.searchTableOnKeyUp,\n \"on-enter\": _vm.searchTableOnEnter\n },\n model: {\n value: _vm.globalSearchTerm,\n callback: function callback($$v) {\n _vm.globalSearchTerm = $$v;\n },\n expression: \"globalSearchTerm\"\n }\n }, [_c('template', {\n slot: \"internal-table-actions\"\n }, [_vm.columnFilterEnabled ? _vm._t(\"table-actions\", [_c('vgt-column-dropdown', {\n attrs: {\n \"columns\": _vm.columns\n },\n on: {\n \"input\": _vm.toggleFilteredColumn\n }\n })]) : _vm._e()], 2)], 2), _vm._v(\" \"), _vm.selectedRowCount && !_vm.disableSelectInfo ? _c('div', {\n staticClass: \"vgt-selection-info-row clearfix\",\n \"class\": _vm.selectionInfoClass\n }, [_c('span', [_vm._v(_vm._s(_vm.selectionInfo))]), _vm._v(\" \"), _c('a', {\n attrs: {\n \"href\": \"\"\n },\n on: {\n \"click\": function click($event) {\n $event.preventDefault();\n return _vm.unselectAllInternal(true);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.clearSelectionText) + \"\\n \")]), _vm._v(\" \"), _c('div', {\n staticClass: \"vgt-selection-info-row__actions vgt-pull-right\"\n }, [_vm._t(\"selected-row-actions\")], 2)]) : _vm._e(), _vm._v(\" \"), _c('div', {\n staticClass: \"vgt-fixed-header\"\n }, [_vm.fixedHeader ? _c('table', {\n \"class\": _vm.tableStyleClasses\n }, [_c(\"vgt-table-header\", {\n ref: \"table-header-secondary\",\n tag: \"thead\",\n attrs: {\n \"columns\": _vm.columns,\n \"line-numbers\": _vm.lineNumbers,\n \"selectable\": _vm.selectable,\n \"all-selected\": _vm.allSelected,\n \"all-selected-indeterminate\": _vm.allSelectedIndeterminate,\n \"mode\": _vm.mode,\n \"sortable\": _vm.sortable,\n \"typed-columns\": _vm.typedColumns,\n \"getClasses\": _vm.getClasses,\n \"searchEnabled\": _vm.searchEnabled,\n \"paginated\": _vm.paginated,\n \"table-ref\": _vm.$refs.table\n },\n on: {\n \"on-toggle-select-all\": _vm.toggleSelectAll,\n \"on-sort-change\": _vm.changeSort,\n \"filter-changed\": _vm.filterRows\n },\n scopedSlots: _vm._u([{\n key: \"table-column\",\n fn: function fn(props) {\n return [_vm._t(\"table-column\", [_c('span', [_vm._v(_vm._s(props.column.label))])], {\n \"column\": props.column\n })];\n }\n }], null, true)\n })], 1) : _vm._e()]), _vm._v(\" \"), _c('div', {\n \"class\": {\n 'vgt-responsive': _vm.responsive\n },\n style: _vm.wrapperStyles\n }, [_c('table', {\n ref: \"table\",\n \"class\": _vm.tableStyleClasses\n }, [_c(\"vgt-table-header\", {\n ref: \"table-header-primary\",\n tag: \"thead\",\n attrs: {\n \"columns\": _vm.columns,\n \"line-numbers\": _vm.lineNumbers,\n \"selectable\": _vm.selectable,\n \"all-selected\": _vm.allSelected,\n \"all-selected-indeterminate\": _vm.allSelectedIndeterminate,\n \"mode\": _vm.mode,\n \"sortable\": _vm.sortable,\n \"typed-columns\": _vm.typedColumns,\n \"getClasses\": _vm.getClasses,\n \"searchEnabled\": _vm.searchEnabled\n },\n on: {\n \"on-toggle-select-all\": _vm.toggleSelectAll,\n \"on-sort-change\": _vm.changeSort,\n \"filter-changed\": _vm.filterRows\n },\n scopedSlots: _vm._u([{\n key: \"table-column\",\n fn: function fn(props) {\n return [_vm._t(\"table-column\", [_c('span', [_vm._v(_vm._s(props.column.label))])], {\n \"column\": props.column\n })];\n }\n }], null, true)\n }), _vm._v(\" \"), _vm._l(_vm.paginated, function (headerRow, index) {\n return _c('tbody', {\n key: index\n }, [_vm.groupHeaderOnTop ? _c('vgt-header-row', {\n attrs: {\n \"mode\": _vm.mode,\n \"header-row\": headerRow,\n \"columns\": _vm.columns,\n \"line-numbers\": _vm.lineNumbers,\n \"selectable\": _vm.selectable,\n \"collapsable\": _vm.groupOptions.collapsable,\n \"select-all-by-group\": _vm.selectAllByGroup,\n \"collect-formatted\": _vm.collectFormatted,\n \"formatted-row\": _vm.formattedRow,\n \"get-classes\": _vm.getClasses,\n \"full-colspan\": _vm.fullColspan,\n \"groupIndex\": index,\n \"groupOptions\": _vm.groupOptions,\n \"groupChildObject\": _vm.groupChildObject\n },\n on: {\n \"vgtExpand\": function vgtExpand($event) {\n return _vm.toggleExpand(index);\n },\n \"on-select-group-change\": function onSelectGroupChange($event) {\n return _vm.toggleSelectGroup($event, headerRow);\n }\n },\n scopedSlots: _vm._u([{\n key: \"table-header-row\",\n fn: function fn(props) {\n return _vm.hasHeaderRowTemplate ? [_vm._t(\"table-header-row\", null, {\n \"column\": props.column,\n \"formattedRow\": props.formattedRow,\n \"row\": props.row\n })] : undefined;\n }\n }], null, true)\n }) : _vm._e(), _vm._v(\" \"), _vm._l(headerRow[_vm.groupChildObject], function (row, index) {\n return (_vm.groupOptions.collapsable ? headerRow.vgtIsExpanded : true) ? _c('tr', {\n key: row.originalIndex,\n ref: \"row-\" + row.originalIndex,\n refInFor: true,\n \"class\": _vm.getRowStyleClass(row),\n on: {\n \"mouseenter\": function mouseenter($event) {\n return _vm.onMouseenter(row, index);\n },\n \"mouseleave\": function mouseleave($event) {\n return _vm.onMouseleave(row, index);\n },\n \"dblclick\": function dblclick($event) {\n return _vm.onRowDoubleClicked(row, index, $event);\n },\n \"click\": function click($event) {\n return _vm.onRowClicked(row, index, $event);\n },\n \"auxclick\": function auxclick($event) {\n return _vm.onRowAuxClicked(row, index, $event);\n }\n }\n }, [_vm.lineNumbers ? _c('th', {\n staticClass: \"line-numbers\"\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getCurrentIndex(index)) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _vm.selectable ? _c('td', {\n staticClass: \"vgt-checkbox-col\",\n on: {\n \"click\": function click($event) {\n $event.stopPropagation();\n return _vm.onCheckboxClicked(row, index, $event);\n }\n }\n }, [_c('input', {\n attrs: {\n \"type\": \"checkbox\"\n },\n domProps: {\n \"checked\": row.vgtSelected\n }\n })]) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.columns, function (column, i) {\n return !column.hidden && column.field ? _c('td', {\n key: i,\n \"class\": _vm.getClasses(i, 'td', row),\n on: {\n \"click\": function click($event) {\n return _vm.onCellClicked(row, column, index, $event);\n }\n }\n }, [_vm._t(\"table-row\", [!column.html ? _c('span', [_vm._v(\"\\n \" + _vm._s(_vm.collectFormatted(row, column)) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), column.html ? _c('span', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.collect(row, column.field))\n }\n }) : _vm._e()], {\n \"row\": row,\n \"column\": column,\n \"formattedRow\": _vm.formattedRow(row),\n \"index\": index\n })], 2) : _vm._e();\n })], 2) : _vm._e();\n }), _vm._v(\" \"), _vm.groupHeaderOnBottom ? _c('vgt-header-row', {\n attrs: {\n \"header-row\": headerRow,\n \"columns\": _vm.columns,\n \"line-numbers\": _vm.lineNumbers,\n \"selectable\": _vm.selectable,\n \"select-all-by-group\": _vm.selectAllByGroup,\n \"collect-formatted\": _vm.collectFormatted,\n \"formatted-row\": _vm.formattedRow,\n \"get-classes\": _vm.getClasses,\n \"full-colspan\": _vm.fullColspan,\n \"groupIndex\": index,\n \"groupOptions\": _vm.groupOptions,\n \"groupChildObject\": _vm.groupChildObject\n },\n on: {\n \"on-select-group-change\": function onSelectGroupChange($event) {\n return _vm.toggleSelectGroup($event, headerRow);\n }\n },\n scopedSlots: _vm._u([{\n key: \"table-header-row\",\n fn: function fn(props) {\n return _vm.hasHeaderRowTemplate ? [_vm._t(\"table-header-row\", null, {\n \"column\": props.column,\n \"formattedRow\": props.formattedRow,\n \"row\": props.row\n })] : undefined;\n }\n }], null, true)\n }) : _vm._e(), _vm._v(\" \"), _vm._t(\"table-footer-row\", null, {\n \"columns\": _vm.columns,\n \"headerRow\": headerRow\n })], 2);\n }), _vm._v(\" \"), _vm.showEmptySlot ? _c('tbody', [_c('tr', [_c('td', {\n attrs: {\n \"colspan\": _vm.fullColspan\n }\n }, [_vm._t(\"emptystate\", [_c('div', {\n staticClass: \"vgt-center-align vgt-text-disabled\"\n }, [_vm._v(\"\\n No data for table\\n \")])])], 2)])]) : _vm._e()], 2)]), _vm._v(\" \"), _vm.hasFooterSlot ? _c('div', {\n staticClass: \"vgt-wrap__actions-footer\"\n }, [_vm._t(\"table-actions-bottom\")], 2) : _vm._e(), _vm._v(\" \"), _vm.paginate && _vm.paginateOnBottom ? _vm._t(\"pagination-bottom\", [_c('vgt-pagination', {\n ref: \"paginationBottom\",\n attrs: {\n \"perPage\": _vm.perPage,\n \"rtl\": _vm.rtl,\n \"total\": _vm.totalRows || _vm.totalRowCount,\n \"mode\": _vm.paginationMode,\n \"nextText\": _vm.nextText,\n \"prevText\": _vm.prevText,\n \"rowsPerPageText\": _vm.rowsPerPageText,\n \"customRowsPerPageDropdown\": _vm.customRowsPerPageDropdown,\n \"paginateDropdownAllowAll\": _vm.paginateDropdownAllowAll,\n \"ofText\": _vm.ofText,\n \"pageText\": _vm.pageText,\n \"allText\": _vm.allText\n },\n on: {\n \"page-changed\": _vm.pageChanged,\n \"per-page-changed\": _vm.perPageChanged\n }\n })], {\n \"pageChanged\": _vm.pageChanged,\n \"perPageChanged\": _vm.perPageChanged,\n \"total\": _vm.totalRows || _vm.totalRowCount\n }) : _vm._e()], 2)]);\n};\n\nvar __vue_staticRenderFns__$7 = [];\n/* style */\n\nvar __vue_inject_styles__$7 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$7 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$7 = normalizeComponent({\n render: __vue_render__$7,\n staticRenderFns: __vue_staticRenderFns__$7\n}, __vue_inject_styles__$7, __vue_script__$7, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);\n\nvar vueSelect = createCommonjsModule(function (module, exports) {\n!function(t,e){module.exports=e();}(\"undefined\"!=typeof self?self:commonjsGlobal,(function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o});},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0});},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/\",n(n.s=8)}([function(t,e,n){var o=n(4),i=n(5),r=n(6);t.exports=function(t){return o(t)||i(t)||r()};},function(t,e){function n(e){return \"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?t.exports=n=function(t){return typeof t}:t.exports=n=function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},n(e)}t.exports=n;},function(t,e,n){},function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t};},function(t,e){t.exports=function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);en.bottom)return this.$refs.dropdownMenu.scrollTop=e.offsetTop-(n.height-s)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},u={data:function(){return {typeAheadPointer:-1}},watch:{filteredOptions:function(){for(var t=0;t=0;t--)if(this.selectable(this.filteredOptions[t])){this.typeAheadPointer=t;break}},typeAheadDown:function(){for(var t=this.typeAheadPointer+1;t0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==t?!this.mutableLoading:t}}};function h(t,e,n,o,i,r,s,a){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId=\"data-v-\"+r),s?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s);},c._ssrRegister=l):i&&(l=a?function(){i.call(this,this.$root.$options.shadowRoot);}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)};}else {var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l];}return {exports:t,options:c}}var d={Deselect:h({},(function(){var t=this.$createElement,e=this._self._c||t;return e(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"10\",height:\"10\"}},[e(\"path\",{attrs:{d:\"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z\"}})])}),[],!1,null,null,null).exports,OpenIndicator:h({},(function(){var t=this.$createElement,e=this._self._c||t;return e(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"10\"}},[e(\"path\",{attrs:{d:\"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z\"}})])}),[],!1,null,null,null).exports},f={inserted:function(t,e,n){var o=n.context;if(o.appendToBody){var i=o.$refs.toggle.getBoundingClientRect(),r=i.height,s=i.top,a=i.left,l=i.width;t.unbindPosition=o.calculatePosition(t,o,{width:l+\"px\",top:window.scrollY+s+r+\"px\",left:window.scrollX+a+\"px\"}),document.body.appendChild(t);}},unbind:function(t,e,n){n.context.appendToBody&&(t.unbindPosition&&\"function\"==typeof t.unbindPosition&&t.unbindPosition(),t.parentNode&&t.parentNode.removeChild(t));}};var y=function(t){var e={};return Object.keys(t).sort().forEach((function(n){e[n]=t[n];})),JSON.stringify(e)},b=0;var g=function(){return ++b};function v(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o);}return n}function m(t){for(var e=1;e-1}},filter:{type:Function,default:function(t,e){var n=this;return t.filter((function(t){var o=n.getOptionLabel(t);return \"number\"==typeof o&&(o=o.toString()),n.filterBy(t,o,e)}))}},createOption:{type:Function,default:function(t){return \"object\"===s()(this.optionList[0])?l()({},this.label,t):t}},resetOnOptionsChange:{default:!1,validator:function(t){return [\"function\",\"boolean\"].includes(s()(t))}},clearSearchOnBlur:{type:Function,default:function(t){var e=t.clearSearchOnSelect,n=t.multiple;return e&&!n}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:\"auto\"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return [13]}},searchInputQuerySelector:{type:String,default:\"[type=search]\"},mapKeydown:{type:Function,default:function(t,e){return t}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(t,e,n){var o=n.width,i=n.top,r=n.left;t.style.top=i,t.style.left=r,t.style.width=o;}}},data:function(){return {uid:g(),search:\"\",open:!1,isComposing:!1,pushedTags:[],_value:[]}},watch:{options:function(t,e){var n=this;!this.taggable&&(\"function\"==typeof n.resetOnOptionsChange?n.resetOnOptionsChange(t,e,n.selectedValue):n.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value);},value:function(t){this.isTrackingValues&&this.setInternalValueFromOptions(t);},multiple:function(){this.clearSelection();},open:function(t){this.$emit(t?\"open\":\"close\");}},created:function(){this.mutableLoading=this.loading,void 0!==this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value),this.$on(\"option:created\",this.pushTag);},methods:{setInternalValueFromOptions:function(t){var e=this;Array.isArray(t)?this.$data._value=t.map((function(t){return e.findOptionFromReducedValue(t)})):this.$data._value=this.findOptionFromReducedValue(t);},select:function(t){this.isOptionSelected(t)||(this.taggable&&!this.optionExists(t)&&this.$emit(\"option:created\",t),this.multiple&&(t=this.selectedValue.concat(t)),this.updateValue(t)),this.onAfterSelect(t);},deselect:function(t){var e=this;this.updateValue(this.selectedValue.filter((function(n){return !e.optionComparator(n,t)})));},clearSelection:function(){this.updateValue(this.multiple?[]:null);},onAfterSelect:function(t){this.closeOnSelect&&(this.open=!this.open,this.searchEl.blur()),this.clearSearchOnSelect&&(this.search=\"\");},updateValue:function(t){var e=this;this.isTrackingValues&&(this.$data._value=t),null!==t&&(t=Array.isArray(t)?t.map((function(t){return e.reduce(t)})):this.reduce(t)),this.$emit(\"input\",t);},toggleDropdown:function(t){var e=t.target!==this.$refs.search;e&&t.preventDefault(),[].concat(i()(this.$refs.deselectButtons||[]),i()([this.$refs.clearButton]||false)).some((function(e){return e.contains(t.target)||e===t.target}))?t.preventDefault():this.open&&e?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus());},isOptionSelected:function(t){var e=this;return this.selectedValue.some((function(n){return e.optionComparator(n,t)}))},optionComparator:function(t,e){return this.getOptionKey(t)===this.getOptionKey(e)},findOptionFromReducedValue:function(t){var e=this,n=[].concat(i()(this.options),i()(this.pushedTags)).filter((function(n){return JSON.stringify(e.reduce(n))===JSON.stringify(t)}));return 1===n.length?n[0]:n.find((function(t){return e.optionComparator(t,e.$data._value)}))||t},closeSearchOptions:function(){this.open=!1,this.$emit(\"search:blur\");},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var t=null;this.multiple&&(t=i()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(t);}},optionExists:function(t){var e=this;return this.optionList.some((function(n){return e.optionComparator(n,t)}))},normalizeOptionForSlot:function(t){return \"object\"===s()(t)?t:l()({},this.label,t)},pushTag:function(t){this.pushedTags.push(t);},onEscape:function(){this.search.length?this.search=\"\":this.searchEl.blur();},onSearchBlur:function(){if(!this.mousedown||this.searching){var t=this.clearSearchOnSelect,e=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:t,multiple:e})&&(this.search=\"\"),void this.closeSearchOptions()}this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions();},onSearchFocus:function(){this.open=!0,this.$emit(\"search:focus\");},onMousedown:function(){this.mousedown=!0;},onMouseUp:function(){this.mousedown=!1;},onSearchKeyDown:function(t){var e=this,n=function(t){return t.preventDefault(),!e.isComposing&&e.typeAheadSelect()},o={8:function(t){return e.maybeDeleteValue()},9:function(t){return e.onTab()},27:function(t){return e.onEscape()},38:function(t){return t.preventDefault(),e.typeAheadUp()},40:function(t){return t.preventDefault(),e.typeAheadDown()}};this.selectOnKeyCodes.forEach((function(t){return o[t]=n}));var i=this.mapKeydown(o,this);if(\"function\"==typeof i[t.keyCode])return i[t.keyCode](t)}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty(\"reduce\")},selectedValue:function(){var t=this.value;return this.isTrackingValues&&(t=this.$data._value),t?[].concat(t):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var t=this,e={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return {search:{attributes:m({disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,\"aria-autocomplete\":\"list\",\"aria-labelledby\":\"vs\".concat(this.uid,\"__combobox\"),\"aria-controls\":\"vs\".concat(this.uid,\"__listbox\"),ref:\"search\",type:\"search\",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{\"aria-activedescendant\":\"vs\".concat(this.uid,\"__option-\").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return t.isComposing=!0},compositionend:function(){return t.isComposing=!1},keydown:this.onSearchKeyDown,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(e){return t.search=e.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.loading,searching:this.searching},openIndicator:{attributes:{ref:\"openIndicator\",role:\"presentation\",class:\"vs__open-indicator\"}},listHeader:e,listFooter:e,header:m({},e,{deselect:this.deselect}),footer:m({},e,{deselect:this.deselect})}},childComponents:function(){return m({},d,{},this.components)},stateClasses:function(){return {\"vs--open\":this.dropdownOpen,\"vs--single\":!this.multiple,\"vs--searching\":this.searching&&!this.noDrop,\"vs--searchable\":this.searchable&&!this.noDrop,\"vs--unsearchable\":!this.searchable,\"vs--loading\":this.mutableLoading,\"vs--disabled\":this.disabled}},searching:function(){return !!this.search},dropdownOpen:function(){return !this.noDrop&&(this.open&&!this.mutableLoading)},searchPlaceholder:function(){if(this.isValueEmpty&&this.placeholder)return this.placeholder},filteredOptions:function(){var t=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return t;var e=this.search.length?this.filter(t,this.search,this):t;if(this.taggable&&this.search.length){var n=this.createOption(this.search);this.optionExists(n)||e.unshift(n);}return e},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return !this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}}},O=(n(7),h(_,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"v-select\",class:t.stateClasses,attrs:{dir:t.dir}},[t._t(\"header\",null,null,t.scope.header),t._v(\" \"),n(\"div\",{ref:\"toggle\",staticClass:\"vs__dropdown-toggle\",attrs:{id:\"vs\"+t.uid+\"__combobox\",role:\"combobox\",\"aria-expanded\":t.dropdownOpen.toString(),\"aria-owns\":\"vs\"+t.uid+\"__listbox\",\"aria-label\":\"Search for option\"},on:{mousedown:function(e){return t.toggleDropdown(e)}}},[n(\"div\",{ref:\"selectedOptions\",staticClass:\"vs__selected-options\"},[t._l(t.selectedValue,(function(e){return t._t(\"selected-option-container\",[n(\"span\",{key:t.getOptionKey(e),staticClass:\"vs__selected\"},[t._t(\"selected-option\",[t._v(\"\\n \"+t._s(t.getOptionLabel(e))+\"\\n \")],null,t.normalizeOptionForSlot(e)),t._v(\" \"),t.multiple?n(\"button\",{ref:\"deselectButtons\",refInFor:!0,staticClass:\"vs__deselect\",attrs:{disabled:t.disabled,type:\"button\",title:\"Deselect \"+t.getOptionLabel(e),\"aria-label\":\"Deselect \"+t.getOptionLabel(e)},on:{click:function(n){return t.deselect(e)}}},[n(t.childComponents.Deselect,{tag:\"component\"})],1):t._e()],2)],{option:t.normalizeOptionForSlot(e),deselect:t.deselect,multiple:t.multiple,disabled:t.disabled})})),t._v(\" \"),t._t(\"search\",[n(\"input\",t._g(t._b({staticClass:\"vs__search\"},\"input\",t.scope.search.attributes,!1),t.scope.search.events))],null,t.scope.search)],2),t._v(\" \"),n(\"div\",{ref:\"actions\",staticClass:\"vs__actions\"},[n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showClearButton,expression:\"showClearButton\"}],ref:\"clearButton\",staticClass:\"vs__clear\",attrs:{disabled:t.disabled,type:\"button\",title:\"Clear Selected\",\"aria-label\":\"Clear Selected\"},on:{click:t.clearSelection}},[n(t.childComponents.Deselect,{tag:\"component\"})],1),t._v(\" \"),t._t(\"open-indicator\",[t.noDrop?t._e():n(t.childComponents.OpenIndicator,t._b({tag:\"component\"},\"component\",t.scope.openIndicator.attributes,!1))],null,t.scope.openIndicator),t._v(\" \"),t._t(\"spinner\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.mutableLoading,expression:\"mutableLoading\"}],staticClass:\"vs__spinner\"},[t._v(\"Loading...\")])],null,t.scope.spinner)],2)]),t._v(\" \"),n(\"transition\",{attrs:{name:t.transition}},[t.dropdownOpen?n(\"ul\",{directives:[{name:\"append-to-body\",rawName:\"v-append-to-body\"}],ref:\"dropdownMenu\",staticClass:\"vs__dropdown-menu\",attrs:{id:\"vs\"+t.uid+\"__listbox\",role:\"listbox\"},on:{mousedown:function(e){return e.preventDefault(),t.onMousedown(e)},mouseup:t.onMouseUp}},[t._t(\"list-header\",null,null,t.scope.listHeader),t._v(\" \"),t._l(t.filteredOptions,(function(e,o){return n(\"li\",{key:t.getOptionKey(e),staticClass:\"vs__dropdown-option\",class:{\"vs__dropdown-option--selected\":t.isOptionSelected(e),\"vs__dropdown-option--highlight\":o===t.typeAheadPointer,\"vs__dropdown-option--disabled\":!t.selectable(e)},attrs:{role:\"option\",id:\"vs\"+t.uid+\"__option-\"+o,\"aria-selected\":o===t.typeAheadPointer||null},on:{mouseover:function(n){t.selectable(e)&&(t.typeAheadPointer=o);},mousedown:function(n){n.preventDefault(),n.stopPropagation(),t.selectable(e)&&t.select(e);}}},[t._t(\"option\",[t._v(\"\\n \"+t._s(t.getOptionLabel(e))+\"\\n \")],null,t.normalizeOptionForSlot(e))],2)})),t._v(\" \"),0===t.filteredOptions.length?n(\"li\",{staticClass:\"vs__no-options\"},[t._t(\"no-options\",[t._v(\"Sorry, no matching options.\")],null,t.scope.noOptions)],2):t._e(),t._v(\" \"),t._t(\"list-footer\",null,null,t.scope.listFooter)],2):n(\"ul\",{staticStyle:{display:\"none\",visibility:\"hidden\"},attrs:{id:\"vs\"+t.uid+\"__listbox\",role:\"listbox\"}})]),t._v(\" \"),t._t(\"footer\",null,null,t.scope.footer)],2)}),[],!1,null,null,null).exports),w={ajax:p,pointer:u,pointerScroll:c};n.d(e,\"VueSelect\",(function(){return O})),n.d(e,\"mixins\",(function(){return w}));e.default=O;}])}));\n\n});\n\nvar vSelect = unwrapExports(vueSelect);\nvar vueSelect_1 = vueSelect.VueSelect;\n\nvar VueGoodTablePlugin = {\n install: function install(Vue, options) {\n Vue.component('v-select', vSelect);\n Vue.component(__vue_component__$7.name, __vue_component__$7);\n }\n}; // Automatic installation if Vue has been added to the global scope.\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(VueGoodTablePlugin);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VueGoodTablePlugin);\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/vue-good-table/dist/vue-good-table.esm.js?"); - -/***/ }), - -/***/ "./node_modules/vue-images-loaded/dist/vueimagesloaded.js": -/*!****************************************************************!*\ - !*** ./node_modules/vue-images-loaded/dist/vueimagesloaded.js ***! - \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("!function(t,e){ true?module.exports=e(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm.js\")):undefined}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p=\"/\",e(0)}([function(t,e,n){var r,o,i;!function(s,u){o=[t,e,n(13),n(14),n(43),n(44)],r=u,i=\"function\"==typeof r?r.apply(e,o):r,!(void 0!==i&&(t.exports=i))}(this,function(t,e,n,r,o,i){\"use strict\";function s(t){return t&&t.__esModule?t:{default:t}}function u(t,e){var n=t.length;if(n!=e.length)return!1;for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:\"\";if(\"function\"!=typeof t)throw\"imageLoaded directive error: objet \"+t+\" should be a function \"+e}function f(t,e){var n=e.value,r=e.arg,o=e.modifiers;if(!r)return c(n),void t.on(\"always\",function(t){return setTimeout(function(){return n(t)})});var i=!!o&&!!(0,h.default)(o).length,s=i?o:n,u=i?function(t){return n}:function(t){return n[t]},f=function(){var e=u(a);c(e,i?\"\":\"property \"+a+\" of \"+n),t[r](a,function(t,n){return setTimeout(function(){return e(t,n)})})};for(var a in s)f()}function a(t,e){var n=(0,d.default)(t),r=n.images.map(function(t){return{img:t.img,src:t.img.src}}),o=t.__imagesLoaded__.context;u(o,r)||(f(n,e),(0,p.default)(t.__imagesLoaded__,{context:r,imageLoaded:n}))}Object.defineProperty(e,\"__esModule\",{value:!0});var p=s(n),h=s(r),d=s(o),l=s(i);e.default={bind:function(t){t.__imagesLoaded__={context:[]}},inserted:function(t,e){a(t,e)},componentUpdated:function(t,e){l.default.nextTick(function(){a(t,e)})},unbind:function(t,e){t.__imagesLoaded__=null}},t.exports=e.default})},function(t,e){var n=t.exports={version:\"2.4.0\"};\"number\"==typeof __e&&(__e=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){t.exports=!n(2)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){var r=n(4),o=n(1),i=n(21),s=n(25),u=\"prototype\",c=function(t,e,n){var f,a,p,h=t&c.F,d=t&c.G,l=t&c.S,v=t&c.P,m=t&c.B,g=t&c.W,y=d?o:o[e]||(o[e]={}),x=y[u],b=d?r:l?r[e]:(r[e]||{})[u];d&&(n=e);for(f in n)a=!h&&b&&void 0!==b[f],a&&f in y||(p=a?b[f]:n[f],y[f]=d&&\"function\"!=typeof b[f]?n[f]:m&&a?i(p,r):g&&b[f]==p?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[u]=t[u],e}(p):v&&\"function\"==typeof p?i(Function.call,p):p,v&&((y.virtual||(y.virtual={}))[f]=p,t&c.R&&x&&!x[f]&&s(x,f,p)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e,n){var r=n(20);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==r(t)?t.split(\"\"):Object(t)}},function(t,e,n){var r=n(30),o=n(23);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(8),o=n(6);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(6);t.exports=function(t){return Object(r(t))}},function(t,e,n){t.exports={default:n(15),__esModule:!0}},function(t,e,n){t.exports={default:n(16),__esModule:!0}},function(t,e,n){n(40),t.exports=n(1).Object.assign},function(t,e,n){n(41),t.exports=n(1).Object.keys},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e,n){var r=n(5);t.exports=function(t){if(!r(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var r=n(11),o=n(37),i=n(36);t.exports=function(t){return function(e,n,s){var u,c=r(e),f=o(c.length),a=i(s,f);if(t&&n!=n){for(;f>a;)if(u=c[a++],u!=u)return!0}else for(;f>a;a++)if((t||a in c)&&c[a]===n)return t||a||0;return!t&&-1}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(17);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(5),o=n(4).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(28),o=n(33);t.exports=n(3)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){t.exports=!n(3)&&!n(2)(function(){return 7!=Object.defineProperty(n(22)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){\"use strict\";var r=n(9),o=n(29),i=n(31),s=n(12),u=n(8),c=Object.assign;t.exports=!c||n(2)(function(){var t={},e={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return t[n]=7,r.split(\"\").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join(\"\")!=r})?function(t,e){for(var n=s(t),c=arguments.length,f=1,a=o.f,p=i.f;c>f;)for(var h,d=u(arguments[f++]),l=a?r(d).concat(a(d)):r(d),v=l.length,m=0;v>m;)p.call(d,h=l[m++])&&(n[h]=d[h]);return n}:c},function(t,e,n){var r=n(18),o=n(26),i=n(38),s=Object.defineProperty;e.f=n(3)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(24),o=n(11),i=n(19)(!1),s=n(34)(\"IE_PROTO\");t.exports=function(t,e){var n,u=o(t),c=0,f=[];for(n in u)n!=s&&r(u,n)&&f.push(n);for(;e.length>c;)r(u,n=e[c++])&&(~i(f,n)||f.push(n));return f}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(7),o=n(1),i=n(2);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],s={};s[t]=e(n),r(r.S+r.F*i(function(){n(1)}),\"Object\",s)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(35)(\"keys\"),o=n(39);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(4),o=\"__core-js_shared__\",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e,n){var r=n(10),o=Math.max,i=Math.min;t.exports=function(t,e){return t=r(t),t<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(10),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(5);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if(\"function\"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+r).toString(36))}},function(t,e,n){var r=n(7);r(r.S+r.F,\"Object\",{assign:n(27)})},function(t,e,n){var r=n(12),o=n(9);n(32)(\"keys\",function(){return function(t){return o(r(t))}})},function(t,e,n){var r,o;!function(i,s){r=s,o=\"function\"==typeof r?r.call(e,n,e,t):r,!(void 0!==o&&(t.exports=o))}(\"undefined\"!=typeof window?window:this,function(){\"use strict\";function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var n=this._events=this._events||{},r=n[t]=n[t]||[];return r.indexOf(e)==-1&&r.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var n=this._onceEvents=this._onceEvents||{},r=n[t]=n[t]||{};return r[e]=!0,this}},e.off=function(t,e){var n=this._events&&this._events[t];if(n&&n.length){var r=n.indexOf(e);return r!=-1&&n.splice(r,1),this}},e.emitEvent=function(t,e){var n=this._events&&this._events[t];if(n&&n.length){var r=0,o=n[r];e=e||[];for(var i=this._onceEvents&&this._onceEvents[t];o;){var s=i&&i[o];s&&(this.off(t,o),delete i[o]),o.apply(this,e),r+=s?0:1,o=n[r]}return this}},t})},function(t,e,n){var r,o;/*!\n\t * imagesLoaded v4.1.1\n\t * JavaScript is all like \"You images are done yet or what?\"\n\t * MIT License\n\t */\n!function(i,s){\"use strict\";r=[n(42)],o=function(t){return s(i,t)}.apply(e,r),!(void 0!==o&&(t.exports=o))}(window,function(t,e){\"use strict\";function n(t,e){for(var n in e)t[n]=e[n];return t}function r(t){var e=[];if(Array.isArray(t))e=t;else if(\"number\"==typeof t.length)for(var n=0;nn.parts.length&&(i.parts.length=n.parts.length)}else{var r=[];for(o=0;o component must be present on the page.\")};a.prototype.$modal={show:function(e){for(var t=arguments.length,n=new Array(1 2 && arguments[2] !== undefined ? arguments[2] : '0px';\n\n return 'translate3d(' + x + ', ' + y + ', ' + z + ')';\n};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(5)();\n// imports\n\n\n// module\nexports.push([module.i, \".vue-js-switch[data-v-25adc6c0]{display:inline-block;position:relative;vertical-align:middle;user-select:none;font-size:10px;cursor:pointer}.vue-js-switch .v-switch-input[data-v-25adc6c0]{opacity:0;position:absolute;width:1px;height:1px}.vue-js-switch .v-switch-label[data-v-25adc6c0]{position:absolute;top:0;font-weight:600;color:#fff;z-index:1}.vue-js-switch .v-switch-label.v-left[data-v-25adc6c0]{left:10px}.vue-js-switch .v-switch-label.v-right[data-v-25adc6c0]{right:10px}.vue-js-switch .v-switch-core[data-v-25adc6c0]{display:block;position:relative;box-sizing:border-box;outline:0;margin:0;transition:border-color .3s,background-color .3s;user-select:none}.vue-js-switch .v-switch-core .v-switch-button[data-v-25adc6c0]{display:block;position:absolute;overflow:hidden;top:0;left:0;border-radius:100%;background-color:#fff;z-index:2}.vue-js-switch.disabled[data-v-25adc6c0]{pointer-events:none;opacity:.6}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = Object.create(options.computed || null)\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n options.computed = computed\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('label', {\n class: _vm.className\n }, [_c('input', {\n staticClass: \"v-switch-input\",\n attrs: {\n \"type\": \"checkbox\",\n \"name\": _vm.name,\n \"disabled\": _vm.disabled\n },\n domProps: {\n \"checked\": _vm.value\n },\n on: {\n \"change\": function($event) {\n $event.stopPropagation();\n return _vm.toggle($event)\n }\n }\n }), _vm._v(\" \"), _c('div', {\n staticClass: \"v-switch-core\",\n style: (_vm.coreStyle)\n }, [_c('div', {\n staticClass: \"v-switch-button\",\n style: (_vm.buttonStyle)\n })]), _vm._v(\" \"), (_vm.labels) ? [(_vm.toggled) ? _c('span', {\n staticClass: \"v-switch-label v-left\",\n style: (_vm.labelStyle)\n }, [_vm._t(\"checked\", [\n [_vm._v(_vm._s(_vm.labelChecked))]\n ])], 2) : _c('span', {\n staticClass: \"v-switch-label v-right\",\n style: (_vm.labelStyle)\n }, [_vm._t(\"unchecked\", [\n [_vm._v(_vm._s(_vm.labelUnchecked))]\n ])], 2)] : _vm._e()], 2)\n},staticRenderFns: []}\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a ").prop("disabled",!0).appendTo("head"),u.$breakpoints=e("").prop("disabled",!0).appendTo("head"),u.isInitializing=!0,r.setUpColspan(o,a),r.setupSelector(o,a),a.columnSelector_mediaquery&&r.setupBreakpoints(o,a),u.isInitializing=!1,u.$container.length?r.updateCols(o,a):l&&console.warn("ColumnSelector >> container not found"),o.$table.off("refreshColumnSelector"+n).on("refreshColumnSelector"+n,(function(e,t,n){r.refreshColumns(this.config,t,n)})),l&&console.log("ColumnSelector >> Widget initialized")):l&&console.error("ColumnSelector >> ERROR: Column Selector aborting, no input found in the layout! ***")},refreshColumns:function(t,n,i){var o,a,s,u,l=t.selector,c=e.isArray(i||n),f=t.widgetOptions;if(null!=n&&l.$container.length){if("selectors"===n&&(l.$container.empty(),r.setupSelector(t,f),r.setupBreakpoints(t,f),void 0===i&&null!==i&&(i=l.auto)),c)for(a=i||n,e.each(a,(function(e,t){a[e]=parseInt(t,10)})),o=0;o tr > ",a=e(o+"th,"+o+"td"),s=[];for(r=0;r'),i=s.selector,o=s.widgetOptions,u.find(".tablesorter-column-selector").html(i.$container.html()).find("input").each((function(){var t=e(this).attr("data-column"),n="auto"===t?i.auto:i.states[t];e(this).toggleClass(o.columnSelector_cssChecked,n).prop("checked",n)})),i.$popup=u.on("change","input",(function(){if(!i.isInitializing){if(!r.checkChange(s,this.checked))return this.checked=!this.checked,!1;a=e(this).toggleClass(o.columnSelector_cssChecked,this.checked).attr("data-column"),i.$container.find('input[data-column="'+a+'"]').prop("checked",this.checked).trigger("change")}})))}};t.window_resize=function(){t.timer_resize&&clearTimeout(t.timer_resize),t.timer_resize=setTimeout((function(){e(window).trigger("resizeEnd")}),250)},t.addWidget({id:"columnSelector",priority:10,options:{columnSelector_container:null,columnSelector_columns:{},columnSelector_saveColumns:!0,columnSelector_layout:'',columnSelector_layoutCustomizer:null,columnSelector_name:"data-selector-name",columnSelector_mediaquery:!0,columnSelector_mediaqueryName:"Auto: ",columnSelector_mediaqueryState:!0,columnSelector_mediaqueryHidden:!1,columnSelector_maxVisible:null,columnSelector_minVisible:null,columnSelector_breakpoints:["20em","30em","40em","50em","60em","70em"],columnSelector_maxPriorities:6,columnSelector_priority:"data-priority",columnSelector_cssChecked:"checked",columnSelector_classHasSpan:"hasSpan",columnSelector_updated:"columnUpdate"},init:function(e,t,n,i){r.init(e,n,i)},remove:function(t,r,i,o){var a=r.selector;!o&&a&&(a&&a.$container.empty(),a.$popup&&a.$popup.empty(),a.$style.remove(),a.$breakpoints.remove(),e(r.namespace+"columnselector"+i.columnSelector_classHasSpan).removeClass(i.filter_filteredRow||"filtered"),r.$table.find("[data-col-span]").each((function(t,n){var r=e(n);r.attr("colspan",r.attr("data-col-span"))})),r.$table.off("updateAll"+n+" update"+n))}})}(e),e})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;i=[n(6)],void 0===(o="function"==typeof(r=function(e){ +/*! Widget: stickyHeaders - updated 9/27/2017 (v2.29.0) */return function(e,t){"use strict";var n=e.tablesorter||{};function r(t,n){var r=isNaN(n.stickyHeaders_offset)?e(n.stickyHeaders_offset):[];return r.length?r.height()||0:parseInt(n.stickyHeaders_offset,10)||0}e.extend(n.css,{sticky:"tablesorter-stickyHeader",stickyVis:"tablesorter-sticky-visible",stickyHide:"tablesorter-sticky-hidden",stickyWrap:"tablesorter-sticky-wrapper"}),n.addHeaderResizeEvent=function(t,n,r){if((t=e(t)[0]).config){var i=e.extend({},{timer:250},r),o=t.config,a=o.widgetOptions,s=function(e){var t,n,r,i,s,u,l=o.$headers.length;for(a.resize_flag=!0,n=[],t=0;t'),C=w.parent().addClass(n.css.stickyHide).css({position:d.length?"absolute":"fixed",padding:parseInt(w.parent().parent().css("padding-left"),10),top:y+_,left:0,visibility:"hidden",zIndex:a.stickyHeaders_zIndex||2}),x=w.children("thead:first"),T="",S=function(e,n){var r,i,o,a,s,u=e.filter(":visible"),l=u.length;for(r=0;ro.top&&m thead:gt(0), tr.sticky-false").hide(),w.find("> tbody, > tfoot").remove(),w.find("caption").toggle(a.stickyHeaders_includeCaption),c=x.children().children(),w.css({height:0,width:0,margin:0}),c.find("."+n.css.resizer).remove(),f.addClass("hasStickyHeaders").bind("pagerComplete"+p,(function(){k()})),n.bindEvents(i,x.children().children("."+n.css.header)),a.stickyHeaders_appendTo?e(a.stickyHeaders_appendTo).append(C):f.after(C),o.onRenderHeader)for(u=(l=x.children("tr").children()).length,s=0;s> Saving last sort: "+i.sortList+t.benchmark(s))):(u.addClass("hasSaveSort"),c="",t.storage&&(c=n(i),f&&console.log('saveSort >> Last sort loaded: "'+c+'"'+t.benchmark(s)),u.bind("saveSortReset",(function(n){n.stopPropagation(),t.storage(e,"tablesorter-savesort","")}))),a&&c&&0=]/g,query:"(q|query)",wild01:/\?/g,wild0More:/\*/g,quote:/\"/g,isNeg1:/(>=?\s*-\d)/,isNeg2:/(<=?\s*\d)/},types:{or:function(r,i,o){if(!n.orTest.test(i.iFilter)&&!n.orSplit.test(i.filter)||n.regex.test(i.filter))return null;var a,s,u,l=e.extend({},i),c=i.filter.split(n.orSplit),f=i.iFilter.split(n.orSplit),d=c.length;for(a=0;a]=?/,gtTest:/>/,gteTest:/>=/,ltTest:/'+(c.data("placeholder")||c.attr("data-placeholder")||g.filter_placeholder.select||"")+"":"",0<=(l=d=u).indexOf(g.filter_selectSourceSeparator)&&(l=(d=u.split(g.filter_selectSourceSeparator))[1],d=d[0]),s+="");m.$table.find("thead").find("select."+i.filter+'[data-column="'+f+'"]').append(s),(p="function"==typeof(l=g.filter_selectSource)||r.getColumnData(o,l,f))&&t.buildSelect(m.table,f,"",!0,c.hasClass(g.filter_onlyAvail))}t.buildDefault(o,!0),t.bindSearch(o,m.$table.find("."+i.filter),!0),g.filter_external&&t.bindSearch(o,g.filter_external),g.filter_hideFilters&&t.hideFilters(m),m.showProcessing&&(l="filterStart filterEnd ".split(" ").join(m.namespace+"filter-sp "),m.$table.unbind(l.replace(r.regex.spaces," ")).bind(l,(function(t,n){c=n?m.$table.find("."+i.header).filter("[data-column]").filter((function(){return""!==n[e(this).data("column")]})):"",r.isProcessing(o,"filterStart"===t.type,n?c:"")}))),m.filteredRows=m.totalRows,l="tablesorter-initialized pagerBeforeInitialized ".split(" ").join(m.namespace+"filter "),m.$table.unbind(l.replace(r.regex.spaces," ")).bind(l,(function(){t.completeInit(this)})),m.pager&&m.pager.initialized&&!g.filter_initialized?(m.$table.triggerHandler("filterFomatterUpdate"),setTimeout((function(){t.filterInitComplete(m)}),100)):g.filter_initialized||t.completeInit(o)},completeInit:function(e){var n=e.config,i=n.widgetOptions,o=t.setDefaults(e,n,i)||[];o.length&&(n.delayInit&&""===o.join("")||r.setFilters(e,o,!0)),n.$table.triggerHandler("filterFomatterUpdate"),setTimeout((function(){i.filter_initialized||t.filterInitComplete(n)}),100)},formatterUpdated:function(e,t){var n=e&&e.closest("table"),r=n.length&&n[0].config,i=r&&r.widgetOptions;i&&!i.filter_initialized&&(i.filter_formatterInit[t]=1)},filterInitComplete:function(n){function i(){s.filter_initialized=!0,n.lastSearch=n.$table.data("lastSearch"),n.$table.triggerHandler("filterInit",n),t.findRows(n.table,n.lastSearch||[]),r.debug(n,"filter")&&console.log("Filter >> Widget initialized")}var o,a,s=n.widgetOptions,u=0;if(e.isEmptyObject(s.filter_formatter))i();else{for(a=s.filter_formatterInit.length,o=0;o';for(l=0;l").appendTo(o.$table.children("thead").eq(0)).children("td"),l=0;l").appendTo(s):((h=r.getColumnData(n,a.filter_formatter,l))?(a.filter_formatterCount++,(b=h(s,l))&&0===b.length&&(b=s.children("input")),b&&(0===b.parent().length||b.parent().length&&b.parent()[0]!==s[0])&&s.append(b)):b=e('').appendTo(s),b&&(m=c.data("placeholder")||c.attr("data-placeholder")||a.filter_placeholder.search||"",b.attr("placeholder",m))),b&&(p=(e.isArray(a.filter_cssFilter)?void 0!==a.filter_cssFilter[l]&&a.filter_cssFilter[l]||"":a.filter_cssFilter)||"",b.addClass(i.filter+" "+p),m=(m=(p=a.filter_filterLabel).match(/{{([^}]+?)}}/g))||["{{label}}"],e.each(m,(function(t,n){var r=new RegExp(n,"g"),i=c.attr("data-"+n.replace(/{{|}}/g,"")),o=void 0===i?c.text():i;p=p.replace(r,e.trim(o))})),b.attr({"data-column":s.attr("data-column"),"aria-label":p}),d&&(b.attr("placeholder","").addClass(i.filterDisabled)[0].disabled=!0)))},bindSearch:function(n,i,a){if(n=e(n)[0],(i=e(i)).length){var s,u=n.config,l=u.widgetOptions,c=u.namespace+"filter",f=l.filter_$externalFilters;!0!==a&&(s=l.filter_anyColumnSelector+","+l.filter_multipleColumnSelector,l.filter_$anyMatch=i.filter(s),f&&f.length?l.filter_$externalFilters=l.filter_$externalFilters.add(i):l.filter_$externalFilters=i,r.setFilters(n,u.$table.data("lastSearch")||[],!1===a)),s="keypress keyup keydown search change input ".split(" ").join(c+" "),i.attr("data-lastSearchTime",(new Date).getTime()).unbind(s.replace(r.regex.spaces," ")).bind("keydown"+c,(function(e){if(e.which===o.escape&&!n.config.widgetOptions.filter_resetOnEsc)return!1})).bind("keyup"+c,(function(i){l=n.config.widgetOptions;var a=parseInt(e(this).attr("data-column"),10),s="boolean"==typeof l.filter_liveSearch?l.filter_liveSearch:r.getColumnData(n,l.filter_liveSearch,a);if(void 0===s&&(s=l.filter_liveSearch.fallback||!1),e(this).attr("data-lastSearchTime",(new Date).getTime()),i.which===o.escape)this.value=l.filter_resetOnEsc?"":u.lastSearch[a];else{if(""!==this.value&&("number"==typeof s&&this.value.length=o.left&&i.which<=o.down)))return;if(!1===s&&""!==this.value&&i.which!==o.enter)return}t.searching(n,!0,!0,a)})).bind("search change keypress input blur ".split(" ").join(c+" "),(function(i){var a=parseInt(e(this).attr("data-column"),10),s=i.type,c="boolean"==typeof l.filter_liveSearch?l.filter_liveSearch:r.getColumnData(n,l.filter_liveSearch,a);!n.config.widgetOptions.filter_initialized||i.which!==o.enter&&"search"!==s&&"blur"!==s&&("change"!==s&&"input"!==s||!0!==c&&(!0===c||"INPUT"===i.target.nodeName)||this.value===u.lastSearch[a])||(i.preventDefault(),e(this).attr("data-lastSearchTime",(new Date).getTime()),t.searching(n,"keypress"!==s||i.which===o.enter,!0,a))}))}},searching:function(e,n,i,o){var a,s=e.config.widgetOptions;void 0===o?a=!1:void 0===(a="boolean"==typeof s.filter_liveSearch?s.filter_liveSearch:r.getColumnData(e,s.filter_liveSearch,o))&&(a=s.filter_liveSearch.fallback||!1),clearTimeout(s.filter_searchTimer),void 0===n||!0===n?s.filter_searchTimer=setTimeout((function(){t.checkFilters(e,n,i)}),a?s.filter_searchDelay:10):t.checkFilters(e,n,i)},equalFilters:function(t,n,r){var i,o=[],a=[],s=t.columns+1;for(n=e.isArray(n)?n:[],r=e.isArray(r)?r:[],i=0;i=e.columns&&(s=e.columns-1);a<=s;a++)d[d.length]=a;t=t.replace(i[c],"")}if(!n&&/,/.test(t))for(f=(u=t.split(/\s*,\s*/)).length,l=0;l> Starting filter widget search",o),_=new Date),L.filteredRows=0,a=A||[],p=L.totalRows=0;p> Searching through "+(T&&x> Completed search"+r.benchmark(_)),R.filter_initialized&&(L.$table.triggerHandler("filterBeforeEnd",L),L.$table.triggerHandler("filterEnd",L)),setTimeout((function(){r.applyWidget(L.table)}),0)}},getOptionSource:function(n,i,o){var a=(n=e(n)[0]).config,s=!1,u=a.widgetOptions.filter_selectSource,l=a.$table.data("lastSearch")||[],c="function"==typeof u||r.getColumnData(n,u,i);if(o&&""!==l[i]&&(o=!1),!0===c)s=u(n,i,o);else{if(c instanceof e||"string"===e.type(c)&&0<=c.indexOf(""))return c;if(e.isArray(c))s=c;else if("object"===e.type(u)&&c&&null===(s=c(n,i,o)))return null}return!1===s&&(s=t.getOptions(n,i,o)),t.processOptions(n,i,s)},processOptions:function(t,n,i){if(!e.isArray(i))return!1;var o,a,s,u,l,c,f=(t=e(t)[0]).config,d=null!=n&&0<=n&&n'+(y.data("placeholder")||y.attr("data-placeholder")||v.filter_placeholder.select||"")+"",_=g.$table.find("thead").find("select."+i.filter+'[data-column="'+o+'"]').val();if(void 0!==a&&""!==a||null!==(a=t.getOptionSource(r,o,u))){if(e.isArray(a)){for(l=0;l"}else""+m!="[object Object]"&&(0<=(c=f=m=(""+m).replace(n.quote,""")).indexOf(v.filter_selectSourceSeparator)&&(c=(d=f.split(v.filter_selectSourceSeparator))[0],f=d[1]),b+=""!==m?"":"");a=[]}p=(g.$filters?g.$filters:g.$table.children("thead")).find("."+i.filter),v.filter_$externalFilters&&(p=p&&p.length?p.add(v.filter_$externalFilters):v.filter_$externalFilters),(h=p.filter('select[data-column="'+o+'"]')).length&&(h[s?"html":"append"](b),e.isArray(a)||h.append(a).val(_),h.val(_))}}},buildDefault:function(e,n){var i,o,a,s=e.config,u=s.widgetOptions,l=s.columns;for(i=0;i=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([n]):a[t]?a[t]+", "+n:n}})),a):a}},function(e,t,n){"use strict";var r=n(12);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=i(window.location.href),function(t){var n=r.isString(t)?i(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";var r=n(12);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,i,o,a){var s=[];s.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(i)&&s.push("path="+i),r.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";var r=n(104);function i(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e;return{token:new i((function(t){e=t})),cancel:e}},e.exports=i},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,n){var r=n(106);e.exports=function(){return r.Date.now()}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(13))},function(e,t,n){var r=n(105),i=n(191),o=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(i(e))return NaN;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var n=s.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):a.test(e)?NaN:+e}},function(e,t,n){var r=n(192),i=n(195);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},function(e,t,n){var r=n(107),i=n(193),o=n(194),a=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":a&&a in Object(e)?i(e):o(e)}},function(e,t,n){var r=n(107),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=a.call(e);return r&&(t?e[s]=n:delete e[s]),i}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,a,s,u=1,l={},c=!1,f=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){o.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(i=f.documentElement,r=function(e){var t=f.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(h,0,e)}:(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&h(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(a+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n + * @author owenm + * @license MIT + */ +function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(){return(o=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function u(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(e){return!1}return!1}}function _(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function w(e,t,n,r){if(e){n=n||document;do{if(null!=t&&(">"===t[0]?e.parentNode===n&&b(e,t):b(e,t))||r&&e===n)return e;if(e===n)break}while(e=_(e))}return null}var C,x=/\s+/g;function T(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(x," ").replace(" "+t+" "," ");e.className=(r+(n?" "+t:"")).replace(x," ")}}function S(e,t,n){var r=e&&e.style;if(r){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),void 0===t?n:n[t];t in r||-1!==t.indexOf("webkit")||(t="-webkit-"+t),r[t]=n+("string"==typeof n?"":"px")}}function N(e,t){var n="";if("string"==typeof e)n=e;else do{var r=S(e,"transform");r&&"none"!==r&&(n=r+" "+n)}while(!t&&(e=e.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function k(e,t,n){if(e){var r=e.getElementsByTagName(t),i=0,o=r.length;if(n)for(;i=o:i<=o))return r;if(r===O())break;r=M(r,!1)}return!1}function L(e,t,n){for(var r=0,i=0,o=e.children;i2&&void 0!==arguments[2]?arguments[2]:{},r=n.evt,i=s(n,["evt"]);V.pluginEvent.bind(ze)(e,t,a({dragEl:X,parentEl:Z,ghostEl:J,rootEl:Q,nextEl:ee,lastDownEl:te,cloneEl:ne,cloneHidden:re,dragStarted:ge,putSortable:le,activeSortable:ze.active,originalEvent:r,oldIndex:ie,oldDraggableIndex:ae,newIndex:oe,newDraggableIndex:se,hideGhostForTarget:$e,unhideGhostForTarget:Pe,cloneNowHidden:function(){re=!0},cloneNowShown:function(){re=!1},dispatchSortableEvent:function(e){Y({sortable:t,name:e,originalEvent:r})}},i))};function Y(e){G(a({putSortable:le,cloneEl:ne,targetEl:X,rootEl:Q,oldIndex:ie,oldDraggableIndex:ae,newIndex:oe,newDraggableIndex:se},e))}var X,Z,J,Q,ee,te,ne,re,ie,oe,ae,se,ue,le,ce,fe,de,pe,he,me,ge,ve,ye,be,_e,we=!1,Ce=!1,xe=[],Te=!1,Se=!1,Ne=[],ke=!1,Oe=[],Ee="undefined"!=typeof document,Ae=h,Le=f||c?"cssFloat":"float",Re=Ee&&!m&&!h&&"draggable"in document.createElement("div"),je=function(){if(Ee){if(c)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),Ie=function(e,t){var n=S(e),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=L(e,0,t),o=L(e,1,t),a=i&&S(i),s=o&&S(o),u=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+E(i).width,l=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+E(o).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&a.float&&"none"!==a.float){var c="left"===a.float?"left":"right";return!o||"both"!==s.clear&&s.clear!==c?"horizontal":"vertical"}return i&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||u>=r&&"none"===n[Le]||o&&"none"===n[Le]&&u+l>r)?"vertical":"horizontal"},Me=function(e){function t(e,n){return function(r,i,o,a){var s=r.options.group.name&&i.options.group.name&&r.options.group.name===i.options.group.name;if(null==e&&(n||s))return!0;if(null==e||!1===e)return!1;if(n&&"clone"===e)return e;if("function"==typeof e)return t(e(r,i,o,a),n)(r,i,o,a);var u=(n?r:i).options.group.name;return!0===e||"string"==typeof e&&e===u||e.join&&e.indexOf(u)>-1}}var n={},i=e.group;i&&"object"==r(i)||(i={name:i}),n.name=i.name,n.checkPull=t(i.pull,!0),n.checkPut=t(i.put),n.revertClone=i.revertClone,e.group=n},$e=function(){!je&&J&&S(J,"display","none")},Pe=function(){!je&&J&&S(J,"display","")};Ee&&document.addEventListener("click",(function(e){if(Ce)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),Ce=!1,!1}),!0);var De=function(e){if(X){e=e.touches?e.touches[0]:e;var t=(i=e.clientX,o=e.clientY,xe.some((function(e){if(!R(e)){var t=E(e),n=e[H].options.emptyInsertThreshold,r=i>=t.left-n&&i<=t.right+n,s=o>=t.top-n&&o<=t.bottom+n;return n&&r&&s?a=e:void 0}})),a);if(t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[H]._onDragOver(n)}}var i,o,a},Fe=function(e){X&&X.parentNode[H]._isOutsideThisEl(e.target)};function ze(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=o({},t),e[H]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Ie(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==ze.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var r in V.initializePlugins(this,e,n),n)!(r in t)&&(t[r]=n[r]);for(var i in Me(t),this)"_"===i.charAt(0)&&"function"==typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!t.forceFallback&&Re,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?v(e,"pointerdown",this._onTapStart):(v(e,"mousedown",this._onTapStart),v(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(v(e,"dragover",this),v(e,"dragenter",this)),xe.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),o(this,U())}function Be(e,t,n,r,i,o,a,s){var u,l,d=e[H],p=d.options.onMove;return!window.CustomEvent||c||f?(u=document.createEvent("Event")).initEvent("move",!0,!0):u=new CustomEvent("move",{bubbles:!0,cancelable:!0}),u.to=t,u.from=e,u.dragged=n,u.draggedRect=r,u.related=i||t,u.relatedRect=o||E(t),u.willInsertAfter=s,u.originalEvent=a,e.dispatchEvent(u),p&&(l=p.call(d,u,a)),l}function He(e){e.draggable=!1}function Ue(){ke=!1}function We(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,n=t.length,r=0;n--;)r+=t.charCodeAt(n);return r.toString(36)}function qe(e){return setTimeout(e,0)}function Ve(e){return clearTimeout(e)}ze.prototype={constructor:ze,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(ve=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,X):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,r=this.options,i=r.preventOnFilter,o=e.type,a=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,s=(a||e).target,u=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,l=r.filter;if(function(e){Oe.length=0;var t=e.getElementsByTagName("input"),n=t.length;for(;n--;){var r=t[n];r.checked&&Oe.push(r)}}(n),!X&&!(/mousedown|pointerdown/.test(o)&&0!==e.button||r.disabled||u.isContentEditable||(s=w(s,r.draggable,n,!1))&&s.animated||te===s)){if(ie=j(s),ae=j(s,r.draggable),"function"==typeof l){if(l.call(this,e,s,this))return Y({sortable:t,rootEl:u,name:"filter",targetEl:s,toEl:n,fromEl:n}),K("filter",t,{evt:e}),void(i&&e.cancelable&&e.preventDefault())}else if(l&&(l=l.split(",").some((function(r){if(r=w(u,r.trim(),n,!1))return Y({sortable:t,rootEl:r,name:"filter",targetEl:s,fromEl:n,toEl:n}),K("filter",t,{evt:e}),!0}))))return void(i&&e.cancelable&&e.preventDefault());r.handle&&!w(u,r.handle,n,!1)||this._prepareDragStart(e,a,s)}}},_prepareDragStart:function(e,t,n){var r,i=this,o=i.el,a=i.options,s=o.ownerDocument;if(n&&!X&&n.parentNode===o){var u=E(n);if(Q=o,Z=(X=n).parentNode,ee=X.nextSibling,te=n,ue=a.group,ze.dragged=X,ce={target:X,clientX:(t||e).clientX,clientY:(t||e).clientY},he=ce.clientX-u.left,me=ce.clientY-u.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,X.style["will-change"]="all",r=function(){K("delayEnded",i,{evt:e}),ze.eventCanceled?i._onDrop():(i._disableDelayedDragEvents(),!d&&i.nativeDraggable&&(X.draggable=!0),i._triggerDragStart(e,t),Y({sortable:i,name:"choose",originalEvent:e}),T(X,a.chosenClass,!0))},a.ignore.split(",").forEach((function(e){k(X,e.trim(),He)})),v(s,"dragover",De),v(s,"mousemove",De),v(s,"touchmove",De),v(s,"mouseup",i._onDrop),v(s,"touchend",i._onDrop),v(s,"touchcancel",i._onDrop),d&&this.nativeDraggable&&(this.options.touchStartThreshold=4,X.draggable=!0),K("delayStart",this,{evt:e}),!a.delay||a.delayOnTouchOnly&&!t||this.nativeDraggable&&(f||c))r();else{if(ze.eventCanceled)return void this._onDrop();v(s,"mouseup",i._disableDelayedDrag),v(s,"touchend",i._disableDelayedDrag),v(s,"touchcancel",i._disableDelayedDrag),v(s,"mousemove",i._delayedDragTouchMoveHandler),v(s,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&v(s,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(r,a.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){X&&He(X),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;y(e,"mouseup",this._disableDelayedDrag),y(e,"touchend",this._disableDelayedDrag),y(e,"touchcancel",this._disableDelayedDrag),y(e,"mousemove",this._delayedDragTouchMoveHandler),y(e,"touchmove",this._delayedDragTouchMoveHandler),y(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?v(document,"pointermove",this._onTouchMove):v(document,t?"touchmove":"mousemove",this._onTouchMove):(v(X,"dragend",this),v(Q,"dragstart",this._onDragStart));try{document.selection?qe((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,t){if(we=!1,Q&&X){K("dragStarted",this,{evt:t}),this.nativeDraggable&&v(document,"dragover",Fe);var n=this.options;!e&&T(X,n.dragClass,!1),T(X,n.ghostClass,!0),ze.active=this,e&&this._appendGhost(),Y({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(fe){this._lastX=fe.clientX,this._lastY=fe.clientY,$e();for(var e=document.elementFromPoint(fe.clientX,fe.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(fe.clientX,fe.clientY))!==t;)t=e;if(X.parentNode[H]._isOutsideThisEl(e),t)do{if(t[H]){if(t[H]._onDragOver({clientX:fe.clientX,clientY:fe.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);Pe()}},_onTouchMove:function(e){if(ce){var t=this.options,n=t.fallbackTolerance,r=t.fallbackOffset,i=e.touches?e.touches[0]:e,o=J&&N(J,!0),a=J&&o&&o.a,s=J&&o&&o.d,u=Ae&&_e&&I(_e),l=(i.clientX-ce.clientX+r.x)/(a||1)+(u?u[0]-Ne[0]:0)/(a||1),c=(i.clientY-ce.clientY+r.y)/(s||1)+(u?u[1]-Ne[1]:0)/(s||1);if(!ze.active&&!we){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))r.right+10||e.clientX<=r.right&&e.clientY>r.bottom&&e.clientX>=r.left:e.clientX>r.right&&e.clientY>r.top||e.clientX<=r.right&&e.clientY>r.bottom+10}(e,i,this)&&!g.animated){if(g===X)return F(!1);if(g&&o===e.target&&(s=g),s&&(n=E(s)),!1!==Be(Q,o,X,t,s,n,e,!!s))return P(),o.appendChild(X),Z=o,z(),F(!0)}else if(s.parentNode===o){n=E(s);var v,y,b,_=X.parentNode!==o,C=!function(e,t,n){var r=n?e.left:e.top,i=n?e.right:e.bottom,o=n?e.width:e.height,a=n?t.left:t.top,s=n?t.right:t.bottom,u=n?t.width:t.height;return r===a||i===s||r+o/2===a+u/2}(X.animated&&X.toRect||t,s.animated&&s.toRect||n,i),x=i?"top":"left",N=A(s,"top","top")||A(X,"top","top"),k=N?N.scrollTop:void 0;if(ve!==s&&(y=n[x],Te=!1,Se=!C&&u.invertSwap||_),0!==(v=function(e,t,n,r,i,o,a,s){var u=r?e.clientY:e.clientX,l=r?n.height:n.width,c=r?n.top:n.left,f=r?n.bottom:n.right,d=!1;if(!a)if(s&&bec+l*o/2:uf-be)return-ye}else if(u>c+l*(1-i)/2&&uf-l*o/2))return u>c+l/2?1:-1;return 0}(e,s,n,i,C?1:u.swapThreshold,null==u.invertedSwapThreshold?u.swapThreshold:u.invertedSwapThreshold,Se,ve===s))){var O=j(X);do{O-=v,b=Z.children[O]}while(b&&("none"===S(b,"display")||b===J))}if(0===v||b===s)return F(!1);ve=s,ye=v;var L=s.nextElementSibling,I=!1,M=Be(Q,o,X,t,s,n,e,I=1===v);if(!1!==M)return 1!==M&&-1!==M||(I=1===M),ke=!0,setTimeout(Ue,30),P(),I&&!L?o.appendChild(X):s.parentNode.insertBefore(X,I?L:s),N&&D(N,0,k-N.scrollTop),Z=X.parentNode,void 0===y||Se||(be=Math.abs(y-E(s)[x])),z(),F(!0)}if(o.contains(X))return F(!1)}return!1}function $(u,l){K(u,h,a({evt:e,isOwner:f,axis:i?"vertical":"horizontal",revert:r,dragRect:t,targetRect:n,canSort:d,fromSortable:p,target:s,completed:F,onMove:function(n,r){return Be(Q,o,X,t,n,E(n),e,r)},changed:z},l))}function P(){$("dragOverAnimationCapture"),h.captureAnimationState(),h!==p&&p.captureAnimationState()}function F(t){return $("dragOverCompleted",{insertion:t}),t&&(f?c._hideClone():c._showClone(h),h!==p&&(T(X,le?le.options.ghostClass:c.options.ghostClass,!1),T(X,u.ghostClass,!0)),le!==h&&h!==ze.active?le=h:h===ze.active&&le&&(le=null),p===h&&(h._ignoreWhileAnimating=s),h.animateAll((function(){$("dragOverAnimationComplete"),h._ignoreWhileAnimating=null})),h!==p&&(p.animateAll(),p._ignoreWhileAnimating=null)),(s===X&&!X.animated||s===o&&!s.animated)&&(ve=null),u.dragoverBubble||e.rootEl||s===document||(X.parentNode[H]._isOutsideThisEl(e.target),!t&&De(e)),!u.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),m=!0}function z(){oe=j(X),se=j(X,u.draggable),Y({sortable:h,name:"change",toEl:o,newIndex:oe,newDraggableIndex:se,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){y(document,"mousemove",this._onTouchMove),y(document,"touchmove",this._onTouchMove),y(document,"pointermove",this._onTouchMove),y(document,"dragover",De),y(document,"mousemove",De),y(document,"touchmove",De)},_offUpEvents:function(){var e=this.el.ownerDocument;y(e,"mouseup",this._onDrop),y(e,"touchend",this._onDrop),y(e,"pointerup",this._onDrop),y(e,"touchcancel",this._onDrop),y(document,"selectstart",this)},_onDrop:function(e){var t=this.el,n=this.options;oe=j(X),se=j(X,n.draggable),K("drop",this,{evt:e}),Z=X&&X.parentNode,oe=j(X),se=j(X,n.draggable),ze.eventCanceled||(we=!1,Se=!1,Te=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Ve(this.cloneId),Ve(this._dragStartId),this.nativeDraggable&&(y(document,"drop",this),y(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),p&&S(document.body,"user-select",""),S(X,"transform",""),e&&(ge&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),J&&J.parentNode&&J.parentNode.removeChild(J),(Q===Z||le&&"clone"!==le.lastPutMode)&&ne&&ne.parentNode&&ne.parentNode.removeChild(ne),X&&(this.nativeDraggable&&y(X,"dragend",this),He(X),X.style["will-change"]="",ge&&!we&&T(X,le?le.options.ghostClass:this.options.ghostClass,!1),T(X,this.options.chosenClass,!1),Y({sortable:this,name:"unchoose",toEl:Z,newIndex:null,newDraggableIndex:null,originalEvent:e}),Q!==Z?(oe>=0&&(Y({rootEl:Z,name:"add",toEl:Z,fromEl:Q,originalEvent:e}),Y({sortable:this,name:"remove",toEl:Z,originalEvent:e}),Y({rootEl:Z,name:"sort",toEl:Z,fromEl:Q,originalEvent:e}),Y({sortable:this,name:"sort",toEl:Z,originalEvent:e})),le&&le.save()):oe!==ie&&oe>=0&&(Y({sortable:this,name:"update",toEl:Z,originalEvent:e}),Y({sortable:this,name:"sort",toEl:Z,originalEvent:e})),ze.active&&(null!=oe&&-1!==oe||(oe=ie,se=ae),Y({sortable:this,name:"end",toEl:Z,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){K("nulling",this),Q=X=Z=J=ee=ne=te=re=ce=fe=ge=oe=se=ie=ae=ve=ye=le=ue=ze.dragged=ze.ghost=ze.clone=ze.active=null,Oe.forEach((function(e){e.checked=!0})),Oe.length=de=pe=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":X&&(this._onDragOver(e),function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move");e.cancelable&&e.preventDefault()}(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],n=this.el.children,r=0,i=n.length,o=this.options;r1&&(ht.forEach((function(e){r.addAnimationState({target:e,rect:vt?E(e):i}),B(e),e.fromRect=i,t.removeAnimationState(e)})),vt=!1,function(e,t){ht.forEach((function(n,r){var i=t.children[n.sortableIndex+(e?Number(r):0)];i?t.insertBefore(n,i):t.appendChild(n)}))}(!this.options.removeCloneOnHide,n))},dragOverCompleted:function(e){var t=e.sortable,n=e.isOwner,r=e.insertion,i=e.activeSortable,o=e.parentEl,a=e.putSortable,s=this.options;if(r){if(n&&i._hideClone(),gt=!1,s.animation&&ht.length>1&&(vt||!n&&!i.options.sort&&!a)){var u=E(ft,!1,!0,!0);ht.forEach((function(e){e!==ft&&(z(e,u),o.appendChild(e))})),vt=!0}if(!n)if(vt||wt(),ht.length>1){var l=pt;i._showClone(t),i.options.animation&&!pt&&l&&mt.forEach((function(e){i.addAnimationState({target:e,rect:dt}),e.fromRect=dt,e.thisAnimationDuration=null}))}else i._showClone(t)}},dragOverAnimationCapture:function(e){var t=e.dragRect,n=e.isOwner,r=e.activeSortable;if(ht.forEach((function(e){e.thisAnimationDuration=null})),r.options.animation&&!n&&r.multiDrag.isMultiDrag){dt=o({},t);var i=N(ft,!0);dt.top-=i.f,dt.left-=i.e}},dragOverAnimationComplete:function(){vt&&(vt=!1,wt())},drop:function(e){var t=e.originalEvent,n=e.rootEl,r=e.parentEl,i=e.sortable,o=e.dispatchSortableEvent,a=e.oldIndex,s=e.putSortable,u=s||this.sortable;if(t){var l=this.options,c=r.children;if(!yt)if(l.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),T(ft,l.selectedClass,!~ht.indexOf(ft)),~ht.indexOf(ft))ht.splice(ht.indexOf(ft),1),lt=null,G({sortable:i,rootEl:n,name:"deselect",targetEl:ft,originalEvt:t});else{if(ht.push(ft),G({sortable:i,rootEl:n,name:"select",targetEl:ft,originalEvt:t}),t.shiftKey&<&&i.el.contains(lt)){var f,d,p=j(lt),h=j(ft);if(~p&&~h&&p!==h)for(h>p?(d=p,f=h):(d=h,f=p+1);d1){var m=E(ft),g=j(ft,":not(."+this.options.selectedClass+")");if(!gt&&l.animation&&(ft.thisAnimationDuration=null),u.captureAnimationState(),!gt&&(l.animation&&(ft.fromRect=m,ht.forEach((function(e){if(e.thisAnimationDuration=null,e!==ft){var t=vt?E(e):m;e.fromRect=t,u.addAnimationState({target:e,rect:t})}}))),wt(),ht.forEach((function(e){c[g]?r.insertBefore(e,c[g]):r.appendChild(e),g++})),a===j(ft))){var v=!1;ht.forEach((function(e){e.sortableIndex===j(e)||(v=!0)})),v&&o("update")}ht.forEach((function(e){B(e)})),u.animateAll()}ct=u}(n===r||s&&"clone"!==s.lastPutMode)&&mt.forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)}))}},nullingGlobal:function(){this.isMultiDrag=yt=!1,mt.length=0},destroyGlobal:function(){this._deselectMultiDrag(),y(document,"pointerup",this._deselectMultiDrag),y(document,"mouseup",this._deselectMultiDrag),y(document,"touchend",this._deselectMultiDrag),y(document,"keydown",this._checkKeyDown),y(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(e){if(!(void 0!==yt&&yt||ct!==this.sortable||e&&w(e.target,this.options.draggable,this.sortable.el,!1)||e&&0!==e.button))for(;ht.length;){var t=ht[0];T(t,this.options.selectedClass,!1),ht.shift(),G({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:t,originalEvt:e})}},_checkKeyDown:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},o(e,{pluginName:"multiDrag",utils:{select:function(e){var t=e.parentNode[H];t&&t.options.multiDrag&&!~ht.indexOf(e)&&(ct&&ct!==t&&(ct.multiDrag._deselectMultiDrag(),ct=t),T(e,t.options.selectedClass,!0),ht.push(e))},deselect:function(e){var t=e.parentNode[H],n=ht.indexOf(e);t&&t.options.multiDrag&&~n&&(T(e,t.options.selectedClass,!1),ht.splice(n,1))}},eventProperties:function(){var e=this,t=[],n=[];return ht.forEach((function(r){var i;t.push({multiDragElement:r,index:r.sortableIndex}),i=vt&&r!==ft?-1:vt?j(r,":not(."+e.options.selectedClass+")"):j(r),n.push({multiDragElement:r,index:i})})),{items:u(ht),clones:[].concat(mt),oldIndicies:t,newIndicies:n}},optionListeners:{multiDragKey:function(e){return"ctrl"===(e=e.toLowerCase())?e="Control":e.length>1&&(e=e.charAt(0).toUpperCase()+e.substr(1)),e}}})}function _t(e,t){mt.forEach((function(n,r){var i=t.children[n.sortableIndex+(e?Number(r):0)];i?t.insertBefore(n,i):t.appendChild(n)}))}function wt(){ht.forEach((function(e){e!==ft&&e.parentNode&&e.parentNode.removeChild(e)}))}ze.mount(new function(){function e(){for(var e in this.defaults={scroll:!0,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0},this)"_"===e.charAt(0)&&"function"==typeof this[e]&&(this[e]=this[e].bind(this))}return e.prototype={dragStarted:function(e){var t=e.originalEvent;this.sortable.nativeDraggable?v(document,"dragover",this._handleAutoScroll):this.options.supportPointer?v(document,"pointermove",this._handleFallbackAutoScroll):t.touches?v(document,"touchmove",this._handleFallbackAutoScroll):v(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var t=e.originalEvent;this.options.dragOverBubble||t.rootEl||this._handleAutoScroll(t)},drop:function(){this.sortable.nativeDraggable?y(document,"dragover",this._handleAutoScroll):(y(document,"pointermove",this._handleFallbackAutoScroll),y(document,"touchmove",this._handleFallbackAutoScroll),y(document,"mousemove",this._handleFallbackAutoScroll)),nt(),tt(),clearTimeout(C),C=void 0},nulling:function(){Ze=Ke=Ge=et=Je=Ye=Xe=null,Qe.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,t){var n=this,r=(e.touches?e.touches[0]:e).clientX,i=(e.touches?e.touches[0]:e).clientY,o=document.elementFromPoint(r,i);if(Ze=e,t||f||c||p){it(e,this.options,o,t);var a=M(o,!0);!et||Je&&r===Ye&&i===Xe||(Je&&nt(),Je=setInterval((function(){var o=M(document.elementFromPoint(r,i),!0);o!==a&&(a=o,tt()),it(e,n.options,o,t)}),10),Ye=r,Xe=i)}else{if(!this.options.bubbleScroll||M(o,!0)===O())return void tt();it(e,this.options,M(o,!1),!1)}}},o(e,{pluginName:"scroll",initializeByDefault:!0})}),ze.mount(st,at),t.default=ze},,,,,,,,,,,,,function(e,t){e.exports=function(e,t,n){var r,i,o,a,s,u=10>t?t:10,l=["img","br"],c=[],f=0,d="",p='([\\w|-]+\\s*(=\\s*"[^"]*")?\\s*)*',h=new RegExp("<\\/?\\w+\\s*"+p+"\\s*\\/\\s*>"),m=new RegExp("<\\/?\\w+\\s*"+p+"\\s*\\/?\\s*>"),g=/(((ftp|https?):\/\/)[\-\w@:%_\+.~#?,&\/\/=]+)|((mailto:)?[_.\w\-]+@([\w][\w\-]+\.)+[a-zA-Z]{2,3})/g,v=new RegExp(""),y=new RegExp("\\W+","g"),b=!0;function _(e){var t=e.indexOf(" ");if(-1===t&&-1===(t=e.indexOf(">")))throw new Error("HTML tag is not well-formed : "+e);return e.substring(1,t)}function w(e,r){var i,o,a=t-f,s=a,u=a=t)break;if(!(b=g.exec(e))||b.index>=t){d+=e.substring(0,w(e));break}for(;b;)r=b[0],i=b.index,d+=e.substring(0,i+r.length-f),e=e.substring(i+r.length),b=g.exec(e);break}if(r=b[0],i=b.index,f+i>t){d+=e.substring(0,w(e,i));break}f+=i,d+=e.substring(0,i),"/"===r[1]?(c.pop(),a=null):(a=h.exec(r))||(o=_(r),c.push(o)),d+=a?a[0]:r,e=e.substring(i+r.length)}return e.length>t-f&&n.ellipsis&&(d+=n.ellipsis),d+=(s="",c.reverse().forEach((function(e,t){-1===l.indexOf(e)&&(s+="")})),s),n.keepImageTag||(d=function(e){var t,n,r=v.exec(e);return r?(t=r.index,n=r[0].length,e.substring(0,t)+e.substring(t+n)):e}(d)),d}},function(e,t,n){var r,i,o,a,s,u,l,c,f,d;f=n(110),e.exports={deepKeys:s=function(e){if(!l(e))throw new Error("deepKeys must be called on an object, not '"+e+"'");return f.flatten(f.map(e,(function(e,t){return l(e)&&!f.isEmpty(e)?f.map(s(e),(function(e){return t+"."+e})):[t]})))},deepClone:r=function(e){var t,n,i,o;if(null==e)return e;for(n=0,i=(o=[Date,Number,String,Boolean]).length;n + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(){var o="Expected a function",a="__lodash_placeholder__",s=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],u="[object Arguments]",l="[object Array]",c="[object Boolean]",f="[object Date]",d="[object Error]",p="[object Function]",h="[object GeneratorFunction]",m="[object Map]",g="[object Number]",v="[object Object]",y="[object RegExp]",b="[object Set]",_="[object String]",w="[object Symbol]",C="[object WeakMap]",x="[object ArrayBuffer]",T="[object DataView]",S="[object Float32Array]",N="[object Float64Array]",k="[object Int8Array]",O="[object Int16Array]",E="[object Int32Array]",A="[object Uint8Array]",L="[object Uint16Array]",R="[object Uint32Array]",j=/\b__p \+= '';/g,I=/\b(__p \+=) '' \+/g,M=/(__e\(.*?\)|\b__t\)) \+\n'';/g,$=/&(?:amp|lt|gt|quot|#39);/g,P=/[&<>"']/g,D=RegExp($.source),F=RegExp(P.source),z=/<%-([\s\S]+?)%>/g,B=/<%([\s\S]+?)%>/g,H=/<%=([\s\S]+?)%>/g,U=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,W=/^\w*$/,q=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,V=/[\\^$.*+?()[\]{}|]/g,G=RegExp(V.source),K=/^\s+|\s+$/g,Y=/^\s+/,X=/\s+$/,Z=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,J=/\{\n\/\* \[wrapped with (.+)\] \*/,Q=/,? & /,ee=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,te=/\\(\\)?/g,ne=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,re=/\w*$/,ie=/^[-+]0x[0-9a-f]+$/i,oe=/^0b[01]+$/i,ae=/^\[object .+?Constructor\]$/,se=/^0o[0-7]+$/i,ue=/^(?:0|[1-9]\d*)$/,le=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ce=/($^)/,fe=/['\n\r\u2028\u2029\\]/g,de="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",pe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",he="[\\ud800-\\udfff]",me="["+pe+"]",ge="["+de+"]",ve="\\d+",ye="[\\u2700-\\u27bf]",be="[a-z\\xdf-\\xf6\\xf8-\\xff]",_e="[^\\ud800-\\udfff"+pe+ve+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",we="\\ud83c[\\udffb-\\udfff]",Ce="[^\\ud800-\\udfff]",xe="(?:\\ud83c[\\udde6-\\uddff]){2}",Te="[\\ud800-\\udbff][\\udc00-\\udfff]",Se="[A-Z\\xc0-\\xd6\\xd8-\\xde]",Ne="(?:"+be+"|"+_e+")",ke="(?:"+Se+"|"+_e+")",Oe="(?:"+ge+"|"+we+")"+"?",Ee="[\\ufe0e\\ufe0f]?"+Oe+("(?:\\u200d(?:"+[Ce,xe,Te].join("|")+")[\\ufe0e\\ufe0f]?"+Oe+")*"),Ae="(?:"+[ye,xe,Te].join("|")+")"+Ee,Le="(?:"+[Ce+ge+"?",ge,xe,Te,he].join("|")+")",Re=RegExp("['’]","g"),je=RegExp(ge,"g"),Ie=RegExp(we+"(?="+we+")|"+Le+Ee,"g"),Me=RegExp([Se+"?"+be+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[me,Se,"$"].join("|")+")",ke+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[me,Se+Ne,"$"].join("|")+")",Se+"?"+Ne+"+(?:['’](?:d|ll|m|re|s|t|ve))?",Se+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ve,Ae].join("|"),"g"),$e=RegExp("[\\u200d\\ud800-\\udfff"+de+"\\ufe0e\\ufe0f]"),Pe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,De=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Fe=-1,ze={};ze[S]=ze[N]=ze[k]=ze[O]=ze[E]=ze[A]=ze["[object Uint8ClampedArray]"]=ze[L]=ze[R]=!0,ze[u]=ze[l]=ze[x]=ze[c]=ze[T]=ze[f]=ze[d]=ze[p]=ze[m]=ze[g]=ze[v]=ze[y]=ze[b]=ze[_]=ze[C]=!1;var Be={};Be[u]=Be[l]=Be[x]=Be[T]=Be[c]=Be[f]=Be[S]=Be[N]=Be[k]=Be[O]=Be[E]=Be[m]=Be[g]=Be[v]=Be[y]=Be[b]=Be[_]=Be[w]=Be[A]=Be["[object Uint8ClampedArray]"]=Be[L]=Be[R]=!0,Be[d]=Be[p]=Be[C]=!1;var He={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ue=parseFloat,We=parseInt,qe="object"==typeof e&&e&&e.Object===Object&&e,Ve="object"==typeof self&&self&&self.Object===Object&&self,Ge=qe||Ve||Function("return this")(),Ke=t&&!t.nodeType&&t,Ye=Ke&&"object"==typeof r&&r&&!r.nodeType&&r,Xe=Ye&&Ye.exports===Ke,Ze=Xe&&qe.process,Je=function(){try{var e=Ye&&Ye.require&&Ye.require("util").types;return e||Ze&&Ze.binding&&Ze.binding("util")}catch(e){}}(),Qe=Je&&Je.isArrayBuffer,et=Je&&Je.isDate,tt=Je&&Je.isMap,nt=Je&&Je.isRegExp,rt=Je&&Je.isSet,it=Je&&Je.isTypedArray;function ot(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function at(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i-1}function dt(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function It(e,t){for(var n=e.length;n--&&wt(t,e[n],0)>-1;);return n}function Mt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var $t=Nt({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Pt=Nt({"&":"&","<":"<",">":">",'"':""","'":"'"});function Dt(e){return"\\"+He[e]}function Ft(e){return $e.test(e)}function zt(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function Bt(e,t){return function(n){return e(t(n))}}function Ht(e,t){for(var n=-1,r=e.length,i=0,o=[];++n",""":'"',"'":"'"});var Kt=function e(t){var n,r=(t=null==t?Ge:Kt.defaults(Ge.Object(),t,Kt.pick(Ge,De))).Array,i=t.Date,de=t.Error,pe=t.Function,he=t.Math,me=t.Object,ge=t.RegExp,ve=t.String,ye=t.TypeError,be=r.prototype,_e=pe.prototype,we=me.prototype,Ce=t["__core-js_shared__"],xe=_e.toString,Te=we.hasOwnProperty,Se=0,Ne=(n=/[^.]+$/.exec(Ce&&Ce.keys&&Ce.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",ke=we.toString,Oe=xe.call(me),Ee=Ge._,Ae=ge("^"+xe.call(Te).replace(V,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Le=Xe?t.Buffer:void 0,Ie=t.Symbol,$e=t.Uint8Array,He=Le?Le.allocUnsafe:void 0,qe=Bt(me.getPrototypeOf,me),Ve=me.create,Ke=we.propertyIsEnumerable,Ye=be.splice,Ze=Ie?Ie.isConcatSpreadable:void 0,Je=Ie?Ie.iterator:void 0,yt=Ie?Ie.toStringTag:void 0,Nt=function(){try{var e=Qi(me,"defineProperty");return e({},"",{}),e}catch(e){}}(),Yt=t.clearTimeout!==Ge.clearTimeout&&t.clearTimeout,Xt=i&&i.now!==Ge.Date.now&&i.now,Zt=t.setTimeout!==Ge.setTimeout&&t.setTimeout,Jt=he.ceil,Qt=he.floor,en=me.getOwnPropertySymbols,tn=Le?Le.isBuffer:void 0,nn=t.isFinite,rn=be.join,on=Bt(me.keys,me),an=he.max,sn=he.min,un=i.now,ln=t.parseInt,cn=he.random,fn=be.reverse,dn=Qi(t,"DataView"),pn=Qi(t,"Map"),hn=Qi(t,"Promise"),mn=Qi(t,"Set"),gn=Qi(t,"WeakMap"),vn=Qi(me,"create"),yn=gn&&new gn,bn={},_n=ko(dn),wn=ko(pn),Cn=ko(hn),xn=ko(mn),Tn=ko(gn),Sn=Ie?Ie.prototype:void 0,Nn=Sn?Sn.valueOf:void 0,kn=Sn?Sn.toString:void 0;function On(e){if(Wa(e)&&!ja(e)&&!(e instanceof Rn)){if(e instanceof Ln)return e;if(Te.call(e,"__wrapped__"))return Oo(e)}return new Ln(e)}var En=function(){function e(){}return function(t){if(!Ua(t))return{};if(Ve)return Ve(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function An(){}function Ln(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function Rn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function jn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Xn(e,t,n,r,i,o){var a,s=1&t,l=2&t,d=4&t;if(n&&(a=i?n(e,r,i,o):n(e)),void 0!==a)return a;if(!Ua(e))return e;var C=ja(e);if(C){if(a=function(e){var t=e.length,n=new e.constructor(t);t&&"string"==typeof e[0]&&Te.call(e,"index")&&(n.index=e.index,n.input=e.input);return n}(e),!s)return vi(e,a)}else{var j=no(e),I=j==p||j==h;if(Pa(e))return fi(e,s);if(j==v||j==u||I&&!i){if(a=l||I?{}:io(e),!s)return l?function(e,t){return yi(e,to(e),t)}(e,function(e,t){return e&&yi(t,ws(t),e)}(a,e)):function(e,t){return yi(e,eo(e),t)}(e,Vn(a,e))}else{if(!Be[j])return i?e:{};a=function(e,t,n){var r=e.constructor;switch(t){case x:return di(e);case c:case f:return new r(+e);case T:return function(e,t){var n=t?di(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case S:case N:case k:case O:case E:case A:case"[object Uint8ClampedArray]":case L:case R:return pi(e,n);case m:return new r;case g:case _:return new r(e);case y:return function(e){var t=new e.constructor(e.source,re.exec(e));return t.lastIndex=e.lastIndex,t}(e);case b:return new r;case w:return i=e,Nn?me(Nn.call(i)):{}}var i}(e,j,s)}}o||(o=new Pn);var M=o.get(e);if(M)return M;o.set(e,a),Ya(e)?e.forEach((function(r){a.add(Xn(r,t,n,r,e,o))})):qa(e)&&e.forEach((function(r,i){a.set(i,Xn(r,t,n,i,e,o))}));var $=C?void 0:(d?l?Vi:qi:l?ws:_s)(e);return st($||e,(function(r,i){$&&(r=e[i=r]),Un(a,i,Xn(r,t,n,i,e,o))})),a}function Zn(e,t,n){var r=n.length;if(null==e)return!r;for(e=me(e);r--;){var i=n[r],o=t[i],a=e[i];if(void 0===a&&!(i in e)||!o(a))return!1}return!0}function Jn(e,t,n){if("function"!=typeof e)throw new ye(o);return _o((function(){e.apply(void 0,n)}),t)}function Qn(e,t,n,r){var i=-1,o=ft,a=!0,s=e.length,u=[],l=t.length;if(!s)return u;n&&(t=pt(t,At(n))),r?(o=dt,a=!1):t.length>=200&&(o=Rt,a=!1,t=new $n(t));e:for(;++i-1},In.prototype.set=function(e,t){var n=this.__data__,r=Wn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Mn.prototype.clear=function(){this.size=0,this.__data__={hash:new jn,map:new(pn||In),string:new jn}},Mn.prototype.delete=function(e){var t=Zi(this,e).delete(e);return this.size-=t?1:0,t},Mn.prototype.get=function(e){return Zi(this,e).get(e)},Mn.prototype.has=function(e){return Zi(this,e).has(e)},Mn.prototype.set=function(e,t){var n=Zi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},$n.prototype.add=$n.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},$n.prototype.has=function(e){return this.__data__.has(e)},Pn.prototype.clear=function(){this.__data__=new In,this.size=0},Pn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Pn.prototype.get=function(e){return this.__data__.get(e)},Pn.prototype.has=function(e){return this.__data__.has(e)},Pn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof In){var r=n.__data__;if(!pn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Mn(r)}return n.set(e,t),this.size=n.size,this};var er=wi(ur),tr=wi(lr,!0);function nr(e,t){var n=!0;return er(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function rr(e,t,n){for(var r=-1,i=e.length;++r0&&n(s)?t>1?or(s,t-1,n,r,i):ht(i,s):r||(i[i.length]=s)}return i}var ar=Ci(),sr=Ci(!0);function ur(e,t){return e&&ar(e,t,_s)}function lr(e,t){return e&&sr(e,t,_s)}function cr(e,t){return ct(t,(function(t){return za(e[t])}))}function fr(e,t){for(var n=0,r=(t=si(t,e)).length;null!=e&&nt}function mr(e,t){return null!=e&&Te.call(e,t)}function gr(e,t){return null!=e&&t in me(e)}function vr(e,t,n){for(var i=n?dt:ft,o=e[0].length,a=e.length,s=a,u=r(a),l=1/0,c=[];s--;){var f=e[s];s&&t&&(f=pt(f,At(t))),l=sn(f.length,l),u[s]=!n&&(t||o>=120&&f.length>=120)?new $n(s&&f):void 0}f=e[0];var d=-1,p=u[0];e:for(;++d=s)return u;var l=n[r];return u*("desc"==l?-1:1)}}return e.index-t.index}(e,t,n)}))}function jr(e,t,n){for(var r=-1,i=t.length,o={};++r-1;)s!==e&&Ye.call(s,u,1),Ye.call(e,u,1);return e}function Mr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;ao(i)?Ye.call(e,i,1):Qr(e,i)}}return e}function $r(e,t){return e+Qt(cn()*(t-e+1))}function Pr(e,t){var n="";if(!e||t<1||t>9007199254740991)return n;do{t%2&&(n+=e),(t=Qt(t/2))&&(e+=e)}while(t);return n}function Dr(e,t){return wo(mo(e,t,Vs),e+"")}function Fr(e){return Fn(Es(e))}function zr(e,t){var n=Es(e);return To(n,Yn(t,0,n.length))}function Br(e,t,n,r){if(!Ua(e))return e;for(var i=-1,o=(t=si(t,e)).length,a=o-1,s=e;null!=s&&++io?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=r(o);++i>>1,a=e[o];null!==a&&!Za(a)&&(n?a<=t:a=200){var l=t?null:Pi(e);if(l)return Ut(l);a=!1,i=Rt,u=new $n}else u=t?[]:s;e:for(;++r=r?e:qr(e,t,n)}var ci=Yt||function(e){return Ge.clearTimeout(e)};function fi(e,t){if(t)return e.slice();var n=e.length,r=He?He(n):new e.constructor(n);return e.copy(r),r}function di(e){var t=new e.constructor(e.byteLength);return new $e(t).set(new $e(e)),t}function pi(e,t){var n=t?di(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function hi(e,t){if(e!==t){var n=void 0!==e,r=null===e,i=e==e,o=Za(e),a=void 0!==t,s=null===t,u=t==t,l=Za(t);if(!s&&!l&&!o&&e>t||o&&a&&u&&!s&&!l||r&&a&&u||!n&&u||!i)return 1;if(!r&&!o&&!l&&e1?n[i-1]:void 0,a=i>2?n[2]:void 0;for(o=e.length>3&&"function"==typeof o?(i--,o):void 0,a&&so(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),t=me(t);++r-1?i[o?t[a]:a]:void 0}}function ki(e){return Wi((function(t){var n=t.length,r=n,i=Ln.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new ye(o);if(i&&!s&&"wrapper"==Ki(a))var s=new Ln([],!0)}for(r=s?r:n;++r1&&b.reverse(),f&&ls))return!1;var l=o.get(e);if(l&&o.get(t))return l==t;var c=-1,f=!0,d=2&n?new $n:void 0;for(o.set(e,t),o.set(t,e);++c-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(Z,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return st(s,(function(n){var r="_."+n[0];t&n[1]&&!ft(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(J);return t?t[1].split(Q):[]}(r),n)))}function xo(e){var t=0,n=0;return function(){var r=un(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function To(e,t){var n=-1,r=e.length,i=r-1;for(t=void 0===t?r:t;++n1?e[t-1]:void 0;return n="function"==typeof n?(e.pop(),n):void 0,Ko(e,n)}));function ta(e){var t=On(e);return t.__chain__=!0,t}function na(e,t){return t(e)}var ra=Wi((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return Kn(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Rn&&ao(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:na,args:[i],thisArg:void 0}),new Ln(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(i)}));var ia=bi((function(e,t,n){Te.call(e,n)?++e[n]:Gn(e,n,1)}));var oa=Ni(Ro),aa=Ni(jo);function sa(e,t){return(ja(e)?st:er)(e,Xi(t,3))}function ua(e,t){return(ja(e)?ut:tr)(e,Xi(t,3))}var la=bi((function(e,t,n){Te.call(e,n)?e[n].push(t):Gn(e,n,[t])}));var ca=Dr((function(e,t,n){var i=-1,o="function"==typeof t,a=Ma(e)?r(e.length):[];return er(e,(function(e){a[++i]=o?ot(t,e,n):yr(e,t,n)})),a})),fa=bi((function(e,t,n){Gn(e,n,t)}));function da(e,t){return(ja(e)?pt:kr)(e,Xi(t,3))}var pa=bi((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]}));var ha=Dr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&so(e,t[0],t[1])?t=[]:n>2&&so(t[0],t[1],t[2])&&(t=[t[0]]),Rr(e,or(t,1),[])})),ma=Xt||function(){return Ge.Date.now()};function ga(e,t,n){return t=n?void 0:t,Fi(e,128,void 0,void 0,void 0,void 0,t=e&&null==t?e.length:t)}function va(e,t){var n;if("function"!=typeof t)throw new ye(o);return e=rs(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}var ya=Dr((function(e,t,n){var r=1;if(n.length){var i=Ht(n,Yi(ya));r|=32}return Fi(e,r,t,n,i)})),ba=Dr((function(e,t,n){var r=3;if(n.length){var i=Ht(n,Yi(ba));r|=32}return Fi(t,r,e,n,i)}));function _a(e,t,n){var r,i,a,s,u,l,c=0,f=!1,d=!1,p=!0;if("function"!=typeof e)throw new ye(o);function h(t){var n=r,o=i;return r=i=void 0,c=t,s=e.apply(o,n)}function m(e){return c=e,u=_o(v,t),f?h(e):s}function g(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-c>=a}function v(){var e=ma();if(g(e))return y(e);u=_o(v,function(e){var n=t-(e-l);return d?sn(n,a-(e-c)):n}(e))}function y(e){return u=void 0,p&&r?h(e):(r=i=void 0,s)}function b(){var e=ma(),n=g(e);if(r=arguments,i=this,l=e,n){if(void 0===u)return m(l);if(d)return ci(u),u=_o(v,t),h(l)}return void 0===u&&(u=_o(v,t)),s}return t=os(t)||0,Ua(n)&&(f=!!n.leading,a=(d="maxWait"in n)?an(os(n.maxWait)||0,t):a,p="trailing"in n?!!n.trailing:p),b.cancel=function(){void 0!==u&&ci(u),c=0,r=l=i=u=void 0},b.flush=function(){return void 0===u?s:y(ma())},b}var wa=Dr((function(e,t){return Jn(e,1,t)})),Ca=Dr((function(e,t,n){return Jn(e,os(t)||0,n)}));function xa(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ye(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(xa.Cache||Mn),n}function Ta(e){if("function"!=typeof e)throw new ye(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}xa.Cache=Mn;var Sa=ui((function(e,t){var n=(t=1==t.length&&ja(t[0])?pt(t[0],At(Xi())):pt(or(t,1),At(Xi()))).length;return Dr((function(r){for(var i=-1,o=sn(r.length,n);++i=t})),Ra=br(function(){return arguments}())?br:function(e){return Wa(e)&&Te.call(e,"callee")&&!Ke.call(e,"callee")},ja=r.isArray,Ia=Qe?At(Qe):function(e){return Wa(e)&&pr(e)==x};function Ma(e){return null!=e&&Ha(e.length)&&!za(e)}function $a(e){return Wa(e)&&Ma(e)}var Pa=tn||ou,Da=et?At(et):function(e){return Wa(e)&&pr(e)==f};function Fa(e){if(!Wa(e))return!1;var t=pr(e);return t==d||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!Ga(e)}function za(e){if(!Ua(e))return!1;var t=pr(e);return t==p||t==h||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ba(e){return"number"==typeof e&&e==rs(e)}function Ha(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Ua(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Wa(e){return null!=e&&"object"==typeof e}var qa=tt?At(tt):function(e){return Wa(e)&&no(e)==m};function Va(e){return"number"==typeof e||Wa(e)&&pr(e)==g}function Ga(e){if(!Wa(e)||pr(e)!=v)return!1;var t=qe(e);if(null===t)return!0;var n=Te.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&xe.call(n)==Oe}var Ka=nt?At(nt):function(e){return Wa(e)&&pr(e)==y};var Ya=rt?At(rt):function(e){return Wa(e)&&no(e)==b};function Xa(e){return"string"==typeof e||!ja(e)&&Wa(e)&&pr(e)==_}function Za(e){return"symbol"==typeof e||Wa(e)&&pr(e)==w}var Ja=it?At(it):function(e){return Wa(e)&&Ha(e.length)&&!!ze[pr(e)]};var Qa=Ii(Nr),es=Ii((function(e,t){return e<=t}));function ts(e){if(!e)return[];if(Ma(e))return Xa(e)?Vt(e):vi(e);if(Je&&e[Je])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Je]());var t=no(e);return(t==m?zt:t==b?Ut:Es)(e)}function ns(e){return e?(e=os(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function rs(e){var t=ns(e),n=t%1;return t==t?n?t-n:t:0}function is(e){return e?Yn(rs(e),0,4294967295):0}function os(e){if("number"==typeof e)return e;if(Za(e))return NaN;if(Ua(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Ua(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(K,"");var n=oe.test(e);return n||se.test(e)?We(e.slice(2),n?2:8):ie.test(e)?NaN:+e}function as(e){return yi(e,ws(e))}function ss(e){return null==e?"":Zr(e)}var us=_i((function(e,t){if(fo(t)||Ma(t))yi(t,_s(t),e);else for(var n in t)Te.call(t,n)&&Un(e,n,t[n])})),ls=_i((function(e,t){yi(t,ws(t),e)})),cs=_i((function(e,t,n,r){yi(t,ws(t),e,r)})),fs=_i((function(e,t,n,r){yi(t,_s(t),e,r)})),ds=Wi(Kn);var ps=Dr((function(e,t){e=me(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&so(t[0],t[1],i)&&(r=1);++n1),t})),yi(e,Vi(e),n),r&&(n=Xn(n,7,Hi));for(var i=t.length;i--;)Qr(n,t[i]);return n}));var Ss=Wi((function(e,t){return null==e?{}:function(e,t){return jr(e,t,(function(t,n){return gs(e,n)}))}(e,t)}));function Ns(e,t){if(null==e)return{};var n=pt(Vi(e),(function(e){return[e]}));return t=Xi(t),jr(e,n,(function(e,n){return t(e,n[0])}))}var ks=Di(_s),Os=Di(ws);function Es(e){return null==e?[]:Lt(e,_s(e))}var As=Ti((function(e,t,n){return t=t.toLowerCase(),e+(n?Ls(t):t)}));function Ls(e){return Fs(ss(e).toLowerCase())}function Rs(e){return(e=ss(e))&&e.replace(le,$t).replace(je,"")}var js=Ti((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Is=Ti((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Ms=xi("toLowerCase");var $s=Ti((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}));var Ps=Ti((function(e,t,n){return e+(n?" ":"")+Fs(t)}));var Ds=Ti((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Fs=xi("toUpperCase");function zs(e,t,n){return e=ss(e),void 0===(t=n?void 0:t)?function(e){return Pe.test(e)}(e)?function(e){return e.match(Me)||[]}(e):function(e){return e.match(ee)||[]}(e):e.match(t)||[]}var Bs=Dr((function(e,t){try{return ot(e,void 0,t)}catch(e){return Fa(e)?e:new de(e)}})),Hs=Wi((function(e,t){return st(t,(function(t){t=No(t),Gn(e,t,ya(e[t],e))})),e}));function Us(e){return function(){return e}}var Ws=ki(),qs=ki(!0);function Vs(e){return e}function Gs(e){return xr("function"==typeof e?e:Xn(e,1))}var Ks=Dr((function(e,t){return function(n){return yr(n,e,t)}})),Ys=Dr((function(e,t){return function(n){return yr(e,n,t)}}));function Xs(e,t,n){var r=_s(t),i=cr(t,r);null!=n||Ua(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=cr(t,_s(t)));var o=!(Ua(n)&&"chain"in n&&!n.chain),a=za(e);return st(i,(function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),i=n.__actions__=vi(this.__actions__);return i.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,ht([this.value()],arguments))})})),e}function Zs(){}var Js=Li(pt),Qs=Li(lt),eu=Li(vt);function tu(e){return uo(e)?St(No(e)):function(e){return function(t){return fr(t,e)}}(e)}var nu=ji(),ru=ji(!0);function iu(){return[]}function ou(){return!1}var au=Ai((function(e,t){return e+t}),0),su=$i("ceil"),uu=Ai((function(e,t){return e/t}),1),lu=$i("floor");var cu,fu=Ai((function(e,t){return e*t}),1),du=$i("round"),pu=Ai((function(e,t){return e-t}),0);return On.after=function(e,t){if("function"!=typeof t)throw new ye(o);return e=rs(e),function(){if(--e<1)return t.apply(this,arguments)}},On.ary=ga,On.assign=us,On.assignIn=ls,On.assignInWith=cs,On.assignWith=fs,On.at=ds,On.before=va,On.bind=ya,On.bindAll=Hs,On.bindKey=ba,On.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return ja(e)?e:[e]},On.chain=ta,On.chunk=function(e,t,n){t=(n?so(e,t,n):void 0===t)?1:an(rs(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var o=0,a=0,s=r(Jt(i/t));oi?0:i+n),(r=void 0===r||r>i?i:rs(r))<0&&(r+=i),r=n>r?0:is(r);n>>0)?(e=ss(e))&&("string"==typeof t||null!=t&&!Ka(t))&&!(t=Zr(t))&&Ft(e)?li(Vt(e),0,n):e.split(t,n):[]},On.spread=function(e,t){if("function"!=typeof e)throw new ye(o);return t=null==t?0:an(rs(t),0),Dr((function(n){var r=n[t],i=li(n,0,t);return r&&ht(i,r),ot(e,this,i)}))},On.tail=function(e){var t=null==e?0:e.length;return t?qr(e,1,t):[]},On.take=function(e,t,n){return e&&e.length?qr(e,0,(t=n||void 0===t?1:rs(t))<0?0:t):[]},On.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?qr(e,(t=r-(t=n||void 0===t?1:rs(t)))<0?0:t,r):[]},On.takeRightWhile=function(e,t){return e&&e.length?ti(e,Xi(t,3),!1,!0):[]},On.takeWhile=function(e,t){return e&&e.length?ti(e,Xi(t,3)):[]},On.tap=function(e,t){return t(e),e},On.throttle=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new ye(o);return Ua(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),_a(e,t,{leading:r,maxWait:t,trailing:i})},On.thru=na,On.toArray=ts,On.toPairs=ks,On.toPairsIn=Os,On.toPath=function(e){return ja(e)?pt(e,No):Za(e)?[e]:vi(So(ss(e)))},On.toPlainObject=as,On.transform=function(e,t,n){var r=ja(e),i=r||Pa(e)||Ja(e);if(t=Xi(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:Ua(e)&&za(o)?En(qe(e)):{}}return(i?st:ur)(e,(function(e,r,i){return t(n,e,r,i)})),n},On.unary=function(e){return ga(e,1)},On.union=Wo,On.unionBy=qo,On.unionWith=Vo,On.uniq=function(e){return e&&e.length?Jr(e):[]},On.uniqBy=function(e,t){return e&&e.length?Jr(e,Xi(t,2)):[]},On.uniqWith=function(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Jr(e,void 0,t):[]},On.unset=function(e,t){return null==e||Qr(e,t)},On.unzip=Go,On.unzipWith=Ko,On.update=function(e,t,n){return null==e?e:ei(e,t,ai(n))},On.updateWith=function(e,t,n,r){return r="function"==typeof r?r:void 0,null==e?e:ei(e,t,ai(n),r)},On.values=Es,On.valuesIn=function(e){return null==e?[]:Lt(e,ws(e))},On.without=Yo,On.words=zs,On.wrap=function(e,t){return Na(ai(t),e)},On.xor=Xo,On.xorBy=Zo,On.xorWith=Jo,On.zip=Qo,On.zipObject=function(e,t){return ii(e||[],t||[],Un)},On.zipObjectDeep=function(e,t){return ii(e||[],t||[],Br)},On.zipWith=ea,On.entries=ks,On.entriesIn=Os,On.extend=ls,On.extendWith=cs,Xs(On,On),On.add=au,On.attempt=Bs,On.camelCase=As,On.capitalize=Ls,On.ceil=su,On.clamp=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=os(n))==n?n:0),void 0!==t&&(t=(t=os(t))==t?t:0),Yn(os(e),t,n)},On.clone=function(e){return Xn(e,4)},On.cloneDeep=function(e){return Xn(e,5)},On.cloneDeepWith=function(e,t){return Xn(e,5,t="function"==typeof t?t:void 0)},On.cloneWith=function(e,t){return Xn(e,4,t="function"==typeof t?t:void 0)},On.conformsTo=function(e,t){return null==t||Zn(e,t,_s(t))},On.deburr=Rs,On.defaultTo=function(e,t){return null==e||e!=e?t:e},On.divide=uu,On.endsWith=function(e,t,n){e=ss(e),t=Zr(t);var r=e.length,i=n=void 0===n?r:Yn(rs(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},On.eq=Ea,On.escape=function(e){return(e=ss(e))&&F.test(e)?e.replace(P,Pt):e},On.escapeRegExp=function(e){return(e=ss(e))&&G.test(e)?e.replace(V,"\\$&"):e},On.every=function(e,t,n){var r=ja(e)?lt:nr;return n&&so(e,t,n)&&(t=void 0),r(e,Xi(t,3))},On.find=oa,On.findIndex=Ro,On.findKey=function(e,t){return bt(e,Xi(t,3),ur)},On.findLast=aa,On.findLastIndex=jo,On.findLastKey=function(e,t){return bt(e,Xi(t,3),lr)},On.floor=lu,On.forEach=sa,On.forEachRight=ua,On.forIn=function(e,t){return null==e?e:ar(e,Xi(t,3),ws)},On.forInRight=function(e,t){return null==e?e:sr(e,Xi(t,3),ws)},On.forOwn=function(e,t){return e&&ur(e,Xi(t,3))},On.forOwnRight=function(e,t){return e&&lr(e,Xi(t,3))},On.get=ms,On.gt=Aa,On.gte=La,On.has=function(e,t){return null!=e&&ro(e,t,mr)},On.hasIn=gs,On.head=Mo,On.identity=Vs,On.includes=function(e,t,n,r){e=Ma(e)?e:Es(e),n=n&&!r?rs(n):0;var i=e.length;return n<0&&(n=an(i+n,0)),Xa(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&wt(e,t,n)>-1},On.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:rs(n);return i<0&&(i=an(r+i,0)),wt(e,t,i)},On.inRange=function(e,t,n){return t=ns(t),void 0===n?(n=t,t=0):n=ns(n),function(e,t,n){return e>=sn(t,n)&&e=-9007199254740991&&e<=9007199254740991},On.isSet=Ya,On.isString=Xa,On.isSymbol=Za,On.isTypedArray=Ja,On.isUndefined=function(e){return void 0===e},On.isWeakMap=function(e){return Wa(e)&&no(e)==C},On.isWeakSet=function(e){return Wa(e)&&"[object WeakSet]"==pr(e)},On.join=function(e,t){return null==e?"":rn.call(e,t)},On.kebabCase=js,On.last=Fo,On.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r;return void 0!==n&&(i=(i=rs(n))<0?an(r+i,0):sn(i,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,i):_t(e,xt,i,!0)},On.lowerCase=Is,On.lowerFirst=Ms,On.lt=Qa,On.lte=es,On.max=function(e){return e&&e.length?rr(e,Vs,hr):void 0},On.maxBy=function(e,t){return e&&e.length?rr(e,Xi(t,2),hr):void 0},On.mean=function(e){return Tt(e,Vs)},On.meanBy=function(e,t){return Tt(e,Xi(t,2))},On.min=function(e){return e&&e.length?rr(e,Vs,Nr):void 0},On.minBy=function(e,t){return e&&e.length?rr(e,Xi(t,2),Nr):void 0},On.stubArray=iu,On.stubFalse=ou,On.stubObject=function(){return{}},On.stubString=function(){return""},On.stubTrue=function(){return!0},On.multiply=fu,On.nth=function(e,t){return e&&e.length?Lr(e,rs(t)):void 0},On.noConflict=function(){return Ge._===this&&(Ge._=Ee),this},On.noop=Zs,On.now=ma,On.pad=function(e,t,n){e=ss(e);var r=(t=rs(t))?qt(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Ri(Qt(i),n)+e+Ri(Jt(i),n)},On.padEnd=function(e,t,n){e=ss(e);var r=(t=rs(t))?qt(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=cn();return sn(e+i*(t-e+Ue("1e-"+((i+"").length-1))),t)}return $r(e,t)},On.reduce=function(e,t,n){var r=ja(e)?mt:kt,i=arguments.length<3;return r(e,Xi(t,4),n,i,er)},On.reduceRight=function(e,t,n){var r=ja(e)?gt:kt,i=arguments.length<3;return r(e,Xi(t,4),n,i,tr)},On.repeat=function(e,t,n){return t=(n?so(e,t,n):void 0===t)?1:rs(t),Pr(ss(e),t)},On.replace=function(){var e=arguments,t=ss(e[0]);return e.length<3?t:t.replace(e[1],e[2])},On.result=function(e,t,n){var r=-1,i=(t=si(t,e)).length;for(i||(i=1,e=void 0);++r9007199254740991)return[];var n=4294967295,r=sn(e,4294967295);e-=4294967295;for(var i=Et(r,t=Xi(t));++n=o)return e;var s=n-qt(r);if(s<1)return r;var u=a?li(a,0,s).join(""):e.slice(0,s);if(void 0===i)return u+r;if(a&&(s+=u.length-s),Ka(i)){if(e.slice(s).search(i)){var l,c=u;for(i.global||(i=ge(i.source,ss(re.exec(i))+"g")),i.lastIndex=0;l=i.exec(c);)var f=l.index;u=u.slice(0,void 0===f?s:f)}}else if(e.indexOf(Zr(i),s)!=s){var d=u.lastIndexOf(i);d>-1&&(u=u.slice(0,d))}return u+r},On.unescape=function(e){return(e=ss(e))&&D.test(e)?e.replace($,Gt):e},On.uniqueId=function(e){var t=++Se;return ss(e)+t},On.upperCase=Ds,On.upperFirst=Fs,On.each=sa,On.eachRight=ua,On.first=Mo,Xs(On,(cu={},ur(On,(function(e,t){Te.call(On.prototype,t)||(cu[t]=e)})),cu),{chain:!1}),On.VERSION="4.17.15",st(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){On[e].placeholder=On})),st(["drop","take"],(function(e,t){Rn.prototype[e]=function(n){n=void 0===n?1:an(rs(n),0);var r=this.__filtered__&&!t?new Rn(this):this.clone();return r.__filtered__?r.__takeCount__=sn(n,r.__takeCount__):r.__views__.push({size:sn(n,4294967295),type:e+(r.__dir__<0?"Right":"")}),r},Rn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),st(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;Rn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Xi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),st(["head","last"],(function(e,t){var n="take"+(t?"Right":"");Rn.prototype[e]=function(){return this[n](1).value()[0]}})),st(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");Rn.prototype[e]=function(){return this.__filtered__?new Rn(this):this[n](1)}})),Rn.prototype.compact=function(){return this.filter(Vs)},Rn.prototype.find=function(e){return this.filter(e).head()},Rn.prototype.findLast=function(e){return this.reverse().find(e)},Rn.prototype.invokeMap=Dr((function(e,t){return"function"==typeof e?new Rn(this):this.map((function(n){return yr(n,e,t)}))})),Rn.prototype.reject=function(e){return this.filter(Ta(Xi(e)))},Rn.prototype.slice=function(e,t){e=rs(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Rn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),void 0!==t&&(n=(t=rs(t))<0?n.dropRight(-t):n.take(t-e)),n)},Rn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Rn.prototype.toArray=function(){return this.take(4294967295)},ur(Rn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=On[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);i&&(On.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,s=t instanceof Rn,u=a[0],l=s||ja(t),c=function(e){var t=i.apply(On,ht([e],a));return r&&f?t[0]:t};l&&n&&"function"==typeof u&&1!=u.length&&(s=l=!1);var f=this.__chain__,d=!!this.__actions__.length,p=o&&!f,h=s&&!d;if(!o&&l){t=h?t:new Rn(this);var m=e.apply(t,a);return m.__actions__.push({func:na,args:[c],thisArg:void 0}),new Ln(m,f)}return p&&h?e.apply(this,a):(m=this.thru(c),p?r?m.value()[0]:m.value():m)})})),st(["pop","push","shift","sort","splice","unshift"],(function(e){var t=be[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);On.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(ja(i)?i:[],e)}return this[n]((function(n){return t.apply(ja(n)?n:[],e)}))}})),ur(Rn.prototype,(function(e,t){var n=On[t];if(n){var r=n.name+"";Te.call(bn,r)||(bn[r]=[]),bn[r].push({name:t,func:n})}})),bn[Oi(void 0,2).name]=[{name:"wrapper",func:void 0}],Rn.prototype.clone=function(){var e=new Rn(this.__wrapped__);return e.__actions__=vi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=vi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=vi(this.__views__),e},Rn.prototype.reverse=function(){if(this.__filtered__){var e=new Rn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Rn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=ja(e),r=t<0,i=n?e.length:0,o=function(e,t,n){var r=-1,i=n.length;for(;++r=this.__values__.length;return{done:e,value:e?void 0:this.__values__[this.__index__++]}},On.prototype.plant=function(e){for(var t,n=this;n instanceof An;){var r=Oo(n);r.__index__=0,r.__values__=void 0,t?i.__wrapped__=r:t=r;var i=r;n=n.__wrapped__}return i.__wrapped__=e,t},On.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Rn){var t=e;return this.__actions__.length&&(t=new Rn(this)),(t=t.reverse()).__actions__.push({func:na,args:[Uo],thisArg:void 0}),new Ln(t,this.__chain__)}return this.thru(Uo)},On.prototype.toJSON=On.prototype.valueOf=On.prototype.value=function(){return ni(this.__wrapped__,this.__actions__)},On.prototype.first=On.prototype.head,Je&&(On.prototype[Je]=function(){return this}),On}();Ge._=Kt,void 0===(i=function(){return Kt}.call(t,n,t,r))||(r.exports=i)}).call(this)}).call(this,n(13),n(263)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){var r,i; +/*! + * Isotope v3.0.6 + * + * Licensed GPLv3 for open source use + * or Isotope Commercial License for commercial use + * + * https://isotope.metafizzy.co + * Copyright 2010-2018 Metafizzy + */!function(o,a){r=[n(31),n(29),n(113),n(112),n(266),n(32),n(267),n(269),n(270)],void 0===(i=function(e,t,n,r,i,a){return function(e,t,n,r,i,o,a){"use strict";var s=e.jQuery,u=String.prototype.trim?function(e){return e.trim()}:function(e){return e.replace(/^\s+|\s+$/g,"")},l=t.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});l.Item=o,l.LayoutMode=a;var c=l.prototype;c._create=function(){for(var e in this.itemGUID=0,this._sorters={},this._getSorters(),t.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"],a.modes)this._initLayoutMode(e)},c.reloadItems=function(){this.itemGUID=0,t.prototype.reloadItems.call(this)},c._itemize=function(){for(var e=t.prototype._itemize.apply(this,arguments),n=0;ns||as?1:-1)*((void 0!==t[o]?t[o]:t)?1:-1)}return 0}}(this.sortHistory,this.options.sortAscending);this.filteredItems.sort(t)}},c._getIsSameSortBy=function(e){for(var t=0;t1&&n+e>this.cols?0:n;var r=t.size.outerWidth&&t.size.outerHeight;return this.horizontalColIndex=r?n+e:this.horizontalColIndex,{col:n,y:this._getColGroupY(n,e)}},r._manageStamp=function(e){var n=t(e),r=this._getElementOffset(e),i=this._getOption("originLeft")?r.left:r.right,o=i+n.outerWidth,a=Math.floor(i/this.columnWidth);a=Math.max(0,a);var s=Math.floor(o/this.columnWidth);s-=o%this.columnWidth?0:1,s=Math.min(this.cols-1,s);for(var u=(this._getOption("originTop")?r.top:r.bottom)+n.outerHeight,l=a;l<=s;l++)this.colYs[l]=Math.max(u,this.colYs[l])},r._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var e={height:this.maxY};return this._getOption("fitWidth")&&(e.width=this._getContainerFitWidth()),e},r._getContainerFitWidth=function(){for(var e=0,t=this.cols;--t&&0===this.colYs[t];)e++;return(this.cols-e)*this.columnWidth-this.gutter},r.needsResizeLayout=function(){var e=this.containerWidth;return this.getContainerWidth(),e!=this.containerWidth},n})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;window,i=[n(32)],void 0===(o="function"==typeof(r=function(e){"use strict";var t=e.create("fitRows"),n=t.prototype;return n._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},n._getItemLayoutPosition=function(e){e.getSize();var t=e.size.outerWidth+this.gutter,n=this.isotope.size.innerWidth+this.gutter;0!==this.x&&t+this.x>n&&(this.x=0,this.y=this.maxY);var r={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+e.size.outerHeight),this.x+=t,r},n._getContainerSize=function(){return{height:this.maxY}},t})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){var r,i,o;window,i=[n(32)],void 0===(o="function"==typeof(r=function(e){"use strict";var t=e.create("vertical",{horizontalAlignment:0}),n=t.prototype;return n._resetLayout=function(){this.y=0},n._getItemLayoutPosition=function(e){e.getSize();var t=(this.isotope.size.innerWidth-e.size.outerWidth)*this.options.horizontalAlignment,n=this.y;return this.y+=e.size.outerHeight,{x:t,y:n}},n._getContainerSize=function(){return{height:this.y}},t})?r.apply(t,i):r)||(e.exports=o)},,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return U}));var r="en",i={};function o(){return r}function a(e){return i[e]}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.localeMatcher||"lookup";switch(n){case"lookup":case"best fit":return u(e);default:throw new RangeError('Invalid "localeMatcher" option: '.concat(n))}}function u(e){if(a(e))return e;for(var t=e.split("-");e.length>1;)if(t.pop(),a(e=t.join("-")))return e}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};l(this,e),f(this,"numeric","always"),f(this,"style","long"),f(this,"localeMatcher","lookup");var r=n.numeric,i=n.style,a=n.localeMatcher;if(r){if(p.indexOf(r)<0)throw new RangeError('Invalid "numeric" option: '.concat(r));this.numeric=r}if(i){if(h.indexOf(i)<0)throw new RangeError('Invalid "style" option: '.concat(i));this.style=i}if(a&&(this.localeMatcher=a),"string"==typeof t&&(t=[t]),t.push(o()),this.locale=e.supportedLocalesOf(t,{localeMatcher:this.localeMatcher})[0],!this.locale)throw new TypeError("No supported locale was found");this.locale=s(this.locale,{localeMatcher:this.localeMatcher}),"undefined"!=typeof Intl&&Intl.NumberFormat&&(this.numberFormat=new Intl.NumberFormat(this.locale))}var t,n,r;return t=e,(n=[{key:"format",value:function(e,t){return this.getRule(e,t).replace("{0}",this.formatNumber(Math.abs(e)))}},{key:"formatToParts",value:function(e,t){var n=this.getRule(e,t),r=n.indexOf("{0}");if(r<0)return[{type:"literal",value:n}];var i=[];return r>0&&i.push({type:"literal",value:n.slice(0,r)}),i.push({unit:t,type:"integer",value:this.formatNumber(Math.abs(e))}),r+"{0}".length1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.filter((function(e){return s(e,t)}))},m.addLocale=function(e){if(!e)throw new Error("No locale data passed");i[e.locale]=e},m.setDefaultLocale=function(e){r=e},m.getDefaultLocale=o;var y=function(){function e(){var t,n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),r={},(n="cache")in(t=this)?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r}var t,n,r;return t=e,(n=[{key:"get",value:function(){for(var e=this.cache,t=arguments.length,n=new Array(t),r=0;r=n.length)break;o=n[i++]}else{if((i=n.next()).done)break;o=i.value}var a=o;if(a.unit===t)return a}}function w(e){return e instanceof Date?e:new Date(e)}var C=[{factor:1,unit:"now"},{threshold:1,threshold_for_now:45,factor:1,unit:"second"},{threshold:45,factor:60,unit:"minute"},{threshold:150,factor:60,granularity:5,unit:"minute"},{threshold:1350,factor:1800,unit:"half-hour"},{threshold:2550,threshold_for_minute:3150,factor:3600,unit:"hour"},{threshold:73800,factor:b,unit:"day"},{threshold:475200,factor:7*b,unit:"week"},{threshold:2116800,factor:2630016,unit:"month"},{threshold:27615168,factor:31556952,unit:"year"}];function x(e){return(x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function T(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:C;if(0!==(r=k(r,n)).length){var i=N(e,t,r),o=r[i];if(-1!==i){if(o.granularity){var a=Math.round(Math.abs(e)/o.factor/o.granularity)*o.granularity;if(0===a&&i>0)return r[i-1]}return o}}}function S(e,t,n,r){var i;if(e&&(e.id||e.unit)&&(i=t["threshold_for_".concat(e.id||e.unit)]),void 0===i&&(i=t.threshold),"function"==typeof i&&(i=i(n,r)),e&&"number"!=typeof i){var o=x(i);throw new Error('Each step of a gradation must have a threshold defined except for the first one. Got "'.concat(i,'", ').concat(o,". Step: ").concat(JSON.stringify(t)))}return i}function N(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return Math.abs(e)=0}))}function O(e){return(O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function E(e,t){var n=e,r=Array.isArray(n),i=0;for(n=r?n:n[Symbol.iterator]();;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if((i=n.next()).done)break;o=i.value}var a=o;if(t(a))return a;for(var s=a.split("-");s.length>1;)if(s.pop(),t(a=s.join("-")))return a}throw new Error("No locale data has been registered for any of the locales: ".concat(e.join(", ")))}function A(){return"object"===("undefined"==typeof Intl?"undefined":O(Intl))&&"function"==typeof Intl.DateTimeFormat}var L={gradation:C,flavour:["long-convenient","long"],units:["now","minute","hour","day","week","month","year"]},R=[{factor:1,unit:"now"},{threshold:.5,factor:1,unit:"second"},{threshold:59.5,factor:60,unit:"minute"},{threshold:3570,factor:3600,unit:"hour"},{threshold:84600,factor:b,unit:"day"},{threshold:561600,factor:7*b,unit:"week"},{threshold:2116800,factor:2630016,unit:"month"},{threshold:30245184,factor:31556952,unit:"year"}];function j(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:[];B(this,e),"string"==typeof t&&(t=[t]),this.locale=E(t.concat(m.getDefaultLocale()),F),"undefined"!=typeof Intl&&Intl.NumberFormat&&(this.numberFormat=new Intl.NumberFormat(this.locale)),this.relativeTimeFormatCache=new y}var t,n,r;return t=e,(n=[{key:"format",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:L;if("string"==typeof t)switch(t){case"twitter":t=$;break;case"time":t=P;break;default:t=L}var n=W(e),r=n.date,i=n.time,o=this.getLocaleData(t.flavour),a=o.flavour,s=o.localeData,u=t.now||Date.now(),l=(u-i)/1e3;if(t.custom){var c=t.custom({now:u,date:r,time:i,elapsed:l,locale:this.locale});if(void 0!==c)return c}var f=q(s,t.units);if(0===f.length)return console.error('Units "'.concat(f.join(", "),'" were not found in locale data for "').concat(this.locale,'".')),"";var d=T(l,u,f,t.gradation);if(!d)return"";if(d.format)return d.format(r||i,this.locale);var p=d.unit,h=d.factor,m=d.granularity,g=Math.abs(l)/h;if(m&&(g=Math.round(g/m)*m),"now"===p)return V(s,-1*Math.sign(l));switch(a){case"long":case"short":case"narrow":return this.getFormatter(a).format(-1*Math.sign(l)*Math.round(g),p);default:return this.formatValue(-1*Math.sign(l)*Math.round(g),p,s)}}},{key:"formatValue",value:function(e,t,n){return this.getRule(e,t,n).replace("{0}",this.formatNumber(Math.abs(e)))}},{key:"getRule",value:function(e,t,n){var r=n[t];if("string"==typeof r)return r;var i=r[e<=0?"past":"future"]||r;if("string"==typeof i)return i;var o=F(this.locale).quantify,a=o&&o(Math.abs(e));return i[a=a||"other"]||i.other}},{key:"formatNumber",value:function(e){return this.numberFormat?this.numberFormat.format(e):String(e)}},{key:"getFormatter",value:function(e){return this.relativeTimeFormatCache.get(this.locale,e)||this.relativeTimeFormatCache.put(this.locale,e,new m(this.locale,{style:e}))}},{key:"getLocaleData",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=F(this.locale);"string"==typeof e&&(e=[e]);var n=e=e.concat("long"),r=Array.isArray(n),i=0;for(n=r?n:n[Symbol.iterator]();;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if((i=n.next()).done)break;o=i.value}var a=o;if(t[a])return{flavour:a,localeData:t[a]}}}}])&&H(t.prototype,n),r&&H(t,r),e}();function W(e){if(e.constructor===Date||"object"===z(t=e)&&"function"==typeof t.getTime)return{date:e,time:e.getTime()};var t;if("number"==typeof e)return{time:e};throw new Error("Unsupported relative time formatter input: ".concat(z(e),", ").concat(e))}function q(e,t){var n=Object.keys(e);return t&&(n=t.filter((function(e){return n.indexOf(e)>=0}))),(!t||t.indexOf("now")>=0)&&n.indexOf("now")<0&&e.second.current&&n.unshift("now"),n}function V(e,t){return e.now?"string"==typeof e.now?e.now:t<=0?e.now.past:e.now.future:e.second.current}U.getDefaultLocale=m.getDefaultLocale,U.setDefaultLocale=m.setDefaultLocale,U.addLocale=function(e){!function(e){if(!e)throw new Error("[javascript-time-ago] No locale data passed.");D[e.locale]=e}(e),m.addLocale(e)},U.locale=U.addLocale}]); \ No newline at end of file diff --git a/themes/light/assets/js/vendors~date-fns.js b/themes/light/assets/js/vendors~date-fns.js index 6b1b622e05..c966126b6c 100644 --- a/themes/light/assets/js/vendors~date-fns.js +++ b/themes/light/assets/js/vendors~date-fns.js @@ -1,399 +1 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["vendors~date-fns"],{ - -/***/ "./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js ***! - \*****************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addLeadingZeros; });\nfunction addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n\n while (output.length < targetLength) {\n output = '0' + output;\n }\n\n return sign + output;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/format/formatters/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/format/formatters/index.js ***! - \*******************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lightFormatters/index.js */ \"./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js\");\n/* harmony import */ var _lib_getUTCDayOfYear_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../_lib/getUTCDayOfYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js\");\n/* harmony import */ var _lib_getUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../_lib/getUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js\");\n/* harmony import */ var _lib_getUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../_lib/getUTCISOWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js\");\n/* harmony import */ var _lib_getUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../_lib/getUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCWeek/index.js\");\n/* harmony import */ var _lib_getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../_lib/getUTCWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js\");\n/* harmony import */ var _addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../addLeadingZeros/index.js */ \"./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js\");\n\n\n\n\n\n\n\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n /*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\n};\nvar formatters = {\n // Era\n G: function (date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].y(date, token);\n },\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n var signedWeekYear = Object(_lib_getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(date, options); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year\n\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(twoDigitYear, 2);\n } // Ordinal number\n\n\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n } // Padding\n\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function (date, token) {\n var isoWeekYear = Object(_lib_getUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(date); // Padding\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n var year = date.getUTCFullYear();\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(year, token.length);\n },\n // Quarter\n Q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'QQ':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'qq':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n case 'M':\n case 'MM':\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].M(date, token);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n\n case 'LL':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(month + 1, 2);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function (date, token, localize, options) {\n var week = Object(_lib_getUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(date, options);\n\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(week, token.length);\n },\n // ISO week of year\n I: function (date, token, localize) {\n var isoWeek = Object(_lib_getUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date);\n\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(isoWeek, token.length);\n },\n // Day of the month\n d: function (date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].d(date, token);\n },\n // Day of year\n D: function (date, token, localize) {\n var dayOfYear = Object(_lib_getUTCDayOfYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(dayOfYear, token.length);\n },\n // Day of week\n E: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'ee':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'cc':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n\n case 'ii':\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(isoDayOfWeek, token.length);\n // 2nd\n\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].h(date, token);\n },\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].H(date, token);\n },\n // Hour [0-11]\n K: function (date, token, localize) {\n var hours = date.getUTCHours() % 12;\n\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(hours, token.length);\n },\n // Hour [1-24]\n k: function (date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(hours, token.length);\n },\n // Minute\n m: function (date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].m(date, token);\n },\n // Second\n s: function (date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].s(date, token);\n },\n // Fraction of second\n S: function (date, token) {\n return _lightFormatters_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return 'Z';\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(timestamp, token.length);\n }\n};\n\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n\n if (minutes === 0) {\n return sign + String(hours);\n }\n\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(Math.abs(offset) / 60, 2);\n }\n\n return formatTimezone(offset, dirtyDelimiter);\n}\n\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(Math.floor(absOffset / 60), 2);\n var minutes = Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (formatters);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/format/formatters/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js": -/*!************************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js ***! - \************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../addLeadingZeros/index.js */ \"./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js\");\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nvar formatters = {\n // Year\n y: function (date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function (date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(month + 1, 2);\n },\n // Day of the month\n d: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function (date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return dayPeriodEnumValue.toUpperCase();\n\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCHours(), token.length);\n },\n // Minute\n m: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function (date, token) {\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function (date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return Object(_addLeadingZeros_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fractionalSeconds, token.length);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (formatters);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/format/longFormatters/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/format/longFormatters/index.js ***! - \***********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\nfunction dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n}\n\nfunction timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n}\n\nfunction dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/);\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n}\n\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (longFormatters);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/format/longFormatters/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js ***! - \*********************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getTimezoneOffsetInMilliseconds; });\nvar MILLISECONDS_IN_MINUTE = 60000;\n\nfunction getDateMillisecondsPart(date) {\n return date.getTime() % MILLISECONDS_IN_MINUTE;\n}\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\n\n\nfunction getTimezoneOffsetInMilliseconds(dirtyDate) {\n var date = new Date(dirtyDate.getTime());\n var baseTimezoneOffset = Math.ceil(date.getTimezoneOffset());\n date.setSeconds(0, 0);\n var hasNegativeUTCOffset = baseTimezoneOffset > 0;\n var millisecondsPartOfTimezoneOffset = hasNegativeUTCOffset ? (MILLISECONDS_IN_MINUTE + getDateMillisecondsPart(date)) % MILLISECONDS_IN_MINUTE : getDateMillisecondsPart(date);\n return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js ***! - \*****************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCDayOfYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\nvar MILLISECONDS_IN_DAY = 86400000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCDayOfYear(dirtyDate) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(1, arguments);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js": -/*!***************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js ***! - \***************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCISOWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js\");\n/* harmony import */ var _startOfUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfUTCISOWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n\nvar MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCISOWeek(dirtyDate) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(1, arguments);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var diff = Object(_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date).getTime() - Object(_startOfUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js ***! - \*******************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCISOWeekYear; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCISOWeekYear(dirtyDate) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(1, arguments);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = Object(_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = Object(_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/getUTCWeek/index.js": -/*!************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/getUTCWeek/index.js ***! - \************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js\");\n/* harmony import */ var _startOfUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfUTCWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n\nvar MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCWeek(dirtyDate, options) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(1, arguments);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var diff = Object(_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(date, options).getTime() - Object(_startOfUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(date, options).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/getUTCWeek/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js": -/*!****************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js ***! - \****************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return getUTCWeekYear; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction getUTCWeekYear(dirtyDate, dirtyOptions) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(1, arguments);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, dirtyOptions);\n var year = date.getUTCFullYear();\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = Object(_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(firstWeekOfNextYear, dirtyOptions);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = Object(_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(firstWeekOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/protectedTokens/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/protectedTokens/index.js ***! - \*****************************************************************/ -/*! exports provided: isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isProtectedDayOfYearToken\", function() { return isProtectedDayOfYearToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isProtectedWeekYearToken\", function() { return isProtectedWeekYearToken; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"throwProtectedError\", function() { return throwProtectedError; });\nvar protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nfunction isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nfunction isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nfunction throwProtectedError(token) {\n if (token === 'YYYY') {\n throw new RangeError('Use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr');\n } else if (token === 'YY') {\n throw new RangeError('Use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr');\n } else if (token === 'D') {\n throw new RangeError('Use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr');\n } else if (token === 'DD') {\n throw new RangeError('Use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr');\n }\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/protectedTokens/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/requiredArgs/index.js": -/*!**************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/requiredArgs/index.js ***! - \**************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return requiredArgs; });\nfunction requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/requiredArgs/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js ***! - \*******************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfUTCISOWeek; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCISOWeek(dirtyDate) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(1, arguments);\n var weekStartsOn = 1;\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js ***! - \***********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfUTCISOWeekYear; });\n/* harmony import */ var _getUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../getUTCISOWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js\");\n/* harmony import */ var _startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../startOfUTCISOWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCISOWeekYear(dirtyDate) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(1, arguments);\n var year = Object(_getUTCISOWeekYear_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = Object(_startOfUTCISOWeek_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fourthOfJanuary);\n return date;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js": -/*!****************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js ***! - \****************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfUTCWeek; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCWeek(dirtyDate, dirtyOptions) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js ***! - \********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return startOfUTCWeekYear; });\n/* harmony import */ var _toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../getUTCWeekYear/index.js */ \"./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js\");\n/* harmony import */ var _startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../startOfUTCWeek/index.js */ \"./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js\");\n/* harmony import */ var _requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nfunction startOfUTCWeekYear(dirtyDate, dirtyOptions) {\n Object(_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.firstWeekContainsDate);\n var year = Object(_getUTCWeekYear_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, dirtyOptions);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = Object(_startOfUTCWeek_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(firstWeek, dirtyOptions);\n return date;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/_lib/toInteger/index.js": -/*!***********************************************************!*\ - !*** ./node_modules/date-fns/esm/_lib/toInteger/index.js ***! - \***********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return toInteger; });\nfunction toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/_lib/toInteger/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/addMilliseconds/index.js": -/*!************************************************************!*\ - !*** ./node_modules/date-fns/esm/addMilliseconds/index.js ***! - \************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addMilliseconds; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_lib/requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\n\nfunction addMilliseconds(dirtyDate, dirtyAmount) {\n Object(_lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(2, arguments);\n var timestamp = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate).getTime();\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return new Date(timestamp + amount);\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/addMilliseconds/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/format/index.js": -/*!***************************************************!*\ - !*** ./node_modules/date-fns/esm/format/index.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return format; });\n/* harmony import */ var _isValid_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../isValid/index.js */ \"./node_modules/date-fns/esm/isValid/index.js\");\n/* harmony import */ var _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../locale/en-US/index.js */ \"./node_modules/date-fns/esm/locale/en-US/index.js\");\n/* harmony import */ var _subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../subMilliseconds/index.js */ \"./node_modules/date-fns/esm/subMilliseconds/index.js\");\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_format_formatters_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_lib/format/formatters/index.js */ \"./node_modules/date-fns/esm/_lib/format/formatters/index.js\");\n/* harmony import */ var _lib_format_longFormatters_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_lib/format/longFormatters/index.js */ \"./node_modules/date-fns/esm/_lib/format/longFormatters/index.js\");\n/* harmony import */ var _lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_lib/getTimezoneOffsetInMilliseconds/index.js */ \"./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js\");\n/* harmony import */ var _lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../_lib/protectedTokens/index.js */ \"./node_modules/date-fns/esm/_lib/protectedTokens/index.js\");\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../_lib/requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n\n\n\n\n\n\n // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Su | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Su | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |\n * | AM, PM | a..aaa | AM, PM | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bbb | AM, PM, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 0001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 05/29/1453 | 7 |\n * | | PP | May 29, 1453 | 7 |\n * | | PPP | May 29th, 1453 | 7 |\n * | | PPPP | Sunday, May 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 05/29/1453, 12:00 AM | 7 |\n * | | PPpp | May 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | May 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Sunday, May 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 9. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The second argument is now required for the sake of explicitness.\n *\n * ```javascript\n * // Before v2.0.0\n * format(new Date(2016, 0, 1))\n *\n * // v2.0.0 onward\n * format(new Date(2016, 0, 1), \"yyyy-MM-dd'T'HH:mm:ss.SSSxxx\")\n * ```\n *\n * - New format string API for `format` function\n * which is based on [Unicode Technical Standard #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n * See [this post](https://blog.date-fns.org/post/unicode-tokens-in-date-fns-v2-sreatyki91jg) for more details.\n *\n * - Characters are now escaped using single quote symbols (`'`) instead of square brackets.\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://git.io/fxCyr\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://git.io/fxCyr\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * var result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * var result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * var result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nfunction format(dirtyDate, dirtyFormatStr, dirtyOptions) {\n Object(_lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var options = dirtyOptions || {};\n var locale = options.locale || _locale_en_US_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n var localeFirstWeekContainsDate = locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var localeWeekStartsOn = locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n var originalDate = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(dirtyDate);\n\n if (!Object(_isValid_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(originalDate)) {\n throw new RangeError('Invalid time value');\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n\n\n var timezoneOffset = Object(_lib_getTimezoneOffsetInMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(originalDate);\n var utcDate = Object(_subMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = _lib_format_longFormatters_index_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"][firstCharacter];\n return longFormatter(substring, locale.formatLong, formatterOptions);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n\n var firstCharacter = substring[0];\n\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n\n var formatter = _lib_format_formatters_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"][firstCharacter];\n\n if (formatter) {\n if (!options.useAdditionalWeekYearTokens && Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__[\"isProtectedWeekYearToken\"])(substring)) {\n Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__[\"throwProtectedError\"])(substring);\n }\n\n if (!options.useAdditionalDayOfYearTokens && Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__[\"isProtectedDayOfYearToken\"])(substring)) {\n Object(_lib_protectedTokens_index_js__WEBPACK_IMPORTED_MODULE_7__[\"throwProtectedError\"])(substring);\n }\n\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n return substring;\n }).join('');\n return result;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/format/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/isValid/index.js": -/*!****************************************************!*\ - !*** ./node_modules/date-fns/esm/isValid/index.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return isValid; });\n/* harmony import */ var _toDate_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toDate/index.js */ \"./node_modules/date-fns/esm/toDate/index.js\");\n/* harmony import */ var _lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_lib/requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Now `isValid` doesn't throw an exception\n * if the first argument is not an instance of Date.\n * Instead, argument is converted beforehand using `toDate`.\n *\n * Examples:\n *\n * | `isValid` argument | Before v2.0.0 | v2.0.0 onward |\n * |---------------------------|---------------|---------------|\n * | `new Date()` | `true` | `true` |\n * | `new Date('2016-01-01')` | `true` | `true` |\n * | `new Date('')` | `false` | `false` |\n * | `new Date(1488370835081)` | `true` | `true` |\n * | `new Date(NaN)` | `false` | `false` |\n * | `'2016-01-01'` | `TypeError` | `false` |\n * | `''` | `TypeError` | `false` |\n * | `1488370835081` | `TypeError` | `true` |\n * | `NaN` | `TypeError` | `false` |\n *\n * We introduce this change to make *date-fns* consistent with ECMAScript behavior\n * that try to coerce arguments to the expected type\n * (which is also the case with other *date-fns* functions).\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * var result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * var result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * var result = isValid(new Date(''))\n * //=> false\n */\n\nfunction isValid(dirtyDate) {\n Object(_lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(1, arguments);\n var date = Object(_toDate_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyDate);\n return !isNaN(date);\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/isValid/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js": -/*!**************************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js ***! - \**************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildFormatLongFn; });\nfunction buildFormatLongFn(args) {\n return function (dirtyOptions) {\n var options = dirtyOptions || {};\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js": -/*!************************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js ***! - \************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildLocalizeFn; });\nfunction buildLocalizeFn(args) {\n return function (dirtyIndex, dirtyOptions) {\n var options = dirtyOptions || {};\n var context = options.context ? String(options.context) : 'standalone';\n var valuesArray;\n\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n\n var _width = options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n return valuesArray[index];\n };\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js": -/*!*********************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js ***! - \*********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildMatchFn; });\nfunction buildMatchFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var value;\n\n if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {\n value = findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n } else {\n value = findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n }\n\n value = args.valueCallback ? args.valueCallback(value) : value;\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}\n\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n}\n\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js": -/*!****************************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js ***! - \****************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return buildMatchPatternFn; });\nfunction buildMatchPatternFn(args) {\n return function (dirtyString, dirtyOptions) {\n var string = String(dirtyString);\n var options = dirtyOptions || {};\n var matchResult = string.match(args.matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n\n if (!parseResult) {\n return null;\n }\n\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n return {\n value: value,\n rest: string.slice(matchedString.length)\n };\n };\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js ***! - \*****************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return formatDistance; });\nvar formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nfunction formatDistance(token, count, options) {\n options = options || {};\n var result;\n\n if (typeof formatDistanceLocale[token] === 'string') {\n result = formatDistanceLocale[token];\n } else if (count === 1) {\n result = formatDistanceLocale[token].one;\n } else {\n result = formatDistanceLocale[token].other.replace('{{count}}', count);\n }\n\n if (options.addSuffix) {\n if (options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js": -/*!*************************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js ***! - \*************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_buildFormatLongFn_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../_lib/buildFormatLongFn/index.js */ \"./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js\");\n\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: Object(_lib_buildFormatLongFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: Object(_lib_buildFormatLongFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: Object(_lib_buildFormatLongFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (formatLong);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js ***! - \*****************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return formatRelative; });\nvar formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nfunction formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js": -/*!***********************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js ***! - \***********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../_lib/buildLocalizeFn/index.js */ \"./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js\");\n\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized.\n // If you are making a new locale based on this one, check if the same is true for the language you're working on.\n // Generally, formatted dates should look like they are in the middle of a sentence,\n // e.g. in Spanish language the weekdays and months should be in the lowercase.\n\n};\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nfunction ordinalNumber(dirtyNumber, _dirtyOptions) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`:\n //\n // var options = dirtyOptions || {}\n // var unit = String(options.unit)\n //\n // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n}\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return Number(quarter) - 1;\n }\n }),\n month: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: Object(_lib_buildLocalizeFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (localize);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js": -/*!********************************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js ***! - \********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_buildMatchPatternFn_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../_lib/buildMatchPatternFn/index.js */ \"./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js\");\n/* harmony import */ var _lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../_lib/buildMatchFn/index.js */ \"./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js\");\n\n\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: Object(_lib_buildMatchPatternFn_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10);\n }\n }),\n era: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1;\n }\n }),\n month: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: Object(_lib_buildMatchFn_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (match);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/locale/en-US/index.js": -/*!*********************************************************!*\ - !*** ./node_modules/date-fns/esm/locale/en-US/index.js ***! - \*********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_formatDistance_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_lib/formatDistance/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js\");\n/* harmony import */ var _lib_formatLong_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_lib/formatLong/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js\");\n/* harmony import */ var _lib_formatRelative_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_lib/formatRelative/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js\");\n/* harmony import */ var _lib_localize_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_lib/localize/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js\");\n/* harmony import */ var _lib_match_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_lib/match/index.js */ \"./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js\");\n\n\n\n\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\n\nvar locale = {\n code: 'en-US',\n formatDistance: _lib_formatDistance_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n formatLong: _lib_formatLong_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n formatRelative: _lib_formatRelative_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n localize: _lib_localize_index_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n match: _lib_match_index_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (locale);\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/locale/en-US/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/parseISO/index.js": -/*!*****************************************************!*\ - !*** ./node_modules/date-fns/esm/parseISO/index.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return parseISO; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_lib/requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE = 60000;\nvar DEFAULT_ADDITIONAL_DIGITS = 2;\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The previous `parse` implementation was renamed to `parseISO`.\n *\n * ```javascript\n * // Before v2.0.0\n * parse('2016-01-01')\n *\n * // v2.0.0 onward\n * parseISO('2016-01-01')\n * ```\n *\n * - `parseISO` now validates separate date and time values in ISO-8601 strings\n * and returns `Invalid Date` if the date is invalid.\n *\n * ```javascript\n * parseISO('2018-13-32')\n * //=> Invalid Date\n * ```\n *\n * - `parseISO` now doesn't fall back to `new Date` constructor\n * if it fails to parse a string argument. Instead, it returns `Invalid Date`.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * var result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\n\nfunction parseISO(argument, dirtyOptions) {\n Object(_lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(1, arguments);\n var options = dirtyOptions || {};\n var additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.additionalDigits);\n\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n\n var dateStrings = splitDateString(argument);\n var date;\n\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (isNaN(date) || !date) {\n return new Date(NaN);\n }\n\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n\n if (isNaN(time) || time === null) {\n return new Date(NaN);\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time); // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n\n var result = new Date(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate(), dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n result.setFullYear(dirtyDate.getUTCFullYear());\n return result;\n }\n\n return new Date(timestamp + time + offset);\n}\n\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString;\n\n if (/:/.test(array[0])) {\n dateStrings.date = null;\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex); // Invalid ISO-formatted year\n\n if (!captures) return {\n year: null\n };\n var year = captures[1] && parseInt(captures[1]);\n var century = captures[2] && parseInt(captures[2]);\n return {\n year: century == null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return null;\n var captures = dateString.match(dateRegex); // Invalid ISO-formatted string\n\n if (!captures) return null;\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return null; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1000;\n}\n\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n} // Validation functions\n// February is null to handle the leap year (using ||)\n\n\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100;\n}\n\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/parseISO/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/subMilliseconds/index.js": -/*!************************************************************!*\ - !*** ./node_modules/date-fns/esm/subMilliseconds/index.js ***! - \************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return subMilliseconds; });\n/* harmony import */ var _lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/toInteger/index.js */ \"./node_modules/date-fns/esm/_lib/toInteger/index.js\");\n/* harmony import */ var _addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../addMilliseconds/index.js */ \"./node_modules/date-fns/esm/addMilliseconds/index.js\");\n/* harmony import */ var _lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_lib/requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n\n\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * var result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\n\nfunction subMilliseconds(dirtyDate, dirtyAmount) {\n Object(_lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(2, arguments);\n var amount = Object(_lib_toInteger_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dirtyAmount);\n return Object(_addMilliseconds_index_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(dirtyDate, -amount);\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/subMilliseconds/index.js?"); - -/***/ }), - -/***/ "./node_modules/date-fns/esm/toDate/index.js": -/*!***************************************************!*\ - !*** ./node_modules/date-fns/esm/toDate/index.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return toDate; });\n/* harmony import */ var _lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_lib/requiredArgs/index.js */ \"./node_modules/date-fns/esm/_lib/requiredArgs/index.js\");\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nfunction toDate(argument) {\n Object(_lib_requiredArgs_index_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}\n\n//# sourceURL=webpack:///./node_modules/date-fns/esm/toDate/index.js?"); - -/***/ }) - -}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{10:function(t,e,n){"use strict";function r(t){if(null===t||!0===t||!1===t)return NaN;var e=Number(t);return isNaN(e)?e:e<0?Math.ceil(e):Math.floor(e)}n.d(e,"a",(function(){return r}))},132:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(10),a=n(9),i={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},o=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,u=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,s=/^([+-])(\d{2})(?::?(\d{2}))?$/;function c(t,e){Object(a.a)(1,arguments);var n=e||{},i=null==n.additionalDigits?2:Object(r.a)(n.additionalDigits);if(2!==i&&1!==i&&0!==i)throw new RangeError("additionalDigits must be 0, 1 or 2");if("string"!=typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var o,u=d(t);if(u.date){var s=l(u.date,i);o=f(s.restDateString,s.year)}if(isNaN(o)||!o)return new Date(NaN);var c,h=o.getTime(),g=0;if(u.time&&(g=m(u.time),isNaN(g)||null===g))return new Date(NaN);if(!u.timezone){var b=new Date(h+g),v=new Date(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate(),b.getUTCHours(),b.getUTCMinutes(),b.getUTCSeconds(),b.getUTCMilliseconds());return v.setFullYear(b.getUTCFullYear()),v}return c=w(u.timezone),isNaN(c)?new Date(NaN):new Date(h+g+c)}function d(t){var e,n={},r=t.split(i.dateTimeDelimiter);if(/:/.test(r[0])?(n.date=null,e=r[0]):(n.date=r[0],e=r[1],i.timeZoneDelimiter.test(n.date)&&(n.date=t.split(i.timeZoneDelimiter)[0],e=t.substr(n.date.length,t.length))),e){var a=i.timezone.exec(e);a?(n.time=e.replace(a[1],""),n.timezone=a[1]):n.time=e}return n}function l(t,e){var n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),r=t.match(n);if(!r)return{year:null};var a=r[1]&&parseInt(r[1]),i=r[2]&&parseInt(r[2]);return{year:null==i?a:100*i,restDateString:t.slice((r[1]||r[2]).length)}}function f(t,e){if(null===e)return null;var n=t.match(o);if(!n)return null;var r=!!n[4],a=h(n[1]),i=h(n[2])-1,u=h(n[3]),s=h(n[4]),c=h(n[5])-1;if(r)return function(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}(0,s,c)?function(t,e,n){var r=new Date(0);r.setUTCFullYear(t,0,4);var a=r.getUTCDay()||7,i=7*(e-1)+n+1-a;return r.setUTCDate(r.getUTCDate()+i),r}(e,s,c):new Date(NaN);var d=new Date(0);return function(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(b[e]||(v(t)?29:28))}(e,i,u)&&function(t,e){return e>=1&&e<=(v(t)?366:365)}(e,a)?(d.setUTCFullYear(e,i,Math.max(a,u)),d):new Date(NaN)}function h(t){return t?parseInt(t):1}function m(t){var e=t.match(u);if(!e)return null;var n=g(e[1]),r=g(e[2]),a=g(e[3]);return function(t,e,n){if(24===t)return 0===e&&0===n;return n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}(n,r,a)?36e5*n+6e4*r+1e3*a:NaN}function g(t){return t&&parseFloat(t.replace(",","."))||0}function w(t){if("Z"===t)return 0;var e=t.match(s);if(!e)return 0;var n="+"===e[1]?-1:1,r=parseInt(e[2]),a=e[3]&&parseInt(e[3])||0;return function(t,e){return e>=0&&e<=59}(0,a)?n*(36e5*r+6e4*a):NaN}var b=[31,null,31,30,31,30,31,31,30,31,30,31];function v(t){return t%400==0||t%4==0&&t%100}},19:function(t,e,n){"use strict";n.d(e,"a",(function(){return $}));var r=n(9);function a(t){Object(r.a)(1,arguments);var e=Object.prototype.toString.call(t);return t instanceof Date||"object"==typeof t&&"[object Date]"===e?new Date(t.getTime()):"number"==typeof t||"[object Number]"===e?new Date(t):("string"!=typeof t&&"[object String]"!==e||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn((new Error).stack)),new Date(NaN))}function i(t){Object(r.a)(1,arguments);var e=a(t);return!isNaN(e)}var o={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function u(t){return function(e){var n=e||{},r=n.width?String(n.width):t.defaultWidth;return t.formats[r]||t.formats[t.defaultWidth]}}var s={date:u({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:u({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:u({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},c={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function d(t){return function(e,n){var r,a=n||{};if("formatting"===(a.context?String(a.context):"standalone")&&t.formattingValues){var i=t.defaultFormattingWidth||t.defaultWidth,o=a.width?String(a.width):i;r=t.formattingValues[o]||t.formattingValues[i]}else{var u=t.defaultWidth,s=a.width?String(a.width):t.defaultWidth;r=t.values[s]||t.values[u]}return r[t.argumentCallback?t.argumentCallback(e):e]}}function l(t){return function(e,n){var r=String(e),a=n||{},i=a.width,o=i&&t.matchPatterns[i]||t.matchPatterns[t.defaultMatchWidth],u=r.match(o);if(!u)return null;var s,c=u[0],d=i&&t.parsePatterns[i]||t.parsePatterns[t.defaultParseWidth];return s="[object Array]"===Object.prototype.toString.call(d)?function(t,e){for(var n=0;n0?"in "+r:r+" ago":r},formatLong:s,formatRelative:function(t,e,n,r){return c[t]},localize:{ordinalNumber:function(t,e){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:d({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:d({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(t){return Number(t)-1}}),month:d({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:d({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:d({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(f={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(t){return parseInt(t,10)}},function(t,e){var n=String(t),r=e||{},a=n.match(f.matchPattern);if(!a)return null;var i=a[0],o=n.match(f.parsePattern);if(!o)return null;var u=f.valueCallback?f.valueCallback(o[0]):o[0];return{value:u=r.valueCallback?r.valueCallback(u):u,rest:n.slice(i.length)}}),era:l({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:l({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:l({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:l({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:l({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}},m=n(10);function g(t,e){Object(r.a)(2,arguments);var n=a(t).getTime(),i=Object(m.a)(e);return new Date(n+i)}function w(t,e){Object(r.a)(2,arguments);var n=Object(m.a)(e);return g(t,-n)}function b(t,e){for(var n=t<0?"-":"",r=Math.abs(t).toString();r.length0?n:1-n;return b("yy"===e?r%100:r,e.length)},M:function(t,e){var n=t.getUTCMonth();return"M"===e?String(n+1):b(n+1,2)},d:function(t,e){return b(t.getUTCDate(),e.length)},a:function(t,e){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":case"aaa":return n.toUpperCase();case"aaaaa":return n[0];case"aaaa":default:return"am"===n?"a.m.":"p.m."}},h:function(t,e){return b(t.getUTCHours()%12||12,e.length)},H:function(t,e){return b(t.getUTCHours(),e.length)},m:function(t,e){return b(t.getUTCMinutes(),e.length)},s:function(t,e){return b(t.getUTCSeconds(),e.length)},S:function(t,e){var n=e.length,r=t.getUTCMilliseconds();return b(Math.floor(r*Math.pow(10,n-3)),e.length)}};function y(t){Object(r.a)(1,arguments);var e=1,n=a(t),i=n.getUTCDay(),o=(i=o.getTime()?n+1:e.getTime()>=s.getTime()?n:n-1}function T(t){Object(r.a)(1,arguments);var e=p(t),n=new Date(0);n.setUTCFullYear(e,0,4),n.setUTCHours(0,0,0,0);var a=y(n);return a}function C(t,e){Object(r.a)(1,arguments);var n=e||{},i=n.locale,o=i&&i.options&&i.options.weekStartsOn,u=null==o?0:Object(m.a)(o),s=null==n.weekStartsOn?u:Object(m.a)(n.weekStartsOn);if(!(s>=0&&s<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var c=a(t),d=c.getUTCDay(),l=(d=1&&d<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var l=new Date(0);l.setUTCFullYear(i+1,0,d),l.setUTCHours(0,0,0,0);var f=C(l,e),h=new Date(0);h.setUTCFullYear(i,0,d),h.setUTCHours(0,0,0,0);var g=C(h,e);return n.getTime()>=f.getTime()?i+1:n.getTime()>=g.getTime()?i:i-1}function D(t,e){Object(r.a)(1,arguments);var n=e||{},a=n.locale,i=a&&a.options&&a.options.firstWeekContainsDate,o=null==i?1:Object(m.a)(i),u=null==n.firstWeekContainsDate?o:Object(m.a)(n.firstWeekContainsDate),s=M(t,e),c=new Date(0);c.setUTCFullYear(s,0,u),c.setUTCHours(0,0,0,0);var d=C(c,e);return d}var x="midnight",U="noon",O="morning",P="afternoon",S="evening",k="night";function N(t,e){var n=t>0?"-":"+",r=Math.abs(t),a=Math.floor(r/60),i=r%60;if(0===i)return n+String(a);var o=e||"";return n+String(a)+o+b(i,2)}function j(t,e){return t%60==0?(t>0?"-":"+")+b(Math.abs(t)/60,2):W(t,e)}function W(t,e){var n=e||"",r=t>0?"-":"+",a=Math.abs(t);return r+b(Math.floor(a/60),2)+n+b(a%60,2)}var Y={G:function(t,e,n){var r=t.getUTCFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if("yo"===e){var r=t.getUTCFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return v.y(t,e)},Y:function(t,e,n,r){var a=M(t,r),i=a>0?a:1-a;return"YY"===e?b(i%100,2):"Yo"===e?n.ordinalNumber(i,{unit:"year"}):b(i,e.length)},R:function(t,e){return b(p(t),e.length)},u:function(t,e){return b(t.getUTCFullYear(),e.length)},Q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return b(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return b(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){var r=t.getUTCMonth();switch(e){case"M":case"MM":return v.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){var r=t.getUTCMonth();switch(e){case"L":return String(r+1);case"LL":return b(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,i){var o=function(t,e){Object(r.a)(1,arguments);var n=a(t),i=C(n,e).getTime()-D(n,e).getTime();return Math.round(i/6048e5)+1}(t,i);return"wo"===e?n.ordinalNumber(o,{unit:"week"}):b(o,e.length)},I:function(t,e,n){var i=function(t){Object(r.a)(1,arguments);var e=a(t),n=y(e).getTime()-T(e).getTime();return Math.round(n/6048e5)+1}(t);return"Io"===e?n.ordinalNumber(i,{unit:"week"}):b(i,e.length)},d:function(t,e,n){return"do"===e?n.ordinalNumber(t.getUTCDate(),{unit:"date"}):v.d(t,e)},D:function(t,e,n){var i=function(t){Object(r.a)(1,arguments);var e=a(t),n=e.getTime();e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0);var i=e.getTime(),o=n-i;return Math.floor(o/864e5)+1}(t);return"Do"===e?n.ordinalNumber(i,{unit:"dayOfYear"}):b(i,e.length)},E:function(t,e,n){var r=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){var a=t.getUTCDay(),i=(a-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(i);case"ee":return b(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});case"eeee":default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){var a=t.getUTCDay(),i=(a-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(i);case"cc":return b(i,e.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});case"cccc":default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(t,e,n){var r=t.getUTCDay(),a=0===r?7:r;switch(e){case"i":return String(a);case"ii":return b(a,e.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){var r=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(t,e,n){var r,a=t.getUTCHours();switch(r=12===a?U:0===a?x:a/12>=1?"pm":"am",e){case"b":case"bb":case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,n){var r,a=t.getUTCHours();switch(r=a>=17?S:a>=12?P:a>=4?O:k,e){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,n){if("ho"===e){var r=t.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return v.h(t,e)},H:function(t,e,n){return"Ho"===e?n.ordinalNumber(t.getUTCHours(),{unit:"hour"}):v.H(t,e)},K:function(t,e,n){var r=t.getUTCHours()%12;return"Ko"===e?n.ordinalNumber(r,{unit:"hour"}):b(r,e.length)},k:function(t,e,n){var r=t.getUTCHours();return 0===r&&(r=24),"ko"===e?n.ordinalNumber(r,{unit:"hour"}):b(r,e.length)},m:function(t,e,n){return"mo"===e?n.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):v.m(t,e)},s:function(t,e,n){return"so"===e?n.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):v.s(t,e)},S:function(t,e){return v.S(t,e)},X:function(t,e,n,r){var a=(r._originalDate||t).getTimezoneOffset();if(0===a)return"Z";switch(e){case"X":return j(a);case"XXXX":case"XX":return W(a);case"XXXXX":case"XXX":default:return W(a,":")}},x:function(t,e,n,r){var a=(r._originalDate||t).getTimezoneOffset();switch(e){case"x":return j(a);case"xxxx":case"xx":return W(a);case"xxxxx":case"xxx":default:return W(a,":")}},O:function(t,e,n,r){var a=(r._originalDate||t).getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+N(a,":");case"OOOO":default:return"GMT"+W(a,":")}},z:function(t,e,n,r){var a=(r._originalDate||t).getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+N(a,":");case"zzzz":default:return"GMT"+W(a,":")}},t:function(t,e,n,r){var a=r._originalDate||t;return b(Math.floor(a.getTime()/1e3),e.length)},T:function(t,e,n,r){return b((r._originalDate||t).getTime(),e.length)}};function E(t,e){switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}}function q(t,e){switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}}var z={p:q,P:function(t,e){var n,r=t.match(/(P+)(p+)?/),a=r[1],i=r[2];if(!i)return E(t,e);switch(a){case"P":n=e.dateTime({width:"short"});break;case"PP":n=e.dateTime({width:"medium"});break;case"PPP":n=e.dateTime({width:"long"});break;case"PPPP":default:n=e.dateTime({width:"full"})}return n.replace("{{date}}",E(a,e)).replace("{{time}}",q(i,e))}};function F(t){return t.getTime()%6e4}function H(t){var e=new Date(t.getTime()),n=Math.ceil(e.getTimezoneOffset());return e.setSeconds(0,0),6e4*n+(n>0?(6e4+F(e))%6e4:F(e))}var X=["D","DD"],L=["YY","YYYY"];function Q(t){return-1!==X.indexOf(t)}function G(t){return-1!==L.indexOf(t)}function B(t){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr");if("YY"===t)throw new RangeError("Use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr");if("D"===t)throw new RangeError("Use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr");if("DD"===t)throw new RangeError("Use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr")}var A=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,R=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,I=/^'([^]*?)'?$/,J=/''/g,Z=/[a-zA-Z]/;function $(t,e,n){Object(r.a)(2,arguments);var o=String(e),u=n||{},s=u.locale||h,c=s.options&&s.options.firstWeekContainsDate,d=null==c?1:Object(m.a)(c),l=null==u.firstWeekContainsDate?d:Object(m.a)(u.firstWeekContainsDate);if(!(l>=1&&l<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var f=s.options&&s.options.weekStartsOn,g=null==f?0:Object(m.a)(f),b=null==u.weekStartsOn?g:Object(m.a)(u.weekStartsOn);if(!(b>=0&&b<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!s.localize)throw new RangeError("locale must contain localize property");if(!s.formatLong)throw new RangeError("locale must contain formatLong property");var v=a(t);if(!i(v))throw new RangeError("Invalid time value");var y=H(v),p=w(v,y),T={firstWeekContainsDate:l,weekStartsOn:b,locale:s,_originalDate:v},C=o.match(R).map((function(t){var e=t[0];return"p"===e||"P"===e?(0,z[e])(t,s.formatLong,T):t})).join("").match(A).map((function(t){if("''"===t)return"'";var e=t[0];if("'"===e)return _(t);var n=Y[e];if(n)return!u.useAdditionalWeekYearTokens&&G(t)&&B(t),!u.useAdditionalDayOfYearTokens&&Q(t)&&B(t),n(p,t,s.localize,T);if(e.match(Z))throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`");return t})).join("");return C}function _(t){return t.match(I)[1].replace(J,"'")}},9:function(t,e,n){"use strict";function r(t,e){if(e.length1?"s":"")+" required, but only "+e.length+" present")}n.d(e,"a",(function(){return r}))}}]); \ No newline at end of file