{"version":3,"file":"photos-vendors-node_modules_nextcloud_vue_dist_ncvuecomponents_js.js?v=597f5916fa4fd1787fa2","mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACJA;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpBA;AACA;AACA;;;;;;;;;;;ACFA;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACVA;AACA;AACA;;;;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;;;;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC19dA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACvHA;AACA;AACA;;;;;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;ACrMA;AACA;;;;;;;;;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACjWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrEA;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC12DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACxvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAKA;AACA;;;;;;;;;;;;ACllFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC7zSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACh5FA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACxgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpyDA;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACNA;AACA;;;;;;;;;;;ACDA;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACpCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrDA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC99QA;AAGA;AACA;;;;;;;;;;;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACh/HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpgCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACveA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack:///photos/node_modules/@nextcloud/auth/dist/index.js","webpack:///photos/node_modules/@nextcloud/axios/dist/index.js","webpack:///photos/node_modules/@nextcloud/browser-storage/dist/index.js","webpack:///photos/node_modules/@nextcloud/browser-storage/dist/scopedstorage.js","webpack:///photos/node_modules/@nextcloud/browser-storage/dist/storagebuilder.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/a-function.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/an-object.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-includes.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-iteration.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-method-has-species-support.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-species-create.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/bind-context.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/classof-raw.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property-descriptor.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/descriptors.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/document-create-element.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/enum-bug-keys.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/export.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/get-built-in.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/has.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/hidden-keys.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/ie8-dom-define.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/indexed-object.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/inspect-source.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/internal-state.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-array.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-forced.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-pure.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-regexp.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-symbol.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-weak-map.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/not-a-regexp.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-define-property.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys-internal.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/own-keys.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/path.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/redefine.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/require-object-coercible.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/set-global.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-key.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-store.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-absolute-index.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-indexed-object.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-integer.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-length.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-object.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-primitive.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/uid.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/user-agent.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/v8-version.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/well-known-symbol.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.concat.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.filter.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.map.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.object.keys.js","webpack:///photos/node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.string.starts-with.js","webpack:///photos/node_modules/@nextcloud/calendar-js/dist/index.esm.js","webpack:///photos/node_modules/@nextcloud/capabilities/dist/index.js","webpack:///photos/node_modules/@nextcloud/capabilities/node_modules/@nextcloud/initial-state/dist/index.js","webpack:///photos/node_modules/@nextcloud/initial-state/dist/index.js","webpack:///photos/node_modules/@nextcloud/l10n/dist/gettext.js","webpack:///photos/node_modules/@nextcloud/vue/dist/ncvuecomponents.js","webpack:///photos/node_modules/@nextcloud/event-bus/dist/index.js","webpack:///photos/node_modules/core-js/internals/object-to-string.js","webpack:///photos/node_modules/core-js/internals/regexp-get-flags.js","webpack:///photos/node_modules/core-js/modules/es.object.to-string.js","webpack:///photos/node_modules/core-js/modules/es.regexp.to-string.js","webpack:///photos/node_modules/splitpanes/dist/splitpanes.css","webpack:///photos/node_modules/date-format-parse/es/format.js","webpack:///photos/node_modules/date-format-parse/es/index.js","webpack:///photos/node_modules/date-format-parse/es/locale/en.js","webpack:///photos/node_modules/date-format-parse/es/parse.js","webpack:///photos/node_modules/date-format-parse/es/util.js","webpack:///photos/node_modules/debounce/index.js","webpack:///photos/node_modules/emoji-mart-vue-fast/dist/emoji-mart.js","webpack:///photos/node_modules/escape-html/index.js","webpack:///photos/node_modules/floating-vue/dist/floating-vue.es.js","webpack:///photos/node_modules/focus-trap/dist/focus-trap.esm.js","webpack:///photos/node_modules/hammerjs/hammer.js","webpack:///photos/node_modules/ical.js/build/ical.js","webpack:///photos/node_modules/linkify-string/dist/linkify-string.module.js","webpack:///photos/node_modules/linkifyjs/dist/linkify.module.js","webpack:///photos/node_modules/splitpanes/dist/splitpanes.umd.js","webpack:///photos/node_modules/striptags/src/striptags.js","webpack://photos/./node_modules/splitpanes/dist/splitpanes.css?6c8e","webpack:///photos/node_modules/tabbable/dist/index.esm.js","webpack:///photos/node_modules/tributejs/dist/tribute.esm.js","webpack:///photos/node_modules/uuid/dist/esm-browser/regex.js","webpack:///photos/node_modules/uuid/dist/esm-browser/rng.js","webpack:///photos/node_modules/uuid/dist/esm-browser/stringify.js","webpack:///photos/node_modules/uuid/dist/esm-browser/v4.js","webpack:///photos/node_modules/uuid/dist/esm-browser/validate.js","webpack:///photos/node_modules/v-click-outside/dist/v-click-outside.umd.js","webpack:///photos/node_modules/vue-color/dist/vue-color.min.js","webpack:///photos/node_modules/vue-material-design-icons/Alert.vue","webpack:///photos/node_modules/vue-material-design-icons/Alert.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/AlertCircleOutline.vue","webpack:///photos/node_modules/vue-material-design-icons/AlertCircleOutline.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/AlertDecagram.vue","webpack:///photos/node_modules/vue-material-design-icons/AlertDecagram.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/ArrowLeft.vue","webpack:///photos/node_modules/vue-material-design-icons/ArrowLeft.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/ArrowRight.vue","webpack:///photos/node_modules/vue-material-design-icons/ArrowRight.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Check.vue","webpack:///photos/node_modules/vue-material-design-icons/Check.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/CheckboxBlankOutline.vue","webpack:///photos/node_modules/vue-material-design-icons/CheckboxBlankOutline.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/CheckboxMarked.vue","webpack:///photos/node_modules/vue-material-design-icons/CheckboxMarked.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/CheckboxMarkedCircle.vue","webpack:///photos/node_modules/vue-material-design-icons/CheckboxMarkedCircle.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/ChevronDown.vue","webpack:///photos/node_modules/vue-material-design-icons/ChevronDown.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/ChevronLeft.vue","webpack:///photos/node_modules/vue-material-design-icons/ChevronLeft.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/ChevronRight.vue","webpack:///photos/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Close.vue","webpack:///photos/node_modules/vue-material-design-icons/Close.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Cog.vue","webpack:///photos/node_modules/vue-material-design-icons/Cog.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///photos/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Eye.vue","webpack:///photos/node_modules/vue-material-design-icons/Eye.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/EyeOff.vue","webpack:///photos/node_modules/vue-material-design-icons/EyeOff.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Folder.vue","webpack:///photos/node_modules/vue-material-design-icons/Folder.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/HelpCircle.vue","webpack:///photos/node_modules/vue-material-design-icons/HelpCircle.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Menu.vue","webpack:///photos/node_modules/vue-material-design-icons/Menu.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/MinusBox.vue","webpack:///photos/node_modules/vue-material-design-icons/MinusBox.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Pause.vue","webpack:///photos/node_modules/vue-material-design-icons/Pause.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Pencil.vue","webpack:///photos/node_modules/vue-material-design-icons/Pencil.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Play.vue","webpack:///photos/node_modules/vue-material-design-icons/Play.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/RadioboxBlank.vue","webpack:///photos/node_modules/vue-material-design-icons/RadioboxBlank.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/RadioboxMarked.vue","webpack:///photos/node_modules/vue-material-design-icons/RadioboxMarked.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Star.vue","webpack:///photos/node_modules/vue-material-design-icons/Star.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/StarOutline.vue","webpack:///photos/node_modules/vue-material-design-icons/StarOutline.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitch.vue","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitch.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitchOff.vue","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitchOff.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Undo.vue","webpack:///photos/node_modules/vue-material-design-icons/Undo.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/Alert.vue?41ac","webpack://photos/./node_modules/vue-material-design-icons/AlertCircleOutline.vue?f0e6","webpack://photos/./node_modules/vue-material-design-icons/AlertDecagram.vue?a7bb","webpack://photos/./node_modules/vue-material-design-icons/ArrowLeft.vue?de8a","webpack://photos/./node_modules/vue-material-design-icons/ArrowRight.vue?e635","webpack://photos/./node_modules/vue-material-design-icons/Check.vue?5279","webpack://photos/./node_modules/vue-material-design-icons/CheckboxBlankOutline.vue?e7b0","webpack://photos/./node_modules/vue-material-design-icons/CheckboxMarked.vue?5c2f","webpack://photos/./node_modules/vue-material-design-icons/CheckboxMarkedCircle.vue?9bfc","webpack://photos/./node_modules/vue-material-design-icons/ChevronDown.vue?5637","webpack://photos/./node_modules/vue-material-design-icons/ChevronLeft.vue?49f5","webpack://photos/./node_modules/vue-material-design-icons/ChevronRight.vue?ee62","webpack://photos/./node_modules/vue-material-design-icons/Close.vue?d9f2","webpack://photos/./node_modules/vue-material-design-icons/Cog.vue?3d1b","webpack://photos/./node_modules/vue-material-design-icons/DotsHorizontal.vue?6c70","webpack://photos/./node_modules/vue-material-design-icons/Eye.vue?64c2","webpack://photos/./node_modules/vue-material-design-icons/EyeOff.vue?595d","webpack://photos/./node_modules/vue-material-design-icons/Folder.vue?f94c","webpack://photos/./node_modules/vue-material-design-icons/HelpCircle.vue?764a","webpack://photos/./node_modules/vue-material-design-icons/Menu.vue?12ac","webpack://photos/./node_modules/vue-material-design-icons/MinusBox.vue?c98e","webpack://photos/./node_modules/vue-material-design-icons/Pause.vue?1783","webpack://photos/./node_modules/vue-material-design-icons/Pencil.vue?6234","webpack://photos/./node_modules/vue-material-design-icons/Play.vue?d593","webpack://photos/./node_modules/vue-material-design-icons/RadioboxBlank.vue?77b6","webpack://photos/./node_modules/vue-material-design-icons/RadioboxMarked.vue?8f90","webpack://photos/./node_modules/vue-material-design-icons/Star.vue?cece","webpack://photos/./node_modules/vue-material-design-icons/StarOutline.vue?f84f","webpack://photos/./node_modules/vue-material-design-icons/ToggleSwitch.vue?6b55","webpack://photos/./node_modules/vue-material-design-icons/ToggleSwitchOff.vue?69b7","webpack://photos/./node_modules/vue-material-design-icons/Undo.vue?27eb","webpack:///photos/node_modules/vue-material-design-icons/Alert.vue?vue&type=template&id=0259cce0&","webpack:///photos/node_modules/vue-material-design-icons/AlertCircleOutline.vue?vue&type=template&id=78f2a4fc&","webpack:///photos/node_modules/vue-material-design-icons/AlertDecagram.vue?vue&type=template&id=2b43cd76&","webpack:///photos/node_modules/vue-material-design-icons/ArrowLeft.vue?vue&type=template&id=b9ea0198&","webpack:///photos/node_modules/vue-material-design-icons/ArrowRight.vue?vue&type=template&id=08cbfd82&","webpack:///photos/node_modules/vue-material-design-icons/Check.vue?vue&type=template&id=7146728c&","webpack:///photos/node_modules/vue-material-design-icons/CheckboxBlankOutline.vue?vue&type=template&id=2b4d295d&","webpack:///photos/node_modules/vue-material-design-icons/CheckboxMarked.vue?vue&type=template&id=3cf11b7b&","webpack:///photos/node_modules/vue-material-design-icons/CheckboxMarkedCircle.vue?vue&type=template&id=561d562b&","webpack:///photos/node_modules/vue-material-design-icons/ChevronDown.vue?vue&type=template&id=621dfb81&","webpack:///photos/node_modules/vue-material-design-icons/ChevronLeft.vue?vue&type=template&id=737b3c66&","webpack:///photos/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=template&id=39316a4d&","webpack:///photos/node_modules/vue-material-design-icons/Close.vue?vue&type=template&id=3cc2737c&","webpack:///photos/node_modules/vue-material-design-icons/Cog.vue?vue&type=template&id=1b852f02&","webpack:///photos/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=template&id=3174c38c&","webpack:///photos/node_modules/vue-material-design-icons/Eye.vue?vue&type=template&id=6cfe2635&","webpack:///photos/node_modules/vue-material-design-icons/EyeOff.vue?vue&type=template&id=5115b3aa&","webpack:///photos/node_modules/vue-material-design-icons/Folder.vue?vue&type=template&id=b09bb2cc&","webpack:///photos/node_modules/vue-material-design-icons/HelpCircle.vue?vue&type=template&id=016aabc6&","webpack:///photos/node_modules/vue-material-design-icons/Menu.vue?vue&type=template&id=62f6d40b&","webpack:///photos/node_modules/vue-material-design-icons/MinusBox.vue?vue&type=template&id=2f6d0de7&","webpack:///photos/node_modules/vue-material-design-icons/Pause.vue?vue&type=template&id=ea16e70c&","webpack:///photos/node_modules/vue-material-design-icons/Pencil.vue?vue&type=template&id=093f2fb9&","webpack:///photos/node_modules/vue-material-design-icons/Play.vue?vue&type=template&id=12215140&","webpack:///photos/node_modules/vue-material-design-icons/RadioboxBlank.vue?vue&type=template&id=49bc56c8&","webpack:///photos/node_modules/vue-material-design-icons/RadioboxMarked.vue?vue&type=template&id=4de20f68&","webpack:///photos/node_modules/vue-material-design-icons/Star.vue?vue&type=template&id=553bd904&","webpack:///photos/node_modules/vue-material-design-icons/StarOutline.vue?vue&type=template&id=f9353bd8&","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitch.vue?vue&type=template&id=7709a458&","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitchOff.vue?vue&type=template&id=6fef93ab&","webpack:///photos/node_modules/vue-material-design-icons/Undo.vue?vue&type=template&id=6cb34d10&","webpack:///photos/node_modules/vue-multiselect/dist/vue-multiselect.min.js","webpack:///photos/node_modules/vue/dist/vue.runtime.common.dev.js","webpack:///photos/node_modules/vue/dist/vue.runtime.common.js","webpack:///photos/node_modules/vue2-datepicker/index.esm.js","webpack:///photos/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","webpack:///photos/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","webpack:///photos/node_modules/char-regex/index.js","webpack:///photos/node_modules/string-length/index.js","webpack:///photos/node_modules/string-length/node_modules/ansi-regex/index.js","webpack:///photos/node_modules/string-length/node_modules/strip-ansi/index.js"],"sourcesContent":["'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar eventBus = require('@nextcloud/event-bus');\n\nvar tokenElement = document.getElementsByTagName('head')[0];\nvar token = tokenElement ? tokenElement.getAttribute('data-requesttoken') : null;\nvar observers = [];\nfunction getRequestToken() {\n return token;\n}\nfunction onRequestTokenUpdate(observer) {\n observers.push(observer);\n}\n// Listen to server event and keep token in sync\neventBus.subscribe('csrf-token-update', function (e) {\n token = e.token;\n observers.forEach(function (observer) {\n try {\n observer(e.token);\n }\n catch (e) {\n console.error('error updating CSRF token observer', e);\n }\n });\n});\n\n/// \nvar getAttribute = function (el, attribute) {\n if (el) {\n return el.getAttribute(attribute);\n }\n return null;\n};\nvar head = document.getElementsByTagName('head')[0];\nvar uid = getAttribute(head, 'data-user');\nvar displayName = getAttribute(head, 'data-user-displayname');\nvar isAdmin = (typeof OC === 'undefined')\n ? false\n : OC.isUserAdmin();\nfunction getCurrentUser() {\n if (uid === null) {\n return null;\n }\n return {\n uid: uid,\n displayName: displayName,\n isAdmin: isAdmin,\n };\n}\n\nexports.getCurrentUser = getCurrentUser;\nexports.getRequestToken = getRequestToken;\nexports.onRequestTokenUpdate = onRequestTokenUpdate;\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nvar Axios = require('axios');\nvar auth = require('@nextcloud/auth');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar Axios__default = /*#__PURE__*/_interopDefaultLegacy(Axios);\n\nvar _a;\nvar client = Axios__default[\"default\"].create({\n headers: {\n requesttoken: (_a = auth.getRequestToken()) !== null && _a !== void 0 ? _a : ''\n }\n});\nvar cancelableClient = Object.assign(client, {\n CancelToken: Axios__default[\"default\"].CancelToken,\n isCancel: Axios__default[\"default\"].isCancel,\n});\nauth.onRequestTokenUpdate(function (token) { return client.defaults.headers.requesttoken = token; });\n\nmodule.exports = cancelableClient;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.filter\");\n\nrequire(\"core-js/modules/es.array.map\");\n\nrequire(\"core-js/modules/es.object.keys\");\n\nrequire(\"core-js/modules/es.string.starts-with\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getBuilder = getBuilder;\nexports.clearAll = clearAll;\nexports.clearNonPersistent = clearNonPersistent;\n\nvar _storagebuilder = _interopRequireDefault(require(\"./storagebuilder\"));\n\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getBuilder(appId) {\n return new _storagebuilder.default(appId);\n}\n\nfunction clearStorage(storage, pred) {\n Object.keys(storage).filter(function (k) {\n return pred ? pred(k) : true;\n }).map(storage.removeItem.bind(storage));\n}\n\nfunction clearAll() {\n var storages = [window.sessionStorage, window.localStorage];\n storages.map(function (s) {\n return clearStorage(s);\n });\n}\n\nfunction clearNonPersistent() {\n var storages = [window.sessionStorage, window.localStorage];\n storages.map(function (s) {\n return clearStorage(s, function (k) {\n return !k.startsWith(_scopedstorage.default.GLOBAL_SCOPE_PERSISTENT);\n });\n });\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.concat\");\n\nrequire(\"core-js/modules/es.array.filter\");\n\nrequire(\"core-js/modules/es.array.map\");\n\nrequire(\"core-js/modules/es.object.keys\");\n\nrequire(\"core-js/modules/es.string.starts-with\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ScopedStorage =\n/*#__PURE__*/\nfunction () {\n function ScopedStorage(scope, wrapped, persistent) {\n _classCallCheck(this, ScopedStorage);\n\n _defineProperty(this, \"scope\", void 0);\n\n _defineProperty(this, \"wrapped\", void 0);\n\n this.scope = \"\".concat(persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE, \"_\").concat(btoa(scope), \"_\");\n this.wrapped = wrapped;\n }\n\n _createClass(ScopedStorage, [{\n key: \"scopeKey\",\n value: function scopeKey(key) {\n return \"\".concat(this.scope).concat(key);\n }\n }, {\n key: \"setItem\",\n value: function setItem(key, value) {\n this.wrapped.setItem(this.scopeKey(key), value);\n }\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n return this.wrapped.getItem(this.scopeKey(key));\n }\n }, {\n key: \"removeItem\",\n value: function removeItem(key) {\n this.wrapped.removeItem(this.scopeKey(key));\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _this = this;\n\n Object.keys(this.wrapped).filter(function (key) {\n return key.startsWith(_this.scope);\n }).map(this.wrapped.removeItem.bind(this.wrapped));\n }\n }]);\n\n return ScopedStorage;\n}();\n\nexports.default = ScopedStorage;\n\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_VOLATILE\", 'nextcloud_vol');\n\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_PERSISTENT\", 'nextcloud_per');\n//# sourceMappingURL=scopedstorage.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar StorageBuilder =\n/*#__PURE__*/\nfunction () {\n function StorageBuilder(appId) {\n _classCallCheck(this, StorageBuilder);\n\n _defineProperty(this, \"appId\", void 0);\n\n _defineProperty(this, \"persisted\", false);\n\n _defineProperty(this, \"clearedOnLogout\", false);\n\n this.appId = appId;\n }\n\n _createClass(StorageBuilder, [{\n key: \"persist\",\n value: function persist() {\n var _persist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.persisted = _persist;\n return this;\n }\n }, {\n key: \"clearOnLogout\",\n value: function clearOnLogout() {\n var clear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.clearedOnLogout = clear;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new _scopedstorage.default(this.appId, this.persisted ? window.localStorage : window.sessionStorage, !this.clearedOnLogout);\n }\n }]);\n\n return StorageBuilder;\n}();\n\nexports.default = StorageBuilder;\n//# sourceMappingURL=storagebuilder.js.map","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].map.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","import ICAL from 'ical.js';\nimport { v4 } from 'uuid';\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @class AbstractParser\n * @classdesc\n */\nclass AbstractParser {\n /**\n * @constructor\n *\n * @param {Object=} options Object of options\n * @param {Boolean=} options.extractGlobalProperties Whether or not to preserve properties from the VCALENDAR component (defaults to false)\n * @param {Boolean=} options.removeRSVPForAttendees Whether or not to remove RSVP from attendees (defaults to false)\n * @param {Boolean=} options.includeTimezones Whether or not to include timezones (defaults to false)\n * @param {Boolean=} options.preserveMethod Whether or not to preserve the iCalendar method (defaults to false)\n * @param {Boolean=} options.processFreeBusy Whether or not to process VFreeBusy components (defaults to false)\n */\n constructor(options = {}) {\n if (new.target === AbstractParser) {\n throw new TypeError('Cannot instantiate abstract class AbstractParser');\n }\n /**\n * Options for the parser\n *\n * @type {{removeRSVPForAttendees: Boolean}}\n * @private\n */\n\n\n this._options = Object.assign({}, options);\n /**\n * A name extracted from the calendar-data\n *\n * @type {String|null}\n * @protected\n */\n\n this._name = null;\n /**\n * A color extracted from the calendar-data\n *\n * @type {String|null}\n * @protected\n */\n\n this._color = null;\n /**\n * Gets the url that this icalendar file can be updated from\n *\n * @type {String}\n * @protected\n */\n\n this._sourceURL = null;\n /**\n * Gets the update interval if this icalendar file can be updated from a source\n *\n * @type {String}\n * @protected\n */\n\n this._refreshInterval = null;\n /**\n * Gets the default timezone of this calendar\n *\n * @type {String}\n * @protected\n */\n\n this._calendarTimezone = null;\n /**\n * Error count during parsing\n *\n * @type {Array}\n * @protected\n */\n\n this._errors = [];\n }\n /**\n * Gets the name extracted from the calendar-data\n *\n * @returns {String|null}\n */\n\n\n getName() {\n return this._name;\n }\n /**\n * Gets the color extracted from the calendar-data\n *\n * @returns {String|null}\n */\n\n\n getColor() {\n return this._color;\n }\n /**\n * Gets whether this import can be converted into a webcal subscription\n *\n * @returns {boolean}\n */\n\n\n offersWebcalFeed() {\n return this._sourceURL !== null;\n }\n /**\n * Gets the url pointing to the webcal source\n *\n * @returns {String|null}\n */\n\n\n getSourceURL() {\n return this._sourceURL;\n }\n /**\n * Gets the recommended refresh rate to update this subscription\n *\n * @returns {String|null}\n */\n\n\n getRefreshInterval() {\n return this._refreshInterval;\n }\n /**\n * Gets the default timezone of this calendar\n *\n * @returns {String}\n */\n\n\n getCalendarTimezone() {\n return this._calendarTimezone;\n }\n /**\n * {String|Object} data\n *\n * @param {any} data The data to parse\n * @throws TypeError\n */\n\n\n parse(data) {\n throw new TypeError('Abstract method not implemented by subclass');\n }\n /**\n * Returns one CalendarComponent at a time\n */\n\n\n *getItemIterator() {\n // eslint-disable-line require-yield\n throw new TypeError('Abstract method not implemented by subclass');\n }\n /**\n * Get an array of all items\n *\n * @returns {CalendarComponent[]}\n */\n\n\n getAllItems() {\n return Array.from(this.getItemIterator());\n }\n /**\n * Returns a boolean whether or not the parsed data contains vevents\n *\n * @returns {boolean}\n */\n\n\n containsVEvents() {\n return false;\n }\n /**\n * Returns a boolean whether or not the parsed data contains vjournals\n *\n * @returns {boolean}\n */\n\n\n containsVJournals() {\n return false;\n }\n /**\n * Returns a boolean whether or not the parsed data contains vtodos\n *\n * @returns {boolean}\n */\n\n\n containsVTodos() {\n return false;\n }\n /**\n * Returns a boolean whether or not the parsed data contains vfreebusys\n *\n * @returns {boolean}\n */\n\n\n containsVFreeBusy() {\n return false;\n }\n /**\n * Returns a boolean whether\n *\n * @returns {boolean}\n */\n\n\n hasErrors() {\n return this._errors.length !== 0;\n }\n /**\n * Get a list of all errors that occurred\n *\n * @returns {*[]}\n */\n\n\n getErrorList() {\n return this._errors.slice();\n }\n /**\n * Returns the number of calendar-objects in parser\n *\n * @returns {number}\n */\n\n\n getItemCount() {\n return 0;\n }\n /**\n * Gets an option provided\n *\n * @param {String} name The name of the option to get\n * @param {*} defaultValue The default value to return if option not provided\n * @returns {any}\n * @protected\n */\n\n\n _getOption(name, defaultValue) {\n return Object.prototype.hasOwnProperty.call(this._options, name) ? this._options[name] : defaultValue;\n }\n /**\n * Return list of supported mime types\n *\n * @static\n */\n\n\n static getMimeTypes() {\n throw new TypeError('Abstract method not implemented by subclass');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass ModificationNotAllowedError extends Error {}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nfunction lockableTrait(baseClass) {\n /**\n * @class LockableTrait\n */\n return class extends baseClass {\n /**\n * Constructor\n */\n constructor(...args) {\n super(...args);\n /**\n * Indicator whether this value was locked for changes\n *\n * @type {boolean}\n * @private\n */\n\n this._mutable = true;\n }\n /**\n * Returns whether or not this object is locked\n *\n * @returns {boolean}\n */\n\n\n isLocked() {\n return !this._mutable;\n }\n /**\n * Marks this object is immutable\n * locks it against further modification\n */\n\n\n lock() {\n this._mutable = false;\n }\n /**\n * Marks this object as mutable\n * allowing further modification\n */\n\n\n unlock() {\n this._mutable = true;\n }\n /**\n * Check if modifications are allowed\n *\n * @throws {ModificationNotAllowedError} if this object is locked for modification\n * @protected\n */\n\n\n _modify() {\n if (!this._mutable) {\n throw new ModificationNotAllowedError();\n }\n }\n /**\n * Check if modification of content is allowed\n *\n * @throws {ModificationNotAllowedError} if this object is locked for modification\n * @protected\n */\n\n\n _modifyContent() {\n this._modify();\n }\n\n };\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass ExpectedICalJSError extends Error {}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Turns the entire string lowercase\n *\n * @param {String} str The string to turn lowercase\n * @returns {string}\n */\nfunction lc(str) {\n return str.toLowerCase();\n}\n/**\n * Turns the entire string uppercase\n *\n * @param {String} str The string to turn uppercase\n * @returns {string}\n */\n\nfunction uc(str) {\n return str.toUpperCase();\n}\n/**\n * Capitalizes the string\n *\n * @param {String} str The string of which the first character will be turned uppercase\n * @returns {string}\n */\n\nfunction ucFirst(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n/**\n * Makes sure that a string starts with a certain other string\n * This is mostly used in the attendeeProperty to assure the uri starts with mailto:\n *\n * @param {String} str The string to check for the prefix and prepend if necessary\n * @param {String} startWith The prefix to be added if necessary\n * @returns {string}\n */\n\nfunction startStringWith(str, startWith) {\n if (!str.startsWith(startWith)) {\n str = startWith + str;\n }\n\n return str;\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @type {Map}\n */\nconst GLOBAL_CONFIG = new Map();\n/**\n * Sets a new config key\n *\n * @param {String} key The config-key to set\n * @param {*} value The value to set for given config-key\n */\n\nfunction setConfig(key, value) {\n GLOBAL_CONFIG.set(key, value);\n}\n/**\n * gets value of a config key\n *\n * @param {String} key The config-key to get\n * @param {*} defaultValue Default value of config does not exist\n * @returns {*}\n */\n\nfunction getConfig(key, defaultValue) {\n return GLOBAL_CONFIG.get(key) || defaultValue;\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * creates a new ICAL.Component object\n *\n * @param {string} componentName The name of the component to create\n * @returns {ICAL.Component}\n */\n\nfunction createComponent(componentName) {\n return new ICAL.Component(lc(componentName));\n}\n/**\n * creates a new ICAL.Property object\n *\n * @param {string} propertyName The name of the property to create\n * @returns {ICAL.Property}\n */\n\nfunction createProperty(propertyName) {\n return new ICAL.Property(lc(propertyName));\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nfunction observerTrait(baseClass) {\n /**\n * @class ObserverTrait\n */\n return class extends baseClass {\n /**\n * Constructor\n */\n constructor(...args) {\n super(...args);\n /**\n * List of subscribers\n *\n * @type {Function[]}\n * @private\n */\n\n this._subscribers = [];\n }\n /**\n * Adds a new subscriber\n *\n * @param {Function} handler - Handler to be called when modification happens\n */\n\n\n subscribe(handler) {\n this._subscribers.push(handler);\n }\n /**\n * Removes a subscriber\n *\n * @param {Function} handler - Handler to be no longer called when modification happens\n */\n\n\n unsubscribe(handler) {\n const index = this._subscribers.indexOf(handler);\n\n if (index === -1) {\n return;\n }\n\n this._subscribers.splice(index, 1);\n }\n /**\n * Notify all subscribed handlers\n *\n * @protected\n */\n\n\n _notifySubscribers(...args) {\n for (const handler of this._subscribers) {\n handler(...args);\n }\n }\n\n };\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class Parameter\n * @classdesc This class represents a property parameters as defined in RFC 5545 Section 3.2\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.2\n * @url\n */\n\nclass Parameter extends observerTrait(lockableTrait(class {})) {\n /**\n * Constructor\n *\n * @param {string} name The name of the parameter\n * @param {string|Array|null} value The value of the parameter\n */\n constructor(name, value = null) {\n super();\n /**\n * Name of the parameter\n *\n * @type {string}\n * @private\n */\n\n this._name = uc(name);\n /**\n * Value of the parameter\n *\n * @type {string|Array|null}\n * @private\n */\n\n this._value = value;\n }\n /**\n * Get parameter name\n *\n * @readonly\n * @returns {String}\n */\n\n\n get name() {\n return this._name;\n }\n /**\n * Get parameter value\n *\n * @returns {String|Array}\n */\n\n\n get value() {\n return this._value;\n }\n /**\n * Set new parameter value\n *\n * @throws {ModificationNotAllowedError} if parameter is locked for modification\n * @param {String|Array} value The new value to set\n */\n\n\n set value(value) {\n this._modifyContent();\n\n this._value = value;\n }\n /**\n * Gets the first value of this parameter\n *\n * @returns {String|null}\n */\n\n\n getFirstValue() {\n if (!this.isMultiValue()) {\n return this.value;\n } else {\n if (this.value.length > 0) {\n return this.value[0];\n }\n }\n\n return null;\n }\n /**\n * Gets an iterator for all values\n */\n\n\n *getValueIterator() {\n if (this.isMultiValue()) {\n yield* this.value.slice()[Symbol.iterator]();\n } else {\n yield this.value;\n }\n }\n /**\n * Returns whether or not the value is a multivalue\n *\n * @returns {Boolean}\n */\n\n\n isMultiValue() {\n return Array.isArray(this._value);\n }\n /**\n * Creates a copy of this parameter\n *\n * @returns {Parameter}\n */\n\n\n clone() {\n const parameter = new this.constructor(this._name);\n\n if (this.isMultiValue()) {\n // only copy array values, don't copy array reference\n parameter.value = this._value.slice();\n } else {\n parameter.value = this._value;\n } // cloned parameters are always mutable\n\n\n return parameter;\n }\n /**\n * @inheritDoc\n */\n\n\n _modifyContent() {\n super._modifyContent();\n\n this._notifySubscribers();\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class AbstractValue\n * @classdesc BaseClass for all values\n */\n\nclass AbstractValue extends observerTrait(lockableTrait(class {})) {\n /**\n * Constructor\n *\n * @param {ICAL.Binary|ICAL.Duration|ICAL.Period|ICAL.Recur|ICAL.Time|ICAL.UtcOffset} icalValue The ICAL.JS object to wrap\n */\n constructor(icalValue) {\n if (new.target === AbstractValue) {\n throw new TypeError('Cannot instantiate abstract class AbstractValue');\n }\n\n super();\n /**\n * Wrapped ICAL.js value\n *\n * @type {ICAL.Binary|ICAL.Duration|ICAL.Period|ICAL.Recur|ICAL.Time|ICAL.UtcOffset}\n */\n\n this._innerValue = icalValue;\n }\n /**\n * Gets wrapped ICAL.JS object\n *\n * @returns {*}\n */\n\n\n toICALJs() {\n return this._innerValue;\n }\n /**\n * @inheritDoc\n */\n\n\n _modifyContent() {\n super._modifyContent();\n\n this._notifySubscribers();\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class BinaryValue\n * @classdesc Wrapper for ICAL.Binary\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.1.3\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/binary.js\n */\n\nclass BinaryValue extends AbstractValue {\n /**\n * Sets the raw b64 encoded value\n *\n * @returns {String}\n */\n get rawValue() {\n return this._innerValue.value;\n }\n /**\n * Gets the raw b64 encoded value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} value - The new raw value\n */\n\n\n set rawValue(value) {\n this._modifyContent();\n\n this._innerValue.value = value;\n }\n /**\n * Gets the decoded value\n *\n * @returns {String}\n */\n\n\n get value() {\n return this._innerValue.decodeValue();\n }\n /**\n * Sets the decoded Value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} decodedValue - The new encoded value\n */\n\n\n set value(decodedValue) {\n this._modifyContent();\n\n this._innerValue.setEncodedValue(decodedValue);\n }\n /**\n * clones this value\n *\n * @returns {BinaryValue}\n */\n\n\n clone() {\n return BinaryValue.fromRawValue(this._innerValue.value);\n }\n /**\n * Create a new BinaryValue object from an ICAL.Binary object\n *\n * @param {ICAL.Binary} icalValue - The ICAL.Binary object\n * @returns {BinaryValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new BinaryValue(icalValue);\n }\n /**\n * Create a new BinaryValue object from a raw b64 encoded value\n *\n * @param {String} rawValue - The raw value\n * @returns {BinaryValue}\n */\n\n\n static fromRawValue(rawValue) {\n const icalBinary = new ICAL.Binary(rawValue);\n return BinaryValue.fromICALJs(icalBinary);\n }\n /**\n * Create a new BinaryValue object from decoded value\n *\n * @param {String} decodedValue - The encoded value\n * @returns {BinaryValue}\n */\n\n\n static fromDecodedValue(decodedValue) {\n const icalBinary = new ICAL.Binary();\n icalBinary.setEncodedValue(decodedValue);\n return BinaryValue.fromICALJs(icalBinary);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class DurationValue\n * @classdesc Wrapper for ICAL.Duration\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.6\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/duration.js\n */\n\nclass DurationValue extends AbstractValue {\n /**\n * Gets the weeks of the stored duration-value\n *\n * @returns {Number}\n */\n get weeks() {\n return this._innerValue.weeks;\n }\n /**\n * Sets the weeks of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} weeks Amount of weeks\n */\n\n\n set weeks(weeks) {\n this._modifyContent();\n\n if (weeks < 0) {\n throw new TypeError('Weeks cannot be negative, use isNegative instead');\n }\n\n this._innerValue.weeks = weeks;\n }\n /**\n * Gets the days of the stored duration-value\n *\n * @returns {Number}\n */\n\n\n get days() {\n return this._innerValue.days;\n }\n /**\n * Sets the days of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} days Amount of days\n */\n\n\n set days(days) {\n this._modifyContent();\n\n if (days < 0) {\n throw new TypeError('Days cannot be negative, use isNegative instead');\n }\n\n this._innerValue.days = days;\n }\n /**\n * Gets the hours of the stored duration-value\n *\n * @returns {Number}\n */\n\n\n get hours() {\n return this._innerValue.hours;\n }\n /**\n * Sets the weeks of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} hours Amount of hours\n */\n\n\n set hours(hours) {\n this._modifyContent();\n\n if (hours < 0) {\n throw new TypeError('Hours cannot be negative, use isNegative instead');\n }\n\n this._innerValue.hours = hours;\n }\n /**\n * Gets the minutes of the stored duration-value\n *\n * @returns {Number}\n */\n\n\n get minutes() {\n return this._innerValue.minutes;\n }\n /**\n * Sets the minutes of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} minutes Amount of minutes\n */\n\n\n set minutes(minutes) {\n this._modifyContent();\n\n if (minutes < 0) {\n throw new TypeError('Minutes cannot be negative, use isNegative instead');\n }\n\n this._innerValue.minutes = minutes;\n }\n /**\n * Gets the seconds of the stored duration-value\n *\n * @returns {Number}\n */\n\n\n get seconds() {\n return this._innerValue.seconds;\n }\n /**\n * Sets the seconds of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} seconds Amount of seconds\n */\n\n\n set seconds(seconds) {\n this._modifyContent();\n\n if (seconds < 0) {\n throw new TypeError('Seconds cannot be negative, use isNegative instead');\n }\n\n this._innerValue.seconds = seconds;\n }\n /**\n * Gets the negative-indicator of the stored duration-value\n *\n * @returns {Boolean}\n */\n\n\n get isNegative() {\n return this._innerValue.isNegative;\n }\n /**\n * Gets the negative-indicator of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Boolean} isNegative Whether or not the duration is negative\n */\n\n\n set isNegative(isNegative) {\n this._modifyContent();\n\n this._innerValue.isNegative = !!isNegative;\n }\n /**\n * Gets the amount of total seconds of the stored duration-value\n *\n * @returns {*|Number}\n */\n\n\n get totalSeconds() {\n return this._innerValue.toSeconds();\n }\n /**\n * Sets the amount of total seconds of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} totalSeconds The total amounts of seconds to set\n */\n\n\n set totalSeconds(totalSeconds) {\n this._modifyContent();\n\n this._innerValue.fromSeconds(totalSeconds);\n }\n /**\n * Compares this duration to another one\n *\n * @param {DurationValue} otherDuration The duration to compare to\n * @returns {Number} -1, 0 or 1 for less/equal/greater\n */\n\n\n compare(otherDuration) {\n return this._innerValue.compare(otherDuration.toICALJs());\n }\n /**\n * Adds the value of another duration to this one\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DurationValue} otherDuration The duration to add\n */\n\n\n addDuration(otherDuration) {\n this._modifyContent();\n\n this.totalSeconds += otherDuration.totalSeconds;\n\n this._innerValue.normalize();\n }\n /**\n * Subtract the value of another duration from this one\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DurationValue} otherDuration The duration to subtract\n */\n\n\n subtractDuration(otherDuration) {\n this._modifyContent();\n\n this.totalSeconds -= otherDuration.totalSeconds;\n\n this._innerValue.normalize();\n }\n /**\n * clones this value\n *\n * @returns {DurationValue}\n */\n\n\n clone() {\n return DurationValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new DurationValue object from an ICAL.Duration object\n *\n * @param {ICAL.Duration} icalValue The ical.js duration value\n * @returns {DurationValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new DurationValue(icalValue);\n }\n /**\n * Create a new DurationValue object from a number of seconds\n *\n * @param {Number} seconds Total amount of seconds\n * @returns {DurationValue}\n */\n\n\n static fromSeconds(seconds) {\n const icalDuration = ICAL.Duration.fromSeconds(seconds);\n return new DurationValue(icalDuration);\n }\n /**\n * Create a new DurationValue object from data\n *\n * @param {Object} data The destructuring object\n * @param {Number=} data.weeks Number of weeks to set\n * @param {Number=} data.days Number of days to set\n * @param {Number=} data.hours Number of hours to set\n * @param {Number=} data.minutes Number of minutes to set\n * @param {Number=} data.seconds Number of seconds to set\n * @param {Boolean=} data.isNegative Whether or not duration is negative\n * @returns {DurationValue}\n */\n\n\n static fromData(data) {\n const icalDuration = ICAL.Duration.fromData(data);\n return new DurationValue(icalDuration);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class DateTimeValue\n * @classdesc Wrapper for ICAL.Time\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.4\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.5\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.12\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/time.js\n */\n\nclass DateTimeValue extends AbstractValue {\n /**\n * Gets the year of the stored date-time-value\n *\n * @returns {Number}\n */\n get year() {\n return this._innerValue.year;\n }\n /**\n * Sets the year of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} year Number of years to set\n */\n\n\n set year(year) {\n this._modifyContent();\n\n this._innerValue.year = year;\n }\n /**\n * Gets the month of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get month() {\n return this._innerValue.month;\n }\n /**\n * Sets the month of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} month Number of months to set\n */\n\n\n set month(month) {\n this._modifyContent();\n\n if (month < 1 || month > 12) {\n throw new TypeError('Month out of range');\n }\n\n this._innerValue.month = month;\n }\n /**\n * Gets the day of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get day() {\n return this._innerValue.day;\n }\n /**\n * Sets the day of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if out of range\n * @param {Number} day Number of days to set\n */\n\n\n set day(day) {\n this._modifyContent();\n\n if (day < 1 || day > 31) {\n throw new TypeError('Day out of range');\n }\n\n this._innerValue.day = day;\n }\n /**\n * Gets the hour of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get hour() {\n return this._innerValue.hour;\n }\n /**\n * Sets the hour of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if out of range\n * @param {Number} hour Number of hours to set\n */\n\n\n set hour(hour) {\n this._modifyContent();\n\n if (hour < 0 || hour > 23) {\n throw new TypeError('Hour out of range');\n }\n\n this._innerValue.hour = hour;\n }\n /**\n * Gets the minute of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get minute() {\n return this._innerValue.minute;\n }\n /**\n * Sets the minute of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if out of range\n * @param {Number} minute Number of minutes to set\n */\n\n\n set minute(minute) {\n this._modifyContent();\n\n if (minute < 0 || minute > 59) {\n throw new TypeError('Minute out of range');\n }\n\n this._innerValue.minute = minute;\n }\n /**\n * Gets the second of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get second() {\n return this._innerValue.second;\n }\n /**\n * Sets the second of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if out of range\n * @param {Number} second Number of seconds to set\n */\n\n\n set second(second) {\n this._modifyContent();\n\n if (second < 0 || second > 59) {\n throw new TypeError('Second out of range');\n }\n\n this._innerValue.second = second;\n }\n /**\n * Gets the timezone of this date-time-value\n *\n * @returns {String|null}\n */\n\n\n get timezoneId() {\n // If zone.tzid is set and it's not 'floating' nor 'UTC', then it's a proper\n // timezone that we also have a timezone id for\n if (this._innerValue.zone.tzid && this._innerValue.zone.tzid !== 'floating' && this._innerValue.zone.tzid === 'UTC') {\n return this._innerValue.zone.tzid;\n } // If there is a timezone set, but we didn't have a zone.tzid in the previous if,\n // this means that the tzid does not have a definition stored along it.\n // we will keep this information anyway to not lose it\n\n\n if (this._innerValue.timezone) {\n return this._innerValue.timezone;\n } // this is the case when it's floating / UTC\n\n\n return this._innerValue.zone.tzid || null;\n }\n /**\n * Gets whether this date-time-value is a date or date-time\n *\n * @returns {boolean}\n */\n\n\n get isDate() {\n return this._innerValue.isDate;\n }\n /**\n * Sets whether this date-time-value is a date or date-time\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {boolean} isDate Whether this is a date or date-time value\n */\n\n\n set isDate(isDate) {\n this._modifyContent();\n\n this._innerValue.isDate = !!isDate;\n\n if (isDate) {\n this._innerValue.hour = 0;\n this._innerValue.minute = 0;\n this._innerValue.second = 0;\n }\n }\n /**\n * Gets the unix-time\n *\n * @returns {Number}\n */\n\n\n get unixTime() {\n return this._innerValue.toUnixTime();\n }\n /**\n * returns vanilla javascript date object\n *\n * @returns {Date}\n */\n\n\n get jsDate() {\n return this._innerValue.toJSDate();\n }\n /**\n * Adds a duration to this date-time-value\n *\n * @param {DurationValue} duration The duration to ad\n */\n\n\n addDuration(duration) {\n this._innerValue.addDuration(duration.toICALJs());\n }\n /**\n * Subtract another date excluding timezones\n *\n * @param {DateTimeValue} other The date-time value to subtract\n * @returns {DurationValue}\n */\n\n\n subtractDateWithoutTimezone(other) {\n const icalDuration = this._innerValue.subtractDate(other.toICALJs());\n\n return DurationValue.fromICALJs(icalDuration);\n }\n /**\n * Subtract another date, taking timezones into account\n *\n * @param {DateTimeValue} other The date-time value to subtract\n * @returns {DurationValue}\n */\n\n\n subtractDateWithTimezone(other) {\n const icalDuration = this._innerValue.subtractDateTz(other.toICALJs());\n\n return DurationValue.fromICALJs(icalDuration);\n }\n /**\n * Compares this DateTimeValue object with another one\n *\n * @param {DateTimeValue} other The date-time to compare to\n * @returns {Number} -1, 0 or 1 for less/equal/greater\n */\n\n\n compare(other) {\n return this._innerValue.compare(other.toICALJs());\n }\n /**\n * Compares only the date part in a given timezone\n *\n * @param {DateTimeValue} other The date-time to compare to\n * @param {Timezone} timezone The timezone to compare in\n * @returns {Number} -1, 0 or 1 for less/equal/greater\n */\n\n\n compareDateOnlyInGivenTimezone(other, timezone) {\n return this._innerValue.compareDateOnlyTz(other.toICALJs(), timezone.toICALTimezone());\n }\n /**\n * Returns a clone of this object which was converted to a different timezone\n *\n * @param {Timezone} timezone TimezoneId to convert to\n * @returns {DateTimeValue}\n */\n\n\n getInTimezone(timezone) {\n const clonedICALTime = this._innerValue.convertToZone(timezone.toICALTimezone());\n\n return DateTimeValue.fromICALJs(clonedICALTime);\n }\n /**\n * Get the inner ICAL.Timezone\n *\n * @returns {ICAL.Timezone}\n * @package\n */\n\n\n getICALTimezone() {\n return this._innerValue.zone;\n }\n /**\n * Returns a clone of this object which was converted to a different timezone\n *\n * @param {ICAL.Timezone} timezone TimezoneId to convert to\n * @returns {DateTimeValue}\n * @package\n */\n\n\n getInICALTimezone(timezone) {\n const clonedICALTime = this._innerValue.convertToZone(timezone);\n\n return DateTimeValue.fromICALJs(clonedICALTime);\n }\n /**\n * Returns a clone of this object which was converted to UTC\n *\n * @returns {DateTimeValue}\n */\n\n\n getInUTC() {\n const clonedICALTime = this._innerValue.convertToZone(ICAL.Timezone.utcTimezone);\n\n return DateTimeValue.fromICALJs(clonedICALTime);\n }\n /**\n * This silently replaces the inner timezone without converting the actual time\n *\n * @param {ICAL.Timezone} timezone The timezone to replace with\n * @package\n */\n\n\n silentlyReplaceTimezone(timezone) {\n this._modify();\n\n this._innerValue = new ICAL.Time({\n year: this.year,\n month: this.month,\n day: this.day,\n hour: this.hour,\n minute: this.minute,\n second: this.second,\n isDate: this.isDate,\n timezone\n });\n }\n /**\n * Replaces the inner timezone without converting the actual time\n *\n * @param {Timezone} timezone The timezone to replace with\n */\n\n\n replaceTimezone(timezone) {\n this._modifyContent();\n\n this._innerValue = ICAL.Time.fromData({\n year: this.year,\n month: this.month,\n day: this.day,\n hour: this.hour,\n minute: this.minute,\n second: this.second,\n isDate: this.isDate\n }, timezone.toICALTimezone());\n }\n /**\n * Calculates the UTC offset of the date-time-value in its timezone\n *\n * @returns {Number}\n */\n\n\n utcOffset() {\n return this._innerValue.utcOffset();\n }\n /**\n * Check if this is an event with floating time\n *\n * @returns {boolean}\n */\n\n\n isFloatingTime() {\n return this._innerValue.zone.tzid === 'floating';\n }\n /**\n * clones this value\n *\n * @returns {DateTimeValue}\n */\n\n\n clone() {\n return DateTimeValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new DateTimeValue object from an ICAL.Time object\n *\n * @param {ICAL.Time} icalValue The ical.js Date value to initialise from\n * @returns {DateTimeValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new DateTimeValue(icalValue);\n }\n /**\n * Creates a new DateTimeValue object based on a vanilla javascript object\n *\n * @param {Date} jsDate The JavaScript date to initialise from\n * @param {Boolean=} useUTC Whether or not to treat it as UTC\n * @returns {DateTimeValue}\n */\n\n\n static fromJSDate(jsDate, useUTC = false) {\n const icalValue = ICAL.Time.fromJSDate(jsDate, useUTC);\n return DateTimeValue.fromICALJs(icalValue);\n }\n /**\n * Creates a new DateTimeValue object based on simple parameters\n *\n * @param {Object} data The destructuring object\n * @param {Number=} data.year Amount of years to set\n * @param {Number=} data.month Amount of month to set (1-based)\n * @param {Number=} data.day Amount of days to set\n * @param {Number=} data.hour Amount of hours to set\n * @param {Number=} data.minute Amount of minutes to set\n * @param {Number=} data.second Amount of seconds to set\n * @param {Boolean=} data.isDate Whether this is a date or date-time\n * @param {Timezone=} timezone The timezone of the DateTimeValue\n * @returns {DateTimeValue}\n */\n\n\n static fromData(data, timezone) {\n const icalValue = ICAL.Time.fromData(data, timezone ? timezone.toICALTimezone() : undefined);\n return DateTimeValue.fromICALJs(icalValue);\n }\n\n}\nDateTimeValue.SUNDAY = ICAL.Time.SUNDAY;\nDateTimeValue.MONDAY = ICAL.Time.MONDAY;\nDateTimeValue.TUESDAY = ICAL.Time.TUESDAY;\nDateTimeValue.WEDNESDAY = ICAL.Time.WEDNESDAY;\nDateTimeValue.THURSDAY = ICAL.Time.THURSDAY;\nDateTimeValue.FRIDAY = ICAL.Time.FRIDAY;\nDateTimeValue.SATURDAY = ICAL.Time.SATURDAY;\nDateTimeValue.DEFAULT_WEEK_START = DateTimeValue.MONDAY;\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class PeriodValue\n * @classdesc Wrapper for ICAL.Period\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.9\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/period.js\n */\n\nclass PeriodValue extends AbstractValue {\n /**\n * @inheritDoc\n */\n constructor(...args) {\n super(...args);\n /**\n * DateTimeValue object for start\n *\n * @type {DateTimeValue}\n * @private\n */\n\n this._start = DateTimeValue.fromICALJs(this._innerValue.start);\n /**\n * DateTimeValue object for end\n *\n * @type {DateTimeValue|null}\n * @private\n */\n\n this._end = null;\n /**\n * DurationValue object for duration\n *\n * @type {DurationValue|null}\n * @private\n */\n\n this._duration = null;\n }\n /**\n * Gets the start of the period-value\n *\n * @returns {DateTimeValue}\n */\n\n\n get start() {\n return this._start;\n }\n /**\n * Sets the start of the period-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DateTimeValue} start The start of the period\n */\n\n\n set start(start) {\n this._modifyContent();\n\n this._start = start;\n this._innerValue.start = start.toICALJs();\n }\n /**\n * Gets the end of the period-value\n *\n * @returns {DateTimeValue}\n */\n\n\n get end() {\n if (!this._end) {\n if (this._duration) {\n this._duration.lock();\n\n this._duration = null;\n }\n\n this._innerValue.end = this._innerValue.getEnd();\n this._end = DateTimeValue.fromICALJs(this._innerValue.end);\n this._innerValue.duration = null;\n\n if (this.isLocked()) {\n this._end.lock();\n }\n }\n\n return this._end;\n }\n /**\n * Sets the end of the period-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DateTimeValue} end The end of the period\n */\n\n\n set end(end) {\n this._modifyContent();\n\n this._innerValue.duration = null;\n this._innerValue.end = end.toICALJs();\n this._end = end;\n }\n /**\n * Gets the duration of the period-value\n * The value is automatically locked.\n * If you want to edit the value, clone it and it as new duration\n *\n * @returns {DurationValue}\n */\n\n\n get duration() {\n if (!this._duration) {\n if (this._end) {\n this._end.lock();\n\n this._end = null;\n }\n\n this._innerValue.duration = this._innerValue.getDuration();\n this._duration = DurationValue.fromICALJs(this._innerValue.duration);\n this._innerValue.end = null;\n\n if (this.isLocked()) {\n this._duration.lock();\n }\n }\n\n return this._duration;\n }\n /**\n * Sets the duration of the period-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DurationValue} duration The duration to set\n */\n\n\n set duration(duration) {\n this._modifyContent();\n\n this._innerValue.end = null;\n this._innerValue.duration = duration.toICALJs();\n this._duration = duration;\n }\n /**\n * @inheritDoc\n */\n\n\n lock() {\n super.lock();\n this.start.lock();\n\n if (this._end) {\n this._end.lock();\n }\n\n if (this._duration) {\n this._duration.lock();\n }\n }\n /**\n * @inheritDoc\n */\n\n\n unlock() {\n super.unlock();\n this.start.unlock();\n\n if (this._end) {\n this._end.unlock();\n }\n\n if (this._duration) {\n this._duration.unlock();\n }\n }\n /**\n * clones this value\n *\n * @returns {PeriodValue}\n */\n\n\n clone() {\n return PeriodValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new PeriodValue object from a ICAL.Period object\n *\n * @param {ICAL.Period} icalValue The ical.js period value to initialise from\n * @returns {PeriodValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new PeriodValue(icalValue);\n }\n /**\n * Create a new PeriodValue object from start and end\n *\n * @param {Object} data The destructuring object\n * @param {DateTimeValue} data.start The start of the period\n * @param {DateTimeValue} data.end The end of the period\n * @returns {PeriodValue}\n */\n\n\n static fromDataWithEnd(data) {\n const icalPeriod = ICAL.Period.fromData({\n start: data.start.toICALJs(),\n end: data.end.toICALJs()\n });\n return PeriodValue.fromICALJs(icalPeriod);\n }\n /**\n * Create a new PeriodValue object from start and duration\n *\n * @param {Object} data The destructuring object\n * @param {DateTimeValue} data.start The start of the period\n * @param {DurationValue} data.duration The duration of the period\n * @returns {PeriodValue}\n */\n\n\n static fromDataWithDuration(data) {\n const icalPeriod = ICAL.Period.fromData({\n start: data.start.toICALJs(),\n duration: data.duration.toICALJs()\n });\n return PeriodValue.fromICALJs(icalPeriod);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst ALLOWED_FREQ = ['SECONDLY', 'MINUTELY', 'HOURLY', 'DAILY', 'WEEKLY', 'MONTHLY', 'YEARLY'];\n/**\n * @class RecurValue\n * @classdesc Wrapper for ICAL.Recur\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.10\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/recur.js\n */\n\nclass RecurValue extends AbstractValue {\n /**\n * Constructor\n *\n * @param {ICAL.Recur} icalValue The ical.js rrule value\n * @param {DateTimeValue?} until The Until date\n */\n constructor(icalValue, until) {\n super(icalValue);\n /**\n * DateTimeValue object for Until\n *\n * @type {DateTimeValue}\n * @private\n */\n\n this._until = until;\n }\n /**\n * Gets the stored interval of this recurrence rule\n *\n * @returns {Number}\n */\n\n\n get interval() {\n return this._innerValue.interval;\n }\n /**\n * Sets the stored interval of this recurrence rule\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} interval New Interval to set\n */\n\n\n set interval(interval) {\n this._modifyContent();\n\n this._innerValue.interval = parseInt(interval, 10);\n }\n /**\n * Gets the weekstart used to calculate the recurrence expansion\n *\n * @returns {Number}\n */\n\n\n get weekStart() {\n return this._innerValue.wkst;\n }\n /**\n * Sets the weekstart used to calculate the recurrence expansion\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if weekstart out of range\n * @param {Number} weekStart New start of week to set\n */\n\n\n set weekStart(weekStart) {\n this._modifyContent();\n\n if (weekStart < DateTimeValue.SUNDAY || weekStart > DateTimeValue.SATURDAY) {\n throw new TypeError('Weekstart out of range');\n }\n\n this._innerValue.wkst = weekStart;\n }\n /**\n * Gets the until value if set\n * The value is automatically locked.\n * If you want to edit the value, clone it and it as new until\n *\n * @returns {null|DateTimeValue}\n */\n\n\n get until() {\n if (!this._until && this._innerValue.until) {\n this._until = DateTimeValue.fromICALJs(this._innerValue.until);\n }\n\n return this._until;\n }\n /**\n * Sets the until value, automatically removes count\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DateTimeValue} until New until date to set\n */\n\n\n set until(until) {\n this._modifyContent();\n\n if (this._until) {\n this._until.lock();\n }\n\n this._until = until;\n this._innerValue.count = null;\n this._innerValue.until = until.toICALJs();\n }\n /**\n * Gets the count value if set\n *\n * @returns {null|Number}\n */\n\n\n get count() {\n return this._innerValue.count;\n }\n /**\n * Sets the count value, automatically removes until\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} count New occurrence limit to set\n */\n\n\n set count(count) {\n this._modifyContent();\n\n if (this._until) {\n this._until.lock();\n\n this._until = null;\n }\n\n this._innerValue.until = null;\n this._innerValue.count = parseInt(count, 10);\n }\n /**\n * Gets the frequency of the recurrence rule\n *\n * @returns {String} see\n */\n\n\n get frequency() {\n return this._innerValue.freq;\n }\n /**\n * Sets the frequency of the recurrence rule\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if frequency is unknown\n * @param {String} freq New frequency to set\n */\n\n\n set frequency(freq) {\n this._modifyContent();\n\n if (!ALLOWED_FREQ.includes(freq)) {\n throw new TypeError('Unknown frequency');\n }\n\n this._innerValue.freq = freq;\n }\n /**\n * Modifies this recurrence-value to unset count and until\n */\n\n\n setToInfinite() {\n this._modifyContent();\n\n if (this._until) {\n this._until.lock();\n\n this._until = null;\n }\n\n this._innerValue.until = null;\n this._innerValue.count = null;\n }\n /**\n * Checks whether the stored rule is finite\n *\n * @returns {Boolean}\n */\n\n\n isFinite() {\n return this._innerValue.isFinite();\n }\n /**\n * Checks whether the recurrence rule is limited by count\n *\n * @returns {Boolean}\n */\n\n\n isByCount() {\n return this._innerValue.isByCount();\n }\n /**\n * Adds a part to a component to the recurrence-rule\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} componentName The name of the recurrence-component to add\n * @param {String|Number} value The value to add\n */\n\n\n addComponent(componentName, value) {\n this._modifyContent();\n\n this._innerValue.addComponent(componentName, value);\n }\n /**\n * Sets / overwrites a component to the recurrence-rule\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} componentName The name of the component to set\n * @param {Number[]|String[]} value The value to set\n */\n\n\n setComponent(componentName, value) {\n this._modifyContent();\n\n if (value.length === 0) {\n delete this._innerValue.parts[componentName.toUpperCase()];\n } else {\n this._innerValue.setComponent(componentName, value);\n }\n }\n /**\n * Removes all parts of a component\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} componentName The name of the component to remove\n */\n\n\n removeComponent(componentName) {\n delete this._innerValue.parts[uc(componentName)];\n }\n /**\n * Gets all parts of a component\n *\n * @param {String} componentName The name of the component to get\n * @returns {Array}\n */\n\n\n getComponent(componentName) {\n return this._innerValue.getComponent(componentName);\n }\n /**\n * Checks if this recurrence rule is valid according to RFC 5545\n *\n * @returns {boolean}\n */\n\n\n isRuleValid() {\n return true;\n }\n /**\n * @inheritDoc\n */\n\n\n lock() {\n super.lock();\n\n if (this._until) {\n this._until.lock();\n }\n }\n /**\n * @inheritDoc\n */\n\n\n unlock() {\n super.unlock();\n\n if (this._until) {\n this._until.unlock();\n }\n }\n /**\n * clones this value\n *\n * @returns {RecurValue}\n */\n\n\n clone() {\n return RecurValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new RecurValue object from a ICAL.Recur object\n *\n * @param {ICAL.Recur} icalValue The ICAL.JS Recur value\n * @param {DateTimeValue?} until The Until date\n * @returns {RecurValue}\n */\n\n\n static fromICALJs(icalValue, until = null) {\n return new RecurValue(icalValue, until);\n }\n /**\n * Create a new RecurValue object from a data object\n *\n * @param {Object} data The destructuring object\n * @param {String=} data.freq FREQ part of RRULE\n * @param {Number=} data.interval INTERVAL part of RRULE\n * @param {Number=} data.wkst WEEKSTART part of RRULE\n * @param {DateTimeValue=} data.until UNTIL part of RRULE\n * @param {Number=} data.count COUNT part of RRULE\n * @param {Number[]=} data.bysecond BYSECOND part of RRULE\n * @param {Number[]=} data.byminute BYMINUTE part of RRULE\n * @param {Number[]=} data.byhour BYHOUR part of RRULE\n * @param {String[]=} data.byday BYDAY part of RRULE\n * @param {Number[]=} data.bymonthday BYMONTHDAY part of RRULE\n * @param {Number[]=} data.byyearday BYYEARDAY part of RRULE\n * @param {Number[]=} data.byweekno BYWEEKNO part of RRULE\n * @param {Number[]=} data.bymonth BYMONTH part of RRULE\n * @param {Number[]=} data.bysetpos BYSETPOS part of RRULE\n * @returns {RecurValue}\n */\n\n\n static fromData(data) {\n let until = null;\n\n if (data.until) {\n until = data.until;\n data.until = data.until.toICALJs();\n }\n\n const icalRecur = ICAL.Recur.fromData(data);\n return RecurValue.fromICALJs(icalRecur, until);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class UTCOffsetValue\n * @classdesc Wrapper for ICAL.UtcOffset\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.14\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/utc_offset.js\n */\n\nclass UTCOffsetValue extends AbstractValue {\n /**\n * Gets the hour part of the offset-value\n *\n * @returns {Number}\n */\n get hours() {\n return this._innerValue.hours;\n }\n /**\n * Sets the hour part of the offset-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n \t * @param {Number} hours - New hours to set\n */\n\n\n set hours(hours) {\n this._modifyContent();\n\n this._innerValue.hours = hours;\n }\n /**\n * Gets the minute part of the offset-value\n *\n * @returns {Number}\n */\n\n\n get minutes() {\n return this._innerValue.minutes;\n }\n /**\n * Sets the minute part of the offset-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} minutes - New minutes to set\n */\n\n\n set minutes(minutes) {\n this._modifyContent();\n\n this._innerValue.minutes = minutes;\n }\n /**\n * Gets the factor\n *\n * @returns {Number}\n */\n\n\n get factor() {\n return this._innerValue.factor;\n }\n /**\n * Sets the factor\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if factor is neither 1 nor -1\n * @param {Number} factor - New factor to set, 1 for positive, -1 for negative\n */\n\n\n set factor(factor) {\n this._modifyContent();\n\n if (factor !== 1 && factor !== -1) {\n throw new TypeError('Factor may only be set to 1 or -1');\n }\n\n this._innerValue.factor = factor;\n }\n /**\n * Gets the total amount of seconds\n *\n * @returns {Number}\n */\n\n\n get totalSeconds() {\n return this._innerValue.toSeconds();\n }\n /**\n * Sets the total amount of seconds\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} totalSeconds - New number of total seconds to set\n */\n\n\n set totalSeconds(totalSeconds) {\n this._modifyContent();\n\n this._innerValue.fromSeconds(totalSeconds);\n }\n /**\n * Compares this UTCOffset to another one\n *\n * @param {UTCOffsetValue} other - The other UTCOffsetValue to compare with\n * @returns {Number} -1, 0 or 1 for less/equal/greater\n */\n\n\n compare(other) {\n return this._innerValue.compare(other.toICALJs());\n }\n /**\n * Clones this value\n *\n * @returns {UTCOffsetValue}\n */\n\n\n clone() {\n return UTCOffsetValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new UTCOffsetValue object from a ICAL.UTCOffset object\n *\n * @param {ICAL.UtcOffset} icalValue - The ICAL.UtcOffset object to initialize this object from\n * @returns {UTCOffsetValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new UTCOffsetValue(icalValue);\n }\n /**\n * Create a new UTCOffsetValue object from a data object\n *\n * @param {Object} data - Object with data to create UTCOffsetValue object from\n * @param {Number=} data.hours - The number of hours to set\n * @param {Number=} data.minutes - The number of minutes to set\n * @param {Number=} data.factor - The factor to use, 1 for positive, -1 for negative\n * @returns {UTCOffsetValue}\n */\n\n\n static fromData(data) {\n const icalUTCOffset = new ICAL.UtcOffset();\n icalUTCOffset.fromData(data);\n return UTCOffsetValue.fromICALJs(icalUTCOffset);\n }\n /**\n * Create a new UTCOffsetValue object from an amount of seconds\n *w\n * @param {Number} seconds - The total number of seconds to create the UTCOffsetValue object from\n * @returns {UTCOffsetValue}\n */\n\n\n static fromSeconds(seconds) {\n const icalUTCOffset = ICAL.UtcOffset.fromSeconds(seconds);\n return UTCOffsetValue.fromICALJs(icalUTCOffset);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass UnknownICALTypeError extends Error {}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @author Richard Steinmetz \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n *\n * @param {String} icaltype The icaltype to get a Value constructor for\n * @returns {RecurValue|PeriodValue|BinaryValue|DurationValue|UTCOffsetValue|DateTimeValue}\n */\n\nfunction getConstructorForICALType(icaltype) {\n switch (lc(icaltype)) {\n case 'binary':\n return BinaryValue;\n\n case 'date':\n case 'date-time':\n return DateTimeValue;\n\n case 'duration':\n return DurationValue;\n\n case 'period':\n return PeriodValue;\n\n case 'recur':\n return RecurValue;\n\n case 'utc-offset':\n return UTCOffsetValue;\n\n default:\n throw new UnknownICALTypeError();\n }\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class Property\n * @classdesc This class represents a property as defined in RFC 5545 Section 3.5\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.5\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/property.js\n */\n\nclass Property extends observerTrait(lockableTrait(class {})) {\n /**\n * Constructor\n *\n * @param {String} name The name of the property\n * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value of the property\n * @param {Parameter[]|[String][]} parameters Array of parameters\n * @param {CalendarComponent|null} root The root of the calendar-document\n * @param {AbstractComponent|null} parent The parent-element of this property\n */\n constructor(name, value = null, parameters = [], root = null, parent = null) {\n super();\n /**\n * Name of the property\n *\n * @type {String}\n * @protected\n */\n\n this._name = uc(name);\n /**\n * Value of the property\n *\n * @type {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n * @protected\n */\n\n this._value = value;\n /**\n * List of parameters associated with this parameter\n *\n * @type {Map}\n */\n\n this._parameters = new Map();\n /**\n * Root node of ical document\n *\n * @type {CalendarComponent|null}\n * @protected\n */\n\n this._root = root;\n /**\n * Parent node\n *\n * @type {AbstractComponent|null}\n * @protected\n */\n\n this._parent = parent;\n\n this._setParametersFromConstructor(parameters);\n\n if (value instanceof AbstractValue) {\n value.subscribe(() => this._notifySubscribers());\n }\n }\n /**\n * Get property name\n *\n * @readonly\n * @returns {String}\n */\n\n\n get name() {\n return this._name;\n }\n /**\n * Get parameter value\n *\n * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n */\n\n\n get value() {\n return this._value;\n }\n /**\n * Set new parameter value\n *\n * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value of the property\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n set value(value) {\n this._modifyContent();\n\n this._value = value;\n\n if (value instanceof AbstractValue) {\n value.subscribe(() => this._notifySubscribers());\n }\n }\n /**\n * Gets the root of this property\n *\n * @returns {CalendarComponent|null}\n */\n\n\n get root() {\n return this._root;\n }\n /**\n * Sets the root of this property\n *\n * @param {CalendarComponent|null} root The root of the calendar-document\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n set root(root) {\n this._modify();\n\n this._root = root;\n }\n /**\n * Gets the direct parent element of this property\n *\n * @returns {AbstractComponent}\n */\n\n\n get parent() {\n return this._parent;\n }\n /**\n * Sets the direct parent element of this property\n *\n * @param {AbstractComponent|null} parent The parent element of this property\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n set parent(parent) {\n this._modify();\n\n this._parent = parent;\n }\n /**\n * Gets the first value of this property\n *\n * @returns {null|String|Number|AbstractValue}\n */\n\n\n getFirstValue() {\n if (!this.isMultiValue()) {\n return this.value;\n } else {\n if (this.value.length > 0) {\n return this.value[0];\n }\n }\n\n return null;\n }\n /**\n * Gets an iterator over all values\n */\n\n\n *getValueIterator() {\n if (this.isMultiValue()) {\n yield* this.value.slice()[Symbol.iterator]();\n } else {\n yield this.value;\n }\n }\n /**\n * Adds a value to the multi-value property\n *\n * @param {String|AbstractValue} value Value to add\n */\n\n\n addValue(value) {\n if (!this.isMultiValue()) {\n throw new TypeError('This is not a multivalue property');\n }\n\n this._modifyContent();\n\n this.value.push(value);\n }\n /**\n * Checks if a value is inside this multi-value property\n *\n * @param {String|AbstractValue} value Value to check for\n * @returns {Boolean}\n */\n\n\n hasValue(value) {\n if (!this.isMultiValue()) {\n throw new TypeError('This is not a multivalue property');\n }\n\n return this.value.includes(value);\n }\n /**\n * Removes a value from this multi-value property\n *\n * @param {String|AbstractValue} value Value to remove\n */\n\n\n removeValue(value) {\n if (!this.hasValue(value)) {\n return;\n }\n\n this._modifyContent();\n\n const index = this.value.indexOf(value);\n this.value.splice(index, 1);\n }\n /**\n * Sets a parameter on this property\n *\n * @param {Parameter} parameter The parameter to set\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n setParameter(parameter) {\n this._modify();\n\n this._parameters.set(parameter.name, parameter);\n\n parameter.subscribe(() => this._notifySubscribers());\n }\n /**\n * Gets a parameter on this property by its name\n *\n * @param {String} parameterName Name of the parameter to get\n * @returns {Parameter}\n */\n\n\n getParameter(parameterName) {\n return this._parameters.get(uc(parameterName));\n }\n /**\n * Gets an iterator over all available parameters\n */\n\n\n *getParametersIterator() {\n yield* this._parameters.values();\n }\n /**\n * Get first value of a parameter\n *\n * @param {String} parameterName Name of the parameter\n * @returns {null|String}\n */\n\n\n getParameterFirstValue(parameterName) {\n const parameter = this.getParameter(parameterName);\n\n if (parameter instanceof Parameter) {\n if (parameter.isMultiValue()) {\n return parameter.value[0];\n } else {\n return parameter.value;\n }\n }\n\n return null;\n }\n /**\n * Returns whether a parameter exists on this property\n *\n * @param {String} parameterName Name of the parameter\n * @returns {boolean}\n */\n\n\n hasParameter(parameterName) {\n return this._parameters.has(uc(parameterName));\n }\n /**\n * Deletes a parameter on this property\n *\n * @param {String} parameterName Name of the parameter\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n deleteParameter(parameterName) {\n this._modify();\n\n this._parameters.delete(uc(parameterName));\n }\n /**\n * update a parameter if it exists,\n * create a new one if it doesn't\n *\n * @param {String} parameterName Name of the parameter\n * @param {string|Array|null} value Value to set\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n updateParameterIfExist(parameterName, value) {\n this._modify();\n\n if (this.hasParameter(parameterName)) {\n const parameter = this.getParameter(parameterName);\n parameter.value = value;\n } else {\n const parameter = new Parameter(uc(parameterName), value);\n this.setParameter(parameter);\n }\n }\n /**\n * Returns whether or not the value is a multivalue\n *\n * @returns {Boolean}\n */\n\n\n isMultiValue() {\n return Array.isArray(this._value);\n }\n /**\n * Returns whether or not this valus is decorated\n *\n * @returns {boolean}\n */\n\n\n isDecoratedValue() {\n if (this.isMultiValue()) {\n return this._value[0] instanceof AbstractValue;\n } else {\n return this._value instanceof AbstractValue;\n }\n }\n /**\n * Marks this parameter is immutable\n * locks it against further modification\n */\n\n\n lock() {\n super.lock();\n\n for (const parameter of this.getParametersIterator()) {\n parameter.lock();\n }\n\n if (this.isDecoratedValue()) {\n for (const value of this.getValueIterator()) {\n value.lock();\n }\n }\n }\n /**\n * Marks this parameter as mutable\n * allowing further modification\n */\n\n\n unlock() {\n super.unlock();\n\n for (const parameter of this.getParametersIterator()) {\n parameter.unlock();\n }\n\n if (this.isDecoratedValue()) {\n for (const value of this.getValueIterator()) {\n value.unlock();\n }\n }\n }\n /**\n * Creates a copy of this parameter\n *\n * @returns {Property}\n */\n\n\n clone() {\n const parameters = [];\n\n for (const parameter of this.getParametersIterator()) {\n parameters.push(parameter.clone());\n }\n\n return new this.constructor(this.name, this._cloneValue(), parameters, this.root, this.parent);\n }\n /**\n * Copies the values of this property\n *\n * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n * @protected\n */\n\n\n _cloneValue() {\n if (this.isDecoratedValue()) {\n if (this.isMultiValue()) {\n return this._value.map(val => val.clone());\n } else {\n return this._value.clone();\n }\n } else {\n if (this.isMultiValue()) {\n // only copy array values, don't copy array reference\n return this._value.slice();\n } else {\n return this._value;\n }\n }\n }\n /**\n * Sets parameters from the constructor\n *\n * @param {Parameter[]|[String][]} parameters Array of parameters to set\n * @private\n */\n\n\n _setParametersFromConstructor(parameters) {\n parameters.forEach(parameter => {\n if (!(parameter instanceof Parameter)) {\n parameter = new Parameter(parameter[0], parameter[1]);\n }\n\n this.setParameter(parameter);\n });\n }\n /**\n * Creates a new Component based on an ical object\n *\n * @param {ICAL.Property} icalProperty The ical.js property to initialise from\n * @param {CalendarComponent=} root The root of the calendar-document\n * @param {AbstractComponent=} parent The parent element of this property\n * @returns {Property}\n */\n\n\n static fromICALJs(icalProperty, root = null, parent = null) {\n if (!(icalProperty instanceof ICAL.Property)) {\n throw new ExpectedICalJSError();\n }\n\n let value;\n\n if (icalProperty.isDecorated) {\n const constructor = getConstructorForICALType(icalProperty.getFirstValue().icaltype);\n\n if (icalProperty.isMultiValue) {\n value = icalProperty.getValues().map(val => constructor.fromICALJs(val));\n } else {\n value = constructor.fromICALJs(icalProperty.getFirstValue());\n }\n } else {\n if (icalProperty.isMultiValue) {\n value = icalProperty.getValues();\n } else {\n value = icalProperty.getFirstValue();\n }\n }\n\n const parameters = [];\n const paramNames = Object.keys(Object.assign({}, icalProperty.toJSON()[1]));\n paramNames.forEach(paramName => {\n // Timezone id is handled by DateTimeValue\n if (uc(paramName) === 'TZID') {\n return;\n }\n\n parameters.push([paramName, icalProperty.getParameter(paramName)]);\n });\n return new this(icalProperty.name, value, parameters, root, parent);\n }\n /**\n * Returns an ICAL.js property based on this Property\n *\n * @returns {ICAL.Property}\n */\n\n\n toICALJs() {\n const icalProperty = createProperty(lc(this.name));\n\n if (this.isMultiValue()) {\n if (this.isDecoratedValue()) {\n icalProperty.setValues(this.value.map(val => val.toICALJs()));\n } else {\n icalProperty.setValues(this.value);\n }\n } else {\n if (this.isDecoratedValue()) {\n icalProperty.setValue(this.value.toICALJs());\n } else {\n icalProperty.setValue(this.value);\n }\n }\n\n for (const parameter of this.getParametersIterator()) {\n icalProperty.setParameter(lc(parameter.name), parameter.value);\n }\n\n const firstValue = this.getFirstValue();\n\n if (firstValue instanceof DateTimeValue && firstValue.timezoneId !== 'floating' && firstValue.timezoneId !== 'UTC' && !firstValue.isDate) {\n icalProperty.setParameter('tzid', firstValue.timezoneId);\n }\n\n return icalProperty;\n }\n /**\n * @inheritDoc\n */\n\n\n _modifyContent() {\n super._modifyContent();\n\n this._notifySubscribers();\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class AttachmentProperty\n * @classdesc This class represents an attachment property as defined in RFC 5545 Section 3.8.1.1\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.1\n */\n\nclass AttachmentProperty extends Property {\n /**\n * Gets the format-type of this attachment\n *\n * @returns {String}\n */\n get formatType() {\n return this.getParameterFirstValue('FMTTYPE');\n }\n /**\n * Sets the format-type of this attachment\n *\n * @param {String} fmtType Mime-type of attachment\n */\n\n\n set formatType(fmtType) {\n this.updateParameterIfExist('FMTTYPE', fmtType);\n }\n /**\n * Gets the uri of this attachment\n *\n * @returns {String|null}\n */\n\n\n get uri() {\n if (this._value instanceof BinaryValue) {\n return null;\n }\n\n return this._value;\n }\n /**\n * Sets the uri of this attachment\n *\n * @param {String} uri Link to attachment if applicable\n */\n\n\n set uri(uri) {\n this.value = uri;\n }\n /**\n * Gets the encoding of this attachment\n *\n * @returns {string|null}\n */\n\n\n get encoding() {\n if (this._value instanceof BinaryValue) {\n return 'BASE64';\n }\n\n return null;\n }\n /**\n * Gets the data stored in this attachment\n *\n * @returns {String|null}\n */\n\n\n get data() {\n if (this._value instanceof BinaryValue) {\n return this._value.value;\n }\n\n return null;\n }\n /**\n * Sets the data stored in this attachment\n *\n * @param {String} data The data of the attachment\n */\n\n\n set data(data) {\n if (this.value instanceof BinaryValue) {\n this.value.value = data;\n } else {\n this.value = BinaryValue.fromDecodedValue(data);\n }\n }\n /**\n * @inheritDoc\n */\n\n\n toICALJs() {\n const icalProperty = super.toICALJs();\n\n if (this._value instanceof BinaryValue) {\n icalProperty.setParameter('ENCODING', 'BASE64');\n }\n\n return icalProperty;\n }\n /**\n * Creates a new AttachmentProperty based on data\n *\n * @param {String} data The data of the attachment\n * @param {String=} formatType The mime-type of the data\n * @returns {AttachmentProperty}\n */\n\n\n static fromData(data, formatType = null) {\n const binaryValue = BinaryValue.fromDecodedValue(data);\n const property = new AttachmentProperty('ATTACH', binaryValue);\n\n if (formatType) {\n property.formatType = formatType;\n }\n\n return property;\n }\n /**\n * Creates a new AttachmentProperty based on a link\n *\n * @param {String} uri The URI for the attachment\n * @param {String=} formatType The mime-type of the uri\n * @returns {AttachmentProperty}\n */\n\n\n static fromLink(uri, formatType = null) {\n const property = new AttachmentProperty('ATTACH', uri);\n\n if (formatType) {\n property.formatType = formatType;\n }\n\n return property;\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class AttendeeProperty\n * @classdesc This class represents an attendee property as defined in RFC 5545 Section 3.8.4.1\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n */\n\nclass AttendeeProperty extends Property {\n /**\n * Returns the role of the attendee.\n *\n * @returns {string}\n */\n get role() {\n const allowed = ['CHAIR', 'REQ-PARTICIPANT', 'OPT-PARTICIPANT', 'NON-PARTICIPANT'];\n const defaultValue = 'REQ-PARTICIPANT';\n\n if (this.hasParameter('ROLE')) {\n const value = this.getParameterFirstValue('ROLE');\n\n if (allowed.includes(value)) {\n return value;\n }\n }\n\n return defaultValue;\n }\n /**\n * Sets new role of the attendee\n *\n * @param {String} role The role of the attendee (e.g. CHAIR, REQ-PARTICIPANT)\n */\n\n\n set role(role) {\n this.updateParameterIfExist('ROLE', role);\n }\n /**\n * Returns the calendar-user-type of an attendee\n *\n * @returns {string}\n */\n\n\n get userType() {\n const allowed = ['INDIVIDUAL', 'GROUP', 'RESOURCE', 'ROOM', 'UNKNOWN'];\n\n if (!this.hasParameter('CUTYPE')) {\n return 'INDIVIDUAL';\n } else {\n const value = this.getParameterFirstValue('CUTYPE');\n\n if (allowed.includes(value)) {\n return value;\n }\n\n return 'UNKNOWN';\n }\n }\n /**\n * Sets new calendar-user-type of attendee\n *\n * @param {String} userType The type of user (e.g. INDIVIDUAL, GROUP)\n */\n\n\n set userType(userType) {\n this.updateParameterIfExist('CUTYPE', userType);\n }\n /**\n * Returns the \"Répondez s'il vous plaît\" value for attendee\n *\n * @returns {boolean}\n */\n\n\n get rsvp() {\n if (!this.hasParameter('RSVP')) {\n return false;\n } else {\n const value = this.getParameterFirstValue('RSVP');\n return uc(value) === 'TRUE';\n }\n }\n /**\n * Updates the \"Répondez s'il vous plaît\" value for attendee\n *\n * @param {boolean} rsvp Whether or not to send out an invitation\n */\n\n\n set rsvp(rsvp) {\n this.updateParameterIfExist('RSVP', rsvp ? 'TRUE' : 'FALSE');\n }\n /**\n * Returns the common-name of the attendee\n *\n * @returns {string|null}\n */\n\n\n get commonName() {\n return this.getParameterFirstValue('CN');\n }\n /**\n * Sets a new common-name of the attendee\n *\n * @param {string} commonName The display name of the attendee\n */\n\n\n set commonName(commonName) {\n this.updateParameterIfExist('CN', commonName);\n }\n /**\n * Returns the participation-status of the attendee\n *\n * @returns {string}\n */\n\n\n get participationStatus() {\n let vobjectType;\n\n if (this.parent) {\n vobjectType = this.parent.name;\n } else {\n // let's assume we are inside an event\n // if we don't know better\n vobjectType = 'VEVENT';\n }\n\n const allowed = {\n VEVENT: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED', 'TENTATIVE', 'DELEGATED'],\n VJOURNAL: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED'],\n VTODO: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED', 'TENTATIVE', 'DELEGATED', 'COMPLETED', 'IN-PROCESS']\n };\n\n if (!this.hasParameter('PARTSTAT')) {\n return 'NEEDS-ACTION';\n } else {\n const value = this.getParameterFirstValue('PARTSTAT');\n\n if (allowed[vobjectType].includes(value)) {\n return value;\n }\n\n return 'NEEDS-ACTION';\n }\n }\n /**\n * Sets a new participation-status of the attendee\n *\n * @param {String} participationStatus The participation status (e.g. ACCEPTED, DECLINED)\n */\n\n\n set participationStatus(participationStatus) {\n this.updateParameterIfExist('PARTSTAT', participationStatus);\n }\n /**\n * Gets this attendee's language\n *\n * @returns {String}\n */\n\n\n get language() {\n return this.getParameterFirstValue('LANGUAGE');\n }\n /**\n * Sets this attendee's language\n * This can be used to influence the language of the invitation email\n *\n * @param {String} language The preferred language of the attendee\n */\n\n\n set language(language) {\n this.updateParameterIfExist('LANGUAGE', language);\n }\n /**\n * Gets the email of the attendee\n *\n * @returns {String}\n */\n\n\n get email() {\n return this.value;\n }\n /**\n * Sets the email address of the attendee\n *\n * @param {String} email The e-email address of the attendee\n */\n\n\n set email(email) {\n this.value = startStringWith(email, 'mailto:');\n }\n /**\n * Is this attendee the organizer?\n *\n * @returns {boolean}\n */\n\n\n isOrganizer() {\n return this._name === 'ORGANIZER';\n }\n /**\n * Creates a new AttendeeProperty from name and email\n *\n * @param {String} name The display name\n * @param {String} email The email address\n * @param {Boolean=} isOrganizer Whether this is the organizer or an attendee\n * @returns {AttendeeProperty}\n */\n\n\n static fromNameAndEMail(name, email, isOrganizer = false) {\n const propertyName = isOrganizer ? 'ORGANIZER' : 'ATTENDEE';\n email = startStringWith(email, 'mailto:');\n return new AttendeeProperty(propertyName, email, [['CN', name]]);\n }\n /**\n * Creates a new AttendeeProperty from name, email, role, userType and rsvp\n *\n * @param {String} name The display name\n * @param {String} email The email address\n * @param {String} role The role\n * @param {String} userType The type of user\n * @param {Boolean} rsvp Whether to send out an invitation\n * @param {Boolean=} isOrganizer Whether this is the organizer or an attendee\n * @returns {AttendeeProperty}\n */\n\n\n static fromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp, isOrganizer = false) {\n const propertyName = isOrganizer ? 'ORGANIZER' : 'ATTENDEE';\n email = startStringWith(email, 'mailto:');\n return new AttendeeProperty(propertyName, email, [['CN', name], ['ROLE', role], ['CUTYPE', userType], ['RSVP', rsvp ? 'TRUE' : 'FALSE']]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nICAL.design.icalendar.property.conference = {\n defaultType: 'uri'\n};\nICAL.design.icalendar.param.feature = {\n valueType: 'cal-address',\n multiValue: ','\n};\n/**\n * @class ConferenceProperty\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n */\n\nclass ConferenceProperty extends Property {\n /**\n * Iterator that iterates over all supported features\n * of the conference system\n */\n *getFeatureIterator() {\n if (!this.hasParameter('FEATURE')) {\n return;\n }\n\n const parameter = this.getParameter('FEATURE');\n yield* parameter.getValueIterator();\n }\n /**\n * Lists all supported features of the conference system\n *\n * @returns {String[]}\n */\n\n\n listAllFeatures() {\n if (!this.hasParameter('FEATURE')) {\n return [];\n }\n\n return this.getParameter('FEATURE').value.slice();\n }\n /**\n * Adds a supported feature to the conference system\n *\n * @param {String} featureToAdd Feature to add\n */\n\n\n addFeature(featureToAdd) {\n this._modify();\n\n if (!this.hasParameter('FEATURE')) {\n this.updateParameterIfExist('FEATURE', [featureToAdd]);\n } else {\n if (this.hasFeature(featureToAdd)) {\n return;\n }\n\n const parameter = this.getParameter('FEATURE');\n parameter.value.push(featureToAdd);\n }\n }\n /**\n * Removes a supported feature\n *\n * @param {String} feature The feature to remove\n */\n\n\n removeFeature(feature) {\n this._modify();\n\n if (!this.hasFeature(feature)) {\n return;\n }\n\n const parameter = this.getParameter('FEATURE');\n const index = parameter.value.indexOf(feature);\n parameter.value.splice(index, 1);\n }\n /**\n * Removes all supported features from this conference system\n */\n\n\n clearAllFeatures() {\n this.deleteParameter('FEATURE');\n }\n /**\n * Check if this conference system supports a feature\n *\n * @param {String} feature The feature to check\n * @returns {boolean}\n */\n\n\n hasFeature(feature) {\n if (!this.hasParameter('FEATURE')) {\n return false;\n }\n\n const parameter = this.getParameter('FEATURE');\n\n if (!Array.isArray(parameter.value)) {\n return false;\n }\n\n return parameter.value.includes(feature);\n }\n /**\n * Gets label for the conference system\n *\n * @returns {String}\n */\n\n\n get label() {\n return this.getParameterFirstValue('LABEL');\n }\n /**\n * Updates the label for the conference system\n *\n * @param {String} label The label to set\n */\n\n\n set label(label) {\n this.updateParameterIfExist('LABEL', label);\n }\n /**\n * Gets the uri for this conference system\n */\n\n\n get uri() {\n return this.value;\n }\n /**\n * Sets the uri for this conference system\n *\n * @param {String} uri The URI to set\n */\n\n\n set uri(uri) {\n this.value = uri;\n }\n /**\n * @inheritDoc\n */\n\n\n toICALJs() {\n const icalProperty = super.toICALJs();\n icalProperty.setParameter('value', 'URI');\n return icalProperty;\n }\n /**\n * Creates a new ConferenceProperty based on URI, label and features\n *\n * @param {String} uri URI of the Conference\n * @param {String=} label Label of the conference\n * @param {String[]=} features Features of the conference\n * @returns {ConferenceProperty}\n */\n\n\n static fromURILabelAndFeatures(uri, label = null, features = null) {\n const property = new ConferenceProperty('CONFERENCE', uri);\n\n if (label) {\n property.updateParameterIfExist('label', label);\n }\n\n if (features) {\n property.updateParameterIfExist('feature', features);\n }\n\n return property;\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class FreeBusyProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.6\n */\n\nclass FreeBusyProperty extends Property {\n /**\n * Gets the type of this FreeBusyProperty\n *\n * @returns {String}\n */\n get type() {\n const allowed = ['FREE', 'BUSY', 'BUSY-UNAVAILABLE', 'BUSY-TENTATIVE'];\n const defaultValue = 'BUSY';\n\n if (this.hasParameter('FBTYPE')) {\n const value = this.getParameterFirstValue('FBTYPE');\n\n if (allowed.includes(value)) {\n return value;\n }\n }\n\n return defaultValue;\n }\n /**\n * Sets the type of this FreeBusyProperty\n *\n * @param {String} type The type of information (e.g. FREE, BUSY, etc.)\n */\n\n\n set type(type) {\n this.updateParameterIfExist('FBTYPE', type);\n }\n /**\n * Creates a new FreeBusyProperty based on period and type\n *\n * @param {PeriodValue} period The period for FreeBusy Information\n * @param {String} type The type of the period\n * @returns {FreeBusyProperty}\n */\n\n\n static fromPeriodAndType(period, type) {\n return new FreeBusyProperty('FREEBUSY', period, [['fbtype', type]]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class GeoProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n */\n\nclass GeoProperty extends Property {\n /**\n * @inheritDoc\n */\n constructor(name, value = [0, 0], parameters = [], root = null, parent = null) {\n super(name, value, parameters, root, parent);\n }\n /**\n * Gets the latitude stored in this property\n *\n * @returns {Number}\n */\n\n\n get latitude() {\n return this._value[0];\n }\n /**\n * Sets the latitude stored in this property\n *\n * @param {String|Number} lat Latitude\n */\n\n\n set latitude(lat) {\n this._modifyContent();\n\n if (typeof lat !== 'number') {\n lat = parseFloat(lat);\n }\n\n this._value[0] = lat;\n }\n /**\n * Gets the longitude stored in this property\n */\n\n\n get longitude() {\n return this._value[1];\n }\n /**\n * Sets the longitude stored in this property\n *\n * @param {String|Number} long Longitude\n */\n\n\n set longitude(long) {\n this._modifyContent();\n\n if (typeof long !== 'number') {\n long = parseFloat(long);\n }\n\n this._value[1] = long;\n }\n /**\n * @inheritDoc\n *\n * TODO: this is an ugly hack right now.\n * As soon as the value is an array, we assume it's multivalue\n * but GEO is a (the one and only besides request-status) structured value and is also\n * stored inside an array.\n *\n * Calling icalProperty.setValues will throw an error\n */\n\n\n toICALJs() {\n const icalProperty = createProperty(lc(this.name));\n icalProperty.setValue(this.value);\n\n this._parameters.forEach(parameter => {\n icalProperty.setParameter(lc(parameter.name), parameter.value);\n });\n\n return icalProperty;\n }\n /**\n * Creates a new GeoProperty based on a latitude and a longitude value\n *\n * @param {Number} lat Latitude\n * @param {Number} long Longitude\n * @returns {GeoProperty}\n */\n\n\n static fromPosition(lat, long) {\n return new GeoProperty('GEO', [lat, long]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ImageProperty\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.10\n */\n\nclass ImageProperty extends AttachmentProperty {\n /**\n * Gets the image-type\n */\n get display() {\n return this.getParameterFirstValue('DISPLAY') || 'BADGE';\n }\n /**\n * Gets the image-type\n *\n * @param {String} display The display-type image is optimized for\n */\n\n\n set display(display) {\n this.updateParameterIfExist('DISPLAY', display);\n }\n /**\n * Creates a new ImageProperty based on data\n *\n * @param {String} data The data of the image\n * @param {String=} display The display-type it's optimized for\n * @param {String=} formatType The mime-type of the image\n * @returns {ImageProperty}\n */\n\n\n static fromData(data, display = null, formatType = null) {\n const binaryValue = BinaryValue.fromDecodedValue(data);\n const property = new ImageProperty('IMAGE', binaryValue);\n\n if (display) {\n property.display = display;\n }\n\n if (formatType) {\n property.formatType = formatType;\n }\n\n return property;\n }\n /**\n * Creates a new ImageProperty based on a link\n *\n * @param {String} uri The uri of the image\n * @param {String=} display The display-type it's optimized for\n * @param {String=} formatType The mime-type of the image\n * @returns {ImageProperty}\n */\n\n\n static fromLink(uri, display = null, formatType = null) {\n const property = new ImageProperty('IMAGE', uri);\n\n if (display) {\n property.display = display;\n }\n\n if (formatType) {\n property.formatType = formatType;\n }\n\n return property;\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class RelationProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.5\n */\n\nclass RelationProperty extends Property {\n /**\n * Get's the relation-type of this related-to property\n *\n * @returns {String}\n */\n get relationType() {\n const allowed = ['PARENT', 'CHILD', 'SIBLING'];\n const defaultValue = 'PARENT';\n\n if (!this.hasParameter('RELTYPE')) {\n return defaultValue;\n } else {\n const value = this.getParameterFirstValue('RELTYPE');\n\n if (allowed.includes(value)) {\n return value;\n }\n\n return defaultValue;\n }\n }\n /**\n * Sets a new relation type\n *\n * @param {String} relationType The type of relation (e.g. SIBLING, PARENT, etc.)\n */\n\n\n set relationType(relationType) {\n this.updateParameterIfExist('RELTYPE', relationType);\n }\n /**\n * Gets Id of related object\n *\n * @returns {String}\n */\n\n\n get relatedId() {\n return this.value;\n }\n /**\n * Sets a new related id\n *\n * @param {String} relatedId The Id of the related document\n */\n\n\n set relatedId(relatedId) {\n this.value = relatedId;\n }\n /**\n * Creates a new RELATED-TO property based on a relation-type and id\n *\n * @param {String} relType The type of the relation (e.g. SIBLING, CHILD)\n * @param {String} relId The Id of the related document\n * @returns {RelationProperty}\n */\n\n\n static fromRelTypeAndId(relType, relId) {\n return new RelationProperty('RELATED-TO', relId, [['RELTYPE', relType]]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class RequestStatusProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.8.3\n */\n\nclass RequestStatusProperty extends Property {\n /**\n * @inheritDoc\n */\n constructor(name, value = ['1', 'Pending'], parameters = [], root = null, parent = null) {\n super(name, value, parameters, root, parent);\n }\n /**\n * Gets the status code of the request status\n *\n * @returns {Number}\n */\n\n\n get statusCode() {\n return parseFloat(this.value[0]);\n }\n /**\n * Sets the status code of the request status\n *\n * @param {Number} statusCode The statusCode of the request\n */\n\n\n set statusCode(statusCode) {\n this._modifyContent();\n\n this.value[0] = statusCode.toString(); // This makes sure 2.0 is actually saved as 2.0, not 2\n\n if (statusCode === Math.floor(statusCode)) {\n this.value[0] += '.0';\n }\n }\n /**\n * Gets the status message of the request status\n *\n * @returns {string}\n */\n\n\n get statusMessage() {\n return this.value[1];\n }\n /**\n * Sets the status message of the request status\n *\n * @param {String} statusMessage The message of the request\n */\n\n\n set statusMessage(statusMessage) {\n this._modifyContent();\n\n this.value[1] = statusMessage;\n }\n /**\n * Gets the exception data of the request status if available\n *\n * @returns {null|String}\n */\n\n\n get exceptionData() {\n if (!this.value[2]) {\n return null;\n }\n\n return this.value[2];\n }\n /**\n * Sets the exception dtat of the request status\n *\n * @param {String} exceptionData The additional exception-data\n */\n\n\n set exceptionData(exceptionData) {\n this._modifyContent();\n\n this.value[2] = exceptionData;\n }\n /**\n * Check if request is pending\n *\n * @returns {boolean}\n */\n\n\n isPending() {\n return this.statusCode >= 1 && this.statusCode < 2;\n }\n /**\n * Check if request was successful\n *\n * @returns {boolean}\n */\n\n\n isSuccessful() {\n return this.statusCode >= 2 && this.statusCode < 3;\n }\n /**\n * Check if a client error occurred\n *\n * @returns {boolean}\n */\n\n\n isClientError() {\n return this.statusCode >= 3 && this.statusCode < 4;\n }\n /**\n * Check if a scheduling error occurred\n *\n * @returns {boolean}\n */\n\n\n isSchedulingError() {\n return this.statusCode >= 4 && this.statusCode < 5;\n }\n /**\n * @inheritDoc\n *\n * TODO: this is an ugly hack right now.\n * As soon as the value is an array, we assume it's multivalue\n * but REQUEST-STATUS is a (the one and only besides GEO) structured value and is also\n * stored inside an array.\n *\n * Calling icalProperty.setValues will throw an error\n */\n\n\n toICALJs() {\n const icalProperty = createProperty(lc(this.name));\n icalProperty.setValue(this.value);\n\n this._parameters.forEach(parameter => {\n icalProperty.setParameter(lc(parameter.name), parameter.value);\n });\n\n return icalProperty;\n }\n /**\n * Creates a new RequestStatusProperty from a code and a status message\n *\n * @param {Number} code The status-code of the request\n * @param {String} message The message of the request\n * @returns {RequestStatusProperty}\n */\n\n\n static fromCodeAndMessage(code, message) {\n return new RequestStatusProperty('REQUEST-STATUS', [code.toString(), message]);\n }\n\n} // All request statuses registered in RFC 5546\n\nRequestStatusProperty.SUCCESS = [2.0, 'Success'];\nRequestStatusProperty.SUCCESS_FALLBACK = [2.1, 'Success, but fallback taken on one or more property values.'];\nRequestStatusProperty.SUCCESS_PROP_IGNORED = [2.2, 'Success; invalid property ignored.'];\nRequestStatusProperty.SUCCESS_PROPPARAM_IGNORED = [2.3, 'Success; invalid property parameter ignored.'];\nRequestStatusProperty.SUCCESS_NONSTANDARD_PROP_IGNORED = [2.4, 'Success; unknown, non-standard property ignored.'];\nRequestStatusProperty.SUCCESS_NONSTANDARD_PROPPARAM_IGNORED = [2.5, 'Success; unknown, non-standard property value ignored.'];\nRequestStatusProperty.SUCCESS_COMP_IGNORED = [2.6, 'Success; invalid calendar component ignored.'];\nRequestStatusProperty.SUCCESS_FORWARDED = [2.7, 'Success; request forwarded to Calendar User.'];\nRequestStatusProperty.SUCCESS_REPEATING_IGNORED = [2.8, 'Success; repeating event ignored. Scheduled as a single component.'];\nRequestStatusProperty.SUCCESS_TRUNCATED_END = [2.9, 'Success; truncated end date time to date boundary.'];\nRequestStatusProperty.SUCCESS_REPEATING_VTODO_IGNORED = [2.10, 'Success; repeating VTODO ignored. Scheduled as a single VTODO.'];\nRequestStatusProperty.SUCCESS_UNBOUND_RRULE_CLIPPED = [2.11, 'Success; unbounded RRULE clipped at some finite number of instances.'];\nRequestStatusProperty.CLIENT_INVALID_PROPNAME = [3.0, 'Invalid property name.'];\nRequestStatusProperty.CLIENT_INVALID_PROPVALUE = [3.1, 'Invalid property value.'];\nRequestStatusProperty.CLIENT_INVALID_PROPPARAM = [3.2, 'Invalid property parameter.'];\nRequestStatusProperty.CLIENT_INVALID_PROPPARAMVALUE = [3.3, 'Invalid property parameter value.'];\nRequestStatusProperty.CLIENT_INVALUD_CALENDAR_COMP_SEQ = [3.4, 'Invalid calendar component sequence.'];\nRequestStatusProperty.CLIENT_INVALID_DATE_TIME = [3.5, 'Invalid date or time.'];\nRequestStatusProperty.CLIENT_INVALID_RRULE = [3.6, 'Invalid rule.'];\nRequestStatusProperty.CLIENT_INVALID_CU = [3.7, 'Invalid Calendar User.'];\nRequestStatusProperty.CLIENT_NO_AUTHORITY = [3.8, 'No authority.'];\nRequestStatusProperty.CLIENT_UNSUPPORTED_VERSION = [3.9, 'Unsupported version.'];\nRequestStatusProperty.CLIENT_TOO_LARGE = [3.10, 'Request entity too large.'];\nRequestStatusProperty.CLIENT_REQUIRED_COMP_OR_PROP_MISSING = [3.11, 'Required component or property missing.'];\nRequestStatusProperty.CLIENT_UNKNOWN_COMP_OR_PROP = [3.12, 'Unknown component or property found.'];\nRequestStatusProperty.CLIENT_UNSUPPORTED_COMP_OR_PROP = [3.13, 'Unsupported component or property found.'];\nRequestStatusProperty.CLIENT_UNSUPPORTED_CAPABILITY = [3.14, 'Unsupported capability.'];\nRequestStatusProperty.SCHEDULING_EVENT_CONFLICT = [4.0, 'Event conflict. Date/time is busy.'];\nRequestStatusProperty.SERVER_REQUEST_NOT_SUPPORTED = [5.0, 'Request not supported.'];\nRequestStatusProperty.SERVER_SERVICE_UNAVAILABLE = [5.1, 'Service unavailable.'];\nRequestStatusProperty.SERVER_INVALID_CALENDAR_SERVICE = [5.2, 'Invalid calendar service.'];\nRequestStatusProperty.SERVER_NO_SCHEDULING_FOR_USER = [5.3, 'No scheduling support for user.'];\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class TextProperty\n * @classdesc\n */\n\nclass TextProperty extends Property {\n /**\n * Gets the alternate text\n *\n * @returns {String}\n */\n get alternateText() {\n return this.getParameterFirstValue('ALTREP');\n }\n /**\n * Sets the alternate text\n *\n * @param {String} altRep The alternative text\n */\n\n\n set alternateText(altRep) {\n this.updateParameterIfExist('ALTREP', altRep);\n }\n /**\n * Gets language of this property\n *\n * @returns {String}\n */\n\n\n get language() {\n return this.getParameterFirstValue('LANGUAGE');\n }\n /**\n * Sets language of this property\n *\n * @param {String} language The language of the text\n */\n\n\n set language(language) {\n this.updateParameterIfExist('LANGUAGE', language);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class TriggerProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.3\n */\n\nclass TriggerProperty extends Property {\n /**\n * Gets the related parameter\n *\n * @returns {String}\n */\n get related() {\n if (!this.hasParameter('RELATED')) {\n return 'START';\n }\n\n return this.getParameterFirstValue('RELATED');\n }\n /**\n * Sets the related parameter\n *\n * @param {String} related Either START or END\n */\n\n\n set related(related) {\n this.updateParameterIfExist('RELATED', related);\n }\n /**\n * Gets the value of this trigger\n * (If you override the setter, you also have to override the getter or\n * it will simply be undefined)\n *\n * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]}\n */\n\n\n get value() {\n return super.value;\n }\n /**\n * Set the value of this trigger\n *\n * @param {DurationValue|DateTimeValue} value The time of trigger\n */\n\n\n set value(value) {\n super.value = value; // If it's not a duration, remove related parameter\n\n if (value instanceof DateTimeValue) {\n this.deleteParameter('RELATED');\n super.value = value.getInUTC();\n }\n }\n /**\n * Gets whether this alarm trigger is relative\n *\n * @returns {boolean}\n */\n\n\n isRelative() {\n return this.getFirstValue() instanceof DurationValue;\n }\n /**\n * Creates a new absolute trigger\n *\n * @param {DateTimeValue} alarmTime Time to create Trigger from\n * @returns {TriggerProperty}\n */\n\n\n static fromAbsolute(alarmTime) {\n return new TriggerProperty('TRIGGER', alarmTime);\n }\n /**\n * Creates a new relative trigger\n *\n * @param {DurationValue} alarmOffset Duration to create Trigger from\n * @param {Boolean=} relatedToStart Related to Start or end?\n * @returns {TriggerProperty}\n */\n\n\n static fromRelativeAndRelated(alarmOffset, relatedToStart = true) {\n return new TriggerProperty('TRIGGER', alarmOffset, [['RELATED', relatedToStart ? 'START' : 'END']]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @author Richard Steinmetz \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n *\n * @param {String} propName Name of the prop to get constructor for\n * @returns {AttendeeProperty|GeoProperty|ConferenceProperty|Property|AttachmentProperty|ImageProperty|RelationProperty|RequestStatusProperty}\n */\n\nfunction getConstructorForPropertyName(propName) {\n switch (uc(propName)) {\n case 'ATTACH':\n return AttachmentProperty;\n\n case 'ATTENDEE':\n case 'ORGANIZER':\n return AttendeeProperty;\n\n case 'CONFERENCE':\n return ConferenceProperty;\n\n case 'FREEBUSY':\n return FreeBusyProperty;\n\n case 'GEO':\n return GeoProperty;\n\n case 'IMAGE':\n return ImageProperty;\n\n case 'RELATED-TO':\n return RelationProperty;\n\n case 'REQUEST-STATUS':\n return RequestStatusProperty;\n\n case 'TRIGGER':\n return TriggerProperty;\n\n case 'COMMENT':\n case 'CONTACT':\n case 'DESCRIPTION':\n case 'LOCATION':\n case 'SUMMARY':\n return TextProperty;\n\n default:\n return Property;\n }\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class AbstractComponent\n */\n\nclass AbstractComponent extends observerTrait(lockableTrait(class {})) {\n /**\n * Constructor\n *\n * @param {String} name - Name of component\n * @param {Property[]} properties - Array of properties stored inside the component\n * @param {AbstractComponent[]} components - Array of subcomponents stored inside this component\n * @param {CalendarComponent|null} root - The root of this calendar document\n * @param {AbstractComponent|null} parent - The parent component of this element\n */\n constructor(name, properties = [], components = [], root = null, parent = null) {\n super();\n /**\n * Name of component\n *\n * @type {String}\n * @private\n */\n\n this._name = uc(name);\n /**\n * All properties in this component\n *\n * @type {Map}\n * @private\n */\n\n this._properties = new Map();\n /**\n * All subcomponents of this component\n *\n * @type {Map}\n * @private\n */\n\n this._components = new Map();\n /**\n * Root node of ical document\n *\n * @type {CalendarComponent|null}\n * @private\n */\n\n this._root = root;\n /**\n * Parent node\n *\n * @type {AbstractComponent|null}\n * @private\n */\n\n this._parent = parent;\n\n this._setPropertiesFromConstructor(properties);\n\n this._setComponentsFromConstructor(components);\n }\n /**\n * Get the component's name\n *\n * @returns {String}\n */\n\n\n get name() {\n return this._name;\n }\n /**\n * Gets the root of this calendar-document\n *\n * @returns {CalendarComponent}\n */\n\n\n get root() {\n return this._root;\n }\n /**\n * Sets the root of this calendar-document\n *\n * @param {CalendarComponent} root The new root element\n */\n\n\n set root(root) {\n this._modify();\n\n this._root = root;\n\n for (const property of this.getPropertyIterator()) {\n property.root = root;\n }\n\n for (const component of this.getComponentIterator()) {\n component.root = root;\n }\n }\n /**\n * Gets the parent component\n *\n * @returns {AbstractComponent}\n */\n\n\n get parent() {\n return this._parent;\n }\n /**\n * Sets the parent component\n *\n * @param {AbstractComponent} parent The new parent element\n */\n\n\n set parent(parent) {\n this._modify();\n\n this._parent = parent;\n }\n /**\n * Gets the first property that matches the given propertyName\n *\n * @param {String} propertyName Name of the property to get\n * @returns {Property|null}\n */\n\n\n getFirstProperty(propertyName) {\n if (!this._properties.has(uc(propertyName))) {\n return null;\n }\n\n return this._properties.get(uc(propertyName))[0];\n }\n /**\n * Gets the first value of the first property matching that name\n *\n * @param {String} propertyName Name of the property to get first value of\n * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n */\n\n\n getFirstPropertyFirstValue(propertyName) {\n const property = this.getFirstProperty(propertyName);\n\n if (!property) {\n return null;\n }\n\n return property.getFirstValue();\n }\n /**\n * update a property if it exists,\n * create a new one if it doesn't\n *\n * @param {String} propertyName Name of the property to update / create\n * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value to set\n */\n\n\n updatePropertyWithValue(propertyName, value) {\n this._modify();\n\n const property = this.getFirstProperty(propertyName);\n\n if (property) {\n property.value = value;\n } else {\n const constructor = getConstructorForPropertyName(propertyName);\n const newProperty = new constructor(propertyName, value, [], this, this.root);\n this.addProperty(newProperty);\n }\n }\n /**\n * Returns iterator for all properties of a given propertyName\n * or if no propertyName was given over all available properties\n *\n * @param {String=} propertyName Name of the property to get an iterator for\n */\n\n\n *getPropertyIterator(propertyName = null) {\n if (propertyName) {\n if (!this.hasProperty(propertyName)) {\n return;\n } // this._properties.get() returns an array\n // [Symbol.iterator]() creates an iterator from that array\n\n\n yield* this._properties.get(uc(propertyName)).slice()[Symbol.iterator]();\n } else {\n for (const key of this._properties.keys()) {\n yield* this.getPropertyIterator(key);\n }\n }\n }\n /**\n * Get all properties by name that match the given LANG parameter\n *\n * @param {String} propertyName The name of the property\n * @param {String|null} lang The lang to query\n * @private\n */\n\n\n *_getAllOfPropertyByLang(propertyName, lang) {\n for (const property of this.getPropertyIterator(propertyName)) {\n // getParameterFirstValue will return null if language not set, so no language parameter will match lang=null\n if (property.getParameterFirstValue('LANGUAGE') === lang) {\n yield property;\n }\n }\n }\n /**\n * Get the first property by name that matches the given LANG parameter\n *\n * @param {String} propertyName The name of the property\n * @param {String|null} lang The lang to query\n * @returns {Property|null}\n * @private\n */\n\n\n _getFirstOfPropertyByLang(propertyName, lang) {\n const iterator = this._getAllOfPropertyByLang(propertyName, lang);\n\n return iterator.next().value || null;\n }\n /**\n * Adds a property\n *\n * @param {Property} property The property to add\n * @returns {boolean}\n */\n\n\n addProperty(property) {\n this._modify();\n\n property.root = this.root;\n property.parent = this;\n\n if (this._properties.has(property.name)) {\n const arr = this._properties.get(property.name);\n\n if (arr.indexOf(property) !== -1) {\n // If the property is already part of this component,\n // return false to indicate an error\n return false;\n }\n\n arr.push(property);\n } else {\n this._properties.set(property.name, [property]);\n }\n\n property.subscribe(() => this._notifySubscribers());\n return true;\n }\n /**\n * Checks if this component has a property of the given name\n *\n * @param {String} propertyName The name of the property\n * @returns {boolean}\n */\n\n\n hasProperty(propertyName) {\n return this._properties.has(uc(propertyName));\n }\n /**\n * Removes the given property from this component\n *\n * @param {Property} property The property to delete\n * @returns {boolean}\n */\n\n\n deleteProperty(property) {\n this._modify();\n\n if (!this._properties.has(property.name)) {\n return false;\n }\n\n const arr = this._properties.get(property.name);\n\n const index = arr.indexOf(property);\n\n if (index === -1) {\n return false;\n }\n\n if (index !== -1 && arr.length === 1) {\n // If this is the last property of the given name,\n // remove the entire array from _properties\n // This is required for hasProperty to work properly\n this._properties.delete(property.name);\n } else {\n arr.splice(index, 1);\n }\n\n return true;\n }\n /**\n * Removes all properties of a given name\n *\n * @param {String} propertyName The name of the property\n * @returns {boolean}\n */\n\n\n deleteAllProperties(propertyName) {\n this._modify();\n\n return this._properties.delete(uc(propertyName));\n }\n /**\n * Gets the first component of a given name\n *\n * @param {String} componentName The name of the component\n * @returns {AbstractComponent|null}\n */\n\n\n getFirstComponent(componentName) {\n if (!this.hasComponent(componentName)) {\n return null;\n }\n\n return this._components.get(uc(componentName))[0];\n }\n /**\n * Returns iterator for all components of a given componentName\n * or if no componentName was given over all available components\n *\n * @param {String=} componentName The name of the component\n */\n\n\n *getComponentIterator(componentName) {\n if (componentName) {\n if (!this.hasComponent(componentName)) {\n return;\n } // this._components.get() returns an array\n // [Symbol.iterator]() creates an iterator from that array\n\n\n yield* this._components.get(uc(componentName)).slice()[Symbol.iterator]();\n } else {\n for (const key of this._components.keys()) {\n yield* this.getComponentIterator(key);\n }\n }\n }\n /**\n * Adds a new component to this component\n *\n * @param {AbstractComponent} component The component to add\n * @returns {Boolean}\n */\n\n\n addComponent(component) {\n this._modify();\n\n component.root = this.root;\n component.parent = this;\n\n if (this._components.has(component.name)) {\n const arr = this._components.get(component.name);\n\n if (arr.indexOf(component) !== -1) {\n // If the property is already part of this component,\n // return false to indicate an error\n return false;\n }\n\n arr.push(component);\n } else {\n this._components.set(component.name, [component]);\n }\n\n component.subscribe(() => this._notifySubscribers());\n return true;\n }\n /**\n * Checks if this component has a component of the given name\n *\n * @param {String} componentName The name of the component\n * @returns {boolean}\n */\n\n\n hasComponent(componentName) {\n return this._components.has(uc(componentName));\n }\n /**\n * Removes the given component from this component\n *\n * @param {AbstractComponent} component The component to delete\n * @returns {boolean}\n */\n\n\n deleteComponent(component) {\n this._modify();\n\n if (!this._components.has(component.name)) {\n return false;\n }\n\n const arr = this._components.get(component.name);\n\n const index = arr.indexOf(component);\n\n if (index === -1) {\n return false;\n }\n\n if (index !== -1 && arr.length === 1) {\n // If this is the last component of the given name,\n // remove the entire array from _components\n // This is required for hasComponent to work properly\n this._components.delete(component.name);\n } else {\n arr.splice(index, 1);\n }\n\n return true;\n }\n /**\n * Removes all components of a given name\n *\n * @param {String} componentName The name of the component\n * @returns {boolean}\n */\n\n\n deleteAllComponents(componentName) {\n this._modify();\n\n return this._components.delete(uc(componentName));\n }\n /**\n * Marks this parameter is immutable\n * locks it against further modification\n */\n\n\n lock() {\n super.lock();\n\n for (const property of this.getPropertyIterator()) {\n property.lock();\n }\n\n for (const component of this.getComponentIterator()) {\n component.lock();\n }\n }\n /**\n * Marks this parameter as mutable\n * allowing further modification\n */\n\n\n unlock() {\n super.unlock();\n\n for (const property of this.getPropertyIterator()) {\n property.unlock();\n }\n\n for (const component of this.getComponentIterator()) {\n component.unlock();\n }\n }\n /**\n * Creates a copy of this parameter\n *\n * @returns {AbstractComponent}\n */\n\n\n clone() {\n const properties = [];\n\n for (const property of this.getPropertyIterator()) {\n properties.push(property.clone());\n }\n\n const components = [];\n\n for (const component of this.getComponentIterator()) {\n components.push(component.clone());\n }\n\n return new this.constructor(this.name, properties, components, this.root, this.parent);\n }\n /**\n * Adds properties from constructor to this._properties\n *\n * @param {Property[]} properties Array of properties\n * @private\n */\n\n\n _setPropertiesFromConstructor(properties) {\n for (let property of properties) {\n if (Array.isArray(property)) {\n const constructor = getConstructorForPropertyName(property[0]);\n property = new constructor(property[0], property[1]);\n }\n\n this.addProperty(property);\n }\n }\n /**\n * Adds components from constructor to this._components\n *\n * @param {AbstractComponent[]} components Array of components\n * @private\n */\n\n\n _setComponentsFromConstructor(components) {\n for (const component of components) {\n this.addComponent(component);\n }\n }\n /**\n * Creates a new Component based on an ical object\n *\n * @param {ICAL.Component} icalValue The ical.js component to initialise from\n * @param {CalendarComponent=} root The root of the Calendar Document\n * @param {AbstractComponent=} parent The parent element of this component\n * @returns {AbstractComponent}\n */\n\n\n static fromICALJs(icalValue, root = null, parent = null) {\n if (!(icalValue instanceof ICAL.Component)) {\n throw new ExpectedICalJSError();\n }\n\n const name = icalValue.name;\n const newComponent = new this(name, [], [], root, parent);\n\n for (const icalProp of icalValue.getAllProperties()) {\n const constructor = getConstructorForPropertyName(icalProp.name);\n const property = constructor.fromICALJs(icalProp, root, newComponent);\n newComponent.addProperty(property);\n }\n\n for (const icalComp of icalValue.getAllSubcomponents()) {\n const constructor = this._getConstructorForComponentName(icalComp.name);\n\n const component = constructor.fromICALJs(icalComp, root, newComponent);\n newComponent.addComponent(component);\n }\n\n return newComponent;\n }\n /**\n * Gets a constructor for a give component name\n *\n * @param {String} componentName The name of the component\n * @returns {AbstractComponent}\n * @protected\n */\n\n\n static _getConstructorForComponentName(componentName) {\n return AbstractComponent;\n }\n /**\n * turns this Component into an ICAL.js component\n *\n * @returns {ICAL.Component}\n */\n\n\n toICALJs() {\n const component = createComponent(lc(this.name));\n\n for (const prop of this.getPropertyIterator()) {\n component.addProperty(prop.toICALJs());\n }\n\n for (const comp of this.getComponentIterator()) {\n component.addSubcomponent(comp.toICALJs());\n }\n\n return component;\n }\n\n}\n/**\n * Advertise properties that may at most occur once\n *\n * Properties, which may at most occur once, get a simple getter and setter\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n * @param {Boolean} advertiseValueOnly Whether to advertise the value only or the entire property\n */\n\nfunction advertiseSingleOccurrenceProperty(prototype, options, advertiseValueOnly = true) {\n options = getDefaultOncePropConfig(options);\n Object.defineProperty(prototype, options.name, {\n get() {\n const value = this.getFirstPropertyFirstValue(options.iCalendarName);\n\n if (!value) {\n return options.defaultValue;\n } else {\n if (Array.isArray(options.allowedValues) && !options.allowedValues.includes(value)) {\n return options.unknownValue;\n }\n\n return value;\n }\n },\n\n set(value) {\n this._modify();\n\n if (value === null) {\n this.deleteAllProperties(options.iCalendarName);\n return;\n }\n\n if (Array.isArray(options.allowedValues) && !options.allowedValues.includes(value)) {\n throw new TypeError('Illegal value');\n }\n\n this.updatePropertyWithValue(options.iCalendarName, value);\n }\n\n });\n}\n/**\n * Advertise properties that may occur more than once\n *\n * Properties, which may occur more than once, won't get simple getter / setter,\n * but rather a more advanced set of get{name}Iterator, get{name}List, add{name},\n * remove{name} and clearAll{name} methods\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n */\n\nfunction advertiseMultipleOccurrenceProperty(prototype, options) {\n options = getDefaultMultiplePropConfig(options);\n\n prototype['get' + ucFirst(options.name) + 'Iterator'] = function* () {\n yield* this.getPropertyIterator(options.iCalendarName);\n };\n\n prototype['get' + ucFirst(options.name) + 'List'] = function () {\n return Array.from(this['get' + ucFirst(options.name) + 'Iterator']());\n };\n\n prototype['remove' + ucFirst(options.name)] = function (property) {\n this.deleteProperty(property);\n };\n\n prototype['clearAll' + ucFirst(options.pluralName)] = function () {\n this.deleteAllProperties(options.iCalendarName);\n };\n}\n/**\n * advertises a multi-value string property enabling simple access by language\n * This is used for:\n * - CATEGORIES\n * - RESOURCES\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n */\n\nfunction advertiseMultiValueStringPropertySeparatedByLang(prototype, options) {\n options = getDefaultMultiplePropConfig(options);\n\n prototype['get' + ucFirst(options.name) + 'Iterator'] = function* (lang = null) {\n for (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n yield* property.getValueIterator();\n }\n };\n\n prototype['get' + ucFirst(options.name) + 'List'] = function (lang = null) {\n return Array.from(this['get' + ucFirst(options.name) + 'Iterator'](lang));\n };\n\n prototype['add' + ucFirst(options.name)] = function (value, lang = null) {\n const property = this._getFirstOfPropertyByLang(options.iCalendarName, lang);\n\n if (property) {\n property.addValue(value);\n } else {\n const newProperty = new Property(options.iCalendarName, [value]);\n\n if (lang) {\n const languageParameter = new Parameter('LANGUAGE', lang);\n newProperty.setParameter(languageParameter);\n }\n\n this.addProperty(newProperty);\n }\n };\n\n prototype['remove' + ucFirst(options.name)] = function (value, lang = null) {\n for (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n if (property.isMultiValue() && property.hasValue(value)) {\n if (property.value.length === 1) {\n this.deleteProperty(property);\n return true;\n }\n\n property.removeValue(value);\n return true;\n }\n }\n\n return false;\n };\n\n prototype['clearAll' + ucFirst(options.pluralName)] = function (lang = null) {\n for (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n this.deleteProperty(property);\n }\n };\n}\n/**\n * advertise a component\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising components\n */\n\nfunction advertiseComponent(prototype, options) {\n options = getDefaultMultipleCompConfig(options);\n\n prototype['get' + ucFirst(options.name) + 'Iterator'] = function* () {\n yield* this.getComponentIterator(options.iCalendarName);\n };\n\n prototype['get' + ucFirst(options.name) + 'List'] = function () {\n return Array.from(this['get' + ucFirst(options.name) + 'Iterator']());\n };\n\n prototype['remove' + ucFirst(options.name)] = function (component) {\n this.deleteComponent(component);\n };\n\n prototype['clearAll' + ucFirst(options.pluralName)] = function () {\n this.deleteAllComponents(options.iCalendarName);\n };\n}\n/**\n * Fill up the options object for advertiseProperty\n *\n * @param {Object|String} options The options object\n * @param {String} options.name Advertised name of the property\n * @param {String=} options.iCalendarName The iCalendar name of the property\n * @param {String[]=} options.allowedValues A list of allowed values\n * @param {String|Number=} options.defaultValue The default value if unset\n * @param {String|Number=} options.unknownValue The fallback value if unknown value\n * @returns {Object}\n */\n\nfunction getDefaultOncePropConfig(options) {\n if (typeof options === 'string') {\n options = {\n name: options\n };\n }\n\n return Object.assign({}, {\n iCalendarName: uc(options.name),\n pluralName: options.name + 's',\n allowedValues: null,\n defaultValue: null,\n unknownValue: null\n }, options);\n}\n/**\n * Fill up the options object for advertiseProperty\n *\n * @param {Object|String} options The options object\n * @param {String} options.name Advertised name of property\n * @param {String=} options.iCalendarName The iCalendar name of the property\n * @param {Boolean=} options.customAddMethod Whether or not to use a custom add method\n * @returns {Object}\n */\n\n\nfunction getDefaultMultiplePropConfig(options) {\n if (typeof options === 'string') {\n options = {\n name: options\n };\n }\n\n return Object.assign({}, {\n iCalendarName: uc(options.name),\n pluralName: options.name + 's'\n }, options);\n}\n/**\n * Fill up the options object for advertiseComponent\n *\n * @param {Object|String} options Options destructuring object\n * @param {String} options.name Advertised name of component\n * @param {String=} options.iCalendarName The iCalendar name of the component\n * @param {Boolean=} options.customAddMethod Whether or not to use a custom add method\n * @returns {Object}\n */\n\n\nfunction getDefaultMultipleCompConfig(options) {\n if (typeof options === 'string') {\n options = {\n name: options\n };\n }\n\n return Object.assign({}, {\n iCalendarName: 'V' + uc(options.name),\n pluralName: options.name + 's'\n }, options);\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Gets a new DateObject set to now\n *\n * @returns {Date}\n */\nfunction dateFactory() {\n return new Date();\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass RecurringWithoutDtStartError extends Error {}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class RecurrenceHelper\n * @classdesc\n *\n * TODO: This needs caching\n */\n\nclass RecurrenceManager {\n /**\n * Constructor\n *\n * @param {AbstractRecurringComponent} masterItem The master-item of the recurrence-set\n */\n constructor(masterItem) {\n /**\n *\n * @type {AbstractRecurringComponent}\n * @private\n */\n this._masterItem = masterItem;\n /**\n * Set of Recurrence exception items\n *\n * Number is the unix time representation of the recurrence ID\n *\n * @type {Map}\n * @private\n */\n\n this._recurrenceExceptionItems = new Map();\n /**\n * A sorted index of recurrence ids with range\n *\n * @type {Number[]}\n * @private\n */\n\n this._rangeRecurrenceExceptionItemsIndex = [];\n /**\n * Cached difference of dtstart and recurrenceId for recurrence exceptions with range\n *\n * @type {Map}\n * @private\n */\n\n this._rangeRecurrenceExceptionItemsDiffCache = new Map();\n /**\n * Set of Recurrence exception items that have a RANGE of THISANDFUTURE\n *\n * Number is the unix time representation of the recurrence ID\n *\n * @type {Map}\n * @private\n */\n\n this._rangeRecurrenceExceptionItems = new Map();\n }\n /**\n *\n * @returns {AbstractRecurringComponent}\n */\n\n\n get masterItem() {\n return this._masterItem;\n }\n /**\n *\n * @param {AbstractRecurringComponent} masterItem The master-item of the recurrence-set\n */\n\n\n set masterItem(masterItem) {\n this._masterItem = masterItem;\n }\n /**\n * Gets an iterator over all registered recurrence exceptions of this calendar-document\n */\n\n\n *getRecurrenceExceptionIterator() {\n yield* this._recurrenceExceptionItems.values();\n }\n /**\n * Gets a list of all registered recurrence-exceptions of this calendar-document\n *\n * @returns {AbstractRecurringComponent[]}\n */\n\n\n getRecurrenceExceptionList() {\n return Array.from(this.getRecurrenceExceptionIterator());\n }\n /**\n * Checks if there is a recurrence Exception for a given recurrenceId\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to check\n * @returns {boolean}\n */\n\n\n hasRecurrenceExceptionForId(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n return this._recurrenceExceptionItems.has(recurrenceId);\n }\n /**\n * Gets the recurrence exception for a given recurrence Id\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n * @returns {AbstractRecurringComponent|null}\n */\n\n\n getRecurrenceException(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n return this._recurrenceExceptionItems.get(recurrenceId) || null;\n }\n /**\n * Check if there is a recurrence-exception with a range for a given recurrence-id\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to check\n * @returns {boolean}\n */\n\n\n hasRangeRecurrenceExceptionForId(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n if (this._rangeRecurrenceExceptionItemsIndex.length === 0) {\n return false;\n }\n\n return this._rangeRecurrenceExceptionItemsIndex[0] < recurrenceId;\n }\n /**\n * Get recurrence-exception with range that's affecting the given recurrence-id\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n * @returns {AbstractRecurringComponent|null}\n */\n\n\n getRangeRecurrenceExceptionForId(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n const index = ICAL.helpers.binsearchInsert(this._rangeRecurrenceExceptionItemsIndex, recurrenceId, (a, b) => a - b);\n\n if (index === 0) {\n return null;\n }\n\n const key = this._rangeRecurrenceExceptionItemsIndex[index - 1];\n return this._rangeRecurrenceExceptionItems.get(key);\n }\n /**\n * Gets the difference between recurrence-id and start\n * Mostly needed to handle recurrence-exceptions with range\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n * @returns {DurationValue|null}\n */\n\n\n getRangeRecurrenceExceptionDiff(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n if (this._rangeRecurrenceExceptionItemsDiffCache.has(recurrenceId)) {\n return this._rangeRecurrenceExceptionItemsDiffCache.get(recurrenceId);\n }\n\n const recurrenceException = this.getRangeRecurrenceExceptionForId(recurrenceId);\n\n if (!recurrenceException) {\n return null;\n }\n\n const originalRecurrenceId = recurrenceException.recurrenceId;\n const originalModifiedStart = recurrenceException.startDate;\n const difference = originalModifiedStart.subtractDateWithTimezone(originalRecurrenceId);\n difference.lock();\n\n this._rangeRecurrenceExceptionItemsDiffCache.set(recurrenceId, difference);\n\n return difference;\n }\n /**\n * Adds a new recurrence-exception to this calendar-document\n *\n * @param {AbstractRecurringComponent} recurrenceExceptionItem The recurrence-exception-item to relate to recurrence-set\n */\n\n\n relateRecurrenceException(recurrenceExceptionItem) {\n this._modify();\n\n const key = this._getRecurrenceIdKey(recurrenceExceptionItem);\n\n this._recurrenceExceptionItems.set(key, recurrenceExceptionItem);\n\n if (recurrenceExceptionItem.modifiesFuture()) {\n this._rangeRecurrenceExceptionItems.set(key, recurrenceExceptionItem);\n\n const index = ICAL.helpers.binsearchInsert(this._rangeRecurrenceExceptionItemsIndex, key, (a, b) => a - b);\n\n this._rangeRecurrenceExceptionItemsIndex.splice(index, 0, key);\n }\n\n recurrenceExceptionItem.recurrenceManager = this;\n }\n /**\n * Removes a recurrence exception by the item itself\n *\n * @param {AbstractRecurringComponent} recurrenceExceptionItem The recurrence-exception remove\n */\n\n\n removeRecurrenceException(recurrenceExceptionItem) {\n const key = this._getRecurrenceIdKey(recurrenceExceptionItem);\n\n this.removeRecurrenceExceptionByRecurrenceId(key);\n }\n /**\n * Removes a recurrence exception by it's unix-time\n *\n * @param {Number} recurrenceId The recurrence-exception to remove\n */\n\n\n removeRecurrenceExceptionByRecurrenceId(recurrenceId) {\n this._modify();\n\n this._recurrenceExceptionItems.delete(recurrenceId);\n\n this._rangeRecurrenceExceptionItems.delete(recurrenceId);\n\n this._rangeRecurrenceExceptionItemsDiffCache.delete(recurrenceId);\n\n const index = this._rangeRecurrenceExceptionItemsIndex.indexOf(recurrenceId);\n\n if (index !== -1) {\n this._rangeRecurrenceExceptionItemsIndex.splice(index, 1);\n }\n }\n /**\n *\n * @param {AbstractRecurringComponent} recurrenceExceptionItem Object to get key from\n * @returns {Number}\n * @private\n */\n\n\n _getRecurrenceIdKey(recurrenceExceptionItem) {\n return recurrenceExceptionItem.recurrenceId.unixTime;\n }\n /**\n * Gets an iterator over all recurrence rules\n */\n\n\n *getRecurrenceRuleIterator() {\n for (const property of this._masterItem.getPropertyIterator('RRULE')) {\n yield property.getFirstValue();\n }\n }\n /**\n * Gets a list of all recurrence rules\n *\n * @returns {RecurValue[]}\n */\n\n\n getRecurrenceRuleList() {\n return Array.from(this.getRecurrenceRuleIterator());\n }\n /**\n * Adds a new recurrence rule\n *\n * @param {RecurValue} recurrenceRule The RRULE to add\n */\n\n\n addRecurrenceRule(recurrenceRule) {\n this._modify();\n\n this.resetCache();\n const property = new Property('RRULE', recurrenceRule);\n\n this._masterItem.addProperty(property);\n }\n /**\n * Removes a recurrence rule\n *\n * @param {RecurValue} recurrenceRule The RRULE to remove\n */\n\n\n removeRecurrenceRule(recurrenceRule) {\n this._modify();\n\n this.resetCache();\n\n for (const property of this._masterItem.getPropertyIterator('RRULE')) {\n if (property.getFirstValue() === recurrenceRule) {\n this._masterItem.deleteProperty(property);\n }\n }\n }\n /**\n * Removes all recurrence rules\n */\n\n\n clearAllRecurrenceRules() {\n this._modify();\n\n this.resetCache();\n\n this._masterItem.deleteAllProperties('RRULE');\n }\n /**\n * Gets an iterator over all recurrence\n *\n * @param {boolean} isNegative Whether or not to get EXDATES\n * @param {String} valueType Limit type of EXDATES\n */\n\n\n *getRecurrenceDateIterator(isNegative = false, valueType = null) {\n for (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n yield* property.getValueIterator();\n }\n }\n /**\n *\n * @param {boolean} isNegative Whether or not to get EXDATES\n * @param {String} valueType Limit type of EXDATES\n * @returns {(DateTimeValue|PeriodValue)[]}\n */\n\n\n listAllRecurrenceDates(isNegative = false, valueType = null) {\n return Array.from(this.getRecurrenceDateIterator(isNegative, valueType));\n }\n /**\n * This adds a new recurrence-date value.\n * It automatically adds it to the first property of the same value-type\n * or creates a new one if necessary\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {DateTimeValue|PeriodValue} value EXDATE to add\n */\n\n\n addRecurrenceDate(isNegative = false, value) {\n this._modify();\n\n this.resetCache(); // Only add DateTime Value if its of the same timezone\n\n let timezoneId = null;\n\n if (value instanceof DateTimeValue && !value.isDate) {\n timezoneId = value.timezoneId;\n }\n\n const valueType = this._getValueTypeByValue(value);\n\n const iterator = this._getPropertiesForRecurrenceDate(isNegative, valueType, timezoneId);\n\n const first = iterator.next.value;\n\n if (first instanceof Property) {\n const propertyValue = first.value;\n propertyValue.push(value);\n this.masterItem.markPropertyAsDirty(isNegative ? 'EXDATE' : 'RDATE');\n } else {\n const propertyName = this._getPropertyNameByIsNegative(isNegative);\n\n const property = new Property(propertyName, value);\n\n this._masterItem.addProperty(property);\n }\n }\n /**\n * Checks if a recurrenceID is an RDATE or EXDATE\n *\n * @param {Boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {DateTimeValue} recurrenceId Recurrence-Id to check\n * @returns {boolean}\n */\n\n\n hasRecurrenceDate(isNegative = false, recurrenceId) {\n for (let value of this.getRecurrenceDateIterator(isNegative)) {\n if (value instanceof PeriodValue) {\n value = value.start;\n }\n\n if (value.compare(recurrenceId) === 0) {\n return true;\n }\n }\n\n return false;\n }\n /**\n *\n * @param {Boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {DateTimeValue} recurrenceId Recurrence-Id to get\n * @returns {null|DateTimeValue|PeriodValue}\n */\n\n\n getRecurrenceDate(isNegative = false, recurrenceId) {\n for (const value of this.getRecurrenceDateIterator(isNegative)) {\n let valueToCheck = value;\n\n if (valueToCheck instanceof PeriodValue) {\n valueToCheck = valueToCheck.start;\n }\n\n if (valueToCheck.compare(recurrenceId) === 0) {\n return value;\n }\n }\n\n return null;\n }\n /**\n * This deletes a recurrence-date value from this recurrence-set\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {DateTimeValue|PeriodValue} value The EXDATE/RDATE to remove\n */\n\n\n removeRecurrenceDate(isNegative = false, value) {\n this._modify();\n\n this.resetCache();\n\n const valueType = this._getValueTypeByValue(value);\n\n for (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n for (const valueToCheck of property.getValueIterator()) {\n if (value === valueToCheck) {\n const allValues = property.value;\n\n if (allValues.length === 1) {\n this.masterItem.deleteProperty(property);\n continue;\n }\n\n const index = allValues.indexOf(value);\n allValues.splice(index, 1);\n this.masterItem.markPropertyAsDirty(isNegative ? 'EXDATE' : 'RDATE');\n }\n }\n }\n }\n /**\n * Clears all recurrence-date information\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {String} valueType The type of RDATEs/EXDATEs to remove\n */\n\n\n clearAllRecurrenceDates(isNegative = false, valueType = null) {\n this._modify();\n\n this.resetCache();\n\n for (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n this._masterItem.deleteProperty(property);\n }\n }\n /**\n * Gets the property name for recurrence dates based on the isNegative boolean\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @returns {string}\n * @private\n */\n\n\n _getPropertyNameByIsNegative(isNegative) {\n return isNegative ? 'EXDATE' : 'RDATE';\n }\n /**\n * Gets the value type based on the provided value\n *\n * @param {PeriodValue|DateTimeValue} value The value to get type of property from\n * @returns {string}\n * @private\n */\n\n\n _getValueTypeByValue(value) {\n if (value instanceof PeriodValue) {\n return 'PERIOD';\n } else if (value.isDate) {\n return 'DATE';\n } else {\n return 'DATETIME';\n }\n }\n /**\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {String|null} valueType The type of values to get\n * @param {ICAL.Timezone=} timezoneId Filter by timezone\n * @private\n */\n\n\n *_getPropertiesForRecurrenceDate(isNegative, valueType, timezoneId = null) {\n const propertyName = this._getPropertyNameByIsNegative(isNegative);\n\n for (const property of this._masterItem.getPropertyIterator(propertyName)) {\n if (valueType === null) {\n yield property;\n } else if (uc(valueType) === 'PERIOD' && property.getFirstValue() instanceof PeriodValue) {\n yield property;\n } else if (uc(valueType) === 'DATE' && property.getFirstValue().isDate) {\n yield property;\n } else if (uc(valueType) === 'DATETIME' && !property.getFirstValue().isDate) {\n if (timezoneId === null || property.getFirstValue().timezoneId === timezoneId) {\n yield property;\n }\n }\n }\n }\n /**\n * Checks if the entire set of recurrence rules is finite\n *\n * @returns {boolean}\n */\n\n\n isFinite() {\n return this.getRecurrenceRuleList().every(rule => rule.isFinite());\n }\n /**\n * @returns {boolean}\n */\n\n\n isEmptyRecurrenceSet() {\n return this._getRecurExpansionObject().next() === undefined;\n }\n /**\n * Gets the occurrence at the exact given recurrenceId\n *\n * @param {DateTimeValue} recurrenceId RecurrenceId to get\n * @returns {AbstractRecurringComponent|null}\n */\n\n\n getOccurrenceAtExactly(recurrenceId) {\n if (!this.masterItem.isRecurring()) {\n if (this.masterItem.getReferenceRecurrenceId().compare(recurrenceId) === 0) {\n return this.masterItem;\n }\n\n return null;\n }\n\n const iterator = this._getRecurExpansionObject();\n\n const icalRecurrenceId = recurrenceId.toICALJs();\n let next;\n\n while (next = iterator.next()) {\n if (next.compare(icalRecurrenceId) === 0) {\n // It's a match 🔥\n return this._getOccurrenceAtRecurrenceId(DateTimeValue.fromICALJs(next));\n }\n\n if (next.compare(icalRecurrenceId) === 1) {\n // We hit an occurrence in the future, return null\n return null;\n }\n }\n\n return null;\n }\n /**\n * Gets the closest occurrence to the given recurrenceId.\n * That's either the closest in the future, or in case the\n * recurrence-set ends before recurrenceId, the last one\n *\n * This function works solely on the basis of recurrence-ids.\n * It ignores the actual date of recurrence-exceptions.\n * Ideally we should fix it and provide a similar implementation\n * like getAllOccurrencesBetweenIterator, but for now it's the\n * accepted behavior.\n *\n * @param {DateTimeValue} recurrenceId RecurrenceId to get\n * @returns {AbstractRecurringComponent}\n */\n\n\n getClosestOccurrence(recurrenceId) {\n if (!this.masterItem.isRecurring()) {\n return this.masterItem;\n }\n\n const iterator = this._getRecurExpansionObject();\n\n recurrenceId = recurrenceId.toICALJs();\n let previous = null;\n let next;\n\n while (next = iterator.next()) {\n if (next.compare(recurrenceId) === -1) {\n previous = next;\n } else {\n // This is the case when it's either equal or in the future\n const dateTimeValue = DateTimeValue.fromICALJs(next);\n return this._getOccurrenceAtRecurrenceId(dateTimeValue);\n }\n }\n\n const dateTimeValue = DateTimeValue.fromICALJs(previous);\n return this._getOccurrenceAtRecurrenceId(dateTimeValue);\n }\n /**\n * Get all occurrences between start and end\n * Start and End are inclusive\n *\n * @param {DateTimeValue} queriedTimeRangeStart Start of time-range\n * @param {DateTimeValue} queriedTimeRangeEnd End of time-range\n */\n\n\n *getAllOccurrencesBetweenIterator(queriedTimeRangeStart, queriedTimeRangeEnd) {\n if (!this.masterItem.isRecurring()) {\n if (typeof this.masterItem.isInTimeFrame !== 'function') {\n yield this.masterItem;\n }\n\n if (this.masterItem.isInTimeFrame(queriedTimeRangeStart, queriedTimeRangeEnd)) {\n yield this.masterItem;\n }\n\n return;\n }\n\n const iterator = this._getRecurExpansionObject();\n\n const queriedICALJsTimeRangeStart = queriedTimeRangeStart.toICALJs();\n const queriedICALJsTimeRangeEnd = queriedTimeRangeEnd.toICALJs();\n const recurrenceIdKeys = Array.from(this._recurrenceExceptionItems.keys());\n const maximumRecurrenceId = Math.max.apply(Math, recurrenceIdKeys);\n let next;\n\n while (next = iterator.next()) {\n // We have to get the real occurrence to resolve RECURRENCE-IDs\n const dateTimeValue = DateTimeValue.fromICALJs(next);\n\n const occurrence = this._getOccurrenceAtRecurrenceId(dateTimeValue); // Check what type of recurrence object we are dealing with\n // Depending on that, the time to compare to changes\n // If we are dealing events, we have to compare to the end-date\n // If we are dealing with tasks, we will have to compare to the due-date\n // etc.\n // For now we are only implementing events, other components will come later\n\n\n let compareDate = null;\n\n switch (uc(occurrence.name)) {\n case 'VEVENT':\n case 'VTODO':\n compareDate = occurrence.endDate.toICALJs();\n break;\n\n case 'VJOURNAL':\n default:\n compareDate = next;\n break;\n } // If the date we are comparing to is before our time-range,\n // we don't want to yield this event\n\n\n if (compareDate.compare(queriedICALJsTimeRangeStart) === -1) {\n continue;\n } // If we have an object that is:\n // 1. either\n // 1.1 - no recurrence exception\n // or\n // 1.2 - a recurrence-exception that modifies the future\n // and\n // 2. starts after the queried time-range ends, then we stop expanding\n\n\n const startDate = occurrence.startDate.toICALJs();\n\n if ((!occurrence.isRecurrenceException() || occurrence.modifiesFuture()) && startDate.compare(queriedICALJsTimeRangeEnd) === 1) {\n // Just break if there are no recurrence-exceptions\n if (this._recurrenceExceptionItems.size === 0) {\n break;\n } // Keep iterating until our currently checked recurrenceId\n // is bigger than the maximum recurrence-id that we have.\n\n\n if (next.toUnixTime() > maximumRecurrenceId) {\n break;\n } else {\n continue;\n }\n }\n\n if (typeof occurrence.isInTimeFrame !== 'function') {\n yield occurrence;\n }\n\n if (occurrence.isInTimeFrame(queriedTimeRangeStart, queriedTimeRangeEnd)) {\n yield occurrence;\n }\n }\n }\n /**\n * Get all occurrences between start and end\n *\n * @param {DateTimeValue} start Start of time-range\n * @param {DateTimeValue} end End of time-range\n * @returns {(*|null)[]}\n */\n\n\n getAllOccurrencesBetween(start, end) {\n return Array.from(this.getAllOccurrencesBetweenIterator(start, end));\n }\n /**\n * Update the UID of all components in the recurrence set\n *\n * @param {String} newUID The new UID of the calendar-document\n */\n\n\n updateUID(newUID) {\n this._masterItem.updatePropertyWithValue('UID', newUID);\n\n for (const recurrenceExceptionItem of this.getRecurrenceExceptionIterator()) {\n recurrenceExceptionItem.updatePropertyWithValue('UID', newUID);\n }\n }\n /**\n * Updates the recurrence-information accordingly,\n * whenever the start-date of the master-item changes\n *\n * @param {DateTimeValue} newStartDate The new start-date\n * @param {DateTimeValue} oldStartDate The old start-date\n */\n\n\n updateStartDateOfMasterItem(newStartDate, oldStartDate) {\n const difference = newStartDate.subtractDateWithTimezone(oldStartDate); // update EXDATE\n\n for (const exdate of this.getRecurrenceDateIterator(true)) {\n // If this EXDATE matches an RDATE, don't update, because we don't update RDATEs\n if (this.hasRecurrenceDate(false, exdate)) {\n continue;\n } // EXDATE are always either DATE or DATETIME,\n // no need to check for PERIOD\n\n\n exdate.addDuration(difference);\n }\n\n for (const recurrenceException of this.getRecurrenceExceptionIterator()) {\n // We don't edit RDATES, so don't update recurrence-ids if they\n // are based on an RDATE\n if (this.hasRecurrenceDate(false, recurrenceException.recurrenceId)) {\n continue;\n }\n\n this.removeRecurrenceException(recurrenceException);\n recurrenceException.recurrenceId.addDuration(difference);\n this.relateRecurrenceException(recurrenceException);\n } // update UNTIL of recurrence-rules\n\n\n for (const rrule of this.getRecurrenceRuleIterator()) {\n if (rrule.until) {\n rrule.until.addDuration(difference);\n }\n }\n }\n /**\n * Gets an object for the given recurrenceId\n * It does not verify that the given recurrenceId\n * is actually a valid recurrence of this calendar-document\n *\n * @param {DateTimeValue} recurrenceId Recurrence-Id to get\n * @returns {AbstractRecurringComponent}\n * @private\n */\n\n\n _getOccurrenceAtRecurrenceId(recurrenceId) {\n if (this.hasRecurrenceExceptionForId(recurrenceId)) {\n const recurrenceException = this.getRecurrenceException(recurrenceId);\n\n if (!recurrenceException.canCreateRecurrenceExceptions()) {\n return recurrenceException;\n }\n\n return recurrenceException.forkItem(recurrenceId);\n } else if (this.hasRangeRecurrenceExceptionForId(recurrenceId)) {\n const rangeRecurrenceException = this.getRangeRecurrenceExceptionForId(recurrenceId);\n const difference = this.getRangeRecurrenceExceptionDiff(recurrenceId);\n return rangeRecurrenceException.forkItem(recurrenceId, difference);\n } else if (recurrenceId.compare(this._masterItem.startDate) === 0) {\n if (!this._masterItem.canCreateRecurrenceExceptions()) {\n return this._masterItem;\n }\n\n return this._masterItem.forkItem(recurrenceId);\n } else {\n return this._masterItem.forkItem(recurrenceId);\n }\n }\n /**\n * Resets the internal recur-expansion object.\n * This is necessary after each modification of the\n * recurrence-information\n */\n\n\n resetCache() {// TODO - implement me\n }\n /**\n * Gets a new ICAL.RecurExpansion object\n *\n * Inspired by how ICAL.JS RecurExpansion\n * serialises and unserialises its state\n *\n * @returns {ICAL.RecurExpansion}\n * @private\n */\n\n\n _getRecurExpansionObject() {\n if (this._masterItem.startDate === null) {\n throw new RecurringWithoutDtStartError();\n }\n\n const dtstart = this._masterItem.startDate.toICALJs();\n\n let last = dtstart.clone();\n const ruleIterators = [];\n let ruleDateInc;\n const ruleDates = [];\n let ruleDate = null;\n const exDates = [];\n const complete = false;\n\n for (const ruleValue of this.getRecurrenceRuleIterator()) {\n ruleIterators.push(ruleValue.toICALJs().iterator(dtstart));\n ruleIterators[ruleIterators.length - 1].next();\n }\n\n for (let rDateValue of this.getRecurrenceDateIterator()) {\n if (rDateValue instanceof PeriodValue) {\n rDateValue = rDateValue.start;\n }\n\n rDateValue = rDateValue.toICALJs();\n const index = ICAL.helpers.binsearchInsert(ruleDates, rDateValue, (a, b) => a.compare(b));\n ruleDates.splice(index, 0, rDateValue);\n } // Is the first RDATE prior to our current DTSTART?\n\n\n if (ruleDates.length > 0 && ruleDates[0].compare(dtstart) === -1) {\n ruleDateInc = 0;\n last = ruleDates[0].clone();\n } else {\n ruleDateInc = ICAL.helpers.binsearchInsert(ruleDates, dtstart, (a, b) => a.compare(b));\n ruleDate = exDates[ruleDateInc];\n }\n\n for (let exDateValue of this.getRecurrenceDateIterator(true)) {\n exDateValue = exDateValue.toICALJs();\n const index = ICAL.helpers.binsearchInsert(exDates, exDateValue, (a, b) => a.compare(b));\n exDates.splice(index, 0, exDateValue);\n }\n\n const exDateInc = ICAL.helpers.binsearchInsert(exDates, dtstart, (a, b) => a.compare(b));\n const exDate = exDates[exDateInc];\n return new ICAL.RecurExpansion({\n dtstart,\n last,\n ruleIterators,\n ruleDateInc,\n exDateInc,\n ruleDates,\n ruleDate,\n exDates,\n exDate,\n complete\n });\n }\n /**\n * @private\n */\n\n\n _modify() {\n if (this._masterItem.isLocked()) {\n throw new ModificationNotAllowedError();\n }\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class TimezoneComponent\n * @classdesc\n *\n * There are no advertised properties / components for the TimezoneComponent,\n * since we don't care about it.\n * Editing / accessing the timezone information directly is not a use-case\n * All the timezone-handling is done by the underlying ICAL.JS\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.5\n */\n\nclass TimezoneComponent extends AbstractComponent {\n /**\n * Returns a calendar-js Timezone object\n *\n * @returns {Timezone}\n */\n toTimezone() {\n return new Timezone(this.toICALJs());\n }\n\n}\n/**\n * The timezoneId of this timezone-component\n *\n * @name TimezoneComponent#timezoneId\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(TimezoneComponent.prototype, {\n name: 'timezoneId',\n iCalendarName: 'tzid'\n});\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class Timezone\n */\n\nclass Timezone {\n /**\n * Constructor\n *\n * @param {String|ICAL.Timezone|ICAL.Component} timezoneId Id of the timezone\n * @param {String?} ics The iCalendar timezone definition\n */\n constructor(timezoneId, ics) {\n /**\n * Id of the timezone, used before initialising\n *\n * @type {String}\n * @private\n */\n this._timezoneId = null;\n /**\n * ICS representation of the timezone, used before initialising\n *\n * @type {String}\n * @private\n */\n\n this._ics = null;\n /**\n * @type {ICAL.Timezone|null}\n */\n\n this._innerValue = null;\n /**\n *\n * @type {boolean}\n * @private\n */\n\n this._initialized = false; // If the first parameter is already\n // an instance of ICAL.Timezone,\n // skip lazy loading\n\n if (timezoneId instanceof ICAL.Timezone) {\n this._innerValue = timezoneId;\n this._initialized = true;\n } else if (timezoneId instanceof ICAL.Component) {\n this._innerValue = new ICAL.Timezone(timezoneId);\n this._initialized = true;\n } else {\n this._timezoneId = timezoneId;\n this._ics = ics;\n }\n }\n /**\n * Gets the timezone id\n *\n * @returns {String}\n */\n\n\n get timezoneId() {\n if (this._initialized) {\n return this._innerValue.tzid;\n }\n\n return this._timezoneId;\n }\n /**\n * Gets the UTC Offset for a given date in this timezone\n *\n * @param {Number} year Year of the date\n * @param {Number} month Month of the date (1-based)\n * @param {Number} day Day of the date\n * @param {Number} hour Hour of the date\n * @param {Number} minute Minute of the date\n * @param {Number} second Second of the date\n * @returns {Number}\n */\n\n\n offsetForArray(year, month, day, hour, minute, second) {\n this._initialize();\n\n const time = new ICAL.Time({\n year,\n month,\n day,\n hour,\n minute,\n second,\n isDate: false\n });\n return this._innerValue.utcOffset(time);\n }\n /**\n * Converts a timestamp to an array of year, month, day, hour, minute, second.\n *\n * @param {Number} ms Timestamp in milliseconds\n * @returns {Number[]}\n */\n\n\n timestampToArray(ms) {\n this._initialize(); // just create a dummy object because fromUnixTime is not exposed on ICAL.Time\n\n\n const time = ICAL.Time.fromData({\n year: 1970,\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0\n });\n time.fromUnixTime(Math.floor(ms / 1000));\n const local = time.convertToZone(this._innerValue);\n return [local.year, local.month, // THIS is 1-based !\n local.day, local.hour, local.minute, local.second];\n }\n /**\n *\n * @returns {TimezoneComponent}\n */\n\n\n toTimezoneComponent() {\n return TimezoneComponent.fromICALJs(this.toICALJs());\n }\n /**\n * Returns\n *\n * @returns {ICAL.Timezone}\n */\n\n\n toICALTimezone() {\n this._initialize();\n\n return this._innerValue;\n }\n /**\n * Returns the corresponding ICAL.\n *\n * @returns {ICAL.Component}\n */\n\n\n toICALJs() {\n this._initialize();\n\n return this._innerValue.component;\n }\n /**\n * Initialises the inner ICAL.Timezone component\n *\n * @private\n */\n\n\n _initialize() {\n if (!this._initialized) {\n const jCal = ICAL.parse(this._ics);\n const icalComp = new ICAL.Component(jCal);\n this._innerValue = new ICAL.Timezone(icalComp);\n this._initialized = true;\n }\n }\n\n}\nTimezone.utc = new Timezone(ICAL.Timezone.utcTimezone);\nTimezone.floating = new Timezone(ICAL.Timezone.localTimezone);\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class AlarmComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.6\n */\n\nclass AlarmComponent extends AbstractComponent {\n /**\n * Adds a new attendee based on their name and email-address\n *\n * @param {String} name - Name of the attendee\n * @param {String} email - E-Mail address of the attendee\n * @returns {boolean}\n */\n addAttendeeFromNameAndEMail(name, email) {\n const attendeeProperty = AttendeeProperty.fromNameAndEMail(name, email);\n return this.addProperty(attendeeProperty);\n }\n /**\n * Gets the trigger property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.3\n *\n * @returns {TriggerProperty}\n */\n\n\n get trigger() {\n return this.getFirstProperty('TRIGGER');\n }\n /**\n * Sets an absolute alarm\n *\n * @param {DateTimeValue} alarmTime - Absolute time for the trigger\n */\n\n\n setTriggerFromAbsolute(alarmTime) {\n const triggerProperty = TriggerProperty.fromAbsolute(alarmTime);\n this.deleteAllProperties('TRIGGER');\n this.addProperty(triggerProperty);\n }\n /**\n * Sets a relative trigger\n *\n * @param {DurationValue} alarmOffset - Relative time of the trigger, either related to start or end\n * @param {Boolean=} relatedToStart - Related to Start or end?\n */\n\n\n setTriggerFromRelative(alarmOffset, relatedToStart = true) {\n const triggerProperty = TriggerProperty.fromRelativeAndRelated(alarmOffset, relatedToStart);\n this.deleteAllProperties('TRIGGER');\n this.addProperty(triggerProperty);\n }\n\n}\n/**\n * Action to be taken when this Alarm is due\n * Possible values:\n * - AUDIO\n * - DISPLAY\n * - EMAIL\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.1\n *\n * @name AlarmComponent#action\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'action');\n/**\n * Description for this alarm\n * Can only be used in combination with action DISPLAY and EMAIL\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name AlarmComponent#description\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'description');\n/**\n * Summary for this alarm\n * Can only be used in combination with action EMAIL\n * Will be used as the EMAIL's subject\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.12\n *\n * @name AlarmComponent#summary\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'summary');\n/**\n * The duration specifies the delay period between repeated alarms.\n * This property must be specified along with the repeat property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.5\n *\n * @name AlarmComponent#duration\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'duration');\n/**\n * The number of times an alarm should be repeated.\n * This property must be specified along with the duration property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.2\n *\n * @name AlarmComponent#repeat\n * @type {Number}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'repeat');\n/**\n * This attachment points to a sound file, can only be used in combination\n * with ACTION AUDIO\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.1\n *\n * @name AlarmComponent#attachment\n * @type {AttachmentProperty}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, {\n name: 'attachment',\n iCalendarName: 'ATTACH'\n});\n/**\n * Get an iterator over all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Get a list of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#getAttendeeList\n * @function\n * @returns {AttendeeProperty[]}\n */\n\n/**\n * Adds a new attendee to this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#addAttendee\n * @function\n * @param {AttendeeProperty} attendee - The attendee object to add\n */\n\n/**\n * Removes an attendee from this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee - The attendee object to remove\n */\n\n/**\n * Removes all attendees from this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#clearAllAttendees\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AlarmComponent.prototype, 'attendee');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * Gets the constructor for a component name\n * This will only return a constructor for components,\n * that can be nested inside other ones\n *\n * @param {String} compName - Component name to get default constructor for\n * @returns {AlarmComponent|AbstractComponent}\n */\n\nfunction getConstructorForComponentName$1(compName) {\n switch (uc(compName)) {\n case 'VALARM':\n return AlarmComponent;\n\n default:\n return AbstractComponent;\n }\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class AbstractRecurringComponent\n * @classdesc AbstractRecurringComponent is the basis for\n * EventComponent, JournalComponent and TodoComponent.\n *\n * It contains all the logic for recurrence-expansion and\n * recurrence-management plus all management for all\n * properties and all subcomponents that the three\n * components mentioned before have in common\n */\n\nclass AbstractRecurringComponent extends AbstractComponent {\n /**\n * @inheritDoc\n */\n constructor(...args) {\n super(...args);\n /**\n * In case this object is virtual, primary item refers to the master object\n * that this object was forked from.\n *\n * Otherwise primary item is null\n *\n * @type {AbstractRecurringComponent}\n * @private\n */\n\n this._primaryItem = null;\n /**\n * Indicator whether this is a direct fork of a primary item, representing\n * the very same recurrence id\n *\n * @type {boolean}\n * @private\n */\n\n this._isExactForkOfPrimary = false;\n /**\n * The original recurrence-id of this occurrence.\n * Mostly needed for range exceptions with a range\n *\n * @type {DateTimeValue|null}\n * @private\n */\n\n this._originalRecurrenceId = null;\n /**\n * Instance of the recurrence manager.\n * This object is shared among all instances\n * of a recurrence-set\n *\n * @type {RecurrenceManager}\n * @private\n */\n\n this._recurrenceManager = null;\n /**\n * Indicator whether this component was modified\n * In case it was, the last-modified property\n * needs to be updated before saving the event\n *\n * @type {boolean}\n * @private\n */\n\n this._dirty = false;\n /**\n * Indicator whether there have been significant changes\n * In case the changes are considered significant,\n * the sequence needs to be incremented\n *\n * @type {boolean}\n * @private\n */\n\n this._significantChange = false;\n /**\n * Id of this AbstractRecurringComponent\n *\n * @type {String|null}\n * @private\n */\n\n this._cachedId = null;\n }\n /**\n * Gets the primary-item of this recurring item\n *\n * @returns {AbstractRecurringComponent}\n */\n\n\n get primaryItem() {\n return this._primaryItem;\n }\n /**\n * Sets the primary-item of this recurring item\n *\n * @param {AbstractRecurringComponent} primaryItem The new primary-item\n */\n\n\n set primaryItem(primaryItem) {\n this._modify();\n\n this._primaryItem = primaryItem;\n }\n /**\n * Gets whether or not this is a fork of the primary item\n * for the same recurrence-id\n *\n * @returns {boolean}\n */\n\n\n get isExactForkOfPrimary() {\n return this._isExactForkOfPrimary;\n }\n /**\n * Sets the isExactForkOfPrimary indicator, see getter for description\n *\n * @param {boolean} isExactForkOfPrimary Whether or not this is an exact fork\n */\n\n\n set isExactForkOfPrimary(isExactForkOfPrimary) {\n this._isExactForkOfPrimary = isExactForkOfPrimary;\n }\n /**\n * Gets the original recurrence-id\n *\n * @returns {DateTimeValue}\n */\n\n\n get originalRecurrenceId() {\n return this._originalRecurrenceId;\n }\n /**\n * Sets the original recurrence-id\n *\n * @param {DateTimeValue} originalRecurrenceId The new original recurrence-id\n */\n\n\n set originalRecurrenceId(originalRecurrenceId) {\n this._originalRecurrenceId = originalRecurrenceId;\n }\n /**\n * Gets the recurrence-manager of this recurrence-set\n *\n * @returns {RecurrenceManager}\n */\n\n\n get recurrenceManager() {\n return this._recurrenceManager;\n }\n /**\n * Sets the recurrence-manager of this recurrence-set\n *\n * @param {RecurrenceManager} recurrenceManager The new recurrence-manager\n */\n\n\n set recurrenceManager(recurrenceManager) {\n this._recurrenceManager = recurrenceManager;\n }\n /**\n * Gets the master-item of this recurring item\n *\n * @returns {AbstractRecurringComponent}\n */\n\n\n get masterItem() {\n return this.recurrenceManager.masterItem;\n }\n /**\n * Returns whether this item is the master item\n *\n * @returns {boolean}\n */\n\n\n isMasterItem() {\n return this.masterItem === this;\n }\n /**\n * Gets a unique ID for this occurrence of the event\n *\n * Please note that if the same event occurs in multiple calendars,\n * this id will not be unique. Software using this library will have to\n * manually mix in the calendar id into this id\n *\n * @returns {String}\n */\n\n\n get id() {\n if (this._cachedId) {\n return this._cachedId;\n }\n\n if (this.startDate === null) {\n this._cachedId = encodeURIComponent(this.uid);\n return this._cachedId;\n }\n\n this._cachedId = [encodeURIComponent(this.uid), encodeURIComponent(this.getReferenceRecurrenceId().unixTime.toString())].join('###');\n return this._cachedId;\n }\n /**\n * Gets the UID property\n *\n * @returns {String|null}\n */\n\n\n get uid() {\n return this.getFirstPropertyFirstValue('UID');\n }\n /**\n * Sets the UID property and the UID property of all related exceptions\n *\n * @param {String} uid The new UID\n */\n\n\n set uid(uid) {\n this._recurrenceManager.updateUID(uid);\n }\n /**\n * Gets the start date of the event\n *\n * @returns {DateTimeValue}\n */\n\n\n get startDate() {\n return this.getFirstPropertyFirstValue('dtstart');\n }\n /**\n * Sets the start date of the event\n *\n * @param {DateTimeValue} start The new start-date to set\n */\n\n\n set startDate(start) {\n const oldStartDate = this.startDate;\n this.updatePropertyWithValue('dtstart', start);\n\n if (this.isMasterItem()) {\n this._recurrenceManager.updateStartDateOfMasterItem(start, oldStartDate);\n }\n }\n /**\n * Checks whether this item is part of a recurring set\n *\n * @returns {boolean}\n */\n\n\n isPartOfRecurrenceSet() {\n return this.masterItem.isRecurring();\n }\n /**\n * Checks whether this component is recurring\n *\n * @returns {boolean}\n */\n\n\n isRecurring() {\n return this.hasProperty('RRULE') || this.hasProperty('RDATE');\n }\n /**\n * Checks whether this component is a recurrence-exception\n *\n * @returns {boolean}\n */\n\n\n isRecurrenceException() {\n return this.hasProperty('RECURRENCE-ID');\n }\n /**\n * Checks wether this component is a recurrence-exception\n * and whether it's modifying the future\n *\n * @returns {boolean}\n */\n\n\n modifiesFuture() {\n if (!this.isRecurrenceException()) {\n return false;\n }\n\n const property = this.getFirstProperty('RECURRENCE-ID');\n return property.getParameterFirstValue('RANGE') === 'THISANDFUTURE';\n }\n /**\n * Creates an occurrence at the given time\n *\n * This is an internal function for calendar-js, used by the recurrence-manager\n * Do not call from outside\n *\n * @param {DateTimeValue} recurrenceId The recurrence-Id of the forked item\n * @param {DurationValue=} startDiff to be used when The start-diff (used for RECURRENCE-ID;RANGE=THISANDFUTURE)\n * @returns {AbstractRecurringComponent}\n */\n\n\n forkItem(recurrenceId, startDiff = null) {\n const occurrence = this.clone();\n occurrence.recurrenceManager = this.recurrenceManager;\n occurrence.primaryItem = this; // Exact match for master item or recurrence-exception\n\n if (occurrence.getReferenceRecurrenceId().compare(recurrenceId) === 0) {\n occurrence.isExactForkOfPrimary = true;\n }\n\n if (!occurrence.hasProperty('DTSTART')) {\n throw new TypeError('Can\\'t fork item without a DTSTART');\n }\n\n if (occurrence.getFirstPropertyFirstValue('DTSTART').timezoneId !== recurrenceId.timezoneId) {\n const originalTimezone = occurrence.getFirstPropertyFirstValue('DTSTART').getICALTimezone();\n recurrenceId = recurrenceId.getInICALTimezone(originalTimezone);\n }\n\n occurrence.originalRecurrenceId = recurrenceId.clone();\n const dtStartValue = occurrence.getFirstPropertyFirstValue('DTSTART');\n let period = null;\n\n if (this._recurrenceManager.hasRecurrenceDate(false, recurrenceId)) {\n const recurrenceDate = this._recurrenceManager.getRecurrenceDate(false, recurrenceId);\n\n if (recurrenceDate instanceof PeriodValue) {\n period = recurrenceDate;\n }\n }\n\n let duration;\n\n if (occurrence.hasProperty('DTEND')) {\n const dtEndValue = occurrence.getFirstPropertyFirstValue('DTEND');\n duration = dtEndValue.subtractDateWithTimezone(dtStartValue);\n } else if (occurrence.hasProperty('DUE')) {\n const dueValue = occurrence.getFirstPropertyFirstValue('DUE');\n duration = dueValue.subtractDateWithTimezone(dtStartValue);\n }\n\n if (!(occurrence.isRecurrenceException() && occurrence.isExactForkOfPrimary)) {\n occurrence.updatePropertyWithValue('DTSTART', recurrenceId.clone());\n\n if (startDiff) {\n occurrence.startDate.addDuration(startDiff);\n }\n\n if (occurrence.hasProperty('DTEND')) {\n const dtEnd = occurrence.startDate.clone();\n dtEnd.addDuration(duration);\n occurrence.updatePropertyWithValue('DTEND', dtEnd);\n } else if (occurrence.hasProperty('DUE')) {\n const due = occurrence.startDate.clone();\n due.addDuration(duration);\n occurrence.updatePropertyWithValue('DUE', due);\n }\n\n if (period) {\n occurrence.deleteAllProperties('DTEND');\n occurrence.deleteAllProperties('DURATION');\n occurrence.updatePropertyWithValue('DTEND', period.end.clone());\n }\n }\n\n occurrence.resetDirty();\n return occurrence;\n }\n /**\n * Checks whether it's possible to create a recurrence exception for this event\n * It is possible\n *\n * @returns {boolean}\n */\n\n\n canCreateRecurrenceExceptions() {\n let primaryIsRecurring = false;\n\n if (this.primaryItem && this.primaryItem.isRecurring()) {\n primaryIsRecurring = true;\n }\n\n return this.isRecurring() || this.modifiesFuture() || !this.isRecurring() && primaryIsRecurring;\n }\n /**\n * creates a recurrence exception based on this event\n * If the parameter thisAndAllFuture is set to true,\n * it will apply changes to this and all future occurrences\n *\n * @param {boolean} thisAndAllFuture Whether to create an exception for this and all future\n * @returns {AbstractRecurringComponent[]} the AbstractRecurringComponent of the future events.\n * In case you set `thisAndAllFuture` to true, this will be an\n * AbstractRecurringComponent inside a entirely new calendar component\n */\n\n\n createRecurrenceException(thisAndAllFuture = false) {\n if (!this.canCreateRecurrenceExceptions()) {\n throw new Error('Can\\'t create recurrence-exceptions for non-recurring items');\n }\n\n const previousPrimaryItem = this.primaryItem;\n /**\n * The overall support for RANGE=THISANDFUTURE is really bad.\n * Instead, we have to create a new event/journal/task and\n * set an until date on the old one.\n *\n * Also see:\n * - https://github.com/nextcloud/calendar/issues/7#issuecomment-292574813\n * - https://github.com/nextcloud/calendar/issues/7#issuecomment-299169143\n *\n * Right now, this replaces all future occurrence modifications,\n * including recurrence-exceptions, RDATES and EXDATES.\n * This is also how other CUAs handle it, but i would be happy\n * to put that up for discussion.\n *\n * Keeping future RDates + their recurrence-exceptions would be rather easy.\n * Updating recurrence-exceptions, that are based off normal recurrence rules,\n * could be very expensive.\n */\n\n if (thisAndAllFuture) {\n if (this.isExactForkOfPrimary) {\n // master item\n if (this.primaryItem.isMasterItem()) {\n this._overridePrimaryItem();\n\n return [this, this];\n }\n }\n\n this.removeThisOccurrence(true);\n this.recurrenceManager = new RecurrenceManager(this);\n this._originalRecurrenceId = null;\n this.primaryItem = this;\n this.updatePropertyWithValue('UID', v4());\n this._cachedId = null;\n this.addRelation('SIBLING', previousPrimaryItem.uid);\n previousPrimaryItem.addRelation('SIBLING', this.uid); // delete to make sure all parameters are gone\n\n this.deleteAllProperties('RECURRENCE-ID');\n this.deleteAllProperties('RDATE');\n this.deleteAllProperties('EXDATE');\n this.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('SEQUENCE', 0);\n this._significantChange = false;\n this._dirty = false;\n this.root = this.root.constructor.fromEmpty();\n this.root.addComponent(this);\n this.parent = this.root; // this is a completely new event, we should set the RSVP of all attendees to true,\n // so that they receive an invitation to the new event, not only the cancellation of the old one\n\n for (const attendee of this.getAttendeeIterator()) {\n attendee.rsvp = true;\n }\n } else {\n // delete to make sure all parameters are gone\n this.deleteAllProperties('RECURRENCE-ID');\n this.recurrenceId = this.getReferenceRecurrenceId().clone();\n this.root.addComponent(this);\n this.recurrenceManager.relateRecurrenceException(this);\n this.primaryItem = this;\n this.deleteAllProperties('RDATE');\n this.deleteAllProperties('RRULE');\n this.deleteAllProperties('EXDATE');\n this.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('SEQUENCE', 0);\n\n if (this.recurrenceManager.hasRecurrenceDate(false, this.getReferenceRecurrenceId())) {\n const recurDate = this.recurrenceManager.getRecurrenceDate(false, this.getReferenceRecurrenceId());\n\n if (recurDate instanceof PeriodValue) {\n const valueDateTimeRecurDate = recurDate.start;\n this.recurrenceManager.removeRecurrenceDate(false, recurDate);\n this.recurrenceManager.addRecurrenceDate(false, valueDateTimeRecurDate);\n }\n }\n\n this.originalRecurrenceId = null;\n }\n\n return [previousPrimaryItem, this];\n }\n /**\n * Deletes this occurrence from the series of recurring events\n * If the parameter thisAndAllFuture is set to true,\n * it will remove this and all future occurrences\n *\n * @param {Boolean} thisAndAllFuture Whether to create an exception for this and all future\n * @throws EmptyRecurrenceSetError Thrown, when deleting an occurrence results in no more events\n * @returns {Boolean} true if this deleted the last occurrence in set, false if there are occurrences left\n */\n\n\n removeThisOccurrence(thisAndAllFuture = false) {\n if (!this.isPartOfRecurrenceSet()) {\n // When deleting an object, that's not part of a recurring set,\n // the calendar-document would be empty.\n return true;\n }\n\n if (thisAndAllFuture) {\n // To get the UNTIL date, just deduct one second.\n // That's also how macOS does it, so this should be fairly\n // well supported among all clients\n const recurrenceId = this.getReferenceRecurrenceId().clone();\n const until = recurrenceId.getInTimezone(Timezone.utc);\n until.addDuration(DurationValue.fromSeconds(-1));\n\n for (const recurValue of this.recurrenceManager.getRecurrenceRuleIterator()) {\n recurValue.until = until.clone();\n }\n\n for (const recurDate of this.recurrenceManager.getRecurrenceDateIterator()) {\n let valueToCheck = recurDate;\n\n if (recurDate instanceof PeriodValue) {\n valueToCheck = valueToCheck.start;\n }\n\n if (recurrenceId.compare(valueToCheck) <= 0) {\n this.recurrenceManager.removeRecurrenceDate(false, recurDate);\n }\n }\n\n for (const exceptionDate of this.recurrenceManager.getRecurrenceDateIterator(true)) {\n if (recurrenceId.compare(exceptionDate) <= 0) {\n this.recurrenceManager.removeRecurrenceDate(true, exceptionDate);\n }\n }\n\n for (const exception of this.recurrenceManager.getRecurrenceExceptionList()) {\n if (recurrenceId.compare(exception.recurrenceId) <= 0) {\n this.root.deleteComponent(exception);\n this.recurrenceManager.removeRecurrenceException(exception);\n }\n }\n } else {\n // Make sure we don't leave orphaned recurrence-exceptions\n if (this.isRecurrenceException() && !this.modifiesFuture()) {\n this.root.deleteComponent(this);\n this.recurrenceManager.removeRecurrenceException(this);\n } // If this is based on a recurrence-date, simply delete it\n // otherwise add an exception-date\n\n\n if (this.recurrenceManager.hasRecurrenceDate(false, this.getReferenceRecurrenceId())) {\n const recurDate = this.recurrenceManager.getRecurrenceDate(false, this.getReferenceRecurrenceId());\n this.recurrenceManager.removeRecurrenceDate(false, recurDate);\n } else {\n this.recurrenceManager.addRecurrenceDate(true, this.getReferenceRecurrenceId().clone());\n }\n }\n\n return this.recurrenceManager.isEmptyRecurrenceSet();\n }\n /**\n * @inheritDoc\n */\n\n\n clone() {\n const comp = super.clone();\n comp.resetDirty();\n return comp;\n }\n /**\n * Adds a new attendee\n *\n * @param {AttendeeProperty} attendee The attendee property to add\n * @private\n * @returns {boolean}\n */\n\n\n _addAttendee(attendee) {\n // Check for different Attendee objects with the same uri\n for (const a of this.getAttendeeIterator()) {\n if (a.email === attendee.email) {\n return false;\n }\n }\n\n this.addProperty(attendee);\n return true;\n }\n /**\n * Adds a new attendee based on their name and email-address\n *\n * @param {String} name The name of the attendee to add\n * @param {String} email The email-address of the attendee to add\n * @returns {boolean}\n */\n\n\n addAttendeeFromNameAndEMail(name, email) {\n const attendeeProperty = AttendeeProperty.fromNameAndEMail(name, email);\n return this._addAttendee(attendeeProperty);\n }\n /**\n * Adds a new attendee based on their properties\n *\n * @param {String} name The name of the attendee to add\n * @param {String} email The email-address of the attendee to add\n * @param {String} role The role of the attendee to add\n * @param {String} userType The type of attendee to add\n * @param {Boolean} rsvp Whether or not to request a response from the attendee\n * @returns {boolean}\n */\n\n\n addAttendeeFromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp) {\n const attendeeProperty = AttendeeProperty.fromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp, false);\n return this._addAttendee(attendeeProperty);\n }\n /**\n * Sets the organiser property from common-name and email address\n *\n * @param {String} name The name of the organizer\n * @param {String} email The email-address of the organizer\n */\n\n\n setOrganizerFromNameAndEMail(name, email) {\n this.deleteAllProperties('ORGANIZER');\n this.addProperty(AttendeeProperty.fromNameAndEMail(name, email, true));\n }\n /**\n * Adds a new attachment from raw data\n *\n * @param {String} data The data of the attachment\n * @param {String} formatType The mime-type of the attachment\n */\n\n\n addAttachmentFromData(data, formatType = null) {\n this.addProperty(AttachmentProperty.fromData(data, formatType));\n }\n /**\n * Adds a new attachment from a link\n *\n * @param {String} uri The URI of the attachment\n * @param {String} formatType The mime-type of the attachment\n */\n\n\n addAttachmentFromLink(uri, formatType = null) {\n this.addProperty(AttachmentProperty.fromLink(uri, formatType));\n }\n /**\n * Adds a new contact\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.2\n *\n * @param {String} contact The textual contact description to add\n */\n\n\n addContact(contact) {\n this.addProperty(new TextProperty('CONTACT', contact));\n }\n /**\n * Adds a new comment\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.4\n *\n * @param {String} comment The comment to add\n */\n\n\n addComment(comment) {\n this.addProperty(new TextProperty('COMMENT', comment));\n }\n /**\n * Adds a new image from raw data\n *\n * @param {String} data Data of the image to add\n * @param {String=} display What display-type the image is optimized for\n * @param {String=} formatType The mime-type of the image\n */\n\n\n addImageFromData(data, display = null, formatType = null) {\n this.addProperty(ImageProperty.fromData(data, display, formatType));\n }\n /**\n * Adds a new image from a link\n *\n * @param {String} uri The URI of the image to add\n * @param {String=} display What display-type the image is optimized for\n * @param {String=} formatType The mime-type of the image\n */\n\n\n addImageFromLink(uri, display = null, formatType = null) {\n this.addProperty(ImageProperty.fromLink(uri, display, formatType));\n }\n /**\n * Creates a new RELATED-TO property based on a relation-type and id\n * and adds it to this object\n *\n * @param {String} relType The type of relation to add\n * @param {String} relId The id of the related calendar-document\n */\n\n\n addRelation(relType, relId) {\n this.addProperty(RelationProperty.fromRelTypeAndId(relType, relId));\n }\n /**\n * Creates a new REQUEST-STATUS property based on code and message\n * and adds it to this object\n *\n * @param {Number} code The status-code of the request status\n * @param {String} message The message of the request status\n */\n\n\n addRequestStatus(code, message) {\n this.addProperty(RequestStatusProperty.fromCodeAndMessage(code, message));\n }\n /**\n * Adds a new absolute alarm based on action and trigger time\n *\n * @param {String} action The type of alarm Action\n * @param {DateTimeValue} alarmTime The trigger time of the alarm\n * @returns {AlarmComponent}\n */\n\n\n addAbsoluteAlarm(action, alarmTime) {\n const alarmComp = new AlarmComponent('VALARM', [['action', action], TriggerProperty.fromAbsolute(alarmTime)]);\n this.addComponent(alarmComp);\n return alarmComp;\n }\n /**\n * Adds a new relative alarm based on action, trigger time and relativeTo parameter\n *\n * @param {String} action The type of alarm Action\n * @param {DurationValue} alarmOffset The trigger time of the alarm\n * @param {Boolean=} relatedToStart Whether or not the alarm is related to the event's start\n * @returns {AlarmComponent}\n */\n\n\n addRelativeAlarm(action, alarmOffset, relatedToStart = true) {\n const alarmComp = new AlarmComponent('VALARM', [['action', action], TriggerProperty.fromRelativeAndRelated(alarmOffset, relatedToStart)]);\n this.addComponent(alarmComp);\n return alarmComp;\n }\n /**\n * Marks a certain property as edited\n *\n * @param {String} propertyName The name of the property\n */\n\n\n markPropertyAsDirty(propertyName) {\n this.markDirty(); // Properties that must be considered a significant change\n // according to RFC 5546 Section 2.1.4\n\n const props = ['DTSTART', 'DTEND', 'DURATION', 'RRULE', 'RDATE', 'EXDATE', 'STATUS', ...getConfig('property-list-significant-change', [])];\n\n if (props.includes(uc(propertyName))) {\n this.markChangesAsSignificant();\n }\n }\n /**\n * Marks a certain component as edited\n *\n * @param {String} componentName The name of the component\n */\n\n\n markSubComponentAsDirty(componentName) {\n this.markDirty();\n\n if (getConfig('component-list-significant-change', []).includes(componentName)) {\n this.markChangesAsSignificant();\n }\n }\n /**\n * Returns whether or not this component is dirty\n *\n * @returns {boolean}\n */\n\n\n isDirty() {\n return this._dirty || this._significantChange;\n }\n /**\n * Marks this object as dirty\n */\n\n\n markDirty() {\n this._dirty = true;\n }\n /**\n * Marks changes as significant. Can be called by the program using this lib\n */\n\n\n markChangesAsSignificant() {\n this._significantChange = true;\n }\n /**\n * Updates the event after modifications.\n *\n * @returns {boolean} true if last-modified was updated\n */\n\n\n undirtify() {\n if (!this.isDirty()) {\n return false;\n }\n\n if (!this.hasProperty('SEQUENCE')) {\n this.sequence = 0;\n }\n\n this.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true));\n\n if (this._significantChange) {\n this.sequence++;\n }\n\n this.resetDirty();\n return true;\n }\n /**\n * Resets the dirty indicators without updating DTSTAMP or LAST-MODIFIED\n */\n\n\n resetDirty() {\n this._dirty = false;\n this._significantChange = false;\n }\n /**\n * @inheritDoc\n */\n\n\n updatePropertyWithValue(propertyName, value) {\n super.updatePropertyWithValue(propertyName, value);\n\n if (uc(propertyName) === 'UID') {\n this._cachedId = null;\n }\n\n this.markPropertyAsDirty(propertyName);\n }\n /**\n * @inheritDoc\n */\n\n\n addProperty(property) {\n this.markPropertyAsDirty(property.name);\n property.subscribe(() => this.markPropertyAsDirty(property.name));\n return super.addProperty(property);\n }\n /**\n * @inheritDoc\n */\n\n\n deleteProperty(property) {\n this.markPropertyAsDirty(property.name);\n return super.deleteProperty(property);\n }\n /**\n * @inheritDoc\n */\n\n\n deleteAllProperties(propertyName) {\n this.markPropertyAsDirty(propertyName);\n return super.deleteAllProperties(propertyName);\n }\n /**\n * @inheritDoc\n */\n\n\n addComponent(component) {\n this.markSubComponentAsDirty(component.name);\n component.subscribe(() => this.markSubComponentAsDirty(component.name));\n return super.addComponent(component);\n }\n /**\n * @inheritDoc\n */\n\n\n deleteComponent(component) {\n this.markSubComponentAsDirty(component.name);\n return super.deleteComponent(component);\n }\n /**\n * @inheritDoc\n */\n\n\n deleteAllComponents(componentName) {\n this.markSubComponentAsDirty(componentName);\n return super.deleteAllComponents(componentName);\n }\n /**\n * Gets a recurrence-id that has to be used to refer to this event.\n * This is used for recurrence-management\n *\n * @returns {DateTimeValue}\n */\n\n\n getReferenceRecurrenceId() {\n if (this.originalRecurrenceId) {\n return this.originalRecurrenceId;\n } else if (this.recurrenceId) {\n return this.recurrenceId;\n } else {\n return this.startDate;\n }\n }\n /**\n * Overrides the master item with this one\n *\n * @private\n */\n\n\n _overridePrimaryItem() {\n const oldStartDate = this.primaryItem.startDate;\n\n for (const property of this.primaryItem.getPropertyIterator()) {\n this.primaryItem.deleteProperty(property);\n }\n\n for (const property of this.getPropertyIterator()) {\n this.primaryItem.addProperty(property);\n }\n\n this.recurrenceManager.resetCache();\n\n if (this.startDate.compare(oldStartDate) !== 0) {\n this.recurrenceManager.updateStartDateOfMasterItem(this.startDate, oldStartDate);\n }\n }\n /**\n * @inheritDoc\n */\n\n\n static _getConstructorForComponentName(componentName) {\n return getConstructorForComponentName$1(componentName);\n }\n /**\n * @inheritDoc\n */\n\n\n static fromICALJs(...args) {\n const comp = super.fromICALJs(...args);\n comp.resetDirty();\n return comp;\n }\n\n}\n/**\n * Date-Time stamp of this object.\n * It has different meaning, based on whether or not a method is defined\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.2\n *\n * @name EventComponent#stampTime\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'stampTime',\n iCalendarName: 'DTSTAMP'\n});\n/**\n * Recurrence-ID of this object, used for recurrence-exceptions\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.4\n *\n * @name EventComponent#recurrenceId\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'recurrenceId',\n iCalendarName: 'RECURRENCE-ID'\n});\n/**\n * Special color for this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.9\n *\n * @name EventComponent#color\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'color');\n/**\n * Creation Time of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.1\n *\n * @name EventComponent#creationTime\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'creationTime',\n iCalendarName: 'CREATED'\n});\n/**\n * The time this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.3\n *\n * @name EventComponent#modificationTime\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'modificationTime',\n iCalendarName: 'LAST-MODIFIED'\n});\n/**\n * Organizer of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @name EventComponent#organizer\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'organizer');\n/**\n * Revision of this this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.4\n *\n * @name EventComponent#sequence\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'sequence');\n/**\n * Status of this event / journal / task\n * This indicates whether an event is tentative / confirmed / cancelled\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.11\n *\n * @name EventComponent#status\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'status');\n/**\n * URL of a more dynamic rendition of this event / journal / task\n * DO NOT use this to simply point to a website merely related.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.6\n *\n * @name EventComponent#url\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'url');\n/**\n * Title of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.12\n *\n * @name EventComponent#title\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'title',\n iCalendarName: 'SUMMARY'\n});\n/**\n * Access class of this event / journal / task\n * This determines what other users can see when sharing\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.3\n *\n * @name EventComponent#accessClass\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'accessClass',\n iCalendarName: 'class',\n allowedValues: ['PUBLIC', 'PRIVATE', 'CONFIDENTIAL'],\n defaultValue: 'PUBLIC',\n unknownValue: 'PRIVATE'\n});\n/**\n * Returns an iterator over all categories\n * If the parameter lang is given, it will only\n * return an iterator for Categories matching that language\n *\n * @name AbstractRecurringComponent#getCategoryIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all categories\n * If the parameter lang is given, it will only\n * return an iterator for Categories matching that language\n *\n * @name AbstractRecurringComponent#getCategoryList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a new category\n *\n * @name AbstractRecurringComponent#addCategory\n * @function\n * @param {String} category\n * @param {String=} lang\n */\n\n/**\n * Removes a category\n *\n * @name AbstractRecurringComponent#removeCategory\n * @function\n * @param {String} category\n * @param {String=} lang\n */\n\n/**\n * Clear all categories of a given language\n *\n * @name AbstractRecurringComponent#clearAllCategories\n * @function\n */\n\nadvertiseMultiValueStringPropertySeparatedByLang(AbstractRecurringComponent.prototype, {\n name: 'category',\n pluralName: 'categories',\n iCalendarName: 'CATEGORIES'\n});\n/**\n * Returns an iterator over all attendees\n *\n * @name AbstractRecurringComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Gets a list of all attendees\n *\n * @name AbstractRecurringComponent#getAttendeeList\n * @function\n * @returns {AttachmentProperty[]}\n */\n\n/**\n * Removes an attendee from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee\n */\n\n/**\n * Removes all attendees from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAttendees\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'attendee'\n});\n/**\n * Returns an iterator over all attachments\n *\n * @name AbstractRecurringComponent#getAttachmentIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Gets a list of all attachments\n *\n * @name AbstractRecurringComponent#getAttachmentList\n * @function\n * @returns {AttachmentProperty[]}\n */\n\n/**\n * Removes one attachment from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAttachment\n * @function\n * @param {AttachmentProperty} attachment\n */\n\n/**\n * Removes all attachments from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAttachments\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'attachment',\n iCalendarName: 'ATTACH'\n});\n/**\n * Returns an iterator over all relation properties\n *\n * @name AbstractRecurringComponent#getRelationIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all relation properties\n *\n * @name AbstractRecurringComponent#getRelationList\n * @function\n * @returns {RelationProperty[]}\n */\n\n/**\n * Removes a relation from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeRelation\n * @function\n * @param {RelationProperty} relation\n */\n\n/**\n * Removes all relations from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllRelations\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'relation',\n iCalendarName: 'RELATED-TO'\n});\n/**\n * Returns an iterator over all comments in this event / journal / task\n *\n * @name AbstractRecurringComponent#getCommentIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all comments in this event / journal / task\n *\n * @name AbstractRecurringComponent#getCommentList\n * @function\n * @returns {TextProperty[]}\n */\n\n/**\n * Removes a comment from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeComment\n * @function\n * @param {TextProperty} comment\n */\n\n/**\n * Removes all comments from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllComments\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'comment');\n/**\n * Returns an iterator over all contacts referenced in this event / journal / task\n *\n * @name AbstractRecurringComponent#getContactIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all contacts referenced in this event / journal / task\n *\n * @name AbstractRecurringComponent#getContactList\n * @function\n * @returns {TextProperty[]}\n */\n\n/**\n * Removes one contact from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeContact\n * @function\n * @param {TextProperty} contact\n */\n\n/**\n * Removes all contacts from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllContacts\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'contact');\n/**\n * Returns an iterator over all image properties\n *\n * @name AbstractRecurringComponent#getImageIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all image properties\n *\n * @name AbstractRecurringComponent#getImageList\n * @function\n * @returns {ImageProperty[]}\n */\n\n/**\n * Removes one image from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeImage\n * @function\n * @param {ImageProperty} image\n */\n\n/**\n * Removes all images from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllImages\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'image');\n/**\n * Returns an iterator over all request status\n *\n * @name AbstractRecurringComponent#getRequestStatusIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all request status\n *\n * @name AbstractRecurringComponent#getRequestStatusList\n * @function\n * @returns {RequestStatusProperty[]}\n */\n\n/**\n * Removes one request status from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeRequestStatus\n * @function\n * @param {RequestStatusProperty} requestStatus\n */\n\n/**\n * Removes all request status from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllRequestStatus\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'requestStatus',\n pluralName: 'requestStatus',\n iCalendarName: 'REQUEST-STATUS'\n});\n/**\n * Returns an iterator of all alarms\n *\n * @name AbstractRecurringComponent#getAlarmIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all alarms\n *\n * @name AbstractRecurringComponent#getAlarmList\n * @function\n * @returns {AlarmComponent[]}\n */\n\n/**\n * Removes an alarm from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAlarm\n * @function\n * @param {AlarmComponent} alarm\n */\n\n/**\n * Removes all alarms from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAlarms\n * @function\n */\n\nadvertiseComponent(AbstractRecurringComponent.prototype, 'alarm');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Gets kind of birthday event\n * returns \"BDAY\", \"DEATHDATE\", \"ANNIVERSARY\"\n * or null if this is not a birthday event\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {null|string}\n */\nfunction getTypeOfBirthdayEvent(eventComponent) {\n return eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-FIELD-TYPE');\n}\n/**\n * Gets icon for the birthday type\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {string|null}\n */\n\nfunction getIconForBirthday(eventComponent) {\n const birthdayType = getTypeOfBirthdayEvent(eventComponent);\n\n switch (birthdayType) {\n case 'BDAY':\n return '🎂';\n\n case 'DEATHDATE':\n return '⚰️';\n\n case 'ANNIVERSARY':\n return '💍';\n\n default:\n return null;\n }\n}\n/**\n * Returns the age of the birthday person or null of no birth-year given\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @param {number} yearOfOccurrence The year to calculate the age for\n * @returns {null|number}\n */\n\nfunction getAgeOfBirthday(eventComponent, yearOfOccurrence) {\n if (!eventComponent.hasProperty('X-NEXTCLOUD-BC-YEAR')) {\n return null;\n }\n\n const yearOfBirth = eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-YEAR');\n return parseInt(yearOfOccurrence, 10) - parseInt(yearOfBirth, 10);\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class EventComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.1\n */\n\nclass EventComponent extends AbstractRecurringComponent {\n /**\n * Returns whether this event is an all-day event\n *\n * @returns {boolean}\n */\n isAllDay() {\n return this.startDate.isDate && this.endDate.isDate;\n }\n /**\n * Checks whether it's possible to switch from date-time to date or vise-versa\n *\n * @returns {boolean}\n */\n\n\n canModifyAllDay() {\n return !this.recurrenceManager.masterItem.isRecurring();\n }\n /**\n * Gets the calculated end-date of the event\n *\n * Quote from RFC 5545 3.6.1:\n * The \"DTSTART\" property for a \"VEVENT\" specifies the inclusive\n * start of the event. For recurring events, it also specifies the\n * very first instance in the recurrence set. The \"DTEND\" property\n * for a \"VEVENT\" calendar component specifies the non-inclusive end\n * of the event. For cases where a \"VEVENT\" calendar component\n * specifies a \"DTSTART\" property with a DATE value type but no\n * \"DTEND\" nor \"DURATION\" property, the event's duration is taken to\n * be one day. For cases where a \"VEVENT\" calendar component\n * specifies a \"DTSTART\" property with a DATE-TIME value type but no\n * \"DTEND\" property, the event ends on the same calendar date and\n * time of day specified by the \"DTSTART\" property.\n *\n * @returns {DateTimeValue}\n */\n\n\n get endDate() {\n if (this.hasProperty('dtend')) {\n return this.getFirstPropertyFirstValue('dtend');\n }\n\n const dtend = this.startDate.clone();\n\n if (this.hasProperty('duration')) {\n dtend.addDuration(this.getFirstPropertyFirstValue('duration'));\n } else if (this.startDate.isDate) {\n dtend.addDuration(DurationValue.fromSeconds(60 * 60 * 24));\n } // There is nothing to do when this event is not allday\n\n\n return dtend;\n }\n /**\n * Sets the end time of the event\n *\n * @param {DateTimeValue} end The end of the event\n */\n\n\n set endDate(end) {\n this.deleteAllProperties('duration');\n this.updatePropertyWithValue('dtend', end);\n }\n /**\n * Gets the calculated duration of the event\n *\n * @returns {DurationValue}\n */\n\n\n get duration() {\n if (this.hasProperty('duration')) {\n return this.getFirstPropertyFirstValue('duration');\n }\n\n return this.startDate.subtractDateWithTimezone(this.endDate);\n }\n /**\n * Sets the calculated duration of the event\n *\n * @param {DurationValue} duration The duration of the event\n */\n\n\n set duration(duration) {\n this.deleteAllProperties('dtend');\n this.updatePropertyWithValue('duration', duration);\n }\n /**\n * Sets the geographical position based on latitude and longitude\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n *\n * @param {Number} lat - latitude\n * @param {Number} long - longitude\n */\n\n\n setGeographicalPositionFromLatitudeAndLongitude(lat, long) {\n this.deleteAllProperties('GEO');\n this.addProperty(GeoProperty.fromPosition(lat, long));\n }\n /**\n * Adds a new conference property based on URI, label and features\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @param {String} uri The URI of the conference system\n * @param {String=} label The label for the conference system\n * @param {String[]=} features The features of the conference system\n */\n\n\n addConference(uri, label = null, features = null) {\n this._modify();\n\n this.addProperty(ConferenceProperty.fromURILabelAndFeatures(uri, label, features));\n }\n /**\n * Adds a duration to the start of the event\n *\n * @param {DurationValue} duration The duration to add\n */\n\n\n addDurationToStart(duration) {\n this.startDate.addDuration(duration);\n }\n /**\n * Adds a duration to the end of the event\n *\n * @param {DurationValue} duration The duration to add\n */\n\n\n addDurationToEnd(duration) {\n const endDate = this.endDate;\n endDate.addDuration(duration);\n this.endDate = endDate;\n }\n /**\n * Shifts the entire event by the given duration\n *\n * @param {DurationValue} delta The duration to shift event by\n * @param {Boolean} allDay Whether the updated event should be all-day or not\n * @param {Timezone} defaultTimezone The default timezone if moving from all-day to timed event\n * @param {DurationValue} defaultAllDayDuration The default all-day duration if moving from timed to all-day\n * @param {DurationValue} defaultTimedDuration The default timed duration if moving from all-day to timed\n */\n\n\n shiftByDuration(delta, allDay, defaultTimezone, defaultAllDayDuration, defaultTimedDuration) {\n const currentAllDay = this.isAllDay();\n\n if (currentAllDay !== allDay && !this.canModifyAllDay()) {\n throw new TypeError('Can\\'t modify all-day of this event');\n }\n\n this.startDate.isDate = allDay;\n this.startDate.addDuration(delta); // If this event was moved from the all-day area into the time-grid,\n // then we have to add a timezone and the default duration\n\n if (currentAllDay && !allDay) {\n this.startDate.replaceTimezone(defaultTimezone);\n this.endDate = this.startDate.clone();\n this.endDate.addDuration(defaultTimedDuration);\n } // If this event was moved from the time-grid into the all-day area,\n // then we have to change the default duration\n\n\n if (!currentAllDay && allDay) {\n this.endDate = this.startDate.clone();\n this.endDate.addDuration(defaultAllDayDuration);\n } // If this event was only moved inside the time-grid or only inside\n // the all-day area, then we only have to adjust the end-date\n\n\n if (currentAllDay === allDay) {\n const endDate = this.endDate;\n endDate.addDuration(delta);\n this.endDate = endDate;\n }\n }\n /**\n * Checks if this is a birthday event\n *\n * @returns {boolean}\n */\n\n\n isBirthdayEvent() {\n return getTypeOfBirthdayEvent(this) === 'BDAY';\n }\n /**\n * Gets the icon to the birthday event\n *\n * @returns {string}\n */\n\n\n getIconForBirthdayEvent() {\n return getIconForBirthday(this);\n }\n /**\n * Calculates the age of the birthday\n *\n * @returns {number}\n */\n\n\n getAgeForBirthdayEvent() {\n return getAgeOfBirthday(this, this.startDate.year);\n }\n /**\n * Serializes the entire series to ICS\n *\n * @returns {string}\n */\n\n\n toICSEntireSeries() {\n return this.root.toICS();\n }\n /**\n * Serializes exactly this recurrence to ICS\n * It removes all recurrence information\n *\n * @returns {string}\n */\n\n\n toICSThisOccurrence() {\n const clone = this.clone();\n clone.deleteAllProperties('RRULE');\n clone.deleteAllProperties('EXRULE');\n clone.deleteAllProperties('RDATE');\n clone.deleteAllProperties('EXDATE');\n clone.deleteAllProperties('RECURRENCE-ID');\n clone.root = clone.root.constructor.fromEmpty();\n clone.parent = clone.root;\n clone.root.addComponent(clone);\n return clone.root.toICS();\n }\n /**\n * Checks if this event is in a given time-frame\n *\n * @param {DateTimeValue} start Start of time-range to check\n * @param {DateTimeValue} end End of time-range to check\n * @returns {boolean}\n */\n\n\n isInTimeFrame(start, end) {\n return start.compare(this.endDate) <= 0 && end.compare(this.startDate) >= 0;\n }\n\n}\n/**\n * Time-transparency of this event.\n * If set to TRANSPARENT, this event will be ignored for FREE/BUSY calculations.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.7\n *\n * @name EventComponent#timeTransparency\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n name: 'timeTransparency',\n iCalendarName: 'TRANSP',\n allowedValues: ['OPAQUE', 'TRANSPARENT'],\n defaultValue: 'OPAQUE'\n});\n/**\n * Description of this event.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name EventComponent#description\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, 'description');\n/**\n * Geographical position of this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n *\n * @name EventComponent#geographicalPosition\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n name: 'geographicalPosition',\n iCalendarName: 'GEO'\n});\n/**\n * Location that this event takes place in\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.7\n *\n * @name EventComponent#location\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, 'location');\n/**\n * Priority of this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.9\n *\n * @name EventComponent#priority\n * @type Number\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n name: 'priority',\n allowedValues: Array(9).keys(),\n defaultValue: 0,\n unknownValue: 0\n});\n/**\n * Returns an iterator over all resources\n * If the parameter lang is given, it will only\n * return an iterator for Resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#getResourceIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all resources\n * If the parameter lang is given, it will only\n * return an iterator for resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#getResourceList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#addResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#removeResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes all resources from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#clearAllResources\n * @function\n * @param {String=} lang\n */\n\nadvertiseMultiValueStringPropertySeparatedByLang(EventComponent.prototype, {\n name: 'resource',\n iCalendarName: 'RESOURCES'\n});\n/**\n * Gets an iterator over all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#getConferenceIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Gets a list of all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#getConferenceList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a conference from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#removeConference\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all conferences from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#clearAllConferences\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(EventComponent.prototype, 'conference');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class FreeBusyComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.4\n */\n\nclass FreeBusyComponent extends AbstractComponent {\n /**\n * Gets the start-date of the FreeBusy component\n *\n * @returns {DateTimeValue}\n */\n get startDate() {\n return this.getFirstPropertyFirstValue('DTSTART');\n }\n /**\n * Sets the start-date of the FreeBusy component\n *\n * @param {DateTimeValue} startDate The start of the queried time-range\n */\n\n\n set startDate(startDate) {\n this._modify();\n\n this.updatePropertyWithValue('DTSTART', startDate.getInTimezone(Timezone.utc));\n }\n /**\n * Gets the end-date of the FreeBusy component\n *\n * @returns {DateTimeValue}\n */\n\n\n get endDate() {\n return this.getFirstPropertyFirstValue('DTEND');\n }\n /**\n * Sets the start-date of the FreeBusy component\n *\n * @param {DateTimeValue} endDate The end of the queried time-range\n */\n\n\n set endDate(endDate) {\n this._modify();\n\n this.updatePropertyWithValue('DTEND', endDate.getInTimezone(Timezone.utc));\n }\n /**\n * Gets an iterator over all FreeBusyProperties\n */\n\n\n *getFreeBusyIterator() {\n yield* this.getPropertyIterator('FREEBUSY');\n }\n /**\n * Adds a new attendee based on their name and email-address\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @param {String} name The name of the attendee to add\n * @param {String} email The email-address of the attendee to add\n */\n\n\n addAttendeeFromNameAndEMail(name, email) {\n this._modify();\n\n this.addProperty(AttendeeProperty.fromNameAndEMail(name, email));\n }\n /**\n * Sets the organiser property from common-name and email address\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @param {String} name The name of the organizer\n * @param {String} email The email-address of the organizer\n */\n\n\n setOrganizerFromNameAndEMail(name, email) {\n this._modify();\n\n this.deleteAllProperties('ORGANIZER');\n this.addProperty(AttendeeProperty.fromNameAndEMail(name, email, true));\n }\n\n}\n/**\n * The organizer of this FreeBusy component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @name FreeBusyComponent#organizer\n * @type {AttendeeProperty}\n */\n\nadvertiseSingleOccurrenceProperty(FreeBusyComponent.prototype, 'organizer');\n/**\n * The UID of this FreeBusy component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.7\n *\n * @name FreeBusyComponent#organizer\n * @type {AttendeeProperty}\n */\n\nadvertiseSingleOccurrenceProperty(FreeBusyComponent.prototype, 'uid');\n/**\n * Returns an iterator of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#getAttendeeList\n * @function\n * @returns {AttendeeProperty[]}\n */\n\n/**\n * Removes an attendee\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee\n */\n\n/**\n * Removes all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#clearAllAttendees\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(FreeBusyComponent.prototype, 'attendee');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class JournalComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.3\n */\n\nclass JournalComponent extends AbstractRecurringComponent {\n /**\n * Adds a new description property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @param {String} description The description text\n */\n addDescription(description) {\n this.addProperty(new TextProperty('DESCRIPTION', description));\n }\n\n}\n/**\n * Gets an iterator over all description properties\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#getDescriptionIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Gets a list of all description properties\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#getDescriptionList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a description from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#removeDescription\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all descriptions from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#clearAllDescriptions\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(JournalComponent.prototype, 'description');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ToDoComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.2\n */\n\nclass ToDoComponent extends AbstractRecurringComponent {\n /**\n * Returns whether this event is an all-day event\n *\n * @returns {boolean}\n */\n isAllDay() {\n const propertiesToCheck = ['DTSTART', 'DUE'];\n\n for (const propertyToCheck of propertiesToCheck) {\n if (this.hasProperty(propertyToCheck)) {\n return this.getFirstPropertyFirstValue(propertyToCheck).isDate;\n }\n } // If a task is not associated with any date, it is defined to\n // occur on any successive date until it is completed.\n // We are treating it as all-day in that case.\n\n\n return true;\n }\n /**\n * Checks whether it's possible to switch from date-time to date or vise-versa\n *\n * @returns {boolean}\n */\n\n\n canModifyAllDay() {\n if (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n return false;\n }\n\n return !this.recurrenceManager.masterItem.isRecurring();\n }\n /**\n * Gets the calculated end-date of the task\n *\n * If there is a due-date, we will just return that.\n * If there is a start-date and a duration, we will\n * calculate the end-date based on that.\n *\n * If there is neither a due-date nor a combination\n * of start-date and duration, we just return null\n *\n * @returns {DateTimeValue|null}\n */\n\n\n get endDate() {\n if (this.hasProperty('due')) {\n return this.getFirstPropertyFirstValue('due');\n }\n\n if (!this.hasProperty('dtstart') || !this.hasProperty('duration')) {\n return null;\n }\n\n const endDate = this.startDate.clone();\n endDate.addDuration(this.getFirstPropertyFirstValue('duration'));\n return endDate;\n }\n /**\n * Shifts the entire task by the given duration\n *\n * @param {DurationValue} delta The duration to shift event by\n * @param {Boolean} allDay Whether the updated event should be all-day or not\n * @param {Timezone} defaultTimezone The default timezone if moving from all-day to timed event\n * @param {DurationValue} defaultAllDayDuration The default all-day duration if moving from timed to all-day\n * @param {DurationValue} defaultTimedDuration The default timed duration if moving from all-day to timed\n */\n\n\n shiftByDuration(delta, allDay, defaultTimezone, defaultAllDayDuration, defaultTimedDuration) {\n const currentAllDay = this.isAllDay();\n\n if (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n throw new TypeError('This task does not have a start-date nor due-date');\n }\n\n if (currentAllDay !== allDay && !this.canModifyAllDay()) {\n throw new TypeError('Can\\'t modify all-day of this todo');\n } // If this task has a start-date, update it\n // This is especially important, if you shift\n // the task by a negative duration, because\n // dtstart always has to be prior to the due date\n\n\n if (this.hasProperty('dtstart')) {\n this.startDate.isDate = allDay;\n this.startDate.addDuration(delta);\n\n if (currentAllDay && !allDay) {\n this.startDate.replaceTimezone(defaultTimezone);\n }\n }\n\n if (this.hasProperty('due')) {\n this.dueTime.isDate = allDay;\n this.dueTime.addDuration(delta);\n\n if (currentAllDay && !allDay) {\n this.dueTime.replaceTimezone(defaultTimezone);\n }\n }\n }\n /**\n * Checks if this event is in a given time-frame\n *\n * @param {DateTimeValue} start Start of time-range to check\n * @param {DateTimeValue} end End of time-range to check\n * @returns {boolean}\n */\n\n\n isInTimeFrame(start, end) {\n if (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n return true;\n }\n\n if (!this.hasProperty('dtstart') && this.hasProperty('due')) {\n return start.compare(this.endDate) <= 0;\n }\n\n return start.compare(this.endDate) <= 0 && end.compare(this.startDate) >= 0;\n }\n /**\n * Gets the geographical position property\n *\n * @returns {GeoProperty}\n */\n\n\n get geographicalPosition() {\n return this.getFirstProperty('GEO');\n }\n /**\n * Sets the geographical position based on latitude and longitude\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n *\n * @param {Number} lat - latitude\n * @param {Number} long - longitude\n */\n\n\n setGeographicalPositionFromLatitudeAndLongitude(lat, long) {\n this.deleteAllProperties('GEO');\n this.addProperty(GeoProperty.fromPosition(lat, long));\n }\n /**\n * Adds a new conference property based on URI, label and features\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @param {String} uri The URI of the conference\n * @param {String=} label The label of the conference\n * @param {String[]=} features Supported features of conference-system\n */\n\n\n addConference(uri, label = null, features = null) {\n this.addProperty(ConferenceProperty.fromURILabelAndFeatures(uri, label, features));\n }\n\n}\n/**\n * The time when a task was completed\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.1\n *\n * @name ToDoComponent#completedTime\n * @type {DateTimeValue}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'completedTime',\n iCalendarName: 'COMPLETED'\n});\n/**\n * The time when a task is due\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.3\n *\n * @name ToDoComponent#dueTime\n * @type {DateTimeValue}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'dueTime',\n iCalendarName: 'DUE'\n});\n/**\n * The time when a task was completed\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.5\n *\n * @name ToDoComponent#duration\n * @type {DurationValue}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'duration'\n});\n/**\n * The percentage a task was already fulfilled\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.8\n *\n * @name ToDoComponent#percent\n * @type {Number}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'percent',\n iCalendarName: 'PERCENT-COMPLETE'\n});\n/**\n * Description of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name ToDoComponent#description\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, 'description');\n/**\n * Location of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.7\n *\n * @name ToDoComponent#location\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, 'location');\n/**\n * Priority of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.9\n *\n * @name ToDoComponent#priority\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'priority',\n allowedValues: Array.from(Array(10).keys()),\n defaultValue: 0,\n unknownValue: 0\n});\n/**\n * Returns an iterator over all resources\n * If the parameter lang is given, it will only\n * return an iterator for Resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#getResourceIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all resources\n * If the parameter lang is given, it will only\n * return an iterator for resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#getResourceList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#addResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#removeResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes all resources from this task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#clearAllResources\n * @function\n * @param {String=} lang\n */\n\nadvertiseMultiValueStringPropertySeparatedByLang(ToDoComponent.prototype, {\n name: 'resource',\n iCalendarName: 'RESOURCES'\n});\n/**\n * Gets an iterator over all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#getConferenceIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Gets a list of all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#getConferenceList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a conference from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#removeConference\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all conferences from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#clearAllConferences\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(ToDoComponent.prototype, 'conference');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * Gets the constructor for a component name\n * This will only return a constructor for components,\n * that can be used in the root of a calendar-document\n *\n * @param {String} compName Name of the component to get constructor for\n * @returns {AbstractComponent|ToDoComponent|JournalComponent|FreeBusyComponent|TimezoneComponent|EventComponent}\n */\n\nfunction getConstructorForComponentName(compName) {\n switch (uc(compName)) {\n case 'VEVENT':\n return EventComponent;\n\n case 'VFREEBUSY':\n return FreeBusyComponent;\n\n case 'VJOURNAL':\n return JournalComponent;\n\n case 'VTIMEZONE':\n return TimezoneComponent;\n\n case 'VTODO':\n return ToDoComponent;\n\n default:\n return AbstractComponent;\n }\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * This class represents one VCALENDAR block\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.4\n */\n\nclass CalendarComponent extends AbstractComponent {\n /**\n * Constructor\n *\n * @inheritDoc\n */\n constructor(name = 'VCALENDAR', properties = [], components = []) {\n super(name, properties, components);\n this.root = this;\n this.parent = null;\n }\n /**\n * Gets an iterator over all VTIMEZONE components\n */\n\n\n *getTimezoneIterator() {\n yield* this.getComponentIterator('vtimezone');\n }\n /**\n * Gets an iterator over all VObject components\n */\n\n\n *getVObjectIterator() {\n yield* this.getEventIterator();\n yield* this.getJournalIterator();\n yield* this.getTodoIterator();\n }\n /**\n * Gets an iterator over all VEVENT components\n */\n\n\n *getEventIterator() {\n yield* this.getComponentIterator('vevent');\n }\n /**\n * Gets an iterator over all VFREEBUSY components\n */\n\n\n *getFreebusyIterator() {\n yield* this.getComponentIterator('vfreebusy');\n }\n /**\n * Gets an iterator over all VJOURNAL components\n */\n\n\n *getJournalIterator() {\n yield* this.getComponentIterator('vjournal');\n }\n /**\n * Gets an iterator over all VTODO components\n */\n\n\n *getTodoIterator() {\n yield* this.getComponentIterator('vtodo');\n }\n /**\n * @inheritDoc\n */\n\n\n static _getConstructorForComponentName(componentName) {\n return getConstructorForComponentName(componentName);\n }\n /**\n * Converts this calendar component into text/calendar\n *\n * @param {boolean} cleanUpTimezones Whether or not to clean up timezone data\n * @returns {string}\n */\n\n\n toICS(cleanUpTimezones = true) {\n for (const vObject of this.getVObjectIterator()) {\n vObject.undirtify();\n }\n\n const icalRoot = this.toICALJs();\n\n if (cleanUpTimezones) {\n ICAL.helpers.updateTimezones(icalRoot);\n }\n\n return icalRoot.toString();\n }\n /**\n * Creates a new empty calendar-component\n *\n * @param {[String][]=} additionalProps Additional props to add to empty calendar-document\n * @returns {CalendarComponent}\n */\n\n\n static fromEmpty(additionalProps = []) {\n return new this('VCALENDAR', [['prodid', getConfig('PRODID', '-//IDN georgehrke.com//calendar-js//EN')], ['calscale', 'GREGORIAN'], ['version', '2.0']].concat(additionalProps));\n }\n /**\n * Creates a new calendar-component with a method\n *\n * @param {string} method The method for the calendar-document\n * @returns {CalendarComponent}\n */\n\n\n static fromMethod(method) {\n return this.fromEmpty([['method', method]]);\n }\n /**\n * @inheritDoc\n */\n\n\n static fromICALJs(icalValue) {\n const comp = super.fromICALJs(icalValue);\n comp.root = comp;\n return comp;\n }\n\n}\n/**\n * ProductId representing the software that created this calendar-document\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.3\n *\n * @name CalendarComponent#productId\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n name: 'productId',\n iCalendarName: 'PRODID'\n});\n/**\n * iCalendar version of this calendar-document\n * minver and maxver parameters are not supported, since they\n * are virtually used by no calendaring-software\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.4\n *\n * @name CalendarComponent#version\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n name: 'version'\n});\n/**\n * Calendar-scale used in this calendar-document\n * The default and only supported calendar-scale is GREGORIAN.\n * There is an iCalendar-extension about non-gregorian RRULES,\n * but that is not supported by calendar-js at the moment\n * @see https://tools.ietf.org/html/rfc7529\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.1\n *\n * @name CalendarComponent#calendarScale\n * @type {String}\n * @default \"GREGORIAN\"\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n name: 'calendarScale',\n iCalendarName: 'CALSCALE',\n defaultValue: 'GREGORIAN'\n});\n/**\n * Method of this calendar-document when being used in an iTIP message\n * Please see https://tools.ietf.org/html/rfc5546#section-3.2 for more information\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.2\n *\n * @name CalendarComponent#method\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n name: 'method'\n});\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @class AbstractRepairStep\n * @classdesc A repair step is used to fix calendar-data before it is parsed\n */\nclass AbstractRepairStep {\n /**\n * @constructor\n */\n constructor() {\n if (new.target === AbstractRepairStep) {\n throw new TypeError('Cannot instantiate abstract class AbstractRepairStep');\n }\n }\n /**\n * @param {String} input String representation of the data to repair\n */\n\n\n repair(input) {\n throw new TypeError('Abstract method not implemented by subclass');\n }\n /**\n * @returns {number}\n */\n\n\n static priority() {\n return 0;\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarAddMissingUIDRepairStep\n */\n\nclass ICalendarAddMissingUIDRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^BEGIN:(VEVENT|VTODO|VJOURNAL)$(((?!^END:(VEVENT|VTODO|VJOURNAL)$)(?!^UID.*$)(.|\\n))*)^END:(VEVENT|VTODO|VJOURNAL)$\\n/gm, (match, vobjectName, vObjectBlock) => {\n return 'BEGIN:' + vobjectName + '\\r\\n' + 'UID:' + v4() + vObjectBlock + 'END:' + vobjectName + '\\r\\n';\n });\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarAddMissingValueDateDoubleColonRepairStep\n */\n\nclass ICalendarAddMissingValueDateDoubleColonRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^(DTSTART|DTEND)(.*):([0-9]{8})T(::)$/gm, (match, propName, parameters, date) => {\n return propName + ';VALUE=DATE:' + date;\n });\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarAddMissingValueDateRepairStep\n */\n\nclass ICalendarAddMissingValueDateRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^(DTSTART|DTEND)(((?!VALUE=DATE).)*):([0-9]{8})$/gm, (match, propName, parameters, _, date) => {\n return propName + parameters + ';VALUE=DATE:' + date;\n });\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarEmptyTriggerRepairStep\n * @classdesc This repair step fixes malformed TRIGGER properties\n */\n\nclass ICalendarEmptyTriggerRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^TRIGGER:P$/gm, 'TRIGGER:P0D').replace(/^TRIGGER:-P$/gm, 'TRIGGER:P0D');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass ICalendarIllegalCreatedRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^CREATED:00001231T000000Z$/gm, 'CREATED:19700101T000000Z');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarMultipleVCalendarBlocksRepairStep\n * @classdesc This repair step merges multiple BEGIN:VCALENDAR...END:VCALENDAR blocks\n */\n\nclass ICalendarMultipleVCalendarBlocksRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n let containsProdId = false;\n let containsVersion = false;\n let containsCalscale = false;\n const includedTimezones = new Set();\n return ics.replace(/^END:VCALENDAR$(((?!^BEGIN:)(.|\\n))*)^BEGIN:VCALENDAR$\\n/gm, '').replace(/^PRODID:(.*)$\\n/gm, match => {\n if (containsProdId) {\n return '';\n }\n\n containsProdId = true;\n return match;\n }).replace(/^VERSION:(.*)$\\n/gm, match => {\n if (containsVersion) {\n return '';\n }\n\n containsVersion = true;\n return match;\n }).replace(/^CALSCALE:(.*)$\\n/gm, match => {\n if (containsCalscale) {\n return '';\n }\n\n containsCalscale = true;\n return match;\n }).replace(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\\n))*)^END:VTIMEZONE$\\n/gm, match => {\n const tzidMatcher = match.match(/^TZID:(.*)$/gm); // If this Timezone definition contains no TZID for some reason,\n // just remove it, because we can't use it anyway\n\n if (tzidMatcher === null) {\n return '';\n }\n\n const tzid = uc(tzidMatcher[0].substr(5));\n\n if (includedTimezones.has(tzid)) {\n // If we already included this timezone, just skip\n return '';\n }\n\n includedTimezones.add(tzid);\n return match;\n });\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarRemoveXNCGroupIdRepairStep\n * @classdesc This repair step removes the X-NC-GroupID parameter used in previous versions of Nextcloud\n */\n\nclass ICalendarRemoveXNCGroupIdRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/(^.*)(;X-NC-GROUP-ID=\\d+)(:.*$)/gm, '$1$3');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * Get an iterator over all repair steps for iCalendar documents\n */\n\nfunction* getRepairSteps() {\n yield ICalendarAddMissingUIDRepairStep;\n yield ICalendarAddMissingValueDateDoubleColonRepairStep;\n yield ICalendarAddMissingValueDateRepairStep;\n yield ICalendarEmptyTriggerRepairStep;\n yield ICalendarIllegalCreatedRepairStep;\n yield ICalendarMultipleVCalendarBlocksRepairStep;\n yield ICalendarRemoveXNCGroupIdRepairStep;\n}\n\nvar version = \"2.2019c\";\nvar aliases = {\n\t\"AUS Central Standard Time\": {\n\t\taliasTo: \"Australia/Darwin\"\n\t},\n\t\"AUS Eastern Standard Time\": {\n\t\taliasTo: \"Australia/Sydney\"\n\t},\n\t\"Afghanistan Standard Time\": {\n\t\taliasTo: \"Asia/Kabul\"\n\t},\n\t\"Africa/Asmera\": {\n\t\taliasTo: \"Africa/Asmara\"\n\t},\n\t\"Africa/Timbuktu\": {\n\t\taliasTo: \"Africa/Bamako\"\n\t},\n\t\"Alaskan Standard Time\": {\n\t\taliasTo: \"America/Anchorage\"\n\t},\n\t\"America/Argentina/ComodRivadavia\": {\n\t\taliasTo: \"America/Argentina/Catamarca\"\n\t},\n\t\"America/Buenos_Aires\": {\n\t\taliasTo: \"America/Argentina/Buenos_Aires\"\n\t},\n\t\"America/Louisville\": {\n\t\taliasTo: \"America/Kentucky/Louisville\"\n\t},\n\t\"America/Montreal\": {\n\t\taliasTo: \"America/Toronto\"\n\t},\n\t\"America/Santa_Isabel\": {\n\t\taliasTo: \"America/Tijuana\"\n\t},\n\t\"Arab Standard Time\": {\n\t\taliasTo: \"Asia/Riyadh\"\n\t},\n\t\"Arabian Standard Time\": {\n\t\taliasTo: \"Asia/Dubai\"\n\t},\n\t\"Arabic Standard Time\": {\n\t\taliasTo: \"Asia/Baghdad\"\n\t},\n\t\"Argentina Standard Time\": {\n\t\taliasTo: \"America/Argentina/Buenos_Aires\"\n\t},\n\t\"Asia/Calcutta\": {\n\t\taliasTo: \"Asia/Kolkata\"\n\t},\n\t\"Asia/Katmandu\": {\n\t\taliasTo: \"Asia/Kathmandu\"\n\t},\n\t\"Asia/Rangoon\": {\n\t\taliasTo: \"Asia/Yangon\"\n\t},\n\t\"Asia/Saigon\": {\n\t\taliasTo: \"Asia/Ho_Chi_Minh\"\n\t},\n\t\"Atlantic Standard Time\": {\n\t\taliasTo: \"America/Halifax\"\n\t},\n\t\"Atlantic/Faeroe\": {\n\t\taliasTo: \"Atlantic/Faroe\"\n\t},\n\t\"Atlantic/Jan_Mayen\": {\n\t\taliasTo: \"Europe/Oslo\"\n\t},\n\t\"Azerbaijan Standard Time\": {\n\t\taliasTo: \"Asia/Baku\"\n\t},\n\t\"Azores Standard Time\": {\n\t\taliasTo: \"Atlantic/Azores\"\n\t},\n\t\"Bahia Standard Time\": {\n\t\taliasTo: \"America/Bahia\"\n\t},\n\t\"Bangladesh Standard Time\": {\n\t\taliasTo: \"Asia/Dhaka\"\n\t},\n\t\"Belarus Standard Time\": {\n\t\taliasTo: \"Europe/Minsk\"\n\t},\n\t\"Canada Central Standard Time\": {\n\t\taliasTo: \"America/Regina\"\n\t},\n\t\"Cape Verde Standard Time\": {\n\t\taliasTo: \"Atlantic/Cape_Verde\"\n\t},\n\t\"Caucasus Standard Time\": {\n\t\taliasTo: \"Asia/Yerevan\"\n\t},\n\t\"Cen. Australia Standard Time\": {\n\t\taliasTo: \"Australia/Adelaide\"\n\t},\n\t\"Central America Standard Time\": {\n\t\taliasTo: \"America/Guatemala\"\n\t},\n\t\"Central Asia Standard Time\": {\n\t\taliasTo: \"Asia/Almaty\"\n\t},\n\t\"Central Brazilian Standard Time\": {\n\t\taliasTo: \"America/Cuiaba\"\n\t},\n\t\"Central Europe Standard Time\": {\n\t\taliasTo: \"Europe/Budapest\"\n\t},\n\t\"Central European Standard Time\": {\n\t\taliasTo: \"Europe/Warsaw\"\n\t},\n\t\"Central Pacific Standard Time\": {\n\t\taliasTo: \"Pacific/Guadalcanal\"\n\t},\n\t\"Central Standard Time\": {\n\t\taliasTo: \"America/Chicago\"\n\t},\n\t\"Central Standard Time (Mexico)\": {\n\t\taliasTo: \"America/Mexico_City\"\n\t},\n\t\"China Standard Time\": {\n\t\taliasTo: \"Asia/Shanghai\"\n\t},\n\t\"E. Africa Standard Time\": {\n\t\taliasTo: \"Africa/Nairobi\"\n\t},\n\t\"E. Australia Standard Time\": {\n\t\taliasTo: \"Australia/Brisbane\"\n\t},\n\t\"E. South America Standard Time\": {\n\t\taliasTo: \"America/Sao_Paulo\"\n\t},\n\t\"Eastern Standard Time\": {\n\t\taliasTo: \"America/New_York\"\n\t},\n\t\"Egypt Standard Time\": {\n\t\taliasTo: \"Africa/Cairo\"\n\t},\n\t\"Ekaterinburg Standard Time\": {\n\t\taliasTo: \"Asia/Yekaterinburg\"\n\t},\n\t\"Etc/GMT\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/GMT+0\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/UCT\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/UTC\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/Unversal\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/Zulu\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Europe/Belfast\": {\n\t\taliasTo: \"Europe/London\"\n\t},\n\t\"FLE Standard Time\": {\n\t\taliasTo: \"Europe/Kiev\"\n\t},\n\t\"Fiji Standard Time\": {\n\t\taliasTo: \"Pacific/Fiji\"\n\t},\n\tGMT: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"GMT Standard Time\": {\n\t\taliasTo: \"Europe/London\"\n\t},\n\t\"GMT+0\": {\n\t\taliasTo: \"UTC\"\n\t},\n\tGMT0: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"GTB Standard Time\": {\n\t\taliasTo: \"Europe/Bucharest\"\n\t},\n\t\"Georgian Standard Time\": {\n\t\taliasTo: \"Asia/Tbilisi\"\n\t},\n\t\"Greenland Standard Time\": {\n\t\taliasTo: \"America/Godthab\"\n\t},\n\tGreenwich: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Greenwich Standard Time\": {\n\t\taliasTo: \"Atlantic/Reykjavik\"\n\t},\n\t\"Hawaiian Standard Time\": {\n\t\taliasTo: \"Pacific/Honolulu\"\n\t},\n\t\"India Standard Time\": {\n\t\taliasTo: \"Asia/Calcutta\"\n\t},\n\t\"Iran Standard Time\": {\n\t\taliasTo: \"Asia/Tehran\"\n\t},\n\t\"Israel Standard Time\": {\n\t\taliasTo: \"Asia/Jerusalem\"\n\t},\n\t\"Jordan Standard Time\": {\n\t\taliasTo: \"Asia/Amman\"\n\t},\n\t\"Kaliningrad Standard Time\": {\n\t\taliasTo: \"Europe/Kaliningrad\"\n\t},\n\t\"Korea Standard Time\": {\n\t\taliasTo: \"Asia/Seoul\"\n\t},\n\t\"Libya Standard Time\": {\n\t\taliasTo: \"Africa/Tripoli\"\n\t},\n\t\"Line Islands Standard Time\": {\n\t\taliasTo: \"Pacific/Kiritimati\"\n\t},\n\t\"Magadan Standard Time\": {\n\t\taliasTo: \"Asia/Magadan\"\n\t},\n\t\"Mauritius Standard Time\": {\n\t\taliasTo: \"Indian/Mauritius\"\n\t},\n\t\"Middle East Standard Time\": {\n\t\taliasTo: \"Asia/Beirut\"\n\t},\n\t\"Montevideo Standard Time\": {\n\t\taliasTo: \"America/Montevideo\"\n\t},\n\t\"Morocco Standard Time\": {\n\t\taliasTo: \"Africa/Casablanca\"\n\t},\n\t\"Mountain Standard Time\": {\n\t\taliasTo: \"America/Denver\"\n\t},\n\t\"Mountain Standard Time (Mexico)\": {\n\t\taliasTo: \"America/Chihuahua\"\n\t},\n\t\"Myanmar Standard Time\": {\n\t\taliasTo: \"Asia/Rangoon\"\n\t},\n\t\"N. Central Asia Standard Time\": {\n\t\taliasTo: \"Asia/Novosibirsk\"\n\t},\n\t\"Namibia Standard Time\": {\n\t\taliasTo: \"Africa/Windhoek\"\n\t},\n\t\"Nepal Standard Time\": {\n\t\taliasTo: \"Asia/Katmandu\"\n\t},\n\t\"New Zealand Standard Time\": {\n\t\taliasTo: \"Pacific/Auckland\"\n\t},\n\t\"Newfoundland Standard Time\": {\n\t\taliasTo: \"America/St_Johns\"\n\t},\n\t\"North Asia East Standard Time\": {\n\t\taliasTo: \"Asia/Irkutsk\"\n\t},\n\t\"North Asia Standard Time\": {\n\t\taliasTo: \"Asia/Krasnoyarsk\"\n\t},\n\t\"Pacific SA Standard Time\": {\n\t\taliasTo: \"America/Santiago\"\n\t},\n\t\"Pacific Standard Time\": {\n\t\taliasTo: \"America/Los_Angeles\"\n\t},\n\t\"Pacific Standard Time (Mexico)\": {\n\t\taliasTo: \"America/Santa_Isabel\"\n\t},\n\t\"Pacific/Johnston\": {\n\t\taliasTo: \"Pacific/Honolulu\"\n\t},\n\t\"Pakistan Standard Time\": {\n\t\taliasTo: \"Asia/Karachi\"\n\t},\n\t\"Paraguay Standard Time\": {\n\t\taliasTo: \"America/Asuncion\"\n\t},\n\t\"Romance Standard Time\": {\n\t\taliasTo: \"Europe/Paris\"\n\t},\n\t\"Russia Time Zone 10\": {\n\t\taliasTo: \"Asia/Srednekolymsk\"\n\t},\n\t\"Russia Time Zone 11\": {\n\t\taliasTo: \"Asia/Kamchatka\"\n\t},\n\t\"Russia Time Zone 3\": {\n\t\taliasTo: \"Europe/Samara\"\n\t},\n\t\"Russian Standard Time\": {\n\t\taliasTo: \"Europe/Moscow\"\n\t},\n\t\"SA Eastern Standard Time\": {\n\t\taliasTo: \"America/Cayenne\"\n\t},\n\t\"SA Pacific Standard Time\": {\n\t\taliasTo: \"America/Bogota\"\n\t},\n\t\"SA Western Standard Time\": {\n\t\taliasTo: \"America/La_Paz\"\n\t},\n\t\"SE Asia Standard Time\": {\n\t\taliasTo: \"Asia/Bangkok\"\n\t},\n\t\"Samoa Standard Time\": {\n\t\taliasTo: \"Pacific/Apia\"\n\t},\n\t\"Singapore Standard Time\": {\n\t\taliasTo: \"Asia/Singapore\"\n\t},\n\t\"South Africa Standard Time\": {\n\t\taliasTo: \"Africa/Johannesburg\"\n\t},\n\t\"Sri Lanka Standard Time\": {\n\t\taliasTo: \"Asia/Colombo\"\n\t},\n\t\"Syria Standard Time\": {\n\t\taliasTo: \"Asia/Damascus\"\n\t},\n\t\"Taipei Standard Time\": {\n\t\taliasTo: \"Asia/Taipei\"\n\t},\n\t\"Tasmania Standard Time\": {\n\t\taliasTo: \"Australia/Hobart\"\n\t},\n\t\"Tokyo Standard Time\": {\n\t\taliasTo: \"Asia/Tokyo\"\n\t},\n\t\"Tonga Standard Time\": {\n\t\taliasTo: \"Pacific/Tongatapu\"\n\t},\n\t\"Turkey Standard Time\": {\n\t\taliasTo: \"Europe/Istanbul\"\n\t},\n\tUCT: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"US Eastern Standard Time\": {\n\t\taliasTo: \"America/Indiana/Indianapolis\"\n\t},\n\t\"US Mountain Standard Time\": {\n\t\taliasTo: \"America/Phoenix\"\n\t},\n\t\"US/Central\": {\n\t\taliasTo: \"America/Chicago\"\n\t},\n\t\"US/Eastern\": {\n\t\taliasTo: \"America/New_York\"\n\t},\n\t\"US/Mountain\": {\n\t\taliasTo: \"America/Denver\"\n\t},\n\t\"US/Pacific\": {\n\t\taliasTo: \"America/Los_Angeles\"\n\t},\n\t\"US/Pacific-New\": {\n\t\taliasTo: \"America/Los_Angeles\"\n\t},\n\t\"Ulaanbaatar Standard Time\": {\n\t\taliasTo: \"Asia/Ulaanbaatar\"\n\t},\n\tUniversal: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Venezuela Standard Time\": {\n\t\taliasTo: \"America/Caracas\"\n\t},\n\t\"Vladivostok Standard Time\": {\n\t\taliasTo: \"Asia/Vladivostok\"\n\t},\n\t\"W. Australia Standard Time\": {\n\t\taliasTo: \"Australia/Perth\"\n\t},\n\t\"W. Central Africa Standard Time\": {\n\t\taliasTo: \"Africa/Lagos\"\n\t},\n\t\"W. Europe Standard Time\": {\n\t\taliasTo: \"Europe/Berlin\"\n\t},\n\t\"West Asia Standard Time\": {\n\t\taliasTo: \"Asia/Tashkent\"\n\t},\n\t\"West Pacific Standard Time\": {\n\t\taliasTo: \"Pacific/Port_Moresby\"\n\t},\n\t\"Yakutsk Standard Time\": {\n\t\taliasTo: \"Asia/Yakutsk\"\n\t},\n\tZ: {\n\t\taliasTo: \"UTC\"\n\t},\n\tZulu: {\n\t\taliasTo: \"UTC\"\n\t},\n\tutc: {\n\t\taliasTo: \"UTC\"\n\t}\n};\nvar zones = {\n\t\"Africa/Abidjan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0051900\",\n\t\tlongitude: \"-0040200\"\n\t},\n\t\"Africa/Accra\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0053300\",\n\t\tlongitude: \"+0001300\"\n\t},\n\t\"Africa/Addis_Ababa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0090200\",\n\t\tlongitude: \"+0384200\"\n\t},\n\t\"Africa/Algiers\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0364700\",\n\t\tlongitude: \"+0030300\"\n\t},\n\t\"Africa/Asmara\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0152000\",\n\t\tlongitude: \"+0385300\"\n\t},\n\t\"Africa/Bamako\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0123900\",\n\t\tlongitude: \"-0080000\"\n\t},\n\t\"Africa/Bangui\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0042200\",\n\t\tlongitude: \"+0183500\"\n\t},\n\t\"Africa/Banjul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0132800\",\n\t\tlongitude: \"-0163900\"\n\t},\n\t\"Africa/Bissau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0115100\",\n\t\tlongitude: \"-0153500\"\n\t},\n\t\"Africa/Blantyre\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0154700\",\n\t\tlongitude: \"+0350000\"\n\t},\n\t\"Africa/Brazzaville\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0041600\",\n\t\tlongitude: \"+0151700\"\n\t},\n\t\"Africa/Bujumbura\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0032300\",\n\t\tlongitude: \"+0292200\"\n\t},\n\t\"Africa/Cairo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0300300\",\n\t\tlongitude: \"+0311500\"\n\t},\n\t\"Africa/Casablanca\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20180325T020000\\r\\nRDATE:20180325T020000\\r\\nRDATE:20180617T020000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20180513T030000\\r\\nRDATE:20180513T030000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20190609T020000\\r\\nRDATE:20190609T020000\\r\\nRDATE:20200524T020000\\r\\nRDATE:20210516T020000\\r\\nRDATE:20220508T020000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20181028T030000\\r\\nRDATE:20181028T030000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20190505T030000\\r\\nRDATE:20190505T030000\\r\\nRDATE:20200419T030000\\r\\nRDATE:20210411T030000\\r\\nRDATE:20220327T030000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0333900\",\n\t\tlongitude: \"-0073500\"\n\t},\n\t\"Africa/Ceuta\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0355300\",\n\t\tlongitude: \"-0051900\"\n\t},\n\t\"Africa/Conakry\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0093100\",\n\t\tlongitude: \"-0134300\"\n\t},\n\t\"Africa/Dakar\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0144000\",\n\t\tlongitude: \"-0172600\"\n\t},\n\t\"Africa/Dar_es_Salaam\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0064800\",\n\t\tlongitude: \"+0391700\"\n\t},\n\t\"Africa/Djibouti\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0113600\",\n\t\tlongitude: \"+0430900\"\n\t},\n\t\"Africa/Douala\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0040300\",\n\t\tlongitude: \"+0094200\"\n\t},\n\t\"Africa/El_Aaiun\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20180325T020000\\r\\nRDATE:20180325T020000\\r\\nRDATE:20180617T020000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20180513T030000\\r\\nRDATE:20180513T030000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20181028T030000\\r\\nRDATE:20181028T030000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20190505T030000\\r\\nRDATE:20190505T030000\\r\\nRDATE:20200419T030000\\r\\nRDATE:20210411T030000\\r\\nRDATE:20220327T030000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20190609T020000\\r\\nRDATE:20190609T020000\\r\\nRDATE:20200524T020000\\r\\nRDATE:20210516T020000\\r\\nRDATE:20220508T020000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0270900\",\n\t\tlongitude: \"-0131200\"\n\t},\n\t\"Africa/Freetown\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0083000\",\n\t\tlongitude: \"-0131500\"\n\t},\n\t\"Africa/Gaborone\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0243900\",\n\t\tlongitude: \"+0255500\"\n\t},\n\t\"Africa/Harare\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0175000\",\n\t\tlongitude: \"+0310300\"\n\t},\n\t\"Africa/Johannesburg\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0261500\",\n\t\tlongitude: \"+0280000\"\n\t},\n\t\"Africa/Juba\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0045100\",\n\t\tlongitude: \"+0313700\"\n\t},\n\t\"Africa/Kampala\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0001900\",\n\t\tlongitude: \"+0322500\"\n\t},\n\t\"Africa/Khartoum\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0153600\",\n\t\tlongitude: \"+0323200\"\n\t},\n\t\"Africa/Kigali\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0015700\",\n\t\tlongitude: \"+0300400\"\n\t},\n\t\"Africa/Kinshasa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0041800\",\n\t\tlongitude: \"+0151800\"\n\t},\n\t\"Africa/Lagos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0062700\",\n\t\tlongitude: \"+0032400\"\n\t},\n\t\"Africa/Libreville\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0002300\",\n\t\tlongitude: \"+0092700\"\n\t},\n\t\"Africa/Lome\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0060800\",\n\t\tlongitude: \"+0011300\"\n\t},\n\t\"Africa/Luanda\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0084800\",\n\t\tlongitude: \"+0131400\"\n\t},\n\t\"Africa/Lubumbashi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0114000\",\n\t\tlongitude: \"+0272800\"\n\t},\n\t\"Africa/Lusaka\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0152500\",\n\t\tlongitude: \"+0281700\"\n\t},\n\t\"Africa/Malabo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0034500\",\n\t\tlongitude: \"+0084700\"\n\t},\n\t\"Africa/Maputo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0255800\",\n\t\tlongitude: \"+0323500\"\n\t},\n\t\"Africa/Maseru\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0292800\",\n\t\tlongitude: \"+0273000\"\n\t},\n\t\"Africa/Mbabane\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0261800\",\n\t\tlongitude: \"+0310600\"\n\t},\n\t\"Africa/Mogadishu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0020400\",\n\t\tlongitude: \"+0452200\"\n\t},\n\t\"Africa/Monrovia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0061800\",\n\t\tlongitude: \"-0104700\"\n\t},\n\t\"Africa/Nairobi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0011700\",\n\t\tlongitude: \"+0364900\"\n\t},\n\t\"Africa/Ndjamena\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0120700\",\n\t\tlongitude: \"+0150300\"\n\t},\n\t\"Africa/Niamey\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0133100\",\n\t\tlongitude: \"+0020700\"\n\t},\n\t\"Africa/Nouakchott\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0180600\",\n\t\tlongitude: \"-0155700\"\n\t},\n\t\"Africa/Ouagadougou\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0122200\",\n\t\tlongitude: \"-0013100\"\n\t},\n\t\"Africa/Porto-Novo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0062900\",\n\t\tlongitude: \"+0023700\"\n\t},\n\t\"Africa/Sao_Tome\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:20180101T010000\\r\\nRDATE:20180101T010000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:20190101T020000\\r\\nRDATE:20190101T020000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0002000\",\n\t\tlongitude: \"+0064400\"\n\t},\n\t\"Africa/Tripoli\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0325400\",\n\t\tlongitude: \"+0131100\"\n\t},\n\t\"Africa/Tunis\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0364800\",\n\t\tlongitude: \"+0101100\"\n\t},\n\t\"Africa/Windhoek\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0223400\",\n\t\tlongitude: \"+0170600\"\n\t},\n\t\"America/Adak\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:HDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0515248\",\n\t\tlongitude: \"-1763929\"\n\t},\n\t\"America/Anchorage\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0611305\",\n\t\tlongitude: \"-1495401\"\n\t},\n\t\"America/Anguilla\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0181200\",\n\t\tlongitude: \"-0630400\"\n\t},\n\t\"America/Antigua\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0170300\",\n\t\tlongitude: \"-0614800\"\n\t},\n\t\"America/Araguaina\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0071200\",\n\t\tlongitude: \"-0481200\"\n\t},\n\t\"America/Argentina/Buenos_Aires\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0343600\",\n\t\tlongitude: \"-0582700\"\n\t},\n\t\"America/Argentina/Catamarca\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0282800\",\n\t\tlongitude: \"-0654700\"\n\t},\n\t\"America/Argentina/Cordoba\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0312400\",\n\t\tlongitude: \"-0641100\"\n\t},\n\t\"America/Argentina/Jujuy\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0241100\",\n\t\tlongitude: \"-0651800\"\n\t},\n\t\"America/Argentina/La_Rioja\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0292600\",\n\t\tlongitude: \"-0665100\"\n\t},\n\t\"America/Argentina/Mendoza\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0325300\",\n\t\tlongitude: \"-0684900\"\n\t},\n\t\"America/Argentina/Rio_Gallegos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0513800\",\n\t\tlongitude: \"-0691300\"\n\t},\n\t\"America/Argentina/Salta\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0244700\",\n\t\tlongitude: \"-0652500\"\n\t},\n\t\"America/Argentina/San_Juan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0313200\",\n\t\tlongitude: \"-0683100\"\n\t},\n\t\"America/Argentina/San_Luis\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0331900\",\n\t\tlongitude: \"-0662100\"\n\t},\n\t\"America/Argentina/Tucuman\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0264900\",\n\t\tlongitude: \"-0651300\"\n\t},\n\t\"America/Argentina/Ushuaia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0544800\",\n\t\tlongitude: \"-0681800\"\n\t},\n\t\"America/Aruba\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0123000\",\n\t\tlongitude: \"-0695800\"\n\t},\n\t\"America/Asuncion\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701004T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700322T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=4SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0251600\",\n\t\tlongitude: \"-0574000\"\n\t},\n\t\"America/Atikokan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0484531\",\n\t\tlongitude: \"-0913718\"\n\t},\n\t\"America/Bahia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0125900\",\n\t\tlongitude: \"-0383100\"\n\t},\n\t\"America/Bahia_Banderas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0204800\",\n\t\tlongitude: \"-1051500\"\n\t},\n\t\"America/Barbados\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0130600\",\n\t\tlongitude: \"-0593700\"\n\t},\n\t\"America/Belem\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0012700\",\n\t\tlongitude: \"-0482900\"\n\t},\n\t\"America/Belize\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0173000\",\n\t\tlongitude: \"-0881200\"\n\t},\n\t\"America/Blanc-Sablon\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0512500\",\n\t\tlongitude: \"-0570700\"\n\t},\n\t\"America/Boa_Vista\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0024900\",\n\t\tlongitude: \"-0604000\"\n\t},\n\t\"America/Bogota\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0043600\",\n\t\tlongitude: \"-0740500\"\n\t},\n\t\"America/Boise\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0433649\",\n\t\tlongitude: \"-1161209\"\n\t},\n\t\"America/Cambridge_Bay\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0690650\",\n\t\tlongitude: \"-1050310\"\n\t},\n\t\"America/Campo_Grande\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20181104T000000\\r\\nRDATE:20181104T000000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20180218T000000\\r\\nRDATE:20180218T000000\\r\\nRDATE:20190217T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0202700\",\n\t\tlongitude: \"-0543700\"\n\t},\n\t\"America/Cancun\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0210500\",\n\t\tlongitude: \"-0864600\"\n\t},\n\t\"America/Caracas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0103000\",\n\t\tlongitude: \"-0665600\"\n\t},\n\t\"America/Cayenne\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0045600\",\n\t\tlongitude: \"-0522000\"\n\t},\n\t\"America/Cayman\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0191800\",\n\t\tlongitude: \"-0812300\"\n\t},\n\t\"America/Chicago\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0415100\",\n\t\tlongitude: \"-0873900\"\n\t},\n\t\"America/Chihuahua\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0283800\",\n\t\tlongitude: \"-1060500\"\n\t},\n\t\"America/Costa_Rica\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0095600\",\n\t\tlongitude: \"-0840500\"\n\t},\n\t\"America/Creston\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0490600\",\n\t\tlongitude: \"-1163100\"\n\t},\n\t\"America/Cuiaba\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20181104T000000\\r\\nRDATE:20181104T000000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20180218T000000\\r\\nRDATE:20180218T000000\\r\\nRDATE:20190217T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0153500\",\n\t\tlongitude: \"-0560500\"\n\t},\n\t\"America/Curacao\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0121100\",\n\t\tlongitude: \"-0690000\"\n\t},\n\t\"America/Danmarkshavn\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0764600\",\n\t\tlongitude: \"-0184000\"\n\t},\n\t\"America/Dawson\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0640400\",\n\t\tlongitude: \"-1392500\"\n\t},\n\t\"America/Dawson_Creek\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0594600\",\n\t\tlongitude: \"-1201400\"\n\t},\n\t\"America/Denver\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0394421\",\n\t\tlongitude: \"-1045903\"\n\t},\n\t\"America/Detroit\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0421953\",\n\t\tlongitude: \"-0830245\"\n\t},\n\t\"America/Dominica\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0151800\",\n\t\tlongitude: \"-0612400\"\n\t},\n\t\"America/Edmonton\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0533300\",\n\t\tlongitude: \"-1132800\"\n\t},\n\t\"America/Eirunepe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0064000\",\n\t\tlongitude: \"-0695200\"\n\t},\n\t\"America/El_Salvador\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0134200\",\n\t\tlongitude: \"-0891200\"\n\t},\n\t\"America/Fort_Nelson\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0584800\",\n\t\tlongitude: \"-1224200\"\n\t},\n\t\"America/Fortaleza\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0034300\",\n\t\tlongitude: \"-0383000\"\n\t},\n\t\"America/Glace_Bay\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0461200\",\n\t\tlongitude: \"-0595700\"\n\t},\n\t\"America/Godthab\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700328T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701024T230000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0641100\",\n\t\tlongitude: \"-0514400\"\n\t},\n\t\"America/Goose_Bay\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0532000\",\n\t\tlongitude: \"-0602500\"\n\t},\n\t\"America/Grand_Turk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:20181104T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:20190310T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:20180311T020000\\r\\nRDATE:20180311T020000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0212800\",\n\t\tlongitude: \"-0710800\"\n\t},\n\t\"America/Grenada\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0120300\",\n\t\tlongitude: \"-0614500\"\n\t},\n\t\"America/Guadeloupe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0161400\",\n\t\tlongitude: \"-0613200\"\n\t},\n\t\"America/Guatemala\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0143800\",\n\t\tlongitude: \"-0903100\"\n\t},\n\t\"America/Guayaquil\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0021000\",\n\t\tlongitude: \"-0795000\"\n\t},\n\t\"America/Guyana\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0064800\",\n\t\tlongitude: \"-0581000\"\n\t},\n\t\"America/Halifax\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0443900\",\n\t\tlongitude: \"-0633600\"\n\t},\n\t\"America/Havana\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0230800\",\n\t\tlongitude: \"-0822200\"\n\t},\n\t\"America/Hermosillo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0290400\",\n\t\tlongitude: \"-1105800\"\n\t},\n\t\"America/Indiana/Indianapolis\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0394606\",\n\t\tlongitude: \"-0860929\"\n\t},\n\t\"America/Indiana/Knox\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0411745\",\n\t\tlongitude: \"-0863730\"\n\t},\n\t\"America/Indiana/Marengo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0382232\",\n\t\tlongitude: \"-0862041\"\n\t},\n\t\"America/Indiana/Petersburg\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0382931\",\n\t\tlongitude: \"-0871643\"\n\t},\n\t\"America/Indiana/Tell_City\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0375711\",\n\t\tlongitude: \"-0864541\"\n\t},\n\t\"America/Indiana/Vevay\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0384452\",\n\t\tlongitude: \"-0850402\"\n\t},\n\t\"America/Indiana/Vincennes\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0384038\",\n\t\tlongitude: \"-0873143\"\n\t},\n\t\"America/Indiana/Winamac\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0410305\",\n\t\tlongitude: \"-0863611\"\n\t},\n\t\"America/Inuvik\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0682059\",\n\t\tlongitude: \"-1334300\"\n\t},\n\t\"America/Iqaluit\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0634400\",\n\t\tlongitude: \"-0682800\"\n\t},\n\t\"America/Jamaica\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0175805\",\n\t\tlongitude: \"-0764736\"\n\t},\n\t\"America/Juneau\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0581807\",\n\t\tlongitude: \"-1342511\"\n\t},\n\t\"America/Kentucky/Louisville\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0381515\",\n\t\tlongitude: \"-0854534\"\n\t},\n\t\"America/Kentucky/Monticello\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0364947\",\n\t\tlongitude: \"-0845057\"\n\t},\n\t\"America/Kralendijk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0120903\",\n\t\tlongitude: \"-0681636\"\n\t},\n\t\"America/La_Paz\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0163000\",\n\t\tlongitude: \"-0680900\"\n\t},\n\t\"America/Lima\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0120300\",\n\t\tlongitude: \"-0770300\"\n\t},\n\t\"America/Los_Angeles\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0340308\",\n\t\tlongitude: \"-1181434\"\n\t},\n\t\"America/Lower_Princes\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0180305\",\n\t\tlongitude: \"-0630250\"\n\t},\n\t\"America/Maceio\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0094000\",\n\t\tlongitude: \"-0354300\"\n\t},\n\t\"America/Managua\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0120900\",\n\t\tlongitude: \"-0861700\"\n\t},\n\t\"America/Manaus\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0030800\",\n\t\tlongitude: \"-0600100\"\n\t},\n\t\"America/Marigot\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0180400\",\n\t\tlongitude: \"-0630500\"\n\t},\n\t\"America/Martinique\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0143600\",\n\t\tlongitude: \"-0610500\"\n\t},\n\t\"America/Matamoros\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0255000\",\n\t\tlongitude: \"-0973000\"\n\t},\n\t\"America/Mazatlan\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0231300\",\n\t\tlongitude: \"-1062500\"\n\t},\n\t\"America/Menominee\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0450628\",\n\t\tlongitude: \"-0873651\"\n\t},\n\t\"America/Merida\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0205800\",\n\t\tlongitude: \"-0893700\"\n\t},\n\t\"America/Metlakatla\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:20191103T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:20181104T020000\\r\\nRDATE:20181104T020000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:20190120T020000\\r\\nRDATE:20190120T020000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0550737\",\n\t\tlongitude: \"-1313435\"\n\t},\n\t\"America/Mexico_City\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0192400\",\n\t\tlongitude: \"-0990900\"\n\t},\n\t\"America/Miquelon\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470300\",\n\t\tlongitude: \"-0562000\"\n\t},\n\t\"America/Moncton\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0460600\",\n\t\tlongitude: \"-0644700\"\n\t},\n\t\"America/Monterrey\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0254000\",\n\t\tlongitude: \"-1001900\"\n\t},\n\t\"America/Montevideo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0345433\",\n\t\tlongitude: \"-0561245\"\n\t},\n\t\"America/Montserrat\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0164300\",\n\t\tlongitude: \"-0621300\"\n\t},\n\t\"America/Nassau\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0250500\",\n\t\tlongitude: \"-0772100\"\n\t},\n\t\"America/New_York\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0404251\",\n\t\tlongitude: \"-0740023\"\n\t},\n\t\"America/Nipigon\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0490100\",\n\t\tlongitude: \"-0881600\"\n\t},\n\t\"America/Nome\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0643004\",\n\t\tlongitude: \"-1652423\"\n\t},\n\t\"America/Noronha\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0035100\",\n\t\tlongitude: \"-0322500\"\n\t},\n\t\"America/North_Dakota/Beulah\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0471551\",\n\t\tlongitude: \"-1014640\"\n\t},\n\t\"America/North_Dakota/Center\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470659\",\n\t\tlongitude: \"-1011757\"\n\t},\n\t\"America/North_Dakota/New_Salem\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0465042\",\n\t\tlongitude: \"-1012439\"\n\t},\n\t\"America/Ojinaga\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0293400\",\n\t\tlongitude: \"-1042500\"\n\t},\n\t\"America/Panama\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0085800\",\n\t\tlongitude: \"-0793200\"\n\t},\n\t\"America/Pangnirtung\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0660800\",\n\t\tlongitude: \"-0654400\"\n\t},\n\t\"America/Paramaribo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0055000\",\n\t\tlongitude: \"-0551000\"\n\t},\n\t\"America/Phoenix\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0332654\",\n\t\tlongitude: \"-1120424\"\n\t},\n\t\"America/Port-au-Prince\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0183200\",\n\t\tlongitude: \"-0722000\"\n\t},\n\t\"America/Port_of_Spain\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0103900\",\n\t\tlongitude: \"-0613100\"\n\t},\n\t\"America/Porto_Velho\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0084600\",\n\t\tlongitude: \"-0635400\"\n\t},\n\t\"America/Puerto_Rico\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0182806\",\n\t\tlongitude: \"-0660622\"\n\t},\n\t\"America/Punta_Arenas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0530900\",\n\t\tlongitude: \"-0705500\"\n\t},\n\t\"America/Rainy_River\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0484300\",\n\t\tlongitude: \"-0943400\"\n\t},\n\t\"America/Rankin_Inlet\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0624900\",\n\t\tlongitude: \"-0920459\"\n\t},\n\t\"America/Recife\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0080300\",\n\t\tlongitude: \"-0345400\"\n\t},\n\t\"America/Regina\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0502400\",\n\t\tlongitude: \"-1043900\"\n\t},\n\t\"America/Resolute\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0744144\",\n\t\tlongitude: \"-0944945\"\n\t},\n\t\"America/Rio_Branco\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0095800\",\n\t\tlongitude: \"-0674800\"\n\t},\n\t\"America/Santarem\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0022600\",\n\t\tlongitude: \"-0545200\"\n\t},\n\t\"America/Santiago\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20190407T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20190908T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20180812T000000\\r\\nRDATE:20180812T000000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20180513T000000\\r\\nRDATE:20180513T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0332700\",\n\t\tlongitude: \"-0704000\"\n\t},\n\t\"America/Santo_Domingo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0182800\",\n\t\tlongitude: \"-0695400\"\n\t},\n\t\"America/Sao_Paulo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:20181104T000000\\r\\nRDATE:20181104T000000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20180218T000000\\r\\nRDATE:20180218T000000\\r\\nRDATE:20190217T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0233200\",\n\t\tlongitude: \"-0463700\"\n\t},\n\t\"America/Scoresbysund\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19701025T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0702900\",\n\t\tlongitude: \"-0215800\"\n\t},\n\t\"America/Sitka\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0571035\",\n\t\tlongitude: \"-1351807\"\n\t},\n\t\"America/St_Barthelemy\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0175300\",\n\t\tlongitude: \"-0625100\"\n\t},\n\t\"America/St_Johns\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0230\\r\\nTZOFFSETTO:-0330\\r\\nTZNAME:NST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0330\\r\\nTZOFFSETTO:-0230\\r\\nTZNAME:NDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0473400\",\n\t\tlongitude: \"-0524300\"\n\t},\n\t\"America/St_Kitts\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0171800\",\n\t\tlongitude: \"-0624300\"\n\t},\n\t\"America/St_Lucia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0140100\",\n\t\tlongitude: \"-0610000\"\n\t},\n\t\"America/St_Thomas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0182100\",\n\t\tlongitude: \"-0645600\"\n\t},\n\t\"America/St_Vincent\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0130900\",\n\t\tlongitude: \"-0611400\"\n\t},\n\t\"America/Swift_Current\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0501700\",\n\t\tlongitude: \"-1075000\"\n\t},\n\t\"America/Tegucigalpa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0140600\",\n\t\tlongitude: \"-0871300\"\n\t},\n\t\"America/Thule\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0763400\",\n\t\tlongitude: \"-0684700\"\n\t},\n\t\"America/Thunder_Bay\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0482300\",\n\t\tlongitude: \"-0891500\"\n\t},\n\t\"America/Tijuana\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0323200\",\n\t\tlongitude: \"-1170100\"\n\t},\n\t\"America/Toronto\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0433900\",\n\t\tlongitude: \"-0792300\"\n\t},\n\t\"America/Tortola\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0182700\",\n\t\tlongitude: \"-0643700\"\n\t},\n\t\"America/Vancouver\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0491600\",\n\t\tlongitude: \"-1230700\"\n\t},\n\t\"America/Whitehorse\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0604300\",\n\t\tlongitude: \"-1350300\"\n\t},\n\t\"America/Winnipeg\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0495300\",\n\t\tlongitude: \"-0970900\"\n\t},\n\t\"America/Yakutat\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0593249\",\n\t\tlongitude: \"-1394338\"\n\t},\n\t\"America/Yellowknife\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0622700\",\n\t\tlongitude: \"-1142100\"\n\t},\n\t\"Antarctica/Casey\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:20180311T040000\\r\\nRDATE:20180311T040000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0661700\",\n\t\tlongitude: \"+1103100\"\n\t},\n\t\"Antarctica/Davis\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0683500\",\n\t\tlongitude: \"+0775800\"\n\t},\n\t\"Antarctica/DumontDUrville\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0664000\",\n\t\tlongitude: \"+1400100\"\n\t},\n\t\"Antarctica/Macquarie\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0543000\",\n\t\tlongitude: \"+1585700\"\n\t},\n\t\"Antarctica/Mawson\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0673600\",\n\t\tlongitude: \"+0625300\"\n\t},\n\t\"Antarctica/McMurdo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:NZDT\\r\\nDTSTART:19700927T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:NZST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0775000\",\n\t\tlongitude: \"+1663600\"\n\t},\n\t\"Antarctica/Palmer\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0644800\",\n\t\tlongitude: \"-0640600\"\n\t},\n\t\"Antarctica/Rothera\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0673400\",\n\t\tlongitude: \"-0680800\"\n\t},\n\t\"Antarctica/Syowa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0690022\",\n\t\tlongitude: \"+0393524\"\n\t},\n\t\"Antarctica/Troll\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:+02\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0720041\",\n\t\tlongitude: \"+0023206\"\n\t},\n\t\"Antarctica/Vostok\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0782400\",\n\t\tlongitude: \"+1065400\"\n\t},\n\t\"Arctic/Longyearbyen\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0780000\",\n\t\tlongitude: \"+0160000\"\n\t},\n\t\"Asia/Aden\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0124500\",\n\t\tlongitude: \"+0451200\"\n\t},\n\t\"Asia/Almaty\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0431500\",\n\t\tlongitude: \"+0765700\"\n\t},\n\t\"Asia/Amman\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700326T235959\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1TH\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701030T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0315700\",\n\t\tlongitude: \"+0355600\"\n\t},\n\t\"Asia/Anadyr\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0644500\",\n\t\tlongitude: \"+1772900\"\n\t},\n\t\"Asia/Aqtau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0443100\",\n\t\tlongitude: \"+0501600\"\n\t},\n\t\"Asia/Aqtobe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0501700\",\n\t\tlongitude: \"+0571000\"\n\t},\n\t\"Asia/Ashgabat\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0375700\",\n\t\tlongitude: \"+0582300\"\n\t},\n\t\"Asia/Atyrau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470700\",\n\t\tlongitude: \"+0515600\"\n\t},\n\t\"Asia/Baghdad\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0332100\",\n\t\tlongitude: \"+0442500\"\n\t},\n\t\"Asia/Bahrain\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0262300\",\n\t\tlongitude: \"+0503500\"\n\t},\n\t\"Asia/Baku\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0402300\",\n\t\tlongitude: \"+0495100\"\n\t},\n\t\"Asia/Bangkok\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0134500\",\n\t\tlongitude: \"+1003100\"\n\t},\n\t\"Asia/Barnaul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0532200\",\n\t\tlongitude: \"+0834500\"\n\t},\n\t\"Asia/Beirut\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0335300\",\n\t\tlongitude: \"+0353000\"\n\t},\n\t\"Asia/Bishkek\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0425400\",\n\t\tlongitude: \"+0743600\"\n\t},\n\t\"Asia/Brunei\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0045600\",\n\t\tlongitude: \"+1145500\"\n\t},\n\t\"Asia/Chita\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0520300\",\n\t\tlongitude: \"+1132800\"\n\t},\n\t\"Asia/Choibalsan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0480400\",\n\t\tlongitude: \"+1143000\"\n\t},\n\t\"Asia/Colombo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0530\\r\\nTZOFFSETTO:+0530\\r\\nTZNAME:+0530\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0065600\",\n\t\tlongitude: \"+0795100\"\n\t},\n\t\"Asia/Damascus\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701030T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700327T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0333000\",\n\t\tlongitude: \"+0361800\"\n\t},\n\t\"Asia/Dhaka\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0234300\",\n\t\tlongitude: \"+0902500\"\n\t},\n\t\"Asia/Dili\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0083300\",\n\t\tlongitude: \"+1253500\"\n\t},\n\t\"Asia/Dubai\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0251800\",\n\t\tlongitude: \"+0551800\"\n\t},\n\t\"Asia/Dushanbe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0383500\",\n\t\tlongitude: \"+0684800\"\n\t},\n\t\"Asia/Famagusta\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20180325T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0350700\",\n\t\tlongitude: \"+0335700\"\n\t},\n\t\"Asia/Gaza\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701031T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20190329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20180324T010000\\r\\nRDATE:20180324T010000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0313000\",\n\t\tlongitude: \"+0342800\"\n\t},\n\t\"Asia/Hebron\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701031T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20190329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20180324T010000\\r\\nRDATE:20180324T010000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0313200\",\n\t\tlongitude: \"+0350542\"\n\t},\n\t\"Asia/Ho_Chi_Minh\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0104500\",\n\t\tlongitude: \"+1064000\"\n\t},\n\t\"Asia/Hong_Kong\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:HKT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0221700\",\n\t\tlongitude: \"+1140900\"\n\t},\n\t\"Asia/Hovd\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0480100\",\n\t\tlongitude: \"+0913900\"\n\t},\n\t\"Asia/Irkutsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0521600\",\n\t\tlongitude: \"+1042000\"\n\t},\n\t\"Asia/Istanbul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0410100\",\n\t\tlongitude: \"+0285800\"\n\t},\n\t\"Asia/Jakarta\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:WIB\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0061000\",\n\t\tlongitude: \"+1064800\"\n\t},\n\t\"Asia/Jayapura\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:WIT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0023200\",\n\t\tlongitude: \"+1404200\"\n\t},\n\t\"Asia/Jerusalem\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:IDT\\r\\nDTSTART:19700327T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=23,24,25,26,27,28,29;BYDAY=FR\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:IST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0314650\",\n\t\tlongitude: \"+0351326\"\n\t},\n\t\"Asia/Kabul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0430\\r\\nTZOFFSETTO:+0430\\r\\nTZNAME:+0430\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0343100\",\n\t\tlongitude: \"+0691200\"\n\t},\n\t\"Asia/Kamchatka\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0530100\",\n\t\tlongitude: \"+1583900\"\n\t},\n\t\"Asia/Karachi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:PKT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0245200\",\n\t\tlongitude: \"+0670300\"\n\t},\n\t\"Asia/Kathmandu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0545\\r\\nTZOFFSETTO:+0545\\r\\nTZNAME:+0545\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0274300\",\n\t\tlongitude: \"+0851900\"\n\t},\n\t\"Asia/Khandyga\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0623923\",\n\t\tlongitude: \"+1353314\"\n\t},\n\t\"Asia/Kolkata\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0530\\r\\nTZOFFSETTO:+0530\\r\\nTZNAME:IST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0223200\",\n\t\tlongitude: \"+0882200\"\n\t},\n\t\"Asia/Krasnoyarsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0560100\",\n\t\tlongitude: \"+0925000\"\n\t},\n\t\"Asia/Kuala_Lumpur\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0031000\",\n\t\tlongitude: \"+1014200\"\n\t},\n\t\"Asia/Kuching\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0013300\",\n\t\tlongitude: \"+1102000\"\n\t},\n\t\"Asia/Kuwait\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0292000\",\n\t\tlongitude: \"+0475900\"\n\t},\n\t\"Asia/Macau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0221150\",\n\t\tlongitude: \"+1133230\"\n\t},\n\t\"Asia/Magadan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0593400\",\n\t\tlongitude: \"+1504800\"\n\t},\n\t\"Asia/Makassar\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:WITA\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0050700\",\n\t\tlongitude: \"+1192400\"\n\t},\n\t\"Asia/Manila\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:PST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0143500\",\n\t\tlongitude: \"+1210000\"\n\t},\n\t\"Asia/Muscat\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0233600\",\n\t\tlongitude: \"+0583500\"\n\t},\n\t\"Asia/Nicosia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0351000\",\n\t\tlongitude: \"+0332200\"\n\t},\n\t\"Asia/Novokuznetsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0534500\",\n\t\tlongitude: \"+0870700\"\n\t},\n\t\"Asia/Novosibirsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0550200\",\n\t\tlongitude: \"+0825500\"\n\t},\n\t\"Asia/Omsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0550000\",\n\t\tlongitude: \"+0732400\"\n\t},\n\t\"Asia/Oral\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0511300\",\n\t\tlongitude: \"+0512100\"\n\t},\n\t\"Asia/Phnom_Penh\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0113300\",\n\t\tlongitude: \"+1045500\"\n\t},\n\t\"Asia/Pontianak\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:WIB\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0000200\",\n\t\tlongitude: \"+1092000\"\n\t},\n\t\"Asia/Pyongyang\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0830\\r\\nTZNAME:KST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0830\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:KST\\r\\nDTSTART:20180504T233000\\r\\nRDATE:20180504T233000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0390100\",\n\t\tlongitude: \"+1254500\"\n\t},\n\t\"Asia/Qatar\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0251700\",\n\t\tlongitude: \"+0513200\"\n\t},\n\t\"Asia/Qostanay\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0531200\",\n\t\tlongitude: \"+0633700\"\n\t},\n\t\"Asia/Qyzylorda\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:20181221T000000\\r\\nRDATE:20181221T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0444800\",\n\t\tlongitude: \"+0652800\"\n\t},\n\t\"Asia/Riyadh\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0243800\",\n\t\tlongitude: \"+0464300\"\n\t},\n\t\"Asia/Sakhalin\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0465800\",\n\t\tlongitude: \"+1424200\"\n\t},\n\t\"Asia/Samarkand\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0394000\",\n\t\tlongitude: \"+0664800\"\n\t},\n\t\"Asia/Seoul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:KST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0373300\",\n\t\tlongitude: \"+1265800\"\n\t},\n\t\"Asia/Shanghai\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0311400\",\n\t\tlongitude: \"+1212800\"\n\t},\n\t\"Asia/Singapore\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0011700\",\n\t\tlongitude: \"+1035100\"\n\t},\n\t\"Asia/Srednekolymsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0672800\",\n\t\tlongitude: \"+1534300\"\n\t},\n\t\"Asia/Taipei\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0250300\",\n\t\tlongitude: \"+1213000\"\n\t},\n\t\"Asia/Tashkent\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0412000\",\n\t\tlongitude: \"+0691800\"\n\t},\n\t\"Asia/Tbilisi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0414300\",\n\t\tlongitude: \"+0444900\"\n\t},\n\t\"Asia/Tehran\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0330\\r\\nTZNAME:+0330\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0330\\r\\nTZOFFSETTO:+0430\\r\\nTZNAME:+0430\\r\\nDTSTART:20180321T235959\\r\\nRDATE:20180321T235959\\r\\nRDATE:20190321T235959\\r\\nRDATE:20200320T235959\\r\\nRDATE:20210321T235959\\r\\nRDATE:20220321T235959\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0430\\r\\nTZOFFSETTO:+0330\\r\\nTZNAME:+0330\\r\\nDTSTART:20180921T235959\\r\\nRDATE:20180921T235959\\r\\nRDATE:20190921T235959\\r\\nRDATE:20200920T235959\\r\\nRDATE:20210921T235959\\r\\nRDATE:20220921T235959\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0354000\",\n\t\tlongitude: \"+0512600\"\n\t},\n\t\"Asia/Thimphu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0272800\",\n\t\tlongitude: \"+0893900\"\n\t},\n\t\"Asia/Tokyo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:JST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0353916\",\n\t\tlongitude: \"+1394441\"\n\t},\n\t\"Asia/Tomsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0563000\",\n\t\tlongitude: \"+0845800\"\n\t},\n\t\"Asia/Ulaanbaatar\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0475500\",\n\t\tlongitude: \"+1065300\"\n\t},\n\t\"Asia/Urumqi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0434800\",\n\t\tlongitude: \"+0873500\"\n\t},\n\t\"Asia/Ust-Nera\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0643337\",\n\t\tlongitude: \"+1431336\"\n\t},\n\t\"Asia/Vientiane\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0175800\",\n\t\tlongitude: \"+1023600\"\n\t},\n\t\"Asia/Vladivostok\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0431000\",\n\t\tlongitude: \"+1315600\"\n\t},\n\t\"Asia/Yakutsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0620000\",\n\t\tlongitude: \"+1294000\"\n\t},\n\t\"Asia/Yangon\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0630\\r\\nTZOFFSETTO:+0630\\r\\nTZNAME:+0630\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0164700\",\n\t\tlongitude: \"+0961000\"\n\t},\n\t\"Asia/Yekaterinburg\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0565100\",\n\t\tlongitude: \"+0603600\"\n\t},\n\t\"Asia/Yerevan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0401100\",\n\t\tlongitude: \"+0443000\"\n\t},\n\t\"Atlantic/Azores\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19701025T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0374400\",\n\t\tlongitude: \"-0254000\"\n\t},\n\t\"Atlantic/Bermuda\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0321700\",\n\t\tlongitude: \"-0644600\"\n\t},\n\t\"Atlantic/Canary\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0280600\",\n\t\tlongitude: \"-0152400\"\n\t},\n\t\"Atlantic/Cape_Verde\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0145500\",\n\t\tlongitude: \"-0233100\"\n\t},\n\t\"Atlantic/Faroe\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0620100\",\n\t\tlongitude: \"-0064600\"\n\t},\n\t\"Atlantic/Madeira\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0323800\",\n\t\tlongitude: \"-0165400\"\n\t},\n\t\"Atlantic/Reykjavik\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0640900\",\n\t\tlongitude: \"-0215100\"\n\t},\n\t\"Atlantic/South_Georgia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0541600\",\n\t\tlongitude: \"-0363200\"\n\t},\n\t\"Atlantic/St_Helena\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0155500\",\n\t\tlongitude: \"-0054200\"\n\t},\n\t\"Atlantic/Stanley\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0514200\",\n\t\tlongitude: \"-0575100\"\n\t},\n\t\"Australia/Adelaide\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:ACDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0345500\",\n\t\tlongitude: \"+1383500\"\n\t},\n\t\"Australia/Brisbane\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0272800\",\n\t\tlongitude: \"+1530200\"\n\t},\n\t\"Australia/Broken_Hill\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:ACDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0315700\",\n\t\tlongitude: \"+1412700\"\n\t},\n\t\"Australia/Currie\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0395600\",\n\t\tlongitude: \"+1435200\"\n\t},\n\t\"Australia/Darwin\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0122800\",\n\t\tlongitude: \"+1305000\"\n\t},\n\t\"Australia/Eucla\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0845\\r\\nTZOFFSETTO:+0845\\r\\nTZNAME:+0845\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0314300\",\n\t\tlongitude: \"+1285200\"\n\t},\n\t\"Australia/Hobart\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0425300\",\n\t\tlongitude: \"+1471900\"\n\t},\n\t\"Australia/Lindeman\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0201600\",\n\t\tlongitude: \"+1490000\"\n\t},\n\t\"Australia/Lord_Howe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:+1030\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0313300\",\n\t\tlongitude: \"+1590500\"\n\t},\n\t\"Australia/Melbourne\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0374900\",\n\t\tlongitude: \"+1445800\"\n\t},\n\t\"Australia/Perth\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:AWST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0315700\",\n\t\tlongitude: \"+1155100\"\n\t},\n\t\"Australia/Sydney\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0335200\",\n\t\tlongitude: \"+1511300\"\n\t},\n\t\"Europe/Amsterdam\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0522200\",\n\t\tlongitude: \"+0045400\"\n\t},\n\t\"Europe/Andorra\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0423000\",\n\t\tlongitude: \"+0013100\"\n\t},\n\t\"Europe/Astrakhan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0462100\",\n\t\tlongitude: \"+0480300\"\n\t},\n\t\"Europe/Athens\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0375800\",\n\t\tlongitude: \"+0234300\"\n\t},\n\t\"Europe/Belgrade\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0445000\",\n\t\tlongitude: \"+0203000\"\n\t},\n\t\"Europe/Berlin\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0523000\",\n\t\tlongitude: \"+0132200\"\n\t},\n\t\"Europe/Bratislava\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0480900\",\n\t\tlongitude: \"+0170700\"\n\t},\n\t\"Europe/Brussels\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0505000\",\n\t\tlongitude: \"+0042000\"\n\t},\n\t\"Europe/Bucharest\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0442600\",\n\t\tlongitude: \"+0260600\"\n\t},\n\t\"Europe/Budapest\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0473000\",\n\t\tlongitude: \"+0190500\"\n\t},\n\t\"Europe/Busingen\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0474200\",\n\t\tlongitude: \"+0084100\"\n\t},\n\t\"Europe/Chisinau\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470000\",\n\t\tlongitude: \"+0285000\"\n\t},\n\t\"Europe/Copenhagen\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0554000\",\n\t\tlongitude: \"+0123500\"\n\t},\n\t\"Europe/Dublin\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:IST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0532000\",\n\t\tlongitude: \"-0061500\"\n\t},\n\t\"Europe/Gibraltar\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0360800\",\n\t\tlongitude: \"-0052100\"\n\t},\n\t\"Europe/Guernsey\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0492717\",\n\t\tlongitude: \"-0023210\"\n\t},\n\t\"Europe/Helsinki\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0601000\",\n\t\tlongitude: \"+0245800\"\n\t},\n\t\"Europe/Isle_of_Man\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0540900\",\n\t\tlongitude: \"-0042800\"\n\t},\n\t\"Europe/Istanbul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0410100\",\n\t\tlongitude: \"+0285800\"\n\t},\n\t\"Europe/Jersey\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0491101\",\n\t\tlongitude: \"-0020624\"\n\t},\n\t\"Europe/Kaliningrad\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0544300\",\n\t\tlongitude: \"+0203000\"\n\t},\n\t\"Europe/Kiev\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0502600\",\n\t\tlongitude: \"+0303100\"\n\t},\n\t\"Europe/Kirov\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0583600\",\n\t\tlongitude: \"+0493900\"\n\t},\n\t\"Europe/Lisbon\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0384300\",\n\t\tlongitude: \"-0090800\"\n\t},\n\t\"Europe/Ljubljana\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0460300\",\n\t\tlongitude: \"+0143100\"\n\t},\n\t\"Europe/London\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0513030\",\n\t\tlongitude: \"+0000731\"\n\t},\n\t\"Europe/Luxembourg\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0493600\",\n\t\tlongitude: \"+0060900\"\n\t},\n\t\"Europe/Madrid\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0402400\",\n\t\tlongitude: \"-0034100\"\n\t},\n\t\"Europe/Malta\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0355400\",\n\t\tlongitude: \"+0143100\"\n\t},\n\t\"Europe/Mariehamn\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0600600\",\n\t\tlongitude: \"+0195700\"\n\t},\n\t\"Europe/Minsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0535400\",\n\t\tlongitude: \"+0273400\"\n\t},\n\t\"Europe/Monaco\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0434200\",\n\t\tlongitude: \"+0072300\"\n\t},\n\t\"Europe/Moscow\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:MSK\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0554521\",\n\t\tlongitude: \"+0373704\"\n\t},\n\t\"Europe/Nicosia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0351000\",\n\t\tlongitude: \"+0332200\"\n\t},\n\t\"Europe/Oslo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0595500\",\n\t\tlongitude: \"+0104500\"\n\t},\n\t\"Europe/Paris\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0485200\",\n\t\tlongitude: \"+0022000\"\n\t},\n\t\"Europe/Podgorica\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0422600\",\n\t\tlongitude: \"+0191600\"\n\t},\n\t\"Europe/Prague\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0500500\",\n\t\tlongitude: \"+0142600\"\n\t},\n\t\"Europe/Riga\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0565700\",\n\t\tlongitude: \"+0240600\"\n\t},\n\t\"Europe/Rome\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0415400\",\n\t\tlongitude: \"+0122900\"\n\t},\n\t\"Europe/Samara\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0531200\",\n\t\tlongitude: \"+0500900\"\n\t},\n\t\"Europe/San_Marino\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0435500\",\n\t\tlongitude: \"+0122800\"\n\t},\n\t\"Europe/Sarajevo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0435200\",\n\t\tlongitude: \"+0182500\"\n\t},\n\t\"Europe/Saratov\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0513400\",\n\t\tlongitude: \"+0460200\"\n\t},\n\t\"Europe/Simferopol\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:MSK\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0445700\",\n\t\tlongitude: \"+0340600\"\n\t},\n\t\"Europe/Skopje\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0415900\",\n\t\tlongitude: \"+0212600\"\n\t},\n\t\"Europe/Sofia\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0424100\",\n\t\tlongitude: \"+0231900\"\n\t},\n\t\"Europe/Stockholm\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0592000\",\n\t\tlongitude: \"+0180300\"\n\t},\n\t\"Europe/Tallinn\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0592500\",\n\t\tlongitude: \"+0244500\"\n\t},\n\t\"Europe/Tirane\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0412000\",\n\t\tlongitude: \"+0195000\"\n\t},\n\t\"Europe/Ulyanovsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0542000\",\n\t\tlongitude: \"+0482400\"\n\t},\n\t\"Europe/Uzhgorod\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0483700\",\n\t\tlongitude: \"+0221800\"\n\t},\n\t\"Europe/Vaduz\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470900\",\n\t\tlongitude: \"+0093100\"\n\t},\n\t\"Europe/Vatican\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0415408\",\n\t\tlongitude: \"+0122711\"\n\t},\n\t\"Europe/Vienna\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0481300\",\n\t\tlongitude: \"+0162000\"\n\t},\n\t\"Europe/Vilnius\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0544100\",\n\t\tlongitude: \"+0251900\"\n\t},\n\t\"Europe/Volgograd\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:20181028T020000\\r\\nRDATE:20181028T020000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0484400\",\n\t\tlongitude: \"+0442500\"\n\t},\n\t\"Europe/Warsaw\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0521500\",\n\t\tlongitude: \"+0210000\"\n\t},\n\t\"Europe/Zagreb\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0454800\",\n\t\tlongitude: \"+0155800\"\n\t},\n\t\"Europe/Zaporozhye\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0475000\",\n\t\tlongitude: \"+0351000\"\n\t},\n\t\"Europe/Zurich\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0472300\",\n\t\tlongitude: \"+0083200\"\n\t},\n\t\"Indian/Antananarivo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0185500\",\n\t\tlongitude: \"+0473100\"\n\t},\n\t\"Indian/Chagos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0072000\",\n\t\tlongitude: \"+0722500\"\n\t},\n\t\"Indian/Christmas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0102500\",\n\t\tlongitude: \"+1054300\"\n\t},\n\t\"Indian/Cocos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0630\\r\\nTZOFFSETTO:+0630\\r\\nTZNAME:+0630\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0121000\",\n\t\tlongitude: \"+0965500\"\n\t},\n\t\"Indian/Comoro\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0114100\",\n\t\tlongitude: \"+0431600\"\n\t},\n\t\"Indian/Kerguelen\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0492110\",\n\t\tlongitude: \"+0701303\"\n\t},\n\t\"Indian/Mahe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0044000\",\n\t\tlongitude: \"+0552800\"\n\t},\n\t\"Indian/Maldives\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0041000\",\n\t\tlongitude: \"+0733000\"\n\t},\n\t\"Indian/Mauritius\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0201000\",\n\t\tlongitude: \"+0573000\"\n\t},\n\t\"Indian/Mayotte\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0124700\",\n\t\tlongitude: \"+0451400\"\n\t},\n\t\"Indian/Reunion\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0205200\",\n\t\tlongitude: \"+0552800\"\n\t},\n\t\"Pacific/Apia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1400\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700405T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1400\\r\\nTZNAME:+14\\r\\nDTSTART:19700927T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0135000\",\n\t\tlongitude: \"-1714400\"\n\t},\n\t\"Pacific/Auckland\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:NZDT\\r\\nDTSTART:19700927T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:NZST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0365200\",\n\t\tlongitude: \"+1744600\"\n\t},\n\t\"Pacific/Bougainville\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0061300\",\n\t\tlongitude: \"+1553400\"\n\t},\n\t\"Pacific/Chatham\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1245\\r\\nTZOFFSETTO:+1345\\r\\nTZNAME:+1345\\r\\nDTSTART:19700927T024500\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1345\\r\\nTZOFFSETTO:+1245\\r\\nTZNAME:+1245\\r\\nDTSTART:19700405T034500\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0435700\",\n\t\tlongitude: \"-1763300\"\n\t},\n\t\"Pacific/Chuuk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0072500\",\n\t\tlongitude: \"+1514700\"\n\t},\n\t\"Pacific/Easter\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:20190406T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SA\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:20190907T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SA\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:20180811T220000\\r\\nRDATE:20180811T220000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:20180512T220000\\r\\nRDATE:20180512T220000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0270900\",\n\t\tlongitude: \"-1092600\"\n\t},\n\t\"Pacific/Efate\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0174000\",\n\t\tlongitude: \"+1682500\"\n\t},\n\t\"Pacific/Enderbury\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0030800\",\n\t\tlongitude: \"-1710500\"\n\t},\n\t\"Pacific/Fakaofo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0092200\",\n\t\tlongitude: \"-1711400\"\n\t},\n\t\"Pacific/Fiji\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700118T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=1;BYMONTHDAY=12,13,14,15,16,17,18;BYDAY=SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:20191110T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:20181104T020000\\r\\nRDATE:20181104T020000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0180800\",\n\t\tlongitude: \"+1782500\"\n\t},\n\t\"Pacific/Funafuti\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0083100\",\n\t\tlongitude: \"+1791300\"\n\t},\n\t\"Pacific/Galapagos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0005400\",\n\t\tlongitude: \"-0893600\"\n\t},\n\t\"Pacific/Gambier\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:-09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0230800\",\n\t\tlongitude: \"-1345700\"\n\t},\n\t\"Pacific/Guadalcanal\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0093200\",\n\t\tlongitude: \"+1601200\"\n\t},\n\t\"Pacific/Guam\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:ChST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0132800\",\n\t\tlongitude: \"+1444500\"\n\t},\n\t\"Pacific/Honolulu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0211825\",\n\t\tlongitude: \"-1575130\"\n\t},\n\t\"Pacific/Kiritimati\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1400\\r\\nTZOFFSETTO:+1400\\r\\nTZNAME:+14\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0015200\",\n\t\tlongitude: \"-1572000\"\n\t},\n\t\"Pacific/Kosrae\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0051900\",\n\t\tlongitude: \"+1625900\"\n\t},\n\t\"Pacific/Kwajalein\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0090500\",\n\t\tlongitude: \"+1672000\"\n\t},\n\t\"Pacific/Majuro\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0070900\",\n\t\tlongitude: \"+1711200\"\n\t},\n\t\"Pacific/Marquesas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0930\\r\\nTZOFFSETTO:-0930\\r\\nTZNAME:-0930\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0090000\",\n\t\tlongitude: \"-1393000\"\n\t},\n\t\"Pacific/Midway\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:SST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0281300\",\n\t\tlongitude: \"-1772200\"\n\t},\n\t\"Pacific/Nauru\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0003100\",\n\t\tlongitude: \"+1665500\"\n\t},\n\t\"Pacific/Niue\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:-11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0190100\",\n\t\tlongitude: \"-1695500\"\n\t},\n\t\"Pacific/Norfolk\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:20191006T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:20200405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1130\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:20190701T000000\\r\\nRDATE:20190701T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0290300\",\n\t\tlongitude: \"+1675800\"\n\t},\n\t\"Pacific/Noumea\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0221600\",\n\t\tlongitude: \"+1662700\"\n\t},\n\t\"Pacific/Pago_Pago\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:SST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0141600\",\n\t\tlongitude: \"-1704200\"\n\t},\n\t\"Pacific/Palau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0072000\",\n\t\tlongitude: \"+1342900\"\n\t},\n\t\"Pacific/Pitcairn\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:-08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0250400\",\n\t\tlongitude: \"-1300500\"\n\t},\n\t\"Pacific/Pohnpei\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0065800\",\n\t\tlongitude: \"+1581300\"\n\t},\n\t\"Pacific/Port_Moresby\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0093000\",\n\t\tlongitude: \"+1471000\"\n\t},\n\t\"Pacific/Rarotonga\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:-10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0211400\",\n\t\tlongitude: \"-1594600\"\n\t},\n\t\"Pacific/Saipan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:ChST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0151200\",\n\t\tlongitude: \"+1454500\"\n\t},\n\t\"Pacific/Tahiti\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:-10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0173200\",\n\t\tlongitude: \"-1493400\"\n\t},\n\t\"Pacific/Tarawa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0012500\",\n\t\tlongitude: \"+1730000\"\n\t},\n\t\"Pacific/Tongatapu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0211000\",\n\t\tlongitude: \"-1751000\"\n\t},\n\t\"Pacific/Wake\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0191700\",\n\t\tlongitude: \"+1663700\"\n\t},\n\t\"Pacific/Wallis\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0131800\",\n\t\tlongitude: \"-1761000\"\n\t}\n};\nvar tzData = {\n\tversion: version,\n\taliases: aliases,\n\tzones: zones\n};\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class TimezoneManager\n */\n\nclass TimezoneManager {\n /**\n * Constructor\n */\n constructor() {\n /**\n * Map of aliases\n * Alias name => timezoneId\n *\n * @type {Map}\n */\n this._aliases = new Map();\n /**\n * Map of Timezones\n * timezoneId => Timezone\n *\n * @type {Map}\n * @private\n */\n\n this._timezones = new Map();\n }\n /**\n * Gets a timezone for the given id\n *\n * @param {String} timezoneId The id of the timezone\n * @returns {Timezone|null}\n */\n\n\n getTimezoneForId(timezoneId) {\n return this._getTimezoneForIdRec(timezoneId, 0);\n }\n\n _getTimezoneForIdRec(timezoneId, level) {\n if (this._timezones.has(timezoneId)) {\n return this._timezones.get(timezoneId);\n }\n\n if (level >= 20) {\n // too much recursion\n console.error('TimezoneManager.getTimezoneForIdRec() exceeds recursion limits');\n return null;\n }\n\n if (this._aliases.has(timezoneId)) {\n const resolvedTimezoneId = this._aliases.get(timezoneId); // can be a recursive alias:\n\n\n return this._getTimezoneForIdRec(resolvedTimezoneId, level + 1);\n }\n\n return null;\n }\n /**\n * Checks if there is a timezone for the given id stored in this manager\n *\n * @param {String} timezoneId The id of the timezone\n * @returns {boolean}\n */\n\n\n hasTimezoneForId(timezoneId) {\n return this._timezones.has(timezoneId) || this._aliases.has(timezoneId);\n }\n /**\n * Checks if the given timezone id is an alias\n *\n * @param {String} timezoneId The id of the timezone\n * @returns {boolean}\n */\n\n\n isAlias(timezoneId) {\n return !this._timezones.has(timezoneId) && this._aliases.has(timezoneId);\n }\n /**\n * Lists all timezones\n *\n * @param {Boolean=} includeAliases Whether or not to include aliases\n * @returns {String[]}\n */\n\n\n listAllTimezones(includeAliases = false) {\n const timezones = Array.from(this._timezones.keys());\n\n if (includeAliases) {\n return timezones.concat(Array.from(this._aliases.keys()));\n }\n\n return timezones;\n }\n /**\n * Registers a timezone\n *\n * @param {Timezone} timezone The timezone-object to register\n */\n\n\n registerTimezone(timezone) {\n this._timezones.set(timezone.timezoneId, timezone);\n }\n\n registerDefaultTimezones() {\n console.debug(`@nextcloud/calendar-js app is using version ${tzData.version} of the timezone database`);\n\n for (const tzid in tzData.zones) {\n if (Object.prototype.hasOwnProperty.call(tzData.zones, [tzid])) {\n const ics = ['BEGIN:VTIMEZONE', 'TZID:' + tzid, ...tzData.zones[tzid].ics, 'END:VTIMEZONE'].join('\\r\\n');\n this.registerTimezoneFromICS(tzid, ics);\n }\n }\n\n for (const tzid in tzData.aliases) {\n if (Object.prototype.hasOwnProperty.call(tzData.aliases, [tzid])) {\n this.registerAlias(tzid, tzData.aliases[tzid].aliasTo);\n }\n }\n }\n /**\n * Registers a timezone based on ics data\n *\n * @param {String} timezoneId The id of the timezone\n * @param {String} ics The iCalendar timezone definition\n */\n\n\n registerTimezoneFromICS(timezoneId, ics) {\n const timezone = new Timezone(timezoneId, ics);\n this.registerTimezone(timezone);\n }\n /**\n * Registers a new timezone-alias\n *\n * @param {String} aliasName The timezone-id of the alias\n * @param {String} timezoneId The timezone-id to resolve the alias to\n */\n\n\n registerAlias(aliasName, timezoneId) {\n this._aliases.set(aliasName, timezoneId);\n }\n /**\n * Unregisters a timezone\n *\n * @param {String} timezoneId Unregisters a timezone by Id\n */\n\n\n unregisterTimezones(timezoneId) {\n this._timezones.delete(timezoneId);\n }\n /**\n * Unregisters a timezone-alias\n *\n * @param {String} aliasName The alias to unregister\n */\n\n\n unregisterAlias(aliasName) {\n this._aliases.delete(aliasName);\n }\n /**\n * Clear all timezones\n \t */\n\n\n clearAllTimezones() {\n this._aliases = new Map();\n this._timezones = new Map();\n timezoneManager.registerTimezone(Timezone.utc);\n timezoneManager.registerTimezone(Timezone.floating);\n timezoneManager.registerAlias('GMT', Timezone.utc.timezoneId);\n timezoneManager.registerAlias('Z', Timezone.utc.timezoneId);\n }\n\n}\nconst timezoneManager = new TimezoneManager();\ntimezoneManager.clearAllTimezones();\n/**\n * Gets the default instance of the timezone manager\n *\n * @returns {TimezoneManager}\n */\n\nfunction getTimezoneManager() {\n return timezoneManager;\n}\n/**\n *\n * @param {String} tzName Name of the timezone to check\n * @returns {boolean}\n */\n\nfunction isOlsonTimezone(tzName) {\n const hasSlash = tzName.indexOf('/') !== -1;\n const hasSpace = tzName.indexOf(' ') !== -1;\n const startsWithETC = tzName.startsWith('Etc');\n const startsWithUS = tzName.startsWith('US/');\n return hasSlash && !hasSpace && !startsWithETC && !startsWithUS;\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarParser\n * @classdesc\n */\n\nclass ICalendarParser extends AbstractParser {\n /**\n * @inheritDoc\n */\n constructor(...args) {\n super(...args);\n /**\n * The raw text/calendar data\n *\n * @type {String}\n * @protected\n */\n\n this._rawData = null;\n /**\n * The CalendarComponent representing the raw data\n *\n * @type {CalendarComponent}\n * @protected\n */\n\n this._calendarComponent = null;\n /**\n * A flag whether this calendar-data contains vevents\n *\n * @type {boolean}\n * @private\n */\n\n this._containsVEvents = false;\n /**\n * A flag whether this calendar-data contains vjournals\n *\n * @type {boolean}\n * @private\n */\n\n this._containsVJournals = false;\n /**\n * A flag whether this calendar-data contains vtodos\n *\n * @type {boolean}\n * @private\n */\n\n this._containsVTodos = false;\n /**\n * A flag whether this calendar-data contains vfreebusy\n *\n * @type {boolean}\n * @private\n */\n\n this._containsVFreeBusy = false;\n /**\n * A map containing all VObjects.\n * The key of this map is the UID\n * The value an array of all VObjects with that particular UID\n *\n * @type {Map}\n * @private\n */\n\n this._items = new Map();\n /**\n * Items that are no recurrence-exceptions\n * The key of this map is the UID\n *\n * @type {Map}\n * @private\n */\n\n this._masterItems = new Map();\n /**\n * Items that are recurrence exceptions\n *\n * @type {Map}\n * @private\n */\n\n this._recurrenceExceptionItems = new Map();\n /**\n * Some recurrence-exceptions come without a master item\n * In that case we need to forge a master item\n *\n * @type {Map}\n * @private\n */\n\n this._forgedMasterItems = new Map();\n /**\n * A list of timezone-components found in the calendar-data\n *\n * @type {Map}\n * @private\n */\n\n this._timezones = new Map();\n /**\n * A set of required timezones for each UID\n *\n * @type {Map>}\n * @private\n */\n\n this._requiredTimezones = new Map();\n /**\n * Instance of the default timezone-manager\n *\n * @type {TimezoneManager}\n * @private\n */\n\n this._defaultTimezoneManager = getTimezoneManager();\n }\n /**\n * Parses the actual calendar-data\n *\n * @param {String} ics The icalendar data to parse\n */\n\n\n parse(ics) {\n this._rawData = ics;\n\n this._applyRepairSteps(); // If a timezone is not inside our TimezoneManager at the time of parsing\n // the internal zone will be marked as floating inside ICAL.Time\n // so before we start any actual parsing, we need to extract all timezones\n // and add them to the TimezoneManager\n\n\n this._extractTimezones();\n\n this._registerTimezones();\n\n this._createCalendarComponent();\n\n if (this._getOption('extractGlobalProperties', false)) {\n this._extractProperties();\n }\n\n this._processVObjects();\n\n if (this._getOption('processFreeBusy', false)) {\n this._processVFreeBusy();\n }\n }\n /**\n * @inheritDoc\n */\n\n\n *getItemIterator() {\n for (const itemList of this._items.values()) {\n const calendarComp = CalendarComponent.fromEmpty();\n\n if (this._getOption('includeTimezones', false)) {\n this._addRequiredTimezonesToCalendarComp(calendarComp, itemList[0].uid);\n } // Preserve the original product id, just in case we need special handling for certain clients later on ...\n\n\n if (this._calendarComponent.hasProperty('PRODID')) {\n calendarComp.deleteAllProperties('PRODID');\n calendarComp.addProperty(this._calendarComponent.getFirstProperty('PRODID').clone());\n }\n\n if (this._getOption('preserveMethod', false)) {\n if (this._calendarComponent.hasProperty('METHOD')) {\n calendarComp.deleteAllProperties('METHOD');\n calendarComp.addProperty(this._calendarComponent.getFirstProperty('METHOD').clone());\n }\n }\n\n for (const item of itemList) {\n calendarComp.addComponent(item);\n }\n\n yield calendarComp;\n }\n }\n /**\n * @inheritDoc\n */\n\n\n containsVEvents() {\n return this._containsVEvents;\n }\n /**\n * @inheritDoc\n */\n\n\n containsVJournals() {\n return this._containsVJournals;\n }\n /**\n * @inheritDoc\n */\n\n\n containsVTodos() {\n return this._containsVTodos;\n }\n /**\n * @inheritDoc\n */\n\n\n containsVFreeBusy() {\n return this._containsVFreeBusy;\n }\n /**\n * @inheritDoc\n */\n\n\n getItemCount() {\n return Array.from(this._items.keys()).length;\n }\n /**\n * Applies all registered repair steps\n *\n * @private\n */\n\n\n _applyRepairSteps() {\n for (const RepairStep of getRepairSteps()) {\n const step = new RepairStep();\n this._rawData = step.repair(this._rawData);\n }\n }\n /**\n * Creates a calendar component based upon the repaired data\n *\n * @private\n */\n\n\n _createCalendarComponent() {\n const jCal = ICAL.parse(this._rawData);\n const icalComp = new ICAL.Component(jCal);\n this._calendarComponent = CalendarComponent.fromICALJs(icalComp);\n }\n /**\n * extracts properties\n *\n * @protected\n */\n\n\n _extractProperties() {\n this._extractPropertyAndPutResultIntoVariable(['name', 'x-wr-calname'], '_name');\n\n this._extractPropertyAndPutResultIntoVariable(['color', 'x-apple-calendar-color'], '_color');\n\n this._extractPropertyAndPutResultIntoVariable(['source'], '_sourceURL');\n\n this._extractPropertyAndPutResultIntoVariable(['refresh-interval', 'x-published-ttl'], '_refreshInterval');\n\n this._extractPropertyAndPutResultIntoVariable(['x-wr-timezone'], '_calendarTimezone');\n }\n /**\n * Extract a property and writes it into a class property\n * names must be an array, it will use the value of the fist\n * propertyname it can find\n *\n * @param {String[]} names The names of the properties to check\n * @param {String} variableName The variable name to save it under\n * @private\n */\n\n\n _extractPropertyAndPutResultIntoVariable(names, variableName) {\n for (const name of names) {\n if (this._calendarComponent.hasProperty(name)) {\n this[variableName] = this._calendarComponent.getFirstPropertyFirstValue(name);\n return;\n }\n }\n }\n /**\n * Extracts timezones from the calendar component\n *\n * @protected\n */\n\n\n _extractTimezones() {\n const matches = this._rawData.match(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\\n))*)^END:VTIMEZONE$\\n/gm);\n\n if (!matches) {\n return;\n }\n\n for (const match of matches) {\n const tzidMatcher = match.match(/^TZID:(.*)$/gm);\n\n if (!tzidMatcher) {\n continue;\n }\n\n const tzid = tzidMatcher[0].substr(5);\n const timezone = new Timezone(tzid, match);\n\n this._timezones.set(tzid, timezone);\n }\n }\n /**\n * Registers unknown timezones into our timezone-manager\n *\n * @protected\n */\n\n\n _registerTimezones() {\n for (const [tzid, timezone] of this._timezones) {\n if (!this._defaultTimezoneManager.hasTimezoneForId(tzid)) {\n this._defaultTimezoneManager.registerTimezone(timezone);\n }\n }\n }\n /**\n * Processes the parsed vobjects\n *\n * @protected\n */\n\n\n _processVObjects() {\n for (const vObject of this._calendarComponent.getVObjectIterator()) {\n this._addItem(vObject);\n\n this._markCompTypeAsSeen(vObject.name);\n\n if (vObject.isRecurrenceException()) {\n this._addRecurrenceException(vObject);\n } else {\n vObject.recurrenceManager = new RecurrenceManager(vObject);\n\n this._masterItems.set(vObject.uid, vObject);\n }\n\n for (const propertyToCheck of vObject.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (value instanceof DateTimeValue && value.timezoneId) {\n this._addRequiredTimezone(vObject.uid, value.timezoneId);\n }\n }\n } // TRIGGER is supposed to be stored in UTC only,\n // but not all clients stick to this\n\n\n for (const alarm of vObject.getAlarmIterator()) {\n for (const propertyToCheck of alarm.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (value instanceof DateTimeValue && value.timezoneId) {\n this._addRequiredTimezone(vObject.uid, value.timezoneId);\n }\n }\n }\n }\n\n if (this._getOption('removeRSVPForAttendees', false)) {\n for (const attendee of vObject.getAttendeeIterator()) {\n attendee.deleteParameter('RSVP');\n }\n }\n }\n\n for (const recurrenceExceptionList of this._recurrenceExceptionItems.values()) {\n for (const recurrenceException of recurrenceExceptionList) {\n // Check if there is a master item for this recurrence exception\n // otherwise we have to forge one\n if (!this._masterItems.has(recurrenceException.uid)) {\n const constructor = getConstructorForComponentName(recurrenceException.name);\n const forgedMaster = new constructor(recurrenceException.name, [['UID', recurrenceException.uid], ['DTSTAMP', recurrenceException.stampTime.clone()], ['DTSTART', recurrenceException.recurrenceId.clone()]]);\n forgedMaster.recurrenceManager = new RecurrenceManager(forgedMaster);\n\n this._forgedMasterItems.set(recurrenceException.uid, forgedMaster);\n\n this._masterItems.set(recurrenceException.uid, forgedMaster);\n\n this._addItem(forgedMaster);\n } else {\n const master = this._masterItems.get(recurrenceException.uid); // This should usually not be the case,\n // only if the calendar-data is seriously broken.\n // Let's try to handle it anyway by adding it to\n // forgedMasterItems, we will simply add RDATEs\n // in the next step to make it recur\n\n\n if (!master.isRecurring()) {\n this._forgedMasterItems.set(master.uid, master);\n }\n }\n\n if (this._forgedMasterItems.has(recurrenceException.uid)) {\n const forgedMaster = this._forgedMasterItems.get(recurrenceException.uid);\n\n forgedMaster.recurrenceManager.addRecurrenceDate(false, recurrenceException.recurrenceId.clone());\n }\n\n const masterItem = this._masterItems.get(recurrenceException.uid);\n\n masterItem.recurrenceManager.relateRecurrenceException(recurrenceException);\n }\n }\n }\n /**\n * Process FreeBusy components\n *\n * @private\n */\n\n\n _processVFreeBusy() {\n for (const vObject of this._calendarComponent.getFreebusyIterator()) {\n this._addItem(vObject);\n\n this._markCompTypeAsSeen(vObject.name);\n\n for (const propertyToCheck of vObject.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (value instanceof DateTimeValue && value.timezoneId) {\n this._addRequiredTimezone(vObject.uid, value.timezoneId);\n }\n }\n }\n }\n }\n /**\n *\n * @param {AbstractRecurringComponent} item The recurrence-item to register\n * @private\n */\n\n\n _addRecurrenceException(item) {\n if (this._recurrenceExceptionItems.has(item.uid)) {\n const arr = this._recurrenceExceptionItems.get(item.uid);\n\n arr.push(item);\n } else {\n this._recurrenceExceptionItems.set(item.uid, [item]);\n }\n }\n /**\n *\n * @param {AbstractRecurringComponent} item The item to register\n * @private\n */\n\n\n _addItem(item) {\n if (this._items.has(item.uid)) {\n const arr = this._items.get(item.uid);\n\n arr.push(item);\n } else {\n this._items.set(item.uid, [item]);\n }\n }\n /**\n *\n * @param {String} uid The uid of the calendar-object\n * @param {String} timezoneId The timezoneId required by the object\n * @private\n */\n\n\n _addRequiredTimezone(uid, timezoneId) {\n if (timezoneId === 'UTC' || timezoneId === 'floating' || timezoneId === 'GMT' || timezoneId === 'Z') {\n return;\n }\n\n if (this._requiredTimezones.has(uid)) {\n this._requiredTimezones.get(uid).add(timezoneId);\n } else {\n const set = new Set([timezoneId]);\n\n this._requiredTimezones.set(uid, set);\n }\n }\n /**\n *\n * @param {CalendarComponent} calendarComp The calendar-component to add timezones to\n * @param {String} uid The UID of the calendar-object\n * @private\n */\n\n\n _addRequiredTimezonesToCalendarComp(calendarComp, uid) {\n if (!this._requiredTimezones.has(uid)) {\n return;\n }\n\n for (const requiredTimezone of this._requiredTimezones.get(uid)) {\n if (!this._defaultTimezoneManager.hasTimezoneForId(requiredTimezone)) {\n return;\n }\n\n const timezone = this._defaultTimezoneManager.getTimezoneForId(requiredTimezone); // Is this an alias?\n\n\n if (timezone.timezoneId !== requiredTimezone) {\n this._replaceTimezoneWithAnotherOne(calendarComp, requiredTimezone, timezone.timezoneId);\n }\n\n const timezoneComponent = timezone.toTimezoneComponent();\n calendarComp.addComponent(timezoneComponent);\n }\n }\n /**\n * Replaces all occurrences of searchTimezone with replaceTimezone\n *\n * @param {CalendarComponent} calendarComponent The calendar-component to replace a timezone in\n * @param {String} searchTimezone The timezone to replace\n * @param {String} replaceTimezone The replacement timezone\n * @private\n */\n\n\n _replaceTimezoneWithAnotherOne(calendarComponent, searchTimezone, replaceTimezone) {\n for (const vObject of this._calendarComponent.getVObjectIterator()) {\n for (const propertyToCheck of vObject.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (!(value instanceof DateTimeValue)) {\n continue;\n }\n\n if (value.timezoneId === searchTimezone) {\n value.silentlyReplaceTimezone(replaceTimezone);\n }\n }\n } // TRIGGER is supposed to be stored in UTC only,\n // but not all clients stick to this\n\n\n for (const alarm of vObject.getAlarmIterator()) {\n for (const propertyToCheck of alarm.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (!(value instanceof DateTimeValue)) {\n continue;\n }\n\n if (value.timezoneId === searchTimezone) {\n value.silentlyReplaceTimezone(replaceTimezone);\n }\n }\n }\n }\n }\n }\n /**\n * Marks a certain component type as seen.\n * This is used for\n * containsVEvents()\n * containsVJournals()\n * containsVTodos()\n *\n * @param {String} compName The name of the visited component\n * @private\n */\n\n\n _markCompTypeAsSeen(compName) {\n switch (uc(compName)) {\n case 'VEVENT':\n this._containsVEvents = true;\n break;\n\n case 'VJOURNAL':\n this._containsVJournals = true;\n break;\n\n case 'VTODO':\n this._containsVTodos = true;\n break;\n\n case 'VFREEBUSY':\n this._containsVFreeBusy = true;\n break;\n }\n }\n /**\n * @inheritDoc\n */\n\n\n static getMimeTypes() {\n return ['text/calendar'];\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ParserManager\n * @classdesc\n */\n\nclass ParserManager {\n /**\n * Constructor\n */\n constructor() {\n /**\n * List of supported parsers\n *\n * @type {Function[]}\n */\n this._parsers = [];\n }\n /**\n * Get a list of all supported file-types\n *\n * @returns {String[]}\n */\n\n\n getAllSupportedFileTypes() {\n return this._parsers.reduce((allFileTypes, parser) => allFileTypes.concat(parser.getMimeTypes()), []);\n }\n /**\n * Get an instance of a parser for one specific file-type\n *\n * @param {String} fileType The mime-type to get a parser for\n * @param {Object=} options Options destructuring object\n * @param {Boolean=} options.extractGlobalProperties Whether or not to preserve properties from the VCALENDAR component (defaults to false)\n * @param {Boolean=} options.removeRSVPForAttendees Whether or not to remove RSVP from attendees (defaults to false)\n * @param {Boolean=} options.includeTimezones Whether or not to include timezones (defaults to false)\n * @param {Boolean=} options.preserveMethod Whether or not to preserve the iCalendar method (defaults to false)\n * @param {Boolean=} options.processFreeBusy Whether or not to process VFreeBusy components (defaults to false)\n *\n * @returns {AbstractParser}\n */\n\n\n getParserForFileType(fileType, options) {\n const Parser = this._parsers.find(parser => parser.getMimeTypes().includes(fileType));\n\n if (!Parser) {\n throw new TypeError('Unknown file-type.');\n }\n\n return new Parser(options);\n }\n /**\n * Registers a parser\n *\n * @param {Function} parser The parser to register\n */\n\n\n registerParser(parser) {\n this._parsers.push(parser);\n }\n\n}\n/**\n * Gets an instance of the ParserManager with all default parsers\n *\n * @returns {ParserManager}\n */\n\nfunction getParserManager() {\n const parserManager = new ParserManager(); // We only support iCalendar for now.\n // JSON calendar and CSV will be supported soon,\n // but require some more work\n\n parserManager.registerParser(ICalendarParser); // parserManager.registerParser(JCalendarParser)\n // parserManager.registerParser(CSVParser)\n\n return parserManager;\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @class TimezoneAdapter\n * @classdesc Connecting ICAL.TimezoneService with our TimezoneManager\n */\nclass TimezoneAdapter {\n /**\n * Constructor\n *\n * @param {TimezoneManager} timezoneManager The timezone-manager to wrap\n */\n constructor(timezoneManager) {\n /**\n * TimezoneManager object\n *\n * @type {TimezoneManager}\n * @private\n */\n this._timezoneManager = timezoneManager;\n }\n /**\n * @param {string} timezoneId The id of the timezone\n * @returns {boolean}\n */\n\n\n has(timezoneId) {\n return this._timezoneManager.hasTimezoneForId(timezoneId);\n }\n /**\n * @param {String} timezoneId The id of the timezone\n * @returns {ICAL.Timezone|undefined}\n */\n\n\n get(timezoneId) {\n const timezone = this._timezoneManager.getTimezoneForId(timezoneId);\n\n if (!timezone) {\n return undefined;\n }\n\n return timezone.toICALTimezone();\n }\n /**\n * @throws TypeError\n */\n\n\n register() {\n throw new TypeError('Not allowed to register new timezone');\n }\n /**\n * @throws TypeError\n */\n\n\n remove() {\n throw new TypeError('Not allowed to remove timezone');\n }\n /**\n * @throws TypeError\n */\n\n\n reset() {\n throw new TypeError('Not allowed to reset TimezoneService');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass IllegalValueError extends Error {}\n\n/**\n * @copyright Copyright (c) 2021 Christoph Wurst\n *\n * @author Christoph Wurst \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n *\n * @param {string[]} timezoneList List of Olsen timezones\n * @param {Array} additionalTimezones List of additional timezones\n * @param {String} globalTimezoneName The localized name of the \"Global\" timezones\n * @returns {[]}\n */\nfunction getSortedTimezoneList(timezoneList = [], additionalTimezones = [], globalTimezoneName = 'Global') {\n const sortedByContinent = {};\n const sortedList = [];\n\n for (const timezoneId of timezoneList) {\n const components = timezoneId.split('/');\n let [continent, name] = [components.shift(), components.join('/')];\n\n if (!name) {\n name = continent;\n continent = globalTimezoneName;\n }\n\n sortedByContinent[continent] = sortedByContinent[continent] || {\n continent,\n regions: []\n };\n sortedByContinent[continent].regions.push({\n label: getReadableTimezoneName(name),\n cities: [],\n timezoneId\n });\n }\n\n for (const additionalTimezone of additionalTimezones) {\n const {\n continent,\n label,\n timezoneId\n } = additionalTimezone;\n sortedByContinent[continent] = sortedByContinent[continent] || {\n continent,\n regions: []\n };\n sortedByContinent[continent].regions.push({\n label,\n cities: [],\n timezoneId\n });\n }\n\n for (const continent in sortedByContinent) {\n if (!Object.prototype.hasOwnProperty.call(sortedByContinent, continent)) {\n continue;\n }\n\n sortedByContinent[continent].regions.sort((a, b) => {\n if (a.label < b.label) {\n return -1;\n }\n\n return 1;\n });\n sortedList.push(sortedByContinent[continent]);\n } // Sort continents by name\n\n\n sortedList.sort((a, b) => {\n if (a.continent < b.continent) {\n return -1;\n }\n\n return 1;\n });\n return sortedList;\n}\n/**\n * Get human-readable name for timezoneId\n *\n * @param {string} timezoneId TimezoneId to turn human-readable\n * @returns {string}\n */\n\nfunction getReadableTimezoneName(timezoneId) {\n return timezoneId.split('_').join(' ').replace('St ', 'St. ').split('/').join(' - ');\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @author Richard Steinmetz \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nif (!(ICAL.TimezoneService instanceof TimezoneAdapter)) {\n ICAL.TimezoneService = new TimezoneAdapter(getTimezoneManager());\n}\n/**\n * parses a single ICS and returns an iterator over all occurrences\n * in a given timeframe\n *\n * @param {String} ics The calendar-data to parse\n * @param {DateTimeValue} start The start of the queried time-range\n * @param {DateTimeValue} end The end of the queried time-range\n */\n\n\nfunction* parseICSAndGetAllOccurrencesBetween(ics, start, end) {\n const parserManager = getParserManager();\n const icsParser = parserManager.getParserForFileType('text/calendar');\n icsParser.parse(ics);\n const objectIterator = icsParser.getItemIterator();\n const calendarComp = objectIterator.next().value;\n\n if (calendarComp === undefined) {\n return;\n }\n\n const vObjectIterator = calendarComp.getVObjectIterator();\n const firstVObject = vObjectIterator.next().value;\n\n if (firstVObject === undefined) {\n return;\n }\n\n yield* firstVObject.recurrenceManager.getAllOccurrencesBetweenIterator(start, end);\n}\n/**\n * Creates a new event\n *\n * @param {DateTimeValue} start Start-time of the new event\n * @param {DateTimeValue} end End-time of the new event\n * @returns {CalendarComponent}\n */\n\nfunction createEvent(start, end) {\n const calendar = CalendarComponent.fromEmpty();\n const eventComponent = new EventComponent('VEVENT');\n eventComponent.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true));\n eventComponent.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n eventComponent.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true));\n eventComponent.updatePropertyWithValue('SEQUENCE', 0);\n eventComponent.updatePropertyWithValue('UID', v4());\n eventComponent.updatePropertyWithValue('DTSTART', start);\n eventComponent.updatePropertyWithValue('DTEND', end);\n calendar.addComponent(eventComponent);\n eventComponent.recurrenceManager = new RecurrenceManager(eventComponent);\n return calendar;\n}\n/**\n * Creates a FreeBusy Request to be used on the scheduling outbox\n *\n * @param {DateTimeValue} start The start of the queried time-range\n * @param {DateTimeValue} end The end of the queried time-range\n * @param {AttendeeProperty} organizer The organizer querying information\n * @param {AttendeeProperty[]}attendees The list of attendees to query information for\n * @returns {CalendarComponent}\n */\n\nfunction createFreeBusyRequest(start, end, organizer, attendees) {\n const calendar = CalendarComponent.fromMethod('REQUEST');\n const freeBusyComponent = new FreeBusyComponent('VFREEBUSY');\n freeBusyComponent.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n freeBusyComponent.updatePropertyWithValue('UID', v4());\n freeBusyComponent.updatePropertyWithValue('DTSTART', start.clone().getInUTC());\n freeBusyComponent.updatePropertyWithValue('DTEND', end.clone().getInUTC());\n freeBusyComponent.addProperty(organizer.clone());\n\n for (const attendee of attendees) {\n const clonedAttendee = attendee.clone();\n clonedAttendee.deleteParameter('ROLE');\n clonedAttendee.deleteParameter('CUTYPE');\n clonedAttendee.deleteParameter('RSVP');\n clonedAttendee.deleteParameter('PARTSTAT');\n clonedAttendee.deleteParameter('REQUEST-STATUS');\n clonedAttendee.deleteParameter('LANGUAGE');\n freeBusyComponent.addProperty(clonedAttendee);\n }\n\n calendar.addComponent(freeBusyComponent);\n return calendar;\n}\n\nexport { AbstractComponent, AbstractParser, AbstractRecurringComponent, AbstractValue, AlarmComponent, AttachmentProperty, AttendeeProperty, BinaryValue, CalendarComponent, ConferenceProperty, DateTimeValue, DurationValue, EventComponent, ExpectedICalJSError, FreeBusyComponent, FreeBusyProperty, GeoProperty, ICalendarParser, IllegalValueError, ImageProperty, JournalComponent, ModificationNotAllowedError, Parameter, ParserManager, PeriodValue, Property, RecurValue, RecurrenceManager, RecurringWithoutDtStartError, RelationProperty, RequestStatusProperty, TextProperty, Timezone, TimezoneAdapter, TimezoneComponent, TimezoneManager, ToDoComponent, TriggerProperty, UTCOffsetValue, UnknownICALTypeError, createEvent, createFreeBusyRequest, getConstructorForICALType, getConstructorForPropertyName, getParserManager, getReadableTimezoneName, getSortedTimezoneList, getTimezoneManager, isOlsonTimezone, parseICSAndGetAllOccurrencesBetween, setConfig };\n//# sourceMappingURL=index.esm.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCapabilities = getCapabilities;\n\nvar _initialState = require(\"@nextcloud/initial-state\");\n\nfunction getCapabilities() {\n try {\n return (0, _initialState.loadState)('core', 'capabilities');\n } catch (error) {\n console.debug('Could not find capabilities initial state fall back to _oc_capabilities');\n\n if (!('_oc_capabilities' in window)) {\n return {};\n }\n\n return window['_oc_capabilities'];\n }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadState = loadState;\n\nrequire(\"core-js/modules/es.array.concat.js\");\n\n/**\n * @param app app ID, e.g. \"mail\"\n * @param key name of the property\n * @param fallback optional parameter to use as default value\n * @throws if the key can't be found\n */\nfunction loadState(app, key, fallback) {\n var elem = document.querySelector(\"#initial-state-\".concat(app, \"-\").concat(key));\n\n if (elem === null) {\n if (fallback !== undefined) {\n return fallback;\n }\n\n throw new Error(\"Could not find initial state \".concat(key, \" of \").concat(app));\n }\n\n try {\n return JSON.parse(atob(elem.value));\n } catch (e) {\n throw new Error(\"Could not parse initial state \".concat(key, \" of \").concat(app));\n }\n}\n//# sourceMappingURL=index.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/**\n * @param app app ID, e.g. \"mail\"\n * @param key name of the property\n * @param fallback optional parameter to use as default value\n * @throws if the key can't be found\n */\nfunction loadState(app, key, fallback) {\n var elem = document.querySelector(\"#initial-state-\".concat(app, \"-\").concat(key));\n if (elem === null) {\n if (fallback !== undefined) {\n return fallback;\n }\n throw new Error(\"Could not find initial state \".concat(key, \" of \").concat(app));\n }\n try {\n return JSON.parse(atob(elem.value));\n }\n catch (e) {\n throw new Error(\"Could not parse initial state \".concat(key, \" of \").concat(app));\n }\n}\n\nexports.loadState = loadState;\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getGettextBuilder = getGettextBuilder;\n\nrequire(\"core-js/modules/es.regexp.exec.js\");\n\nrequire(\"core-js/modules/es.string.replace.js\");\n\nrequire(\"core-js/modules/es.object.define-property.js\");\n\nrequire(\"core-js/modules/es.object.to-string.js\");\n\nrequire(\"core-js/modules/es.regexp.to-string.js\");\n\nvar _nodeGettext = _interopRequireDefault(require(\"node-gettext\"));\n\nvar _ = require(\".\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nvar GettextBuilder = /*#__PURE__*/function () {\n function GettextBuilder() {\n _classCallCheck(this, GettextBuilder);\n\n this.translations = {};\n this.debug = false;\n }\n\n _createClass(GettextBuilder, [{\n key: \"setLanguage\",\n value: function setLanguage(language) {\n this.locale = language;\n return this;\n }\n }, {\n key: \"detectLocale\",\n value: function detectLocale() {\n return this.setLanguage((0, _.getLanguage)().replace('-', '_'));\n }\n }, {\n key: \"addTranslation\",\n value: function addTranslation(language, data) {\n this.translations[language] = data;\n return this;\n }\n }, {\n key: \"enableDebugMode\",\n value: function enableDebugMode() {\n this.debug = true;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new GettextWrapper(this.locale || 'en', this.translations, this.debug);\n }\n }]);\n\n return GettextBuilder;\n}();\n\nvar GettextWrapper = /*#__PURE__*/function () {\n function GettextWrapper(locale, data, debug) {\n _classCallCheck(this, GettextWrapper);\n\n this.gt = new _nodeGettext.default({\n debug: debug,\n sourceLocale: 'en'\n });\n\n for (var key in data) {\n this.gt.addTranslations(key, 'messages', data[key]);\n }\n\n this.gt.setLocale(locale);\n }\n\n _createClass(GettextWrapper, [{\n key: \"subtitudePlaceholders\",\n value: function subtitudePlaceholders(translated, vars) {\n return translated.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (typeof r === 'string' || typeof r === 'number') {\n return r.toString();\n } else {\n return a;\n }\n });\n }\n }, {\n key: \"gettext\",\n value: function gettext(original) {\n var placeholders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.subtitudePlaceholders(this.gt.gettext(original), placeholders);\n }\n }, {\n key: \"ngettext\",\n value: function ngettext(singular, plural, count) {\n var placeholders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return this.subtitudePlaceholders(this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()), placeholders);\n }\n }]);\n\n return GettextWrapper;\n}();\n\nfunction getGettextBuilder() {\n return new GettextBuilder();\n}\n//# sourceMappingURL=gettext.js.map","/*! For license information please see ncvuecomponents.js.LICENSE.txt */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],e):\"object\"==typeof exports?exports.NextcloudVue=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue.ncvuecomponents=e())}(self,(function(){return function(){var t={9456:function(t,e,n){\"use strict\";var a=n(2872),i=n(1205),r=n(5512),o=n.n(r),s=n(9873),l=n.n(s);e.Z={name:\"NcInputField\",components:{NcButton:a.default,AlertCircle:o(),Check:l()},inheritAttrs:!1,props:{value:{type:String,required:!0},type:{type:String,required:!0},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},labelVisible:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonLabel:{type:String,default:\"\"},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:\"\"},disabled:{type:Boolean,default:!1}},emits:[\"update:value\",\"trailing-button-click\"],computed:{computedId:function(){return this.$attrs.id&&\"\"!==this.$attrs.id?this.$attrs.id:this.inputName},inputName:function(){return\"input\"+(0,i.Z)()},hasLeadingIcon:function(){return this.$slots.default},hasTrailingIcon:function(){return this.success},hasPlaceholder:function(){return\"\"!==this.placeholder&&void 0!==this.placeholder},computedPlaceholder:function(){return this.labelVisible?this.hasPlaceholder?this.placeholder:\"\":this.hasPlaceholder?this.placeholder:this.label}},watch:{label:function(){this.validateLabel()},labelOutside:function(){this.validateLabel()}},methods:{handleInput:function(t){this.$emit(\"update:value\",t.target.value)},handleTrailingButtonClick:function(t){this.$emit(\"trailing-button-click\",t)},validateLabel:function(){if(this.label&&!this.labelOutside)throw new Error(\"You need to add a label to the textField component. Either use the prop label or use an external one, as per the example in the documentation\")}}}},7608:function(t,e,n){\"use strict\";n.d(e,{s:function(){return a},x:function(){return i}});var a=function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"input-field\"},[t.labelOutside||void 0===t.label?t._e():e(\"label\",{staticClass:\"input-field__label\",class:{\"input-field__label--hidden\":!t.labelVisible},attrs:{for:t.computedId}},[t._v(\"\\n\\t\\t\"+t._s(t.label)+\"\\n\\t\")]),t._v(\" \"),e(\"div\",{staticClass:\"input-field__main-wrapper\"},[e(\"input\",t._g(t._b({ref:\"input\",staticClass:\"input-field__input\",class:{\"input-field__input--trailing-icon\":t.showTrailingButton||t.hasTrailingIcon,\"input-field__input--leading-icon\":t.hasLeadingIcon,\"input-field__input--success\":t.success,\"input-field__input--error\":t.error},attrs:{id:t.computedId,type:t.type,disabled:t.disabled,placeholder:t.computedPlaceholder,\"aria-describedby\":t.helperText.length>0?\"\".concat(t.inputName,\"-helper-text\"):\"\",\"aria-live\":\"polite\"},domProps:{value:t.value},on:{input:t.handleInput}},\"input\",t.$attrs,!1),t.$listeners)),t._v(\" \"),e(\"div\",{staticClass:\"input-field__icon input-field__icon--leading\"},[t._t(\"default\")],2),t._v(\" \"),t.showTrailingButton?e(\"NcButton\",{staticClass:\"input-field__clear-button\",attrs:{type:\"tertiary-no-background\",\"aria-label\":t.trailingButtonLabel,disabled:t.disabled},on:{click:t.handleTrailingButtonClick}},[e(\"template\",{slot:\"icon\"},[t._t(\"trailing-button-icon\")],2)],2):t.success||t.error?e(\"div\",{staticClass:\"input-field__icon input-field__icon--trailing\"},[t.success?e(\"Check\",{attrs:{size:18}}):t.error?e(\"AlertCircle\",{attrs:{size:18}}):t._e()],1):t._e()],1),t._v(\" \"),t.helperText.length>0?e(\"p\",{staticClass:\"input-field__helper-text-message\",class:{\"input-field__helper-text-message--error\":t.error,\"input-field__helper-text-message--success\":t.success},attrs:{id:\"\".concat(t.inputName,\"-helper-text\")}},[t.success?e(\"Check\",{staticClass:\"input-field__helper-text-message__icon\",attrs:{size:18}}):t.error?e(\"AlertCircle\",{staticClass:\"input-field__helper-text-message__icon\",attrs:{size:18}}):t._e(),t._v(\"\\n\\t\\t\"+t._s(t.helperText)+\"\\n\\t\")],1):t._e()])},i=[]},95:function(t,e,n){\"use strict\";n.d(e,{default:function(){return E}});var a={name:\"NcActionButton\",mixins:[n(1139).Z],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(5698),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=n(1900),f=n(4216),b=n.n(f),v=(0,g.Z)(a,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled},attrs:{role:\"presentation\"}},[e(\"button\",{staticClass:\"action-button\",class:{focusable:t.isFocusable},attrs:{\"aria-label\":t.ariaLabel,role:\"menuitem\",type:\"button\"},on:{click:t.onClick}},[t._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-button__icon\",class:[t.isIconUrl?\"action-button__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\".concat(t.icon,\")\"):null}})]})),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-button__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-button__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"45a871d0\",null);\"function\"==typeof b()&&b()(v);var E=v.exports},3753:function(t,e,n){\"use strict\";n.d(e,{default:function(){return E}});var a={name:\"NcActionCaption\",props:{title:{type:String,required:!0}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(7264),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=n(1900),f=n(1904),b=n.n(f),v=(0,g.Z)(a,(function(){var t=this;return(0,t._self._c)(\"li\",{staticClass:\"app-navigation-caption\"},[t._v(\"\\n\\t\"+t._s(t.title)+\"\\n\")])}),[],!1,null,\"fd7dc03c\",null);\"function\"==typeof b()&&b()(v);var E=v.exports},6127:function(t,e,n){\"use strict\";n.d(e,{default:function(){return D}});var a=n(723),i=n(1205),r={name:\"NcActionCheckbox\",mixins:[a.Z],props:{id:{type:String,default:function(){return\"action-\"+(0,i.Z)()},validator:function(t){return\"\"!==t.trim()}},checked:{type:Boolean,default:!1},value:{type:[String,Number],default:\"\"},disabled:{type:Boolean,default:!1}},emits:[\"change\",\"check\",\"uncheck\",\"update:checked\"],computed:{isFocusable:function(){return!this.disabled}},methods:{checkInput:function(t){this.$refs.label.click()},onChange:function(t){this.$emit(\"update:checked\",this.$refs.checkbox.checked),this.$emit(\"change\",t),this.$refs.checkbox.checked?this.$emit(\"check\"):this.$emit(\"uncheck\")}}},o=n(3379),s=n.n(o),l=n(7795),A=n.n(l),c=n(569),d=n.n(c),u=n(3565),p=n.n(u),m=n(9216),h=n.n(m),T=n(4589),C=n.n(T),g=n(7126),f={};f.styleTagTransform=C(),f.setAttributes=p(),f.insert=d().bind(null,\"head\"),f.domAPI=A(),f.insertStyleElement=h(),s()(g.Z,f),g.Z&&g.Z.locals&&g.Z.locals;var b=n(1900),v=n(8306),E=n.n(v),y=(0,b.Z)(r,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-checkbox\"},[e(\"input\",{ref:\"checkbox\",staticClass:\"checkbox action-checkbox__checkbox\",class:{focusable:t.isFocusable},attrs:{id:t.id,disabled:t.disabled,type:\"checkbox\"},domProps:{checked:t.checked,value:t.value},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),t.checkInput.apply(null,arguments))},change:t.onChange}}),t._v(\" \"),e(\"label\",{ref:\"label\",staticClass:\"action-checkbox__label\",attrs:{for:t.id}},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"2669efff\",null);\"function\"==typeof E()&&E()(y);var D=y.exports},7776:function(t,e,n){\"use strict\";n.d(e,{default:function(){return N}});var a=n(9917),i=n(3432),r=n(723),o=n(1205),s=n(6915),l={name:\"NcActionInput\",components:{ArrowRight:n.n(s)(),NcDatetimePicker:a.default,NcMultiselect:i.default},mixins:[r.Z],props:{id:{type:String,default:function(){return\"action-\"+(0,o.Z)()},validator:function(t){return\"\"!==t.trim()}},icon:{type:String,default:\"\"},type:{type:String,default:\"text\",validator:function(t){return[\"date\",\"datetime-local\",\"month\",\"multiselect\",\"number\",\"password\",\"search\",\"tel\",\"text\",\"time\",\"url\",\"week\",\"color\",\"email\"].indexOf(t)>-1}},value:{type:[String,Date,Number],default:\"\"},disabled:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},emits:[\"input\",\"submit\",\"change\",\"update:value\"],computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}},isMultiselectType:function(){return\"multiselect\"===this.type},isDatePickerType:function(){switch(this.type){case\"date\":case\"month\":case\"time\":return this.type;case\"datetime-local\":return\"datetime\"}return!1},isFocusable:function(){return!this.disabled}},methods:{onLeave:function(){this.$refs.datetimepicker&&this.$refs.datetimepicker.$refs.datepicker&&this.$refs.datetimepicker.$refs.datepicker.closePopup()},onInput:function(t){this.$emit(\"input\",t),this.$emit(\"update:value\",t.target?t.target.value:t)},onSubmit:function(t){if(t.preventDefault(),t.stopPropagation(),this.disabled)return!1;this.$emit(\"submit\",t)},onChange:function(t){this.$emit(\"change\",t)}}},A=n(3379),c=n.n(A),d=n(7795),u=n.n(d),p=n(569),m=n.n(p),h=n(3565),T=n.n(h),C=n(9216),g=n.n(C),f=n(4589),b=n.n(f),v=n(4345),E={};E.styleTagTransform=b(),E.setAttributes=T(),E.insert=m().bind(null,\"head\"),E.domAPI=u(),E.insertStyleElement=g(),c()(v.Z,E),v.Z&&v.Z.locals&&v.Z.locals;var y=n(1900),D=n(9686),S=n.n(D),x=(0,y.Z)(l,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-input\",class:{\"action-input--picker\":t.isDatePickerType,\"action-input-picker--disabled\":t.disabled},on:{mouseleave:t.onLeave}},[t._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-input__icon\",class:[t.isIconUrl?\"action-input__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\".concat(t.icon,\")\"):null}})]})),t._v(\" \"),e(\"form\",{ref:\"form\",staticClass:\"action-input__form\",attrs:{disabled:t.disabled},on:{submit:function(e){return e.preventDefault(),t.onSubmit.apply(null,arguments)}}},[t.isDatePickerType?e(\"NcDatetimePicker\",t._b({ref:\"datetimepicker\",staticClass:\"action-input__picker\",attrs:{value:t.value,placeholder:t.text,disabled:t.disabled,type:t.isDatePickerType,\"input-class\":[\"mx-input\",{focusable:t.isFocusable}]},on:{input:t.onInput,change:t.onChange}},\"NcDatetimePicker\",t.$attrs,!1)):t.isMultiselectType?e(\"NcMultiselect\",t._g(t._b({staticClass:\"action-input__multi\",class:{focusable:t.isFocusable},attrs:{value:t.value,placeholder:t.text,disabled:t.disabled}},\"NcMultiselect\",t.$attrs,!1),t.$listeners)):[e(\"input\",{staticClass:\"action-input__submit\",attrs:{id:t.id,type:\"submit\"}}),t._v(\" \"),e(\"input\",t._b({staticClass:\"action-input__input\",class:{focusable:t.isFocusable},attrs:{type:t.type,placeholder:t.text,disabled:t.disabled,\"aria-label\":t.ariaLabel},domProps:{value:t.value},on:{input:t.onInput,change:t.onChange}},\"input\",t.$attrs,!1)),t._v(\" \"),e(\"label\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.disabled,expression:\"!disabled\"}],staticClass:\"action-input__label\",attrs:{for:t.id}},[e(\"ArrowRight\",{attrs:{size:20}})],1)]],2)],2)])}),[],!1,null,\"b0a87272\",null);\"function\"==typeof S()&&S()(x);var N=x.exports},9069:function(t,e,n){\"use strict\";n.d(e,{default:function(){return E}});var a={name:\"NcActionLink\",mixins:[n(1139).Z],props:{href:{type:String,default:\"#\",required:!0,validator:function(t){try{return new URL(t)}catch(e){return t.startsWith(\"#\")||t.startsWith(\"/\")}}},download:{type:String,default:null},target:{type:String,default:\"_self\",validator:function(t){return[\"_blank\",\"_self\",\"_parent\",\"_top\"].indexOf(t)>-1}}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(2911),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=n(1900),f=n(9158),b=n.n(f),v=(0,g.Z)(a,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"action\"},[e(\"a\",{staticClass:\"action-link focusable\",attrs:{download:t.download,href:t.href,\"aria-label\":t.ariaLabel,target:t.target,rel:\"nofollow noreferrer noopener\"},on:{click:t.onClick}},[t._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-link__icon\",class:[t.isIconUrl?\"action-link__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\".concat(t.icon,\")\"):null}})]})),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-link__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-link__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-link__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-link__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"452e1d1a\",null);\"function\"==typeof b()&&b()(v);var E=v.exports},3201:function(t,e,n){\"use strict\";n.d(e,{default:function(){return D}});var a=n(723),i=n(1205),r={name:\"NcActionRadio\",mixins:[a.Z],props:{id:{type:String,default:function(){return\"action-\"+(0,i.Z)()},validator:function(t){return\"\"!==t.trim()}},checked:{type:Boolean,default:!1},name:{type:String,required:!0},value:{type:[String,Number],default:\"\"},disabled:{type:Boolean,default:!1}},emits:[\"update:checked\",\"change\"],computed:{isFocusable:function(){return!this.disabled}},methods:{toggleInput:function(t){this.$refs.label.click()},onChange:function(t){this.$emit(\"update:checked\",this.$refs.radio.checked),this.$emit(\"change\",t)}}},o=n(3379),s=n.n(o),l=n(7795),A=n.n(l),c=n(569),d=n.n(c),u=n(3565),p=n.n(u),m=n(9216),h=n.n(m),T=n(4589),C=n.n(T),g=n(1915),f={};f.styleTagTransform=C(),f.setAttributes=p(),f.insert=d().bind(null,\"head\"),f.domAPI=A(),f.insertStyleElement=h(),s()(g.Z,f),g.Z&&g.Z.locals&&g.Z.locals;var b=n(1900),v=n(9157),E=n.n(v),y=(0,b.Z)(r,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-radio\"},[e(\"input\",{ref:\"radio\",staticClass:\"radio action-radio__radio\",class:{focusable:t.isFocusable},attrs:{id:t.id,disabled:t.disabled,name:t.name,type:\"radio\"},domProps:{checked:t.checked,value:t.value},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),t.toggleInput.apply(null,arguments))},change:t.onChange}}),t._v(\" \"),e(\"label\",{ref:\"label\",staticClass:\"action-radio__label\",attrs:{for:t.id}},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"2ea9dc76\",null);\"function\"==typeof E()&&E()(y);var D=y.exports},5355:function(t,e,n){\"use strict\";n.d(e,{default:function(){return f}});var a={name:\"NcActionRouter\",mixins:[n(1139).Z],props:{to:{type:[String,Object],default:\"\",required:!0},exact:{type:Boolean,default:!1}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(146),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=(0,n(1900).Z)(a,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"action\"},[e(\"router-link\",{staticClass:\"action-router focusable\",attrs:{to:t.to,exact:t.exact,\"aria-label\":t.ariaLabel,rel:\"nofollow noreferrer noopener\"},nativeOn:{click:function(e){return t.onClick.apply(null,arguments)}}},[t._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-router__icon\",class:[t.isIconUrl?\"action-router__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\".concat(t.icon,\")\"):null}})]})),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-router__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-router__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-router__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-router__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)],1)}),[],!1,null,\"088cc8ee\",null),f=g.exports},6320:function(t,e,n){\"use strict\";n.d(e,{default:function(){return C}});var a=n(3379),i=n.n(a),r=n(7795),o=n.n(r),s=n(569),l=n.n(s),A=n(3565),c=n.n(A),d=n(9216),u=n.n(d),p=n(4589),m=n.n(p),h=n(1474),T={};T.styleTagTransform=m(),T.setAttributes=c(),T.insert=l().bind(null,\"head\"),T.domAPI=o(),T.insertStyleElement=u(),i()(h.Z,T),h.Z&&h.Z.locals&&h.Z.locals;var C=(0,n(1900).Z)({name:\"NcActionSeparator\"},(function(){return(0,this._self._c)(\"li\",{staticClass:\"action action-separator action--disabled\"})}),[],!1,null,\"a1812d84\",null).exports},92:function(t,e,n){\"use strict\";n.d(e,{default:function(){return g}});var a={name:\"NcActionText\",mixins:[n(1139).Z]},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(2490),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=(0,n(1900).Z)(a,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"action\"},[e(\"span\",{staticClass:\"action-text\",on:{click:t.onClick}},[t._t(\"icon\",(function(){return[\"\"!==t.icon?e(\"span\",{staticClass:\"action-text__icon\",class:[t.isIconUrl?\"action-text__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\".concat(t.icon,\")\"):null}}):t._e()]})),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-text__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-text__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-text__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-text__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"baabfed8\",null).exports},1673:function(t,e,n){\"use strict\";n.d(e,{default:function(){return S}});var a=n(1139),i=n(1205),r=n(6915),o={name:\"NcActionTextEditable\",components:{ArrowRight:n.n(r)()},mixins:[a.Z],props:{id:{type:String,default:function(){return\"action-\"+(0,i.Z)()},validator:function(t){return\"\"!==t.trim()}},disabled:{type:Boolean,default:!1},value:{type:String,default:\"\"}},emits:[\"input\",\"update:value\",\"submit\"],computed:{isFocusable:function(){return!this.disabled}},methods:{onInput:function(t){this.$emit(\"input\",t),this.$emit(\"update:value\",t.target.value)},onSubmit:function(t){if(t.preventDefault(),t.stopPropagation(),this.disabled)return!1;this.$emit(\"submit\",t)}}},s=n(3379),l=n.n(s),A=n(7795),c=n.n(A),d=n(569),u=n.n(d),p=n(3565),m=n.n(p),h=n(9216),T=n.n(h),C=n(4589),g=n.n(C),f=n(6517),b={};b.styleTagTransform=g(),b.setAttributes=m(),b.insert=u().bind(null,\"head\"),b.domAPI=c(),b.insertStyleElement=T(),l()(f.Z,b),f.Z&&f.Z.locals&&f.Z.locals;var v=n(1900),E=n(3179),y=n.n(E),D=(0,v.Z)(o,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-text-editable\",on:{click:t.onClick}},[t._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-text-editable__icon\",class:[t.isIconUrl?\"action-text-editable__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\".concat(t.icon,\")\"):null}})]})),t._v(\" \"),e(\"form\",{ref:\"form\",staticClass:\"action-text-editable__form\",attrs:{disabled:t.disabled},on:{submit:function(e){return e.preventDefault(),t.onSubmit.apply(null,arguments)}}},[e(\"input\",{staticClass:\"action-text-editable__submit\",attrs:{id:t.id,type:\"submit\"}}),t._v(\" \"),t.title?e(\"strong\",{staticClass:\"action-text__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]):t._e(),t._v(\" \"),e(\"textarea\",t._b({class:[\"action-text-editable__textarea\",{focusable:t.isFocusable}],attrs:{disabled:t.disabled},domProps:{value:t.value},on:{input:t.onInput}},\"textarea\",t.$attrs,!1)),t._v(\" \"),e(\"label\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.disabled,expression:\"!disabled\"}],staticClass:\"action-text-editable__label\",attrs:{for:t.id}},[e(\"ArrowRight\",{attrs:{size:20}})],1)])],2)])}),[],!1,null,\"109a14bf\",null);\"function\"==typeof y()&&y()(D);var S=D.exports},1702:function(t,e,n){\"use strict\";n.d(e,{default:function(){return $}});var a=n(2872),i=n(9266),r=n(336),o=n(1205),s=n(932),l=n(2734),A=n.n(l),c=n(1441),d=n.n(c);function u(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function p(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,a=new Array(e);n0&&void 0!==arguments[0])||arguments[0];this.opened&&(this.opened=!1,this.$refs.popover.clearFocusTrap({returnFocus:t}),this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.$el.focus())},onOpen:function(t){var e=this;this.$nextTick((function(){e.focusFirstAction(t)}))},onMouseFocusAction:function(t){if(document.activeElement!==t.target){var e=t.target.closest(\"li\");if(e){var n=e.querySelector(C);if(n){var a=h(this.$refs.menu.querySelectorAll(C)).indexOf(n);a>-1&&(this.focusIndex=a,this.focusAction())}}}},onKeydown:function(t){(38===t.keyCode||9===t.keyCode&&t.shiftKey)&&this.focusPreviousAction(t),(40===t.keyCode||9===t.keyCode&&!t.shiftKey)&&this.focusNextAction(t),33===t.keyCode&&this.focusFirstAction(t),34===t.keyCode&&this.focusLastAction(t),27===t.keyCode&&(this.closeMenu(),t.preventDefault())},removeCurrentActive:function(){var t=this.$refs.menu.querySelector(\"li.active\");t&&t.classList.remove(\"active\")},focusAction:function(){var t=this.$refs.menu.querySelectorAll(C)[this.focusIndex];if(t){this.removeCurrentActive();var e=t.closest(\"li.action\");t.focus(),e&&e.classList.add(\"active\")}},focusPreviousAction:function(t){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(t){if(this.opened){var e=this.$refs.menu.querySelectorAll(C).length-1;this.focusIndex===e?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=0,this.focusAction())},focusLastAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=this.$refs.menu.querySelectorAll(C).length-1,this.focusAction())},preventIfEvent:function(t){t&&(t.preventDefault(),t.stopPropagation())},onFocus:function(t){this.$emit(\"focus\",t)},onBlur:function(t){this.$emit(\"blur\",t)}},render:function(t){var e=this,n=(this.$slots.default||[]).filter((function(t){var e;return null==t||null===(e=t.componentOptions)||void 0===e?void 0:e.tag})),a=n.filter(this.isValidSingleAction);if(this.forceMenu&&a.length>0&&this.inline>0&&(A().util.warn(\"Specifying forceMenu will ignore any inline actions rendering.\"),a=[]),0!==n.length){var i=function(n){var a,i,r,o,s,l,A,c,d,u,m,h,T,C,g,f,b,v,E,y,D=(null==n||null===(a=n.data)||void 0===a||null===(i=a.scopedSlots)||void 0===i||null===(r=i.icon())||void 0===r?void 0:r[0])||t(\"span\",{class:[\"icon\",null==n||null===(o=n.componentOptions)||void 0===o||null===(s=o.propsData)||void 0===s?void 0:s.icon]}),S=e.forceTitle?e.menuTitle:\"\",x=null==n||null===(l=n.componentOptions)||void 0===l||null===(A=l.listeners)||void 0===A?void 0:A.click;return t(\"NcButton\",{class:[\"action-item action-item--single\",null==n||null===(c=n.data)||void 0===c?void 0:c.staticClass,null==n||null===(d=n.data)||void 0===d?void 0:d.class],attrs:{\"aria-label\":(null==n||null===(u=n.componentOptions)||void 0===u||null===(m=u.propsData)||void 0===m?void 0:m.ariaLabel)||(null==n||null===(h=n.componentOptions)||void 0===h||null===(T=h.children)||void 0===T||null===(C=T[0])||void 0===C?void 0:C.text)},props:p({type:e.type||(S?\"secondary\":\"tertiary\"),disabled:e.disabled||(null==n||null===(g=n.componentOptions)||void 0===g||null===(f=g.propsData)||void 0===f?void 0:f.disabled)},null==n||null===(b=n.componentOptions)||void 0===b?void 0:b.propsData),directives:[{name:\"tooltip\",value:null==n||null===(v=n.componentOptions)||void 0===v||null===(E=v.children)||void 0===E||null===(y=E[0])||void 0===y?void 0:y.text,modifiers:{auto:!0}}],on:p({focus:e.onFocus,blur:e.onBlur},!!x&&{click:function(t){x&&x(t)}})},[t(\"template\",{slot:\"icon\"},[D]),S])},r=function(n){var a,i=(null===(a=e.$slots.icon)||void 0===a?void 0:a[0])||(e.defaultIcon?t(\"span\",{class:[\"icon\",e.defaultIcon]}):t(\"DotsHorizontal\",{props:{size:20}}));return t(\"NcPopover\",{ref:\"popover\",props:{delay:0,handleResize:!0,shown:e.opened,placement:e.placement,boundary:e.boundariesElement,container:e.container,popoverBaseClass:\"action-item__popper\"},attrs:{delay:0,handleResize:!0,shown:e.opened,placement:e.placement,boundary:e.boundariesElement,container:e.container,popoverBaseClass:\"action-item__popper\"},on:{show:e.openMenu,\"after-show\":e.onOpen,hide:e.closeMenu}},[t(\"NcButton\",{class:\"action-item__menutoggle\",props:{type:e.triggerBtnType,disabled:e.disabled},slot:\"trigger\",ref:\"menuButton\",attrs:{\"aria-haspopup\":\"menu\",\"aria-label\":e.ariaLabel,\"aria-controls\":e.opened?e.randomId:null,\"aria-expanded\":e.opened.toString()},on:{focus:e.onFocus,blur:e.onBlur}},[t(\"template\",{slot:\"icon\"},[i]),e.menuTitle]),t(\"div\",{class:{open:e.opened},attrs:{tabindex:\"-1\"},on:{keydown:e.onKeydown,mousemove:e.onMouseFocusAction},ref:\"menu\"},[t(\"ul\",{attrs:{id:e.randomId,tabindex:\"-1\",role:\"menu\"}},[n])])])};if(1===n.length&&1===a.length&&!this.forceMenu)return i(a[0]);if(a.length>0&&this.inline>0){var o=a.slice(0,this.inline),s=n.filter((function(t){return!o.includes(t)}));return t(\"div\",{class:[\"action-items\",\"action-item--\".concat(this.triggerBtnType)]},[].concat(h(o.map(i)),[s.length>0?t(\"div\",{class:[\"action-item\",{\"action-item--open\":this.opened}]},[r(s)]):null]))}return t(\"div\",{class:[\"action-item action-item--default-popover\",\"action-item--\".concat(this.triggerBtnType),{\"action-item--open\":this.opened}]},[r(n)])}}},f=g,b=n(3379),v=n.n(b),E=n(7795),y=n.n(E),D=n(569),S=n.n(D),x=n(3565),N=n.n(x),k=n(9216),F=n.n(k),R=n(4589),w=n.n(R),O=n(917),B={};B.styleTagTransform=w(),B.setAttributes=N(),B.insert=S().bind(null,\"head\"),B.domAPI=y(),B.insertStyleElement=F(),v()(O.Z,B),O.Z&&O.Z.locals&&O.Z.locals;var _=n(7148),Z={};Z.styleTagTransform=w(),Z.setAttributes=N(),Z.insert=S().bind(null,\"head\"),Z.domAPI=y(),Z.insertStyleElement=F(),v()(_.Z,Z),_.Z&&_.Z.locals&&_.Z.locals;var Y=n(1900),M=n(5727),I=n.n(M),G=(0,Y.Z)(f,void 0,void 0,!1,null,\"130d1fd6\",null);\"function\"==typeof I()&&I()(G);var $=G.exports},1322:function(t,e,n){\"use strict\";n.d(e,{default:function(){return G}});var a=n(2872),i=n(932),r=n(336),o=n(542),s=n(6915),l=n.n(s),A={name:\"NcAppDetailsToggle\",directives:{tooltip:r.default},components:{NcButton:a.default,ArrowRight:l()},computed:{title:function(){return(0,i.t)(\"Go back to the list\")}},beforeMount:function(){this.toggleAppNavigationButton(!0)},beforeDestroy:function(){this.toggleAppNavigationButton(!1)},methods:{toggleAppNavigationButton:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=document.querySelector(\".app-navigation .app-navigation-toggle\");e&&(e.style.display=t?\"none\":null,!0===t&&(0,o.emit)(\"toggle-navigation\",{open:!1}))}}},c=A,d=n(3379),u=n.n(d),p=n(7795),m=n.n(p),h=n(569),T=n.n(h),C=n(3565),g=n.n(C),f=n(9216),b=n.n(f),v=n(4589),E=n.n(v),y=n(5194),D={};D.styleTagTransform=E(),D.setAttributes=g(),D.insert=T().bind(null,\"head\"),D.domAPI=m(),D.insertStyleElement=b(),u()(y.Z,D),y.Z&&y.Z.locals&&y.Z.locals;var S=n(1900),x=(0,S.Z)(c,(function(){var t=this,e=t._self._c;return e(\"NcButton\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.title,expression:\"title\"}],staticClass:\"app-details-toggle\",attrs:{\"aria-label\":t.title},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"ArrowRight\",{attrs:{size:20}})]},proxy:!0}])})}),[],!1,null,\"45131f51\",null).exports,N=n(334),k=n(7672),F=n(2640),R=n.n(F),w=(require(\"splitpanes/dist/splitpanes.css\"),require(\"splitpanes\")),O=(0,k.getBuilder)(\"nextcloud\").persist().build(),B={name:\"NcAppContent\",components:{NcAppDetailsToggle:x,Pane:w.Pane,Splitpanes:w.Splitpanes},mixins:[N.default],props:{allowSwipeNavigation:{type:Boolean,default:!0},listSize:{type:Number,default:20},listMinWidth:{type:Number,default:15},listMaxWidth:{type:Number,default:40},paneConfigKey:{type:String,default:\"\"},showDetails:{type:Boolean,default:!0}},emits:[\"update:showDetails\"],data:function(){return{contentHeight:0,hasList:!1,listPaneSize:this.restorePaneConfig()}},computed:{paneConfigID:function(){if(\"\"!==this.paneConfigKey)return\"pane-list-size-\".concat(this.paneConfigKey);try{return\"pane-list-size-\".concat(appName)}catch(t){return console.info(\"[INFO] AppContent:\",\"falling back to global nextcloud pane config\"),\"pane-list-size-nextcloud\"}},detailsPaneSize:function(){return this.listPaneSize?100-this.listPaneSize:this.paneDefaults.details.size},paneDefaults:function(){return{list:{size:this.listSize,min:this.listMinWidth,max:this.listMaxWidth},details:{size:100-this.listSize,min:100-this.listMaxWidth,max:100-this.listMinWidth}}}},updated:function(){this.checkListSlot()},mounted:function(){this.allowSwipeNavigation&&(this.mc=new(R())(this.$el,{cssProps:{userSelect:\"text\"}}),this.mc.on(\"swipeleft swiperight\",this.handleSwipe)),this.checkListSlot(),this.restorePaneConfig()},beforeDestroy:function(){this.mc.off(\"swipeleft swiperight\",this.handleSwipe)},methods:{handleSwipe:function(t){var e=t.srcEvent.pageX-t.deltaX,n=Math.abs(t.deltaX)>70;n&&e<40?(0,o.emit)(\"toggle-navigation\",{open:!0}):n&&e<340&&(0,o.emit)(\"toggle-navigation\",{open:!1})},handlePaneResize:function(t){var e=parseInt(t[0].size,10);O.setItem(this.paneConfigID,JSON.stringify(e)),this.listPaneSize=e,console.debug(\"AppContent pane config\",e)},checkListSlot:function(){var t=!!this.$slots.list;this.hasList!==t&&(this.hasList=t)},restorePaneConfig:function(){var t=parseInt(O.getItem(this.paneConfigID),10);if(!isNaN(t)&&t!==this.listPaneSize)return console.debug(\"AppContent pane config\",t),this.listPaneSize=t,t},hideDetails:function(){this.$emit(\"update:showDetails\",!1)}}},_=n(8406),Z={};Z.styleTagTransform=E(),Z.setAttributes=g(),Z.insert=T().bind(null,\"head\"),Z.domAPI=m(),Z.insertStyleElement=b(),u()(_.Z,Z),_.Z&&_.Z.locals&&_.Z.locals;var Y=n(2893),M=n.n(Y),I=(0,S.Z)(B,(function(){var t=this,e=t._self._c;return e(\"main\",{staticClass:\"app-content no-snapper\",class:{\"app-content--has-list\":t.hasList},attrs:{id:\"app-content-vue\"}},[t.hasList?[t.isMobile?e(\"div\",{staticClass:\"app-content-wrapper app-content-wrapper--mobile\",class:t.showDetails?\"app-content-wrapper--show-details\":\"app-content-wrapper--show-list\"},[t.hasList&&t.showDetails?e(\"NcAppDetailsToggle\",{nativeOn:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.hideDetails.apply(null,arguments)}}}):t._e(),t._v(\" \"),t._t(\"list\"),t._v(\" \"),t._t(\"default\")],2):e(\"div\",{staticClass:\"app-content-wrapper\"},[e(\"Splitpanes\",{staticClass:\"default-theme\",on:{resized:t.handlePaneResize}},[e(\"Pane\",{staticClass:\"splitpanes__pane-list\",attrs:{size:t.listPaneSize||t.paneDefaults.list.size,\"min-size\":t.paneDefaults.list.min,\"max-size\":t.paneDefaults.list.max}},[t._t(\"list\")],2),t._v(\" \"),e(\"Pane\",{staticClass:\"splitpanes__pane-details\",attrs:{size:t.detailsPaneSize,\"min-size\":t.paneDefaults.details.min,\"max-size\":t.paneDefaults.details.max}},[t._t(\"default\")],2)],1)],1)]:t._t(\"default\")],2)}),[],!1,null,\"ab487c88\",null);\"function\"==typeof M()&&M()(I);var G=I.exports},6980:function(t,e,n){\"use strict\";n.d(e,{default:function(){return a}});var a=(0,n(1900).Z)({name:\"NcAppContentDetails\"},(function(){return(0,this._self._c)(\"div\",{staticClass:\"app-content-details\"},[this._t(\"default\")],2)}),[],!1,null,null,null).exports},8248:function(t,e,n){\"use strict\";n.d(e,{default:function(){return i}});var a={name:\"NcAppContentList\",props:{selection:{type:Boolean,default:!1},showDetails:{type:Boolean,default:!1}}},i=(0,n(1900).Z)(a,(function(){var t=this;return(0,t._self._c)(\"div\",{staticClass:\"app-content-list\",class:{selection:t.selection,showdetails:t.showDetails}},[t._t(\"default\")],2)}),[],!1,null,null,null).exports},7941:function(t,e,n){\"use strict\";n.d(e,{default:function(){return S}});var a=n(5606),i=n(334),r=n(542),o={name:\"NcAppNavigation\",components:{NcAppNavigationToggle:a.default},mixins:[i.default],data:function(){return{open:!0}},watch:{isMobile:function(){this.open=!this.isMobile}},mounted:function(){(0,r.subscribe)(\"toggle-navigation\",this.toggleNavigationByEventBus),(0,r.emit)(\"navigation-toggled\",{open:this.open})},unmounted:function(){this.mc.off(\"swipeleft swiperight\"),this.mc.destroy(),(0,r.unsubscribe)(\"toggle-navigation\",this.toggleNavigationByEventBus)},methods:{toggleNavigation:function(t){var e=this;this.open=void 0===t?!this.open:t;var n=getComputedStyle(document.body),a=parseInt(n.getPropertyValue(\"--animation-quick\"))||100;setTimeout((function(){(0,r.emit)(\"navigation-toggled\",{open:e.open})}),1.5*a)},toggleNavigationByEventBus:function(t){var e=t.open;this.toggleNavigation(e)}}},s=n(3379),l=n.n(s),A=n(7795),c=n.n(A),d=n(569),u=n.n(d),p=n(3565),m=n.n(p),h=n(9216),T=n.n(h),C=n(4589),g=n.n(C),f=n(239),b={};b.styleTagTransform=g(),b.setAttributes=m(),b.insert=u().bind(null,\"head\"),b.domAPI=c(),b.insertStyleElement=T(),l()(f.Z,b),f.Z&&f.Z.locals&&f.Z.locals;var v=n(1900),E=n(6313),y=n.n(E),D=(0,v.Z)(o,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"app-navigation\",class:{\"app-navigation--close\":!t.open},attrs:{id:\"app-navigation-vue\",role:\"navigation\"}},[e(\"NcAppNavigationToggle\",{attrs:{open:t.open},on:{\"update:open\":t.toggleNavigation}}),t._v(\" \"),t._t(\"default\"),t._v(\" \"),e(\"ul\",{staticClass:\"app-navigation__list\"},[t._t(\"list\")],2),t._v(\" \"),t._t(\"footer\")],2)}),[],!1,null,\"58161ba0\",null);\"function\"==typeof y()&&y()(D);var S=D.exports},6036:function(t,e,n){\"use strict\";n.d(e,{default:function(){return E}});var a={name:\"NcAppNavigationCaption\",components:{NcActions:n(1702).default},props:{title:{type:String,required:!0}},computed:{hasActions:function(){return!!this.$slots.actions}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(8486),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=n(1900),f=n(5706),b=n.n(f),v=(0,g.Z)(a,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"app-navigation-caption\"},[e(\"h2\",{staticClass:\"app-navigation-caption__title\"},[t._v(\"\\n\\t\\t\"+t._s(t.title)+\"\\n\\t\")]),t._v(\" \"),t.hasActions?e(\"div\",{staticClass:\"app-navigation-caption__actions\"},[e(\"NcActions\",t._b({scopedSlots:t._u([{key:\"icon\",fn:function(){return[t._t(\"actionsTriggerIcon\")]},proxy:!0}],null,!0)},\"NcActions\",t.$attrs,!1),[t._t(\"actions\")],2)],1):t._e()])}),[],!1,null,\"60629567\",null);\"function\"==typeof b()&&b()(v);var E=v.exports},2060:function(t,e,n){\"use strict\";n.d(e,{default:function(){return E}});var a={name:\"NcAppNavigationCounter\",props:{highlighted:{type:Boolean,default:!1}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(9710),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=n(1900),f=n(1358),b=n.n(f),v=(0,g.Z)(a,(function(){var t=this;return(0,t._self._c)(\"div\",{staticClass:\"app-navigation-entry__counter\",class:{\"app-navigation-entry__counter--highlighted\":t.highlighted}},[t._t(\"default\")],2)}),[],!1,null,\"025c90dc\",null);\"function\"==typeof b()&&b()(v);var E=v.exports},2059:function(t,e,n){\"use strict\";n.d(e,{default:function(){return E}});var a={name:\"NcAppNavigationIconBullet\",props:{color:{type:String,required:!0,validator:function(t){return/^#?([0-9A-F]{3}){1,2}$/i.test(t)}}},emits:[\"click\"],computed:{formattedColor:function(){return this.color.startsWith(\"#\")?this.color:\"#\"+this.color}},methods:{onClick:function(t){this.$emit(\"click\",t)}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(2546),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=n(1900),f=n(2720),b=n.n(f),v=(0,g.Z)(a,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"app-navigation-entry__icon-bullet\",on:{click:t.onClick}},[e(\"div\",{style:{backgroundColor:t.formattedColor}})])}),[],!1,null,\"2f791f07\",null);\"function\"==typeof b()&&b()(v);var E=v.exports},7014:function(t,e,n){\"use strict\";n.d(e,{default:function(){return P}});var a=n(453),i=n(1702),r=n(95),o=n(5415),s=n(2872),l=n(932),A=n(9044),c=n.n(A),d=require(\"vue-material-design-icons/ChevronDown.vue\"),u=n.n(d),p={name:\"NcAppNavigationIconCollapsible\",components:{NcButton:s.default,ChevronRight:c(),ChevronDown:u()},props:{open:{type:Boolean,default:!0}},emits:[\"click\"],computed:{labelButton:function(){return open?(0,l.t)(\"Close\"):(0,l.t)(\"Open\")}},methods:{onClick:function(t){this.$emit(\"click\",t)}}},m=n(3379),h=n.n(m),T=n(7795),C=n.n(T),g=n(569),f=n.n(g),b=n(3565),v=n.n(b),E=n(9216),y=n.n(E),D=n(4589),S=n.n(D),x=n(7185),N={};N.styleTagTransform=S(),N.setAttributes=v(),N.insert=f().bind(null,\"head\"),N.domAPI=C(),N.insertStyleElement=y(),h()(x.Z,N),x.Z&&x.Z.locals&&x.Z.locals;var k=n(1900),F=(0,k.Z)(p,(function(){var t=this,e=t._self._c;return e(\"NcButton\",{staticClass:\"icon-collapse\",class:{\"icon-collapse--open\":t.open},attrs:{type:\"tertiary\",\"aria-label\":t.labelButton},on:{click:t.onClick},scopedSlots:t._u([{key:\"icon\",fn:function(){return[t.open?e(\"ChevronDown\",{attrs:{size:20}}):e(\"ChevronRight\",{attrs:{size:20}})]},proxy:!0}])})}),[],!1,null,\"929d604e\",null).exports,R=n(334),w=n(5889),O=n(1205),B=require(\"vue-material-design-icons/Pencil.vue\"),_=n.n(B),Z=require(\"vue-material-design-icons/Undo.vue\"),Y=n.n(Z),M={name:\"NcAppNavigationItem\",components:{NcActions:i.default,NcActionButton:r.default,NcLoadingIcon:o.default,NcAppNavigationIconCollapsible:F,NcInputConfirmCancel:w.Z,Pencil:_(),Undo:Y()},directives:{ClickOutside:a.directive},mixins:[R.default],props:{title:{type:String,required:!0},id:{type:String,default:function(){return\"app-navigation-item-\"+(0,O.Z)()},validator:function(t){return\"\"!==t.trim()}},icon:{type:String,default:\"\"},loading:{type:Boolean,default:!1},to:{type:[String,Object],default:\"\"},exact:{type:Boolean,default:!1},allowCollapse:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},editLabel:{type:String,default:\"\"},editPlaceholder:{type:String,default:\"\"},pinned:{type:Boolean,default:!1},undo:{type:Boolean,default:!1},open:{type:Boolean,default:!1},menuOpen:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuIcon:{type:String,default:void 0},menuPlacement:{type:String,default:\"bottom\"},ariaDescription:{type:String,default:null},forceDisplayActions:{type:Boolean,default:!1}},emits:[\"update:menuOpen\",\"update:open\",\"update:title\",\"click\",\"undo\"],data:function(){return{editingValue:\"\",opened:this.open,editingActive:!1,hasChildren:!1,menuOpenLocalValue:!1,hovered:!1,focused:!1,hasActions:!1,displayActionsOnHoverFocus:!1}},computed:{collapsible:function(){return this.allowCollapse&&!!this.$slots.default},isIconShown:function(){return!this.collapsible||this.collapsible&&!this.isMobile},canHaveChildren:function(){return\"AppNavigationItem\"!==this.$parent.$options._componentTag},hasUtils:function(){return!this.editing&&!!(this.$slots.actions||this.$slots.counter||this.editable||this.undo)},navElement:function(){return this.to?{is:\"router-link\",tag:\"div\",to:this.to,exact:this.exact}:{is:\"div\"}},isActive:function(){return this.to&&this.$route===this.to},editButtonAriaLabel:function(){return this.editLabel?this.editLabel:(0,l.t)(\"Edit item\")},undoButtonAriaLabel:function(){return(0,l.t)(\"Undo changes\")}},watch:{open:function(t){this.opened=t},menuOpenLocalValue:function(t){t||this.hovered||this.hideActions()}},created:function(){this.updateSlotInfo()},beforeUpdate:function(){this.updateSlotInfo()},methods:{onMenuToggle:function(t){this.$emit(\"update:menuOpen\",t),this.menuOpenLocalValue=t},toggleCollapse:function(){this.opened=!this.opened,this.$emit(\"update:open\",this.opened)},onClick:function(t){this.$emit(\"click\",t)},handleEdit:function(){var t=this;this.editingValue=this.title,this.editingActive=!0,this.onMenuToggle(!1),this.$nextTick((function(){t.$refs.editingInput.focusInput()}))},cancelEditing:function(){this.editingActive=!1},handleEditingDone:function(){this.$emit(\"update:title\",this.editingValue),this.editingValue=\"\",this.editingActive=!1},handleUndo:function(){this.$emit(\"undo\")},updateSlotInfo:function(){this.hasChildren=!!this.$slots.default,this.hasActions!==!!this.$slots.actions&&(this.hasActions=!!this.$slots.actions)},showActions:function(){this.hasActions&&(this.displayActionsOnHoverFocus=!0),this.hovered=!1},hideActions:function(){this.displayActionsOnHoverFocus=!1},handleMouseover:function(){this.showActions(),this.hovered=!0},handleMouseleave:function(){this.menuOpenLocalValue||this.hideActions(),this.hovered=!1},handleFocus:function(){this.focused=!0,this.showActions()},handleBlur:function(){this.focused=!1},handleTab:function(t){this.focused&&this.hasActions?(t.preventDefault(),this.$refs.actions.$refs.menuButton.$el.focus(),this.focused=!1):(this.hideActions(),this.$refs.actions.$refs.menuButton.$el.blur())}}},I=n(933),G={};G.styleTagTransform=S(),G.setAttributes=v(),G.insert=f().bind(null,\"head\"),G.domAPI=C(),G.insertStyleElement=y(),h()(I.Z,G),I.Z&&I.Z.locals&&I.Z.locals;var $=n(3789),L=n.n($),U=(0,k.Z)(M,(function(){var t,e,n,a=this,i=a._self._c;return i(\"li\",{staticClass:\"app-navigation-entry-wrapper\",class:{\"app-navigation-entry--opened\":a.opened,\"app-navigation-entry--pinned\":a.pinned,\"app-navigation-entry--collapsible\":a.collapsible},attrs:{id:a.id},on:{mouseover:a.handleMouseover,mouseleave:a.handleMouseleave}},[i(\"nav-element\",a._b({staticClass:\"app-navigation-entry\",class:{\"app-navigation-entry--no-icon\":!a.isIconShown,\"app-navigation-entry--editing\":a.editingActive,\"app-navigation-entry--deleted\":a.undo,active:a.isActive}},\"nav-element\",a.navElement,!1),[a.undo?a._e():i(\"a\",{staticClass:\"app-navigation-entry-link\",attrs:{\"aria-description\":a.ariaDescription,href:\"#\",\"aria-expanded\":a.opened.toString()},on:{focus:a.handleFocus,blur:a.handleBlur,keydown:[function(t){return!t.type.indexOf(\"key\")&&a._k(t.keyCode,\"tab\",9,t.key,\"Tab\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:a.handleTab.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&a._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"])?null:a.hideActions.apply(null,arguments)}],click:a.onClick}},[i(\"div\",{staticClass:\"app-navigation-entry-icon\",class:(t={},e=a.icon,n=a.icon&&a.isIconShown,e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t)},[a.loading?i(\"NcLoadingIcon\"):a.isIconShown?a._t(\"icon\"):a._e()],2),a._v(\" \"),a.editingActive?a._e():i(\"span\",{staticClass:\"app-navigation-entry__title\",attrs:{title:a.title}},[a._v(\"\\n\\t\\t\\t\\t\"+a._s(a.title)+\"\\n\\t\\t\\t\")]),a._v(\" \"),a.editingActive?i(\"div\",{staticClass:\"editingContainer\"},[i(\"NcInputConfirmCancel\",{ref:\"editingInput\",attrs:{placeholder:\"\"!==a.editPlaceholder?a.editPlaceholder:a.title},on:{cancel:a.cancelEditing,confirm:a.handleEditingDone},model:{value:a.editingValue,callback:function(t){a.editingValue=t},expression:\"editingValue\"}})],1):a._e()]),a._v(\" \"),a.collapsible?i(\"NcAppNavigationIconCollapsible\",{attrs:{open:a.opened},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),a.toggleCollapse.apply(null,arguments)}}}):a._e(),a._v(\" \"),a.undo?i(\"div\",{staticClass:\"app-navigation-entry__deleted\"},[i(\"div\",{staticClass:\"app-navigation-entry__deleted-description\"},[a._v(\"\\n\\t\\t\\t\\t\"+a._s(a.title)+\"\\n\\t\\t\\t\")])]):a._e(),a._v(\" \"),a.hasUtils&&!a.editingActive?i(\"div\",{staticClass:\"app-navigation-entry__utils\"},[!a.$slots.counter||a.displayActionsOnHoverFocus&&!a.forceDisplayActions?a._e():i(\"div\",{staticClass:\"app-navigation-entry__counter-wrapper\"},[a._t(\"counter\")],2),a._v(\" \"),i(\"NcActions\",{directives:[{name:\"show\",rawName:\"v-show\",value:a.displayActionsOnHoverFocus||a.forceDisplayActions,expression:\"displayActionsOnHoverFocus || forceDisplayActions\"}],ref:\"actions\",attrs:{\"menu-align\":\"right\",container:\"#\"+a.id,placement:a.menuPlacement,open:a.menuOpen,\"force-menu\":a.forceMenu,\"default-icon\":a.menuIcon},on:{\"update:open\":a.onMenuToggle},scopedSlots:a._u([{key:\"icon\",fn:function(){return[a._t(\"menu-icon\")]},proxy:!0}],null,!0)},[a._v(\" \"),a.editable&&!a.editingActive?i(\"NcActionButton\",{attrs:{\"aria-label\":a.editButtonAriaLabel},on:{click:a.handleEdit},scopedSlots:a._u([{key:\"icon\",fn:function(){return[i(\"Pencil\",{attrs:{size:20}})]},proxy:!0}],null,!1,580569589)},[a._v(\"\\n\\t\\t\\t\\t\\t\"+a._s(a.editLabel)+\"\\n\\t\\t\\t\\t\")]):a._e(),a._v(\" \"),a.undo?i(\"NcActionButton\",{attrs:{\"aria-label\":a.undoButtonAriaLabel},on:{click:a.handleUndo},scopedSlots:a._u([{key:\"icon\",fn:function(){return[i(\"Undo\",{attrs:{size:20}})]},proxy:!0}],null,!1,33666776)}):a._e(),a._v(\" \"),a._t(\"actions\")],2)],1):a._e(),a._v(\" \"),a._t(\"extra\")],2),a._v(\" \"),a.canHaveChildren&&a.hasChildren?i(\"ul\",{staticClass:\"app-navigation-entry__children\"},[a._t(\"default\")],2):a._e()],1)}),[],!1,null,null,null);\"function\"==typeof L()&&L()(U);var P=U.exports},5117:function(t,e,n){\"use strict\";n.d(e,{default:function(){return E}});var a={components:{NcButton:n(2872).default},props:{buttonId:{type:String,required:!1,default:\"\"},disabled:{type:Boolean,required:!1,default:!1},text:{type:String,required:!0}},emits:[\"click\"]},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(9030),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=n(1900),f=n(7499),b=n.n(f),v=(0,g.Z)(a,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"app-navigation-new\"},[e(\"NcButton\",{attrs:{id:t.buttonId,disabled:t.disabled},on:{click:function(e){return t.$emit(\"click\")}},scopedSlots:t._u([{key:\"icon\",fn:function(){return[t._t(\"icon\")]},proxy:!0}],null,!0)},[t._v(\"\\n\\t\\t\"+t._s(t.text)+\"\\n\\t\")])],1)}),[],!1,null,\"774f9bb0\",null);\"function\"==typeof b()&&b()(v);var E=v.exports},8389:function(t,e,n){\"use strict\";n.d(e,{default:function(){return S}});var a=n(5889),i=n(5415),r=n(453),o={name:\"NcAppNavigationNewItem\",components:{NcInputConfirmCancel:a.Z,NcLoadingIcon:i.default},directives:{ClickOutside:r.directive},props:{title:{type:String,required:!0},icon:{type:String,default:\"\"},loading:{type:Boolean,default:!1},editLabel:{type:String,default:\"\"},editPlaceholder:{type:String,default:\"\"}},emits:[\"new-item\"],data:function(){return{newItemValue:\"\",newItemActive:!1}},methods:{handleNewItem:function(){var t=this;this.loading||(this.newItemActive=!0,this.$nextTick((function(){t.$refs.newItemInput.focusInput()})))},cancelNewItem:function(){this.newItemActive=!1},handleNewItemDone:function(){this.$emit(\"new-item\",this.newItemValue),this.newItemValue=\"\",this.newItemActive=!1}}},s=n(3379),l=n.n(s),A=n(7795),c=n.n(A),d=n(569),u=n.n(d),p=n(3565),m=n.n(p),h=n(9216),T=n.n(h),C=n(4589),g=n.n(C),f=n(1004),b={};b.styleTagTransform=g(),b.setAttributes=m(),b.insert=u().bind(null,\"head\"),b.domAPI=c(),b.insertStyleElement=T(),l()(f.Z,b),f.Z&&f.Z.locals&&f.Z.locals;var v=n(1900),E=n(9297),y=n.n(E),D=(0,v.Z)(o,(function(){var t,e,n,a=this,i=a._self._c;return i(\"li\",{staticClass:\"app-navigation-entry\",class:{\"app-navigation-entry--newItemActive\":a.newItemActive}},[i(\"div\",{staticClass:\"app-navigation-entry-div\",on:{click:a.handleNewItem}},[i(\"div\",{staticClass:\"app-navigation-entry-icon\",class:(t={},e=a.icon,n=!a.loading,e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t)},[a.loading?i(\"NcLoadingIcon\"):a._t(\"icon\")],2),a._v(\" \"),a.newItemActive?a._e():i(\"span\",{staticClass:\"app-navigation-new-item__title\",attrs:{title:a.title}},[a._v(\"\\n\\t\\t\\t\"+a._s(a.title)+\"\\n\\t\\t\")]),a._v(\" \"),a.newItemActive?i(\"div\",{staticClass:\"newItemContainer\"},[i(\"NcInputConfirmCancel\",{ref:\"newItemInput\",attrs:{placeholder:\"\"!==a.editPlaceholder?a.editPlaceholder:a.title},on:{cancel:a.cancelNewItem,confirm:a.handleNewItemDone},model:{value:a.newItemValue,callback:function(t){a.newItemValue=t},expression:\"newItemValue\"}})],1):a._e()])])}),[],!1,null,null,null);\"function\"==typeof y()&&y()(D);var S=D.exports},3563:function(t,e,n){\"use strict\";n.d(e,{default:function(){return E}});var a=n(932),i=n(3351),r=require(\"vue-material-design-icons/Cog.vue\"),o=n.n(r),s={directives:{ClickOutside:n(453).directive},components:{Cog:o()},mixins:[i.yd],props:{title:{type:String,required:!1,default:(0,a.t)(\"Settings\")}},data:function(){return{open:!1,clickOutsideConfig:{handler:this.closeMenu,middleware:this.clickOutsideMiddleware}}},methods:{toggleMenu:function(){this.open=!this.open},closeMenu:function(){this.open=!1}}},l=n(3379),A=n.n(l),c=n(7795),d=n.n(c),u=n(569),p=n.n(u),m=n(3565),h=n.n(m),T=n(9216),C=n.n(T),g=n(4589),f=n.n(g),b=n(2327),v={};v.styleTagTransform=f(),v.setAttributes=h(),v.insert=p().bind(null,\"head\"),v.domAPI=d(),v.insertStyleElement=C(),A()(b.Z,v),b.Z&&b.Z.locals&&b.Z.locals;var E=(0,n(1900).Z)(s,(function(){var t=this,e=t._self._c;return e(\"div\",{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:t.clickOutsideConfig,expression:\"clickOutsideConfig\"}],class:{open:t.open},attrs:{id:\"app-settings\"}},[e(\"div\",{attrs:{id:\"app-settings__header\"}},[e(\"button\",{staticClass:\"settings-button\",attrs:{type:\"button\"},on:{click:t.toggleMenu}},[e(\"Cog\",{staticClass:\"settings-button__icon\",attrs:{size:20}}),t._v(\" \"),e(\"span\",{staticClass:\"settings-button__label\"},[t._v(t._s(t.title))])],1)]),t._v(\" \"),e(\"transition\",{attrs:{name:\"slide-up\"}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.open,expression:\"open\"}],attrs:{id:\"app-settings__content\"}},[t._t(\"default\")],2)])],1)}),[],!1,null,\"2ef09266\",null).exports},2330:function(t,e,n){\"use strict\";n.d(e,{default:function(){return C}});var a=n(3379),i=n.n(a),r=n(7795),o=n.n(r),s=n(569),l=n.n(s),A=n(3565),c=n.n(A),d=n(9216),u=n.n(d),p=n(4589),m=n.n(p),h=n(5999),T={};T.styleTagTransform=m(),T.setAttributes=c(),T.insert=l().bind(null,\"head\"),T.domAPI=o(),T.insertStyleElement=u(),i()(h.Z,T),h.Z&&h.Z.locals&&h.Z.locals;var C=(0,n(1900).Z)({name:\"NcAppNavigationSpacer\"},(function(){return(0,this._self._c)(\"li\",{staticClass:\"app-navigation-spacer\"})}),[],!1,null,\"e9226d86\",null).exports},5606:function(t,e,n){\"use strict\";n.d(e,{default:function(){return y}});var a=n(2872),i=n(336),r=n(932),o=require(\"vue-material-design-icons/Menu.vue\"),s=n.n(o),l={name:\"NcAppNavigationToggle\",directives:{tooltip:i.default},components:{NcButton:a.default,MenuIcon:s()},props:{open:{type:Boolean,required:!0}},emits:[\"update:open\"],computed:{label:function(){return this.open?(0,r.t)(\"Close navigation\"):(0,r.t)(\"Open navigation\")}},methods:{toggleNavigation:function(){this.$emit(\"update:open\",!this.open)}}},A=n(3379),c=n.n(A),d=n(7795),u=n.n(d),p=n(569),m=n.n(p),h=n(3565),T=n.n(h),C=n(9216),g=n.n(C),f=n(4589),b=n.n(f),v=n(373),E={};E.styleTagTransform=b(),E.setAttributes=T(),E.insert=m().bind(null,\"head\"),E.domAPI=u(),E.insertStyleElement=g(),c()(v.Z,E),v.Z&&v.Z.locals&&v.Z.locals;var y=(0,n(1900).Z)(l,(function(){var t=this,e=t._self._c;return e(\"NcButton\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.label,expression:\"label\",modifiers:{auto:!0}}],staticClass:\"app-navigation-toggle\",attrs:{type:\"tertiary\",\"aria-expanded\":t.open?\"true\":\"false\",\"aria-label\":t.label,\"aria-controls\":\"app-navigation-vue\"},on:{click:t.toggleNavigation},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"MenuIcon\",{attrs:{size:20}})]},proxy:!0}])})}),[],!1,null,\"7babc9e6\",null).exports},4232:function(t,e,n){\"use strict\";n.d(e,{default:function(){return F}});var a=n(4990),i=n(334),r=n(932),o=n(3465),s=n.n(o);function l(t){return function(t){if(Array.isArray(t))return A(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(t){if(\"string\"==typeof t)return A(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(t,e):void 0}}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function A(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n1},currentTabIndex:function(){var t=this;return this.tabs.findIndex((function(e){return e.id===t.activeTab}))}},watch:{active:function(t){t!==this.activeTab&&this.updateActive()},children:function(){this.updateTabs()}},mounted:function(){this.updateTabs(),this.children=this.$children},methods:{setActive:function(t){this.activeTab=t,this.$emit(\"update:active\",this.activeTab)},focusPreviousTab:function(){this.currentTabIndex>0&&this.setActive(this.tabs[this.currentTabIndex-1].id),this.focusActiveTab()},focusNextTab:function(){this.currentTabIndex0?this.tabs[0].id:\"\"},hasMdIcon:function(t){var e;return null==t||null===(e=t.$slots)||void 0===e?void 0:e.icon},updateTabs:function(){if(this.$slots.default){var t=this.$slots.default.filter((function(t){return t.tag||t.text.trim()})),e=[],n=t.reduce((function(t,n){var a,i=n.componentInstance;return o(null==i?void 0:i.name)&&s(null==i?void 0:i.id)&&(s(null==i?void 0:i.icon)||null!=i&&null!==(a=i.$slots)&&void 0!==a&&a.icon)?t.push(i):e.push(n),t}),[]);0!==n.length&&n.length!==t.length&&(r().util.warn(\"Mixing tabs and non-tab-content is not possible.\"),e.map((function(t){return console.debug(\"Ignoring invalid tab\",t)}))),this.tabs=n.sort((function(t,e){var n=t.order||0,a=e.order||0;return n===a?OC.Util.naturalSortCompare(t.name,e.name):n-a})),this.tabs.length>0&&this.updateActive()}else this.tabs=[]}}},A=n(3379),c=n.n(A),d=n(7795),u=n.n(d),p=n(569),m=n.n(p),h=n(3565),T=n.n(h),C=n(9216),g=n.n(C),f=n(4589),b=n.n(f),v=n(1091),E={};E.styleTagTransform=b(),E.setAttributes=T(),E.insert=m().bind(null,\"head\"),E.domAPI=u(),E.insertStyleElement=g(),c()(v.Z,E),v.Z&&v.Z.locals&&v.Z.locals;var y=n(1900),D=(0,y.Z)(l,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"app-sidebar-tabs\"},[t.hasMultipleTabs?e(\"nav\",{staticClass:\"app-sidebar-tabs__nav\",attrs:{role:\"tablist\"},on:{keydown:[function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"left\",37,e.key,[\"Left\",\"ArrowLeft\"])||\"button\"in e&&0!==e.button||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),t.focusPreviousTab.apply(null,arguments))},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"right\",39,e.key,[\"Right\",\"ArrowRight\"])||\"button\"in e&&2!==e.button||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),t.focusNextTab.apply(null,arguments))},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),t.focusActiveTabContent.apply(null,arguments))},function(e){return e.type.indexOf(\"key\")||33===e.keyCode?e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),t.focusFirstTab.apply(null,arguments)):null},function(e){return e.type.indexOf(\"key\")||34===e.keyCode?e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),t.focusLastTab.apply(null,arguments)):null}]}},[e(\"ul\",t._l(t.tabs,(function(n){return e(\"li\",{key:n.id,staticClass:\"app-sidebar-tabs__tab\"},[e(\"a\",{class:{active:t.activeTab===n.id},attrs:{id:n.id,\"aria-controls\":\"tab-\".concat(n.id),\"aria-selected\":t.activeTab===n.id,\"data-id\":n.id,href:\"#tab-\".concat(n.id),tabindex:t.activeTab===n.id?void 0:-1,role:\"tab\"},on:{click:function(e){return e.preventDefault(),t.setActive(n.id)}}},[e(\"span\",{staticClass:\"app-sidebar-tabs__tab-icon\"},[t.hasMdIcon(n)?e(\"NcVNodes\",{attrs:{vnodes:n.$slots.icon[0]}}):e(\"span\",{class:n.icon})],1),t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(n.name)+\"\\n\\t\\t\\t\\t\")])])})),0)]):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"app-sidebar-tabs__content\",class:{\"app-sidebar-tabs__content--multiple\":t.hasMultipleTabs}},[t._t(\"default\")],2)])}),[],!1,null,\"7339f406\",null),S=D.exports,x=n(1702),N=n(5415),k=n(2872),F=n(115),R=n(8167),w=n(5675),O=n(336),B=n(932),_=n(6915),Z=n.n(_),Y=n(8618),M=n.n(Y),I=require(\"vue-material-design-icons/Star.vue\"),G=n.n(I),$=require(\"vue-material-design-icons/StarOutline.vue\"),L=n.n($),U=n(453),P={name:\"NcAppSidebar\",components:{NcActions:x.default,NcAppSidebarTabs:S,ArrowRight:Z(),NcButton:k.default,NcLoadingIcon:N.default,NcEmptyContent:F.default,Close:M(),Star:G(),StarOutline:L()},directives:{focus:R.default,linkify:w.default,ClickOutside:U.directive,Tooltip:O.default},props:{active:{type:String,default:\"\"},title:{type:String,default:\"\",required:!0},titleEditable:{type:Boolean,default:!1},titlePlaceholder:{type:String,default:\"\"},subtitle:{type:String,default:\"\"},subtitleTooltip:{type:String,default:\"\"},background:{type:String,default:\"\"},starred:{type:Boolean,default:null},starLoading:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},empty:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},linkifyTitle:{type:Boolean,default:!1},titleTooltip:{type:String,default:\"\"}},emits:[\"close\",\"closing\",\"closed\",\"opening\",\"opened\",\"figure-click\",\"update:starred\",\"update:titleEditable\",\"update:title\",\"update:active\",\"submit-title\",\"dismiss-editing\"],data:function(){return{changeTitleTranslated:(0,B.t)(\"Change title\"),closeTranslated:(0,B.t)(\"Close sidebar\"),favoriteTranslated:(0,B.t)(\"Favorite\"),isStarred:this.starred}},computed:{canStar:function(){return null!==this.isStarred},hasFigure:function(){return this.$slots.header||this.background},hasFigureClickListener:function(){return this.$listeners[\"figure-click\"]}},watch:{starred:function(){this.isStarred=this.starred}},beforeDestroy:function(){this.$emit(\"closed\")},methods:{onBeforeEnter:function(t){this.$emit(\"opening\",t)},onAfterEnter:function(t){this.$emit(\"opened\",t)},onBeforeLeave:function(t){this.$emit(\"closing\",t)},onAfterLeave:function(t){this.$emit(\"closed\",t)},closeSidebar:function(t){this.$emit(\"close\",t)},onFigureClick:function(t){this.$emit(\"figure-click\",t)},toggleStarred:function(){this.isStarred=!this.isStarred,this.$emit(\"update:starred\",this.isStarred)},editTitle:function(){var t=this;this.$emit(\"update:titleEditable\",!0),this.titleEditable&&this.$nextTick((function(){return t.$refs.titleInput.focus()}))},onTitleInput:function(t){this.$emit(\"update:title\",t.target.value)},onSubmitTitle:function(t){this.$emit(\"update:titleEditable\",!1),this.$emit(\"submit-title\",t)},onDismissEditing:function(){this.$emit(\"update:titleEditable\",!1),this.$emit(\"dismiss-editing\")},onUpdateActive:function(t){this.$emit(\"update:active\",t)}}},z=n(9253),j={};j.styleTagTransform=b(),j.setAttributes=T(),j.insert=m().bind(null,\"head\"),j.domAPI=u(),j.insertStyleElement=g(),c()(z.Z,j),z.Z&&z.Z.locals&&z.Z.locals;var H=n(269),W={};W.styleTagTransform=b(),W.setAttributes=T(),W.insert=m().bind(null,\"head\"),W.domAPI=u(),W.insertStyleElement=g(),c()(H.Z,W),H.Z&&H.Z.locals&&H.Z.locals;var q=n(2112),Q=n.n(q),K=(0,y.Z)(P,(function(){var t=this,e=t._self._c;return e(\"transition\",{attrs:{appear:\"\",name:\"slide-right\"},on:{\"before-enter\":t.onBeforeEnter,\"after-enter\":t.onAfterEnter,\"before-leave\":t.onBeforeLeave,\"after-leave\":t.onAfterLeave}},[e(\"aside\",{staticClass:\"app-sidebar\",attrs:{id:\"app-sidebar-vue\"}},[e(\"header\",{staticClass:\"app-sidebar-header\",class:{\"app-sidebar-header--with-figure\":t.hasFigure,\"app-sidebar-header--compact\":t.compact}},[e(\"div\",{staticClass:\"app-sidebar-header__info\"},[t.hasFigure&&!t.empty?e(\"div\",{staticClass:\"app-sidebar-header__figure\",class:{\"app-sidebar-header__figure--with-action\":t.hasFigureClickListener},style:{backgroundImage:\"url(\".concat(t.background,\")\")},attrs:{tabindex:\"0\"},on:{click:t.onFigureClick,keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.onFigureClick.apply(null,arguments)}}},[t._t(\"header\")],2):t._e(),t._v(\" \"),t.empty?t._e():e(\"div\",{staticClass:\"app-sidebar-header__desc\",class:{\"app-sidebar-header__desc--with-tertiary-action\":t.canStar||t.$slots[\"tertiary-actions\"],\"app-sidebar-header__desc--editable\":t.titleEditable&&!t.subtitle,\"app-sidebar-header__desc--with-subtitle--editable\":t.titleEditable&&t.subtitle,\"app-sidebar-header__desc--without-actions\":!t.$slots[\"secondary-actions\"]}},[t.canStar||t.$slots[\"tertiary-actions\"]?e(\"div\",{staticClass:\"app-sidebar-header__tertiary-actions\"},[t._t(\"tertiary-actions\",(function(){return[t.canStar?e(\"NcButton\",{staticClass:\"app-sidebar-header__star\",attrs:{\"aria-label\":t.favoriteTranslated,type:\"secondary\"},on:{click:function(e){return e.preventDefault(),t.toggleStarred.apply(null,arguments)}},scopedSlots:t._u([{key:\"icon\",fn:function(){return[t.starLoading?e(\"NcLoadingIcon\"):t.isStarred?e(\"Star\",{attrs:{size:20}}):e(\"StarOutline\",{attrs:{size:20}})]},proxy:!0}],null,!1,2575459756)}):t._e()]}))],2):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"app-sidebar-header__title-container\"},[e(\"div\",{staticClass:\"app-sidebar-header__maintitle-container\"},[e(\"h2\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.titleEditable,expression:\"!titleEditable\"},{name:\"linkify\",rawName:\"v-linkify\",value:{text:t.title,linkify:t.linkifyTitle},expression:\"{text: title, linkify: linkifyTitle}\"},{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.titleTooltip,expression:\"titleTooltip\",modifiers:{auto:!0}}],staticClass:\"app-sidebar-header__maintitle\",attrs:{tabindex:t.titleEditable?0:void 0},on:{click:function(e){return e.target!==e.currentTarget?null:t.editTitle.apply(null,arguments)}}},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]),t._v(\" \"),t.titleEditable?[e(\"form\",{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:function(){return t.onSubmitTitle()},expression:\"() => onSubmitTitle()\"}],staticClass:\"app-sidebar-header__maintitle-form\",on:{submit:function(e){return e.preventDefault(),t.onSubmitTitle.apply(null,arguments)}}},[e(\"input\",{directives:[{name:\"focus\",rawName:\"v-focus\"}],ref:\"titleInput\",staticClass:\"app-sidebar-header__maintitle-input\",attrs:{type:\"text\",placeholder:t.titlePlaceholder},domProps:{value:t.title},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])?null:t.onDismissEditing.apply(null,arguments)},input:t.onTitleInput}}),t._v(\" \"),e(\"NcButton\",{attrs:{type:\"tertiary-no-background\",\"aria-label\":t.changeTitleTranslated,\"native-type\":\"submit\"},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"ArrowRight\",{attrs:{size:20}})]},proxy:!0}],null,!1,1252225425)})],1)]:t._e(),t._v(\" \"),t.$slots[\"secondary-actions\"]?e(\"NcActions\",{staticClass:\"app-sidebar-header__menu\",attrs:{\"force-menu\":t.forceMenu}},[t._t(\"secondary-actions\")],2):t._e()],2),t._v(\" \"),\"\"!==t.subtitle.trim()?e(\"p\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.subtitleTooltip,expression:\"subtitleTooltip\",modifiers:{auto:!0}}],staticClass:\"app-sidebar-header__subtitle\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.subtitle)+\"\\n\\t\\t\\t\\t\\t\\t\")]):t._e()])])]),t._v(\" \"),e(\"NcButton\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.closeTranslated,expression:\"closeTranslated\",modifiers:{auto:!0}}],staticClass:\"app-sidebar__close\",attrs:{\"aria-label\":t.closeTranslated,type:\"tertiary\"},on:{click:function(e){return e.preventDefault(),t.closeSidebar.apply(null,arguments)}},scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"Close\",{attrs:{size:20}})]},proxy:!0}])}),t._v(\" \"),t.$slots.description&&!t.empty?e(\"div\",{staticClass:\"app-sidebar-header__description\"},[t._t(\"description\")],2):t._e()],1),t._v(\" \"),e(\"NcAppSidebarTabs\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.loading,expression:\"!loading\"}],ref:\"tabs\",attrs:{active:t.active},on:{\"update:active\":t.onUpdateActive}},[t._t(\"default\")],2),t._v(\" \"),t.loading?e(\"NcEmptyContent\",{scopedSlots:t._u([{key:\"icon\",fn:function(){return[e(\"NcLoadingIcon\",{attrs:{size:64}})]},proxy:!0}],null,!1,826850984)}):t._e()],1)])}),[],!1,null,\"a563487c\",null);\"function\"==typeof Q()&&Q()(K);var V=K.exports},3323:function(t,e,n){\"use strict\";n.d(e,{default:function(){return g}});var a={name:\"NcAppSidebarTab\",props:{id:{type:String,required:!0},name:{type:String,required:!0},icon:{type:String,default:\"\"},order:{type:Number,default:0}},emits:[\"bottom-reached\",\"scroll\"],computed:{isActive:function(){return this.$parent.activeTab===this.id}},methods:{onScroll:function(t){this.$el.scrollHeight-this.$el.scrollTop===this.$el.clientHeight&&this.$emit(\"bottom-reached\",t),this.$emit(\"scroll\",t)}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(9957),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=(0,n(1900).Z)(a,(function(){var t=this,e=t._self._c;return e(\"section\",{staticClass:\"app-sidebar__tab\",class:{\"app-sidebar__tab--active\":t.isActive},attrs:{id:\"tab-\".concat(t.id),\"aria-hidden\":!t.isActive,\"aria-labelledby\":t.id,tabindex:\"0\",role:\"tabpanel\"},on:{scroll:t.onScroll}},[e(\"h3\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\"+t._s(t.name)+\"\\n\\t\")]),t._v(\" \"),t._t(\"default\")],2)}),[],!1,null,\"268dd44a\",null).exports},6280:function(t,e,n){\"use strict\";n.d(e,{default:function(){return z}});var a=n(9266),i=n(6296),r=n(5415),o=n(336),s=n(7993),l=n(3351),A=n(932),c=n(3607),d=n(768),u=n.n(d),p=n(542),m=n(7672),h=n(4262),T=n(1441),C=n.n(T),g=n(453);function f(t,e,n,a,i,r,o){try{var s=t[r](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}function b(t){return function(){var e=this,n=arguments;return new Promise((function(a,i){var r=t.apply(e,n);function o(t){f(r,a,i,o,s,\"next\",t)}function s(t){f(r,a,i,o,s,\"throw\",t)}o(void 0)}))}}var v=(0,m.getBuilder)(\"nextcloud\").persist().build();function E(t){var e=v.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function y(t,e){t&&v.setItem(\"user-has-avatar.\"+t,e)}var D={name:\"NcAvatar\",directives:{ClickOutside:g.directive,tooltip:o.default},components:{DotsHorizontal:C(),NcLoadingIcon:r.default,NcPopover:a.default,NcPopoverMenu:i.default},mixins:[l.iQ],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:this.hasStatus&&this.showUserStatus&&this.showUserStatusCompact?(0,A.t)(\"Avatar of {displayName}, {status}\",{displayName:this.displayName||this.userId,status:this.userStatus.status}):(0,A.t)(\"Avatar of {displayName}\",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=(0,c.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var e=(0,s.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+e.r+\", \"+e.g+\", \"+e.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,a=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"\"),text:\"\".concat(this.userStatus.message)}].concat(a):a}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),(0,p.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroy:function(){this.showUserStatus&&this.user&&!this.isNoUser&&(0,p.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return b(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return b(regeneratorRuntime.mark((function e(){var n,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,u().post((0,h.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:a=e.sent,i=a.data,t.contactsMenuActions=i.topAction?[i.topAction].concat(i.actions):i.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else if(this.size<=64){var t=this.avatarUrlGenerator(this.user,64),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,512)+\" 8x\"].join(\", \");this.updateImageIfValid(t,e)}else{var n=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(n)}},avatarUrlGenerator:function(t,e){var n,a=\"/avatar/{user}/{size}\";this.isGuest&&(a=\"/avatar/guest/{user}/{size}\");var i=(0,h.generateUrl)(a,{user:t,size:e});return t===(null===(n=(0,c.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(i+=\"?v=\"+oc_userconfig.avatar.version),i},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=E(this.user);if(this.isUserDefined&&\"boolean\"==typeof a)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===a&&(this.userDoesNotExist=!0));var i=new Image;i.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,y(e.user,!0)},i.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,y(e.user,!1)},n&&(i.srcset=n),i.src=t}}},S=D,x=n(3379),N=n.n(x),k=n(7795),F=n.n(k),R=n(569),w=n.n(R),O=n(3565),B=n.n(O),_=n(9216),Z=n.n(_),Y=n(4589),M=n.n(Y),I=n(3069),G={};G.styleTagTransform=M(),G.setAttributes=B(),G.insert=w().bind(null,\"head\"),G.domAPI=F(),G.insertStyleElement=Z(),N()(I.Z,G),I.Z&&I.Z.locals&&I.Z.locals;var $=n(1900),L=n(3051),U=n.n(L),P=(0,$.Z)(S,(function(){var t=this,e=t._self._c;return e(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{tabindex:t.hasMenu?\"0\":void 0,\"aria-label\":t.avatarAriaLabel,role:t.hasMenu?\"button\":void 0},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.toggleMenu.apply(null,arguments)}}},t.hasMenu?{click:t.toggleMenu}:{}),[t._t(\"icon\",(function(){return[t.iconClass?e(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?e(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e()]})),t._v(\" \"),t.hasMenu?e(\"NcPopover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?e(\"NcLoadingIcon\"):e(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:20}})]},proxy:!0}],null,!1,2037777893)},[e(\"NcPopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?e(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?e(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),!t.userDoesNotExist||t.iconClass||t.$slots.icon?t._e():e(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")])],2)}),[],!1,null,\"406df22d\",null);\"function\"==typeof U()&&U()(P);var z=P.exports},6844:function(t,e,n){\"use strict\";n.d(e,{default:function(){return x}});var a=n(1702),i=n(1205),r=n(9044),o=n.n(r),s={name:\"NcBreadcrumb\",components:{NcActions:a.default,ChevronRight:o()},props:{title:{type:String,required:!0},to:{type:[String,Object],default:void 0},href:{type:String,default:void 0},icon:{type:String,default:\"\"},disableDrop:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},open:{type:Boolean,default:!1}},emits:[\"update:open\",\"dropped\"],data:function(){return{hovering:!1,crumbId:\"crumb-id-\".concat((0,i.Z)())}},computed:{tag:function(){return this.to?\"router-link\":\"a\"}},methods:{onOpenChange:function(t){this.$emit(\"update:open\",t)},dropped:function(t){return this.disableDrop||(this.$emit(\"dropped\",t,this.to||this.href),this.$parent.$emit(\"dropped\",t,this.to||this.href),this.hovering=!1),!1},dragEnter:function(t){this.disableDrop||(this.hovering=!0)},dragLeave:function(t){this.disableDrop||t.target.contains(t.relatedTarget)||this.$refs.crumb.contains(t.relatedTarget)||(this.hovering=!1)}}},l=n(3379),A=n.n(l),c=n(7795),d=n.n(c),u=n(569),p=n.n(u),m=n(3565),h=n.n(m),T=n(9216),C=n.n(T),g=n(4589),f=n.n(g),b=n(4327),v={};v.styleTagTransform=f(),v.setAttributes=h(),v.insert=p().bind(null,\"head\"),v.domAPI=d(),v.insertStyleElement=C(),A()(b.Z,v),b.Z&&b.Z.locals&&b.Z.locals;var E=n(1900),y=n(6591),D=n.n(y),S=(0,E.Z)(s,(function(){var t=this,e=t._self._c;return e(\"div\",t._b({ref:\"crumb\",staticClass:\"vue-crumb\",class:{\"vue-crumb--hovered\":t.hovering},attrs:{draggable:\"false\"},on:{dragstart:function(t){return t.preventDefault(),function(){}.apply(null,arguments)},drop:function(e){return e.preventDefault(),t.dropped.apply(null,arguments)},dragover:function(t){return t.preventDefault(),function(){}.apply(null,arguments)},dragenter:t.dragEnter,dragleave:t.dragLeave}},\"div\",t._d({},[t.crumbId,\"\"])),[!t.title&&!t.icon||t.$slots.default?t._e():e(t.tag,{tag:\"element\",attrs:{to:t.to,href:t.href}},[t._t(\"icon\",(function(){return[t.icon?e(\"span\",{staticClass:\"icon\",class:t.icon}):e(\"span\",[t._v(t._s(t.title))])]}))],2),t._v(\" \"),t.$slots.default?e(\"NcActions\",{ref:\"actions\",attrs:{type:\"tertiary\",\"force-menu\":t.forceMenu,open:t.open,\"menu-title\":t.title,\"force-title\":!0,container:\".vue-crumb[\".concat(t.crumbId,\"]\")},on:{\"update:open\":t.onOpenChange},scopedSlots:t._u([{key:\"icon\",fn:function(){return[t._t(\"menu-icon\")]},proxy:!0}],null,!0)},[t._v(\" \"),t._t(\"default\")],2):t._e(),t._v(\" \"),e(\"ChevronRight\",{staticClass:\"vue-crumb__separator\",attrs:{size:20}})],1)}),[],!1,null,\"1519484b\",null);\"function\"==typeof D()&&D()(S);var x=S.exports},6800:function(t,e,n){\"use strict\";n.d(e,{default:function(){return Y}});var a=n(1702),i=n(5355),r=n(9069),o=n(6844),s=n(2734),l=n.n(s),A=function(t,e,n){if(void 0!==t)for(var a=t.length-1;a>=0;a--){var i=t[a],r=!i.componentOptions&&i.tag&&-1===e.indexOf(i.tag),o=!!i.componentOptions&&\"string\"==typeof i.componentOptions.tag,s=o&&-1===e.indexOf(i.componentOptions.tag);(r||!o||s)&&((r||s)&&l().util.warn(\"\".concat(r?i.tag:i.componentOptions.tag,\" is not allowed inside the \").concat(n.$options.name,\" component\"),n),t.splice(a,1))}},c=n(542),d=require(\"vue-material-design-icons/Folder.vue\"),u=n.n(d),p=n(3465),m=n.n(p),h=\"vue-crumb\",T={name:\"NcBreadcrumbs\",components:{NcActions:a.default,NcActionRouter:i.default,NcActionLink:r.default,NcBreadcrumb:o.default,IconFolder:u()},props:{rootIcon:{type:String,default:\"icon-home\"}},emits:[\"dropped\"],data:function(){return{hiddenCrumbs:[],hiddenIndices:[],menuBreadcrumbProps:{title:\"\",forceMenu:!0,disableDrop:!0,open:!1}}},beforeMount:function(){A(this.$slots.default,[\"NcBreadcrumb\"],this)},beforeUpdate:function(){A(this.$slots.default,[\"NcBreadcrumb\"],this)},created:function(){var t=this;window.addEventListener(\"resize\",m()((function(){t.handleWindowResize()}),100)),(0,c.subscribe)(\"navigation-toggled\",this.delayedResize)},mounted:function(){this.handleWindowResize()},updated:function(){this.delayedResize(),this.delayedHideCrumbs()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize),(0,c.unsubscribe)(\"navigation-toggled\",this.delayedResize)},methods:{delayedHideCrumbs:function(){var t=this;this.$nextTick((function(){var e=t.$slots.default||[];t.hideCrumbs(e)}))},closeActions:function(t){this.$refs.actionsBreadcrumb.$el.contains(t.relatedTarget)||(this.menuBreadcrumbProps.open=!1)},delayedResize:function(){var t=this;this.$nextTick((function(){t.handleWindowResize()}))},handleWindowResize:function(){var t=this.$slots.default||[];if(this.$refs.container){var e=t.length,n=[],a=this.$refs.container.offsetWidth,i=this.getTotalWidth(t);this.$refs.breadcrumb__actions&&(i+=this.$refs.breadcrumb__actions.offsetWidth);var r=i-a;r+=r>0?64:0;for(var o=0,s=Math.floor(e/2);r>0&&o1&&void 0!==arguments[1]?arguments[1]:0;t.forEach((function(t,a){var i;null!=t&&null!==(i=t.elm)&&void 0!==i&&i.classList&&(e.hiddenIndices.includes(a+n)?t.elm.classList.add(\"\".concat(h,\"--hidden\")):t.elm.classList.remove(\"\".concat(h,\"--hidden\")))}))}},render:function(t){var e=this,n=this.$slots.default||[];if(0!==n.length){l().set(n[0].componentOptions.propsData,\"icon\",this.rootIcon);var a=[],i=this.hiddenCrumbs.length?n.slice(0,Math.round(n.length/2)):n;a=a.concat(i),this.hideCrumbs(i),this.hiddenCrumbs.length&&a.push(t(\"NcBreadcrumb\",{class:\"dropdown\",props:this.menuBreadcrumbProps,ref:\"actionsBreadcrumb\",key:\"actions-breadcrumb-1\",nativeOn:{dragstart:this.dragStart,dragenter:function(){e.menuBreadcrumbProps.open=!0},dragleave:this.closeActions},on:{\"update:open\":function(t){e.menuBreadcrumbProps.open=t}}},this.hiddenCrumbs.map((function(n){var a=n.componentOptions.propsData.to,i=n.componentOptions.propsData.href,r=n.componentOptions.propsData.disableDrop,o=\"NcActionLink\",s=i;a&&(o=\"NcActionRouter\",s=a);var l=t(\"IconFolder\",{props:{size:20},slot:\"icon\"});return t(o,{class:h,props:{to:a,href:i},attrs:{draggable:!1},nativeOn:{dragstart:e.dragStart,drop:function(t){return e.dropped(t,s,r)},dragover:e.dragOver,dragenter:function(t){return e.dragEnter(t,r)},dragleave:function(t){return e.dragLeave(t,r)}}},[n.componentOptions.propsData.title,l])}))));var r=this.hiddenCrumbs.length?n.slice(Math.round(n.length/2)):[];a=a.concat(r),this.hideCrumbs(r,i.length);var o=[];return o.push(t(\"div\",{class:\"breadcrumb__crumbs\"},a)),this.$slots.actions&&o.push(t(\"div\",{class:\"breadcrumb__actions\",ref:\"breadcrumb__actions\"},this.$slots.actions)),t(\"div\",{class:[\"breadcrumb\",{\"breadcrumb--collapsed\":this.hiddenCrumbs.length===n.length-2}],ref:\"container\"},o)}}},C=T,g=n(3379),f=n.n(g),b=n(7795),v=n.n(b),E=n(569),y=n.n(E),D=n(3565),S=n.n(D),x=n(9216),N=n.n(x),k=n(4589),F=n.n(k),R=n(9656),w={};w.styleTagTransform=F(),w.setAttributes=S(),w.insert=y().bind(null,\"head\"),w.domAPI=v(),w.insertStyleElement=N(),f()(R.Z,w),R.Z&&R.Z.locals&&R.Z.locals;var O=n(1900),B=n(1753),_=n.n(B),Z=(0,O.Z)(C,void 0,void 0,!1,null,\"2b60ed1a\",null);\"function\"==typeof _()&&_()(Z);var Y=Z.exports},2872:function(t,e,n){\"use strict\";function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function i(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,a=new Array(e);n-1:this.checked===this.value:!0===this.checked},checkboxRadioIconElement:function(){return this.type===D?this.isChecked?m():T():this.type===S?this.isChecked?b():g():this.indeterminate?c():this.isChecked?u():l()}},mounted:function(){if(this.name&&this.type===y&&!Array.isArray(this.checked))throw new Error(\"When using groups of checkboxes, the updated value will be an array.\");if(this.name&&this.type===S)throw new Error(\"Switches are not made to be used for data sets. Please use checkboxes instead.\");if(\"boolean\"!=typeof this.checked&&this.type===S)throw new Error(\"Switches can only be used with boolean as checked prop.\")},methods:{onToggle:function(){if(!this.disabled)if(this.type!==D)if(this.type!==S)if(\"boolean\"!=typeof this.checked){var t=this.getInputsSet().filter((function(t){return t.checked})).map((function(t){return t.value}));this.$emit(\"update:checked\",t)}else this.$emit(\"update:checked\",!this.isChecked);else this.$emit(\"update:checked\",!this.isChecked);else this.$emit(\"update:checked\",this.value)},getInputsSet:function(){return v(document.getElementsByName(this.name))}}},N=n(3379),k=n.n(N),F=n(7795),R=n.n(F),w=n(569),O=n.n(w),B=n(3565),_=n.n(B),Z=n(9216),Y=n.n(Z),M=n(4589),I=n.n(M),G=n(556),$={};$.styleTagTransform=I(),$.setAttributes=_(),$.insert=O().bind(null,\"head\"),$.domAPI=R(),$.insertStyleElement=Y(),k()(G.Z,$),G.Z&&G.Z.locals&&G.Z.locals;var L=n(1900),U=n(3768),P=n.n(U),z=(0,L.Z)(x,(function(){var t,e=this,n=e._self._c;return n(e.wrapperElement,{tag:\"element\",staticClass:\"checkbox-radio-switch\",class:(t={},a(t,\"checkbox-radio-switch-\"+e.type,e.type),a(t,\"checkbox-radio-switch--checked\",e.isChecked),a(t,\"checkbox-radio-switch--disabled\",e.disabled),a(t,\"checkbox-radio-switch--indeterminate\",e.indeterminate),a(t,\"checkbox-radio-switch--button-variant\",e.buttonVariant),a(t,\"checkbox-radio-switch--button-variant-v-grouped\",e.buttonVariant&&\"vertical\"===e.buttonVariantGrouped),a(t,\"checkbox-radio-switch--button-variant-h-grouped\",e.buttonVariant&&\"horizontal\"===e.buttonVariantGrouped),t),style:e.cssVars},[n(\"label\",{staticClass:\"checkbox-radio-switch__label\",attrs:{for:e.id}},[n(\"input\",{staticClass:\"checkbox-radio-switch__input\",attrs:{id:e.id,disabled:e.disabled,indeterminate:e.indeterminate,name:e.name,type:e.inputType},domProps:{checked:e.isChecked,value:e.value},on:{change:e.onToggle}}),e._v(\" \"),e.loading?n(\"NcLoadingIcon\",{staticClass:\"checkbox-radio-switch__icon\"}):e.buttonVariant?e._e():n(e.checkboxRadioIconElement,{tag:\"icon\",staticClass:\"checkbox-radio-switch__icon\",attrs:{size:e.size}}),e._v(\" \"),e._t(\"default\")],2)])}),[],!1,null,\"2b31639e\",null);\"function\"==typeof P()&&P()(z);var j=z.exports},2643:function(t,e,n){\"use strict\";n.d(e,{default:function(){return O}});var a=n(9266),i=n(3648),r=n(6609),o=require(\"vue-material-design-icons/ArrowLeft.vue\"),s=n.n(o),l=n(9873),A=n.n(l),c=n(1441),d=n.n(c),u=require(\"vue-color\"),p={name:\"NcColorPicker\",components:{ArrowLeft:s(),Check:A(),Chrome:u.Chrome,DotsHorizontal:d(),NcPopover:a.default},mixins:[i.Z],props:{value:{type:String,required:!0}},emits:[\"submit\",\"close\",\"update:open\",\"update:value\",\"input\"],data:function(){var t=this;return{currentColor:this.value,advanced:!1,palette:(0,r.Z)(4).map((function(e){return\"#\"+t.rgbToHex(e.r)+t.rgbToHex(e.g)+t.rgbToHex(e.b)}))}},watch:{value:function(t){this.currentColor=t}},methods:{handleConfirm:function(){this.$emit(\"submit\",this.currentColor),this.handleClose(),this.advanced=!1},handleClose:function(){this.$emit(\"close\"),this.$emit(\"update:open\",!1)},handleBack:function(){this.advanced=!1},handleMoreSettings:function(){this.advanced=!0},pickColor:function(t){\"string\"!=typeof t&&(t=this.currentColor.hex),this.currentColor=t,this.$emit(\"update:value\",t),this.$emit(\"input\",t)},rgbToHex:function(t){var e=t.toString(16);return 1===e.length?\"0\"+e:e}}},m=n(3379),h=n.n(m),T=n(7795),C=n.n(T),g=n(569),f=n.n(g),b=n(3565),v=n.n(b),E=n(9216),y=n.n(E),D=n(4589),S=n.n(D),x=n(7439),N={};N.styleTagTransform=S(),N.setAttributes=v(),N.insert=f().bind(null,\"head\"),N.domAPI=C(),N.insertStyleElement=y(),h()(x.Z,N),x.Z&&x.Z.locals&&x.Z.locals;var k=n(1900),F=n(1554),R=n.n(F),w=(0,k.Z)(p,(function(){var t=this,e=t._self._c;return e(\"NcPopover\",t._g(t._b({on:{\"apply-hide\":t.handleClose},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"NcPopover\",t.$attrs,!1),t.$listeners),[t._v(\" \"),e(\"div\",{staticClass:\"color-picker\"},[e(\"transition\",{attrs:{name:\"slide\",mode:\"out-in\"}},[t.advanced?t._e():e(\"div\",{staticClass:\"color-picker__simple\"},t._l(t.palette,(function(n,a){return e(\"button\",{key:a,staticClass:\"color-picker__simple-color-circle\",class:{\"color-picker__simple-color-circle--active\":n===t.currentColor},style:{\"background-color\":n},attrs:{type:\"button\"},on:{click:function(e){return t.pickColor(n)}}},[n===t.currentColor?e(\"Check\",{attrs:{size:20}}):t._e()],1)})),0),t._v(\" \"),t.advanced?e(\"Chrome\",{staticClass:\"color-picker__advanced\",attrs:{\"disable-alpha\":!0,\"disable-fields\":!0},on:{input:t.pickColor},model:{value:t.currentColor,callback:function(e){t.currentColor=e},expression:\"currentColor\"}}):t._e()],1),t._v(\" \"),e(\"div\",{staticClass:\"color-picker__navigation\"},[t.advanced?e(\"button\",{staticClass:\"color-picker__navigation-button back\",attrs:{type:\"button\"},on:{click:t.handleBack}},[e(\"ArrowLeft\",{attrs:{size:20}})],1):t._e(),t._v(\" \"),t.advanced?t._e():e(\"button\",{staticClass:\"color-picker__navigation-button more-settings\",attrs:{type:\"button\"},on:{click:t.handleMoreSettings}},[e(\"DotsHorizontal\",{attrs:{size:20}})],1),t._v(\" \"),t.advanced?e(\"button\",{staticClass:\"color-picker__navigation-button confirm\",attrs:{type:\"button\"},on:{click:t.handleConfirm}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.t(\"Choose\"))+\"\\n\\t\\t\\t\")]):t._e()])],1)])}),[],!1,null,\"26258836\",null);\"function\"==typeof R()&&R()(w);var O=w.exports},8296:function(t,e,n){\"use strict\";n.d(e,{default:function(){return E}});var a={props:{appName:{type:String,required:!0}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(7009),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=n(1900),f=n(1152),b=n.n(f),v=(0,g.Z)(a,(function(){var t=this;return(0,t._self._c)(\"div\",{staticClass:\"content\",class:\"app-\".concat(t.appName.toLowerCase()),attrs:{id:\"content-vue\"}},[t._t(\"default\")],2)}),[],!1,null,\"8feff292\",null);\"function\"==typeof b()&&b()(v);var E=v.exports},8978:function(t,e,n){\"use strict\";n.d(e,{default:function(){return E}});var a={name:\"NcCounterBubble\",props:{type:{type:String,default:\"\",validator:function(t){return-1!==[\"highlighted\",\"outlined\",\"\"].indexOf(t)}}},computed:{counterClassObject:function(){return{\"counter-bubble__counter--highlighted\":\"highlighted\"===this.type,\"counter-bubble__counter--outlined\":\"outlined\"===this.type}}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(2666),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=n(1900),f=n(7633),b=n.n(f),v=(0,g.Z)(a,(function(){var t=this;return(0,t._self._c)(\"div\",{staticClass:\"counter-bubble__counter\",class:t.counterClassObject},[t._t(\"default\")],2)}),[],!1,null,\"4a403ca7\",null);\"function\"==typeof b()&&b()(v);var E=v.exports},6402:function(t,e,n){\"use strict\";n.d(e,{default:function(){return k}});var a=n(6280),i=n(9545),r=n(115),o=n(9873),s=n.n(o),l=n(932),A={name:\"NcDashboardWidget\",components:{NcAvatar:a.default,NcDashboardWidgetItem:i.default,NcEmptyContent:r.default,Check:s()},props:{items:{type:Array,default:function(){return[]}},showMoreUrl:{type:String,default:\"\"},showMoreText:{type:String,default:(0,l.t)(\"items\")},loading:{type:Boolean,default:!1},itemMenu:{type:Object,default:function(){return{}}},showItemsAndEmptyContent:{type:Boolean,default:!1},emptyContentMessage:{type:String,default:\"\"},halfEmptyContentMessage:{type:String,default:\"\"}},computed:{handlers:function(){var t=this,e={},n=function(n){e[n]=function(e){t.$emit(n,e)}};for(var a in this.itemMenu)n(a);return e},displayedItems:function(){var t=this.showMoreUrl&&this.items.length>=this.maxItemNumber?this.maxItemNumber-1:this.maxItemNumber;return this.items.slice(0,t)},showHalfEmptyContentArea:function(){return this.showItemsAndEmptyContent&&this.halfEmptyContentString&&0!==this.items.length},halfEmptyContentString:function(){return this.halfEmptyContentMessage||this.emptyContentMessage},maxItemNumber:function(){return this.showItemsAndEmptyContent?5:7},showMore:function(){return this.showMoreUrl&&this.items.length>=this.maxItemNumber},showMoreLabel:function(){return(0,l.t)(\"More {dashboardItemType} …\",{dashboardItemType:this.showMoreText})}}},c=n(3379),d=n.n(c),u=n(7795),p=n.n(u),m=n(569),h=n.n(m),T=n(3565),C=n.n(T),g=n(9216),f=n.n(g),b=n(4589),v=n.n(b),E=n(855),y={};y.styleTagTransform=v(),y.setAttributes=C(),y.insert=h().bind(null,\"head\"),y.domAPI=p(),y.insertStyleElement=f(),d()(E.Z,y),E.Z&&E.Z.locals&&E.Z.locals;var D=n(1900),S=n(5671),x=n.n(S),N=(0,D.Z)(A,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"dashboard-widget\"},[t.showHalfNcArea?e(\"NcEmptyContent\",{staticClass:\"half-screen\",attrs:{description:t.halfEmptyContentString},scopedSlots:t._u([{key:\"icon\",fn:function(){return[t._t(\"halfEmptyContentIcon\",(function(){return[e(\"Check\")]}))]},proxy:!0}],null,!0)}):t._e(),t._v(\" \"),e(\"ul\",t._l(t.displayedItems,(function(n){return e(\"li\",{key:n.id},[t._t(\"default\",(function(){return[e(\"NcDashboardWidgetItem\",t._g(t._b({attrs:{\"item-menu\":t.itemMenu}},\"NcDashboardWidgetItem\",n,!1),t.handlers))]}),{item:n})],2)})),0),t._v(\" \"),t.loading?e(\"div\",t._l(7,(function(n){return e(\"div\",{key:n,staticClass:\"item-list__entry\"},[e(\"NcAvatar\",{staticClass:\"item-avatar\",attrs:{size:44}}),t._v(\" \"),t._m(0,!0)],1)})),0):0===t.items.length?t._t(\"empty-content\",(function(){return[t.emptyContentMessage?e(\"NcEmptyContent\",{attrs:{description:t.emptyContentMessage},scopedSlots:t._u([{key:\"icon\",fn:function(){return[t._t(\"emptyContentIcon\")]},proxy:!0}],null,!0)}):t._e()]})):t.showMore?e(\"a\",{staticClass:\"more\",attrs:{href:t.showMoreUrl,target:\"_blank\",tabindex:\"0\"}},[t._v(\"\\n\\t\\t\\t\"+t._s(t.showMoreLabel)+\"\\n\\t\\t\")]):t._e()],2)}),[function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"item__details\"},[e(\"h3\",[t._v(\" \")]),t._v(\" \"),e(\"p\",{staticClass:\"message\"},[t._v(\"\\n \\n\\t\\t\\t\\t\\t\")])])}],!1,null,\"8ae88eec\",null);\"function\"==typeof x()&&x()(N);var k=N.exports},9545:function(t,e,n){\"use strict\";n.d(e,{default:function(){return S}});var a=n(6280),i=n(1702),r=n(95),o={name:\"NcDashboardWidgetItem\",components:{NcAvatar:a.default,NcActions:i.default,NcActionButton:r.default},props:{id:{type:[String,Number],default:void 0},targetUrl:{type:String,default:void 0},avatarUrl:{type:String,default:void 0},avatarUsername:{type:String,default:void 0},avatarIsNoUser:{type:Boolean,default:!1},overlayIconUrl:{type:String,default:void 0},mainText:{type:String,required:!0},subText:{type:String,default:\"\"},itemMenu:{type:Object,default:function(){return{}}},forceMenu:{type:Boolean,default:!0}},data:function(){return{hovered:!1}},computed:{item:function(){return{id:this.id,targetUrl:this.targetUrl,avatarUrl:this.avatarUrl,avatarUsername:this.avatarUsername,overlayIconUrl:this.overlayIconUrl,mainText:this.mainText,subText:this.subText}},gotMenu:function(){return 0!==Object.keys(this.itemMenu).length||!!this.$slots.actions},gotOverlayIcon:function(){return this.overlayIconUrl&&\"\"!==this.overlayIconUrl}},methods:{onLinkClick:function(t){t.target.closest(\".action-item\")&&t.preventDefault()}}},s=n(3379),l=n.n(s),A=n(7795),c=n.n(A),d=n(569),u=n.n(d),p=n(3565),m=n.n(p),h=n(9216),T=n.n(h),C=n(4589),g=n.n(C),f=n(8476),b={};b.styleTagTransform=g(),b.setAttributes=m(),b.insert=u().bind(null,\"head\"),b.domAPI=c(),b.insertStyleElement=T(),l()(f.Z,b),f.Z&&f.Z.locals&&f.Z.locals;var v=n(1900),E=n(4084),y=n.n(E),D=(0,v.Z)(o,(function(){var t=this,e=t._self._c;return e(\"div\",{on:{mouseover:function(e){t.hovered=!0},mouseleave:function(e){t.hovered=!1}}},[e(t.targetUrl?\"a\":\"div\",{tag:\"component\",class:{\"item-list__entry\":!0,\"item-list__entry--has-actions-menu\":t.gotMenu},attrs:{href:t.targetUrl,target:t.targetUrl?\"_blank\":void 0},on:{click:t.onLinkClick}},[t._t(\"avatar\",(function(){return[e(\"NcAvatar\",{staticClass:\"item-avatar\",attrs:{size:44,url:t.avatarUrl,user:t.avatarUsername,\"is-no-user\":t.avatarIsNoUser,\"show-user-status\":!t.gotOverlayIcon}})]}),{avatarUrl:t.avatarUrl,avatarUsername:t.avatarUsername}),t._v(\" \"),t.overlayIconUrl?e(\"img\",{staticClass:\"item-icon\",attrs:{alt:\"\",src:t.overlayIconUrl}}):t._e(),t._v(\" \"),e(\"div\",{staticClass:\"item__details\"},[e(\"h3\",{attrs:{title:t.mainText}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.mainText)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"p\",{staticClass:\"message\",attrs:{title:t.subText}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.subText)+\"\\n\\t\\t\\t\")])]),t._v(\" \"),t.gotMenu?e(\"NcActions\",{attrs:{\"force-menu\":t.forceMenu,\"menu-align\":\"right\"}},[t._t(\"actions\",(function(){return t._l(t.itemMenu,(function(n,a){return e(\"NcActionButton\",{key:a,attrs:{icon:n.icon,\"close-after-click\":!0},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.$emit(a,t.item)}}},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(n.text)+\"\\n\\t\\t\\t\\t\")])}))}))],2):t._e()],2)],1)}),[],!1,null,\"333a3450\",null);\"function\"==typeof y()&&y()(D);var S=D.exports},9917:function(t,e,n){\"use strict\";n.d(e,{default:function(){return w}});var a=n(3379),i=n.n(a),r=n(7795),o=n.n(r),s=n(569),l=n.n(s),A=n(3565),c=n.n(A),d=n(9216),u=n.n(d),p=n(4589),m=n.n(p),h=n(9934),T={};T.styleTagTransform=m(),T.setAttributes=c(),T.insert=l().bind(null,\"head\"),T.domAPI=o(),T.insertStyleElement=u(),i()(h.Z,T),h.Z&&h.Z.locals&&h.Z.locals;var C=n(9923),g=n(9266),f=n(3648),b=require(\"@nextcloud/l10n\"),v=require(\"vue2-datepicker\"),E={date:\"YYYY-MM-DD\",datetime:\"YYYY-MM-DD H:mm:ss\",year:\"YYYY\",month:\"YYYY-MM\",time:\"H:mm:ss\",week:\"w\"},y={name:\"NcDatetimePicker\",components:{DatePicker:n.n(v)(),NcPopover:g.default,NcTimezonePicker:C.default},mixins:[f.Z],inheritAttrs:!1,props:{clearable:{type:Boolean,default:!1},minuteStep:{type:Number,default:10},type:{type:String,default:\"date\"},format:{type:String,default:null},formatter:{type:Object,default:null},value:{default:function(){return new Date}},timezoneId:{type:String,default:\"UTC\"},showTimezoneSelect:{type:Boolean,default:!1},highlightTimezone:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},showWeekNumber:{type:Boolean,default:!1}},emits:[\"update:value\",\"update:timezone-id\"],data:function(){return{showTimezonePopover:!1,tzVal:this.timezoneId}},computed:{lang:function(){return{formatLocale:{months:(0,b.getMonthNames)(),monthsShort:(0,b.getMonthNamesShort)(),weekdays:(0,b.getDayNames)(),weekdaysShort:(0,b.getDayNamesShort)(),weekdaysMin:(0,b.getDayNamesMin)(),firstDayOfWeek:(0,b.getFirstDay)()},monthFormat:\"MMM\"}},placeholder:function(){return\"time\"===this.type?this.t(\"Pick a time\"):\"month\"===this.type?this.t(\"Pick a month\"):\"year\"===this.type?this.t(\"Pick a year\"):\"week\"===this.type?this.t(\"Pick a week\"):\"date\"===this.type?this.t(\"Pick a date\"):this.t(\"Pick a date and a time\")},formatTypeMap:function(){var t;return null!==(t=E[this.type])&&void 0!==t?t:E.date}},methods:{handleSelectYear:function(t){var e=this.$refs.datepicker.currentValue;if(e)try{var n=new Date(new Date(e).setFullYear(t));this.$refs.datepicker.selectDate(n)}catch(n){console.error(\"Invalid value\",e,t)}},handleSelectMonth:function(t){var e=this.$refs.datepicker.currentValue;if(e)try{var n=new Date(new Date(e).setMonth(t));this.$refs.datepicker.selectDate(n)}catch(n){console.error(\"Invalid value\",e,t)}},toggleTimezonePopover:function(){this.showTimezoneSelect&&(this.showTimezonePopover=!this.showTimezonePopover)}}},D=n(2221),S={};S.styleTagTransform=m(),S.setAttributes=c(),S.insert=l().bind(null,\"head\"),S.domAPI=o(),S.insertStyleElement=u(),i()(D.Z,S),D.Z&&D.Z.locals&&D.Z.locals;var x=n(1900),N=n(8538),k=n.n(N),F=(0,x.Z)(y,(function(){var t=this,e=t._self._c;return e(\"DatePicker\",t._g(t._b({ref:\"datepicker\",attrs:{\"append-to-body\":t.appendToBody,clearable:t.clearable,format:t.format?t.format:t.formatTypeMap,formatter:t.formatter,lang:t.lang,\"minute-step\":t.minuteStep,placeholder:t.placeholder,\"popup-class\":{\"show-week-number\":t.showWeekNumber},\"show-week-number\":t.showWeekNumber,type:t.type,value:t.value},on:{\"select-year\":t.handleSelectYear,\"select-month\":t.handleSelectMonth,\"update:value\":function(e){return t.$emit(\"update:value\",t.value)}},scopedSlots:t._u([t.showTimezoneSelect?{key:\"icon-calendar\",fn:function(){return[e(\"NcPopover\",{attrs:{open:t.showTimezonePopover,\"open-class\":\"timezone-popover-wrapper\"},on:{\"update:open\":function(e){t.showTimezonePopover=e}},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[e(\"button\",{staticClass:\"datetime-picker-inline-icon icon-timezone icon\",class:{\"datetime-picker-inline-icon--highlighted\":t.highlightTimezone},on:{mousedown:function(t){return t.stopPropagation(),t.preventDefault(),function(){}.apply(null,arguments)}}})]},proxy:!0}],null,!1,3706780037)},[t._v(\" \"),e(\"div\",{staticClass:\"timezone-popover-wrapper__title\"},[e(\"strong\",[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.t(\"Please select a time zone:\"))+\"\\n\\t\\t\\t\\t\")])]),t._v(\" \"),e(\"NcTimezonePicker\",{staticClass:\"timezone-popover-wrapper__timezone-select\",on:{input:function(e){return t.$emit(\"update:timezone-id\",arguments[0])}},model:{value:t.tzVal,callback:function(e){t.tzVal=e},expression:\"tzVal\"}})],1)]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}}))],null,!0)},\"DatePicker\",t.$attrs,!1),t.$listeners))}),[],!1,null,\"06d2a895\",null);\"function\"==typeof k()&&k()(F);var R=F.exports;(0,n(7645).Z)(R);var w=R},115:function(t,e,n){\"use strict\";n.d(e,{default:function(){return E}});var a={name:\"NcEmptyContent\",props:{title:{type:String,default:\"\"},description:{type:String,default:\"\"}},computed:{hasTitle:function(){return\"\"!==this.title},hasDescription:function(){return\"\"!==this.description}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(6220),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=n(1900),f=n(9258),b=n.n(f),v=(0,g.Z)(a,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"empty-content\",attrs:{role:\"note\"}},[t.$slots.icon?e(\"div\",{staticClass:\"empty-content__icon\"},[t._t(\"icon\")],2):t._e(),t._v(\" \"),t.hasTitle?e(\"h2\",{staticClass:\"empty-content__title\"},[t._v(\"\\n\\t\\t\"+t._s(t.title)+\"\\n\\t\")]):t._e(),t._v(\" \"),t.hasDescription?e(\"p\",[t._v(\"\\n\\t\\t\"+t._s(t.description)+\"\\n\\t\")]):t._e(),t._v(\" \"),t.$slots.action?e(\"div\",{staticClass:\"empty-content__action\"},[t._t(\"action\")],2):t._e()])}),[],!1,null,\"0f616574\",null);\"function\"==typeof b()&&b()(v);var E=v.exports},281:function(t,e,n){\"use strict\";n.d(e,{default:function(){return u}});var a=n(1336);function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function r(t){for(var e=1;e0?this.highlight:(0,a.Z)(this.text,this.search)).forEach((function(t,n){t.end0&&e.push({start:n.start<0?0:n.start,end:n.end>t.text.length?t.text.length:n.end}),e}),[])).sort((function(t,e){return t.start-e.start})),e=e.reduce((function(t,e){if(t.length){var n=t.length-1;t[n].end>=e.start?t[n]={start:t[n].start,end:Math.max(t[n].end,e.end)}:t.push(e)}else t.push(e);return t}),[])):e},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],e=0,n=0;e=this.ranges.length&&e=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},s=n(3379),l=n.n(s),A=n(7795),c=n.n(A),d=n(569),u=n.n(d),p=n(3565),m=n.n(p),h=n(9216),T=n.n(h),C=n(4589),g=n.n(C),f=n(1369),b={};b.styleTagTransform=g(),b.setAttributes=m(),b.insert=u().bind(null,\"head\"),b.domAPI=c(),b.insertStyleElement=T(),l()(f.Z,b),f.Z&&f.Z.locals&&f.Z.locals;var v=n(1900),E=n(8488),y=n.n(E),D=(0,v.Z)(o,(function(){var t=this,e=t._self._c;return e(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[e(\"NcAvatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"NcAvatar\",t.$attrs,!1)),t._v(\" \"),e(\"div\",{staticClass:\"option__details\"},[e(\"NcHighlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?e(\"NcHighlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?e(\"span\",[e(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),e(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\"),t._v(\" \"),t.hasIcon&&!t.hasSlot?e(\"span\",{staticClass:\"icon option__icon\",class:t.icon}):t._e()],2)}),[],!1,null,\"7564b97c\",null);\"function\"==typeof y()&&y()(D);var S=D.exports},5415:function(t,e,n){\"use strict\";n.d(e,{default:function(){return E}});var a={name:\"NcLoadingIcon\",props:{size:{type:Number,default:20},appearance:{type:String,validator:function(t){return[\"auto\",\"light\",\"dark\"].includes(t)},default:\"auto\"},title:{type:String,default:\"\"}},computed:{colors:function(){var t=[\"#777\",\"#CCC\"];return\"light\"===this.appearance?t:\"dark\"===this.appearance?t.reverse():[\"var(--color-loading-light)\",\"var(--color-loading-dark)\"]}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(5030),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=n(1900),f=n(9280),b=n.n(f),v=(0,g.Z)(a,(function(){var t=this,e=t._self._c;return e(\"span\",{staticClass:\"material-design-icon loading-icon\",attrs:{\"aria-label\":t.title,role:\"img\"}},[e(\"svg\",{attrs:{width:t.size,height:t.size,viewBox:\"0 0 24 24\"}},[e(\"path\",{attrs:{fill:t.colors[0],d:\"M12,4V2A10,10 0 1,0 22,12H20A8,8 0 1,1 12,4Z\"}}),t._v(\" \"),e(\"path\",{attrs:{fill:t.colors[1],d:\"M12,4V2A10,10 0 0,1 22,12H20A8,8 0 0,0 12,4Z\"}},[t.title?e(\"title\",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,\"c4a9cada\",null);\"function\"==typeof b()&&b()(v);var E=v.exports},4990:function(t,e,n){\"use strict\";n.d(e,{default:function(){return j}});var a=n(7645),i=n(1702),r=n(336),o=n(3648);function s(t,e){var n,a,i,r=e;this.start=function(){i=!0,a=new Date,n=setTimeout(t,r)},this.pause=function(){i=!1,clearTimeout(n),r-=new Date-a},this.clear=function(){i=!1,clearTimeout(n),r=0},this.getTimeLeft=function(){return i&&(this.pause(),this.start()),r},this.getStateRunning=function(){return i},this.start()}var l=n(932),A=n(2872),c=n(1205),d=require(\"vue-material-design-icons/ChevronLeft.vue\"),u=n.n(d),p=n(9044),m=n.n(p),h=n(8618),T=n.n(h),C=require(\"vue-material-design-icons/Pause.vue\"),g=n.n(C),f=require(\"vue-material-design-icons/Play.vue\"),b=n.n(f),v=n(2640),E=n.n(v),y=n(4505);function D(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.slice(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.slice(this.split):\"\"},highlight1:function(){return this.search?(0,g.Z)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(e){return{start:e.start-t.split,end:e.end-t.split}}))}}},b=n(6422),v={};v.styleTagTransform=m(),v.setAttributes=c(),v.insert=l().bind(null,\"head\"),v.domAPI=o(),v.insertStyleElement=u(),i()(b.Z,v),b.Z&&b.Z.locals&&b.Z.locals;var E=n(1900),y=(0,E.Z)(f,(function(){var t=this,e=t._self._c;return e(\"span\",{staticClass:\"name-parts\",attrs:{title:t.name}},[e(\"NcHighlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?e(\"NcHighlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"6a6fde89\",null).exports,D=n(9446),S=n(5415),x=n(336),N=n(3648),k=require(\"vue-multiselect\"),F=n.n(k);function R(t){return R=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},R(t)}var w={name:\"NcMultiselect\",components:{NcEllipsisedOption:y,NcListItemIcon:D.default,NcLoadingIcon:S.default,VueMultiselect:F()},directives:{tooltip:x.default},mixins:[N.Z],inheritAttrs:!1,props:{value:{default:function(){return[]}},closeOnSelect:{type:Boolean,default:void 0},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},emits:[\"change\",\"update:value\"],data:function(){return{elWidth:0,ariaExpanded:!1}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==R(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}},willCloseOnSelect:function(){return void 0===this.closeOnSelect?!this.multiple:this.closeOnSelect}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var e;return String(null===(e=this.$refs.VueMultiselect)||void 0===e?void 0:e.getOptionLabel(t))},formatLimitTitle:function(t){var e=this;if(Array.isArray(t)&&t.length>0){var n=t;return\"object\"===R(t[0])&&(n=t.map((function(t){return t[e.label]}))),n.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},O=w,B=n(6049),_=n.n(B),Z=(0,E.Z)(O,(function(){var t=this,e=t._self._c;return e(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,loading:t.loading,\"aria-expanded\":t.ariaExpanded.toString(),\"close-on-select\":t.willCloseOnSelect,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},on:{close:function(e){t.ariaExpanded=!1},open:function(e){t.ariaExpanded=!0}},scopedSlots:t._u([{key:\"option\",fn:function(n){return[t.userSelect&&!t.$scopedSlots.option?e(\"NcListItemIcon\",t._b({attrs:{title:n.option[t.label],search:n.search}},\"NcListItemIcon\",n.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,n):e(\"NcEllipsisedOption\",{attrs:{name:t.getOptionLabel(n.option),option:n.option,search:n.search,label:t.label}})]}},t.multiple?{key:\"limit\",fn:function(){return[e(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}})),{key:\"noResult\",fn:function(){return[t._t(\"noResult\",(function(){return[e(\"span\",[t._v(t._s(t.t(\"No results\")))])]}))]},proxy:!0},{key:\"loading\",fn:function(){return[t.loading?e(\"NcLoadingIcon\"):t._e()]},proxy:!0}],null,!0),model:{value:t.localValue,callback:function(e){t.localValue=e},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners))}),[],!1,null,null,null);\"function\"==typeof _()&&_()(Z);var Y=Z.exports;(0,n(7645).Z)(Y);var M=Y},2680:function(t,e,n){\"use strict\";n.d(e,{default:function(){return b}});var a=n(768),i=n.n(a),r=n(4262);function o(t,e,n,a,i,r,o){try{var s=t[r](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}var s=function t(e){var n={};if(1===e.nodeType){if(e.attributes.length>0){n[\"@attributes\"]={};for(var a=0;a\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t'});case 4:return e=t.sent,t.abrupt(\"return\",l(e.data));case 6:case\"end\":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(a,i){var r=t.apply(e,n);function s(t){o(r,a,i,s,l,\"next\",t)}function l(t){o(r,a,i,s,l,\"throw\",t)}s(void 0)}))});return function(){return e.apply(this,arguments)}}(),c=n(3432),d=n(3648),u=n(932);function p(t,e,n,a,i,r,o){try{var s=t[r](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}var m={name:\"NcMultiselectTags\",components:{NcMultiselect:c.default},mixins:[d.Z],props:{label:{type:String,default:(0,u.t)(\"Select a tag\")},value:{type:[Number,Array],required:!0},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!0},filter:{type:Function,default:function(t,e){return e<5}}},emits:[\"input\"],data:function(){return{tags:[]}},computed:{inputValue:function(){return this.getValueObject()},availableOptions:function(){return this.filter?this.tags.filter(this.filter):this.tags}},beforeCreate:function(){var t,e=this;return(t=regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,A();case 3:n=t.sent,e.tags=n,t.next=10;break;case 7:t.prev=7,t.t0=t.catch(0),console.error(\"Loading systemtags failed\",t.t0);case 10:case\"end\":return t.stop()}}),t,null,[[0,7]])})),function(){var e=this,n=arguments;return new Promise((function(a,i){var r=t.apply(e,n);function o(t){p(r,a,i,o,s,\"next\",t)}function s(t){p(r,a,i,o,s,\"throw\",t)}o(void 0)}))})()},methods:{getValueObject:function(){var t=this;return 0===this.tags.length?[]:this.multiple?this.value.filter((function(t){return\"\"!==t})).map((function(e){return t.tags.find((function(t){return t.id===e}))})):this.tags.find((function(e){return e.id===t.value}))},update:function(t){this.multiple?this.$emit(\"input\",t.map((function(t){return t.id}))):null===t?this.$emit(\"input\",null):this.$emit(\"input\",t.id)},tagLabel:function(t){var e=t.displayName,n=t.userVisible,a=t.userAssignable;return!1===n?(0,u.t)(\"{tag} (invisible)\",{tag:e}):!1===a?(0,u.t)(\"{tag} (restricted)\",{tag:e}):e}}},h=m,T=n(1900),C=n(6448),g=n.n(C),f=(0,T.Z)(h,(function(){var t=this,e=t._self._c;return e(\"NcMultiselect\",{attrs:{value:t.inputValue,options:t.availableOptions,placeholder:t.label,\"track-by\":\"id\",\"custom-label\":t.tagLabel,multiple:t.multiple,\"close-on-select\":!t.multiple,\"tag-width\":60,disabled:t.disabled},on:{input:t.update},scopedSlots:t._u([{key:\"noResult\",fn:function(){return[e(\"span\",[t._v(t._s(t.t(\"No results\")))])]},proxy:!0},{key:\"option\",fn:function(e){return[t._v(\"\\n\\t\\t\"+t._s(t.tagLabel(e.option))+\"\\n\\t\")]}}])})}),[],!1,null,null,null);\"function\"==typeof g()&&g()(f);var b=f.exports},7209:function(t,e,n){\"use strict\";n.d(e,{default:function(){return k}});var a=require(\"vue-material-design-icons/CheckboxMarkedCircle.vue\"),i=n.n(a),r=require(\"vue-material-design-icons/AlertDecagram.vue\"),o=n.n(r),s=require(\"vue-material-design-icons/Alert.vue\"),l=n.n(s),A={name:\"NcNoteCard\",props:{type:{type:String,default:\"warning\",validator:function(t){return[\"success\",\"warning\",\"error\"].includes(t)}},showAlert:{type:Boolean,default:!1},heading:{type:String,default:\"\"}},computed:{shouldShowAlert:function(){return this.showAlert||\"error\"===this.type},icon:function(){switch(this.type){case\"error\":return o();case\"success\":return i();default:return l()}},color:function(){switch(this.type){case\"error\":return\"var(--color-error)\";case\"success\":return\"var(--color-success)\";default:return\"var(--color-warning)\"}}}},c=n(3379),d=n.n(c),u=n(7795),p=n.n(u),m=n(569),h=n.n(m),T=n(3565),C=n.n(T),g=n(9216),f=n.n(g),b=n(4589),v=n.n(b),E=n(7098),y={};y.styleTagTransform=v(),y.setAttributes=C(),y.insert=h().bind(null,\"head\"),y.domAPI=p(),y.insertStyleElement=f(),d()(E.Z,y),E.Z&&E.Z.locals&&E.Z.locals;var D=n(1900),S=n(3464),x=n.n(S),N=(0,D.Z)(A,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"notecard\",class:\"notecard--\".concat(t.type),attrs:{role:t.shouldShowAlert?\"alert\":\"\"}},[e(t.icon,{tag:\"component\",staticClass:\"notecard__icon\",class:{\"notecard__icon--heading\":t.heading},attrs:{\"fill-color\":t.color}}),t._v(\" \"),e(\"div\",[t.heading?e(\"h2\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.heading)+\"\\n\\t\\t\")]):t._e(),t._v(\" \"),t._t(\"default\")],2)],1)}),[],!1,null,\"0d67beae\",null);\"function\"==typeof x()&&x()(N);var k=N.exports},1642:function(t,e,n){\"use strict\";n.d(e,{default:function(){return D}});var a=require(\"vue-material-design-icons/Eye.vue\"),i=n.n(a),r=require(\"vue-material-design-icons/EyeOff.vue\"),o=n.n(r),s=n(9563),l=n(3465),A=n.n(l),c=n(768),d=n.n(c),u=require(\"@nextcloud/initial-state\"),p=n(4262),m=n(932),h=n(6115);function T(t,e,n,a,i,r,o){try{var s=t[r](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}var C=(0,u.loadState)(\"core\",\"capabilities\",{passwordPolicy:null}).password_policy,g={name:\"NcPasswordField\",components:{NcInputField:s.Z,Eye:i(),EyeOff:o()},props:{value:{type:String,required:!0},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},labelVisible:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},success:{type:Boolean,default:!1},error:{type:Boolean,default:!1},helperText:{type:String,default:\"\"},minlength:{type:Number,default:0},maxlength:{type:Number,default:null},autocomplete:{type:String,validator:function(t){return[\"new-password\",\"current-password\",\"one-time-code\",\"on\",\"off\"].includes(t)},default:\"current-password\"},checkPasswordStrength:{type:Boolean,default:!1},id:{type:String,default:\"\"},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},name:{type:String,default:void 0}},emits:[\"valid\",\"invalid\",\"update:value\"],data:function(){return{isPasswordHidden:!0,internalHelpMessage:\"\",passwordPolicy:C,isValid:null}},computed:{computedError:function(){return this.error||!1===this.isValid},computedSuccess:function(){return this.success||!0===this.isValid},computedHelperText:function(){return this.helperText.length>0?this.helperText:this.internalHelpMessage},rules:function(){var t=this.minlength,e=this.passwordPolicy;return{minlength:null!=t?t:null==e?void 0:e.minLength}},trailingButtonLabel:function(){return this.isPasswordHidden?(0,m.t)(\"Show password\"):(0,m.t)(\"Hide password\")}},watch:{value:function(t){if(this.checkPasswordStrength){if(null===this.passwordPolicy)return;this.passwordPolicy&&this.checkPassword(t)}}},methods:{handleInput:function(t){this.$emit(\"update:value\",t.target.value)},togglePasswordVisibility:function(){this.isPasswordHidden=!this.isPasswordHidden},checkPassword:A()(function(){var t,e=(t=regeneratorRuntime.mark((function t(e){var n,a;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,d().post((0,p.generateOcsUrl)(\"apps/password_policy/api/v1/validate\"),{password:e});case 3:if(n=t.sent,a=n.data,this.isValid=a.ocs.data.passed,!a.ocs.data.passed){t.next=10;break}return this.internalHelpMessage=(0,m.t)(\"Password is secure\"),this.$emit(\"valid\"),t.abrupt(\"return\");case 10:this.internalHelpMessage=a.ocs.data.reason,this.$emit(\"invalid\"),t.next=17;break;case 14:t.prev=14,t.t0=t.catch(0),h.Z.error(\"Password policy returned an error\",t.t0);case 17:case\"end\":return t.stop()}}),t,this,[[0,14]])})),function(){var e=this,n=arguments;return new Promise((function(a,i){var r=t.apply(e,n);function o(t){T(r,a,i,o,s,\"next\",t)}function s(t){T(r,a,i,o,s,\"throw\",t)}o(void 0)}))});return function(t){return e.apply(this,arguments)}}(),500)}},f=g,b=n(1900),v=n(6239),E=n.n(v),y=(0,b.Z)(f,(function(){var t=this,e=t._self._c;return e(\"NcInputField\",t._g(t._b({attrs:{type:t.isPasswordHidden?\"password\":\"text\",\"show-trailing-button\":!0,\"helper-text\":t.computedHelperText,error:t.computedError,success:t.computedSuccess,minlength:t.rules.minlength,\"trailing-button-label\":t.trailingButtonLabel,disabled:t.disabled},on:{\"trailing-button-click\":t.togglePasswordVisibility,input:t.handleInput},scopedSlots:t._u([{key:\"trailing-button-icon\",fn:function(){return[t.isPasswordHidden?e(\"Eye\",{attrs:{size:18}}):e(\"EyeOff\",{attrs:{size:18}})]},proxy:!0}])},\"NcInputField\",t.$props,!1),t.$listeners),[t._t(\"default\")],2)}),[],!1,null,null,null);\"function\"==typeof E()&&E()(y);var D=y.exports},9266:function(t,e,n){\"use strict\";n.d(e,{default:function(){return x}});var a=n(9454),i=n(4505);function r(t,e,n,a,i,r,o){try{var s=t[r](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}var o={name:\"NcPopover\",components:{Dropdown:a.Dropdown},props:{popoverBaseClass:{type:String,default:\"\"},focusTrap:{type:Boolean,default:!0}},emits:[\"after-show\",\"after-hide\"],mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.$refs.popper.isShown}),(function(e){e?t.afterShow():t.afterHide()}))},beforeDestroy:function(){this.clearFocusTrap()},methods:{useFocusTrap:function(){var t,e=this;return(t=regeneratorRuntime.mark((function t(){var n,a,r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$nextTick();case 2:if(e.focusTrap){t.next=4;break}return t.abrupt(\"return\");case 4:if(r=null===(n=e.$refs.popover)||void 0===n||null===(a=n.$refs.popperContent)||void 0===a?void 0:a.$el){t.next=7;break}return t.abrupt(\"return\");case 7:e.$focusTrap=(0,i.createFocusTrap)(r,{escapeDeactivates:!1,allowOutsideClick:!0}),e.$focusTrap.activate();case 9:case\"end\":return t.stop()}}),t)})),function(){var e=this,n=arguments;return new Promise((function(a,i){var o=t.apply(e,n);function s(t){r(o,a,i,s,l,\"next\",t)}function l(t){r(o,a,i,s,l,\"throw\",t)}s(void 0)}))})()},clearFocusTrap:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var e;null===(e=this.$focusTrap)||void 0===e||e.deactivate(t),this.$focusTrap=null}catch(t){console.warn(t)}},afterShow:function(){this.$emit(\"after-show\"),this.useFocusTrap()},afterHide:function(){this.$emit(\"after-hide\"),this.clearFocusTrap()}}},s=o,l=n(3379),A=n.n(l),c=n(7795),d=n.n(c),u=n(569),p=n.n(u),m=n(3565),h=n.n(m),T=n(9216),C=n.n(T),g=n(4589),f=n.n(g),b=n(5510),v={};v.styleTagTransform=f(),v.setAttributes=h(),v.insert=p().bind(null,\"head\"),v.domAPI=d(),v.insertStyleElement=C(),A()(b.Z,v),b.Z&&b.Z.locals&&b.Z.locals;var E=n(1900),y=n(2405),D=n.n(y),S=(0,E.Z)(s,(function(){var t=this;return(0,t._self._c)(\"Dropdown\",t._g(t._b({ref:\"popover\",attrs:{distance:10,\"arrow-padding\":10,\"popper-class\":t.popoverBaseClass},scopedSlots:t._u([{key:\"popper\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"Dropdown\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof D()&&D()(S);var x=S.exports},6296:function(t,e,n){\"use strict\";n.d(e,{default:function(){return k}});var a={name:\"NcPopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=n(3379),r=n.n(i),o=n(7795),s=n.n(o),l=n(569),A=n.n(l),c=n(3565),d=n.n(c),u=n(9216),p=n.n(u),m=n(4589),h=n.n(m),T=n(8814),C={};C.styleTagTransform=h(),C.setAttributes=d(),C.insert=A().bind(null,\"head\"),C.domAPI=s(),C.insertStyleElement=p(),r()(T.Z,C),T.Z&&T.Z.locals&&T.Z.locals;var g=n(9307),f={};f.styleTagTransform=h(),f.setAttributes=d(),f.insert=A().bind(null,\"head\"),f.domAPI=s(),f.insertStyleElement=p(),r()(g.Z,f),g.Z&&g.Z.locals&&g.Z.locals;var b=n(1900),v=(0,b.Z)(a,(function(){var t=this,e=t._self._c;return e(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?e(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"nofollow noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?e(\"img\",{attrs:{src:t.item.icon}}):e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?e(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?e(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action.apply(null,arguments)}}},[e(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),e(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,a=e.target,i=!!a.checked;if(Array.isArray(n)){var r=t._i(n,null);a.checked?r<0&&t.$set(t.item,\"model\",n.concat([null])):r>-1&&t.$set(t.item,\"model\",n.slice(0,r).concat(n.slice(r+1)))}else t.$set(t.item,\"model\",i)},t.item.action]}}):\"radio\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),e(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action.apply(null,arguments)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?e(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action.apply(null,arguments)}}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"695aef77\",null),E={name:\"NcPopoverMenu\",components:{NcPopoverMenuItem:v.exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},y=n(7621),D={};D.styleTagTransform=h(),D.setAttributes=d(),D.insert=A().bind(null,\"head\"),D.domAPI=s(),D.insertStyleElement=p(),r()(y.Z,D),y.Z&&y.Z.locals&&y.Z.locals;var S=n(1174),x=n.n(S),N=(0,b.Z)(E,(function(){var t=this,e=t._self._c;return e(\"ul\",{staticClass:\"popover__menu\"},t._l(t.menu,(function(t,n){return e(\"NcPopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"a98594e4\",null);\"function\"==typeof x()&&x()(N);var k=N.exports},7582:function(t,e,n){\"use strict\";n.d(e,{default:function(){return L}});var a=n(932),i=n(4262),r={name:\"NcAutoCompleteResult\",props:{label:{type:String,required:!0},subline:{type:String,default:null},id:{type:String,default:null},icon:{type:String,required:!0},source:{type:String,required:!0},status:{type:[Object,Array],default:function(){return{}}}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},haveStatus:function(){var t,e;return(null===(t=this.status)||void 0===t?void 0:t.icon)||(null===(e=this.status)||void 0===e?void 0:e.status)}},methods:{getAvatarUrl:function(t,e){return(0,i.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}},o=n(3379),s=n.n(o),l=n(7795),A=n.n(l),c=n(569),d=n.n(c),u=n(3565),p=n.n(u),m=n(9216),h=n.n(m),T=n(4589),C=n.n(T),g=n(3767),f={};f.styleTagTransform=C(),f.setAttributes=p(),f.insert=d().bind(null,\"head\"),f.domAPI=A(),f.insertStyleElement=h(),s()(g.Z,f),g.Z&&g.Z.locals&&g.Z.locals;var b=n(1900),v=(0,b.Z)(r,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"autocomplete-result\"},[e(\"div\",{staticClass:\"autocomplete-result__icon\",class:[t.icon,\"autocomplete-result__icon--\".concat(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\".concat(t.avatarUrl,\")\")}:null},[t.haveStatus?e(\"div\",{staticClass:\"autocomplete-result__status\",class:[\"autocomplete-result__status--\".concat(t.status&&t.status.icon?\"icon\":t.status.status)]},[t._v(\"\\n\\t\\t\\t\"+t._s(t.status&&t.status.icon||\"\")+\"\\n\\t\\t\")]):t._e()]),t._v(\" \"),e(\"span\",{staticClass:\"autocomplete-result__content\"},[e(\"span\",{staticClass:\"autocomplete-result__title\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.label)+\"\\n\\t\\t\")]),t._v(\" \"),t.subline?e(\"span\",{staticClass:\"autocomplete-result__subline\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.subline)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"e2e54e2a\",null).exports,E=n(7578),y=n(336),D=n(8477),S=require(\"tributejs/dist/tribute.esm.js\"),x=n.n(S),N=n(3465),k=n.n(N),F=require(\"string-length\"),R=n.n(F);function w(t,e,n,a,i,r,o){try{var s=t[r](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}var O={name:\"NcRichContenteditable\",directives:{tooltip:y.default},mixins:[E.default],props:{value:{type:String,default:\"\",required:!0},placeholder:{type:String,default:(0,a.t)(\"Write message, @ to mention someone, : for emoji autocompletion …\")},autoComplete:{type:Function,required:!0},menuContainer:{type:Element,default:function(){return document.body}},multiline:{type:Boolean,default:!1},contenteditable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},maxlength:{type:Number,default:null},emojiAutocomplete:{type:Boolean,default:!0}},emits:[\"submit\",\"paste\",\"update:value\"],data:function(){var t=this;return{tribute:null,autocompleteOptions:{fillAttr:\"id\",lookup:function(t){return\"\".concat(t.id,\" \").concat(t.label)},menuContainer:this.menuContainer,menuItemTemplate:function(e){return t.renderComponentHtml(e.original,v)},noMatchTemplate:function(){return''},selectTemplate:function(e){var n;return t.genSelectTemplate(null==e||null===(n=e.original)||void 0===n?void 0:n.id)},values:this.debouncedAutoComplete},emojiOptions:{trigger:\":\",lookup:function(t,e){return e},menuContainer:this.menuContainer,menuItemTemplate:function(t){return''.concat(t.original.native,\" :\").concat(t.original.short_name)},noMatchTemplate:function(){return(0,a.t)(\"No emoji found\")},selectTemplate:function(t){return(0,D.addRecent)(t.original),t.original.native},values:function(t,e){return e((0,D.emojiSearch)(t))},containerClass:\"tribute-container-emoji\",itemClass:\"tribute-container-emoji__item\"},localValue:this.value}},computed:{isEmptyValue:function(){return!this.localValue||this.localValue&&\"\"===this.localValue.trim()},isFF:function(){return!!navigator.userAgent.match(/firefox/i)},isOverMaxlength:function(){return!(this.isEmptyValue||!this.maxlength)&&R()(this.localValue)>this.maxlength},tooltipString:function(){return this.isOverMaxlength?{content:(0,a.t)(\"Message limit of {count} characters reached\",{count:this.maxlength}),shown:!0,trigger:\"manual\"}:null},canEdit:function(){return this.contenteditable&&!this.disabled}},watch:{value:function(){var t=this.$refs.contenteditable.innerHTML;this.value.trim()!==this.parseContent(t).trim()&&this.updateContent(this.value)}},mounted:function(){this.autocompleteTribute=new(x())(this.autocompleteOptions),this.autocompleteTribute.attach(this.$el),this.emojiAutocomplete&&(this.emojiTribute=new(x())(this.emojiOptions),this.emojiTribute.attach(this.$el)),this.updateContent(this.value),this.$refs.contenteditable.contentEditable=this.canEdit},beforeDestroy:function(){this.autocompleteTribute&&this.autocompleteTribute.detach(this.$el),this.emojiTribute&&this.emojiTribute.detach(this.$el)},methods:{onInput:function(t){this.updateValue(t.target.innerHTML)},onPaste:function(t){if(this.canEdit){t.preventDefault();var e=t.clipboardData;if(this.$emit(\"paste\",t),0===e.files.length&&Object.values(e.items).find((function(t){return null==t?void 0:t.type.startsWith(\"text\")}))){var n=e.getData(\"text\"),a=window.getSelection();a.rangeCount||this.updateValue(n);var i=this.parseContent(n),r=a.getRangeAt(0);a.deleteFromDocument(),r.insertNode(document.createTextNode(i));var o=document.createRange();o.setStart(t.target,r.endOffset),o.collapse(!0),a.removeAllRanges(),a.addRange(o),this.updateValue(t.target.innerHTML)}}},updateValue:function(t){var e=this.parseContent(t);this.localValue=e,this.$emit(\"update:value\",e)},updateContent:function(t){var e=this.renderContent(t);this.$refs.contenteditable.innerHTML=e,this.localValue=t},onDelete:function(t){if(this.isFF&&window.getSelection&&this.canEdit){var e=window.getSelection(),n=t.target;if(e.isCollapsed&&e.rangeCount){var a=e.getRangeAt(e.rangeCount-1);if(!(3===a.commonAncestorContainer.nodeType&&a.startOffset>0)){var i=document.createRange();if(e.anchorNode!==n)i.selectNodeContents(n),i.setEndBefore(e.anchorNode);else{if(!(e.anchorOffset>0))return;i.setEnd(n,e.anchorOffset)}i.setStart(n,i.endOffset-1);var r=i.cloneContents().lastChild;r&&\"false\"===r.contentEditable&&(i.deleteContents(),t.preventDefault())}}}},onEnter:function(t){this.multiline||this.isOverMaxlength||this.autocompleteTribute.isActive||this.emojiTribute.isActive||(t.preventDefault(),t.stopPropagation(),this.$emit(\"submit\",t))},onCtrlEnter:function(t){this.isOverMaxlength||this.$emit(\"submit\",t)},debouncedAutoComplete:k()(function(){var t,e=(t=regeneratorRuntime.mark((function t(e,n){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this.autoComplete(e,n);case 1:case\"end\":return t.stop()}}),t,this)})),function(){var e=this,n=arguments;return new Promise((function(a,i){var r=t.apply(e,n);function o(t){w(r,a,i,o,s,\"next\",t)}function s(t){w(r,a,i,o,s,\"throw\",t)}o(void 0)}))});return function(t,n){return e.apply(this,arguments)}}(),100)}},B=O,_=n(2830),Z={};Z.styleTagTransform=C(),Z.setAttributes=p(),Z.insert=d().bind(null,\"head\"),Z.domAPI=A(),Z.insertStyleElement=h(),s()(_.Z,Z),_.Z&&_.Z.locals&&_.Z.locals;var Y=n(5026),M={};M.styleTagTransform=C(),M.setAttributes=p(),M.insert=d().bind(null,\"head\"),M.domAPI=A(),M.insertStyleElement=h(),s()(Y.Z,M),Y.Z&&Y.Z.locals&&Y.Z.locals;var I=n(2272),G=n.n(I),$=(0,b.Z)(B,(function(){var t=this;return(0,t._self._c)(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltipString,expression:\"tooltipString\"}],ref:\"contenteditable\",staticClass:\"rich-contenteditable__input\",class:{\"rich-contenteditable__input--empty\":t.isEmptyValue,\"rich-contenteditable__input--multiline\":t.multiline,\"rich-contenteditable__input--overflow\":t.isOverMaxlength,\"rich-contenteditable__input--disabled\":t.disabled},attrs:{contenteditable:t.canEdit,placeholder:t.placeholder,\"aria-multiline\":\"true\",role:\"textbox\"},on:{input:t.onInput,keydown:[function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\",\"Del\"])?null:t.onDelete.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.onEnter.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:e.ctrlKey?e.shiftKey||e.altKey||e.metaKey?null:(e.stopPropagation(),e.preventDefault(),t.onCtrlEnter.apply(null,arguments)):null}],paste:t.onPaste}},t.$listeners))}),[],!1,null,\"2eb9fd10\",null);\"function\"==typeof G()&&G()($);var L=$.exports},8240:function(t,e,n){\"use strict\";n.d(e,{default:function(){return D}});var a=n(932),i=require(\"vue-material-design-icons/HelpCircle.vue\"),r={name:\"NcSettingsSection\",components:{HelpCircle:n.n(i)()},props:{title:{type:String,required:!0},description:{type:String,default:\"\"},docUrl:{type:String,default:\"\"}},data:function(){return{docTitleTranslated:(0,a.t)(\"External documentation for {title}\",{title:this.title})}},computed:{hasDescription:function(){return this.description.length>0},hasDocUrl:function(){return this.docUrl.length>0}}},o=n(3379),s=n.n(o),l=n(7795),A=n.n(l),c=n(569),d=n.n(c),u=n(3565),p=n.n(u),m=n(9216),h=n.n(m),T=n(4589),C=n.n(T),g=n(2946),f={};f.styleTagTransform=C(),f.setAttributes=p(),f.insert=d().bind(null,\"head\"),f.domAPI=A(),f.insertStyleElement=h(),s()(g.Z,f),g.Z&&g.Z.locals&&g.Z.locals;var b=n(1900),v=n(3849),E=n.n(v),y=(0,b.Z)(r,(function(){var t=this,e=t._self._c;return e(\"div\",{staticClass:\"settings-section\"},[e(\"h2\",{staticClass:\"settings-section__title\"},[t._v(\"\\n\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\"),t.hasDocUrl?e(\"a\",{staticClass:\"settings-section__info\",attrs:{href:t.docUrl,role:\"note\",title:t.docTitleTranslated}},[e(\"HelpCircle\",{attrs:{size:20}})],1):t._e()]),t._v(\" \"),t.hasDescription?e(\"p\",{staticClass:\"settings-section__desc\"},[t._v(\"\\n\\t\\t\"+t._s(t.description)+\"\\n\\t\")]):t._e(),t._v(\" \"),t._t(\"default\")],2)}),[],!1,null,\"8e6462a4\",null);\"function\"==typeof E()&&E()(y);var D=y.exports},4455:function(t,e,n){\"use strict\";n.d(e,{default:function(){return m}});var a=n(9563),i=n(8618),r=n.n(i),o=n(6915),s=n.n(o),l=n(932),A={name:\"NcTextField\",components:{NcInputField:a.Z,Close:r(),ArrowRight:s()},props:{value:{type:String,required:!0},type:{type:String,default:\"text\",validator:function(t){return[\"text\",\"password\",\"email\",\"tel\",\"url\"].includes(t)}},label:{type:String,default:void 0},labelOutside:{type:Boolean,default:!1},labelVisible:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},showTrailingButton:{type:Boolean,default:!1},trailingButtonIcon:{type:String,default:\"close\",validator:function(t){return[\"close\",\"arrowRight\"].includes(t)}},success:{type:Boolean,default:!1},helperText:{type:String,default:\"\"},error:{type:Boolean,default:!1},id:{type:String,default:\"\"},disabled:{type:Boolean,default:!1},name:{type:String,default:void 0},autocomplete:{type:String,validator:function(t){return[\"on\",\"off\",\"name\",\"honorific-prefix\",\"given-name\",\"additional-name\",\"family-name\",\"honorific-suffix\",\"nickname\",\"email\",\"username\",\"organization-title\",\"organization\",\"street-address\",\"address-line1\",\"address-line2\",\"address-line3\",\"address-level4\",\"address-level3\",\"address-level2\",\"address-level1\",\"country\",\"country-name\",\"postal-code\",\"cc-name\",\"cc-given-name\",\"cc-additional-name\",\"cc-family-name\",\"cc-number\",\"cc-exp\",\"language\",\"bday\",\"bday-day\",\"bday-month\",\"bday-year\",\"sex\",\"tel\",\"impp\",\"url\",\"photo\"].includes(t)},default:\"on\"},autocapitalize:{type:String,default:\"sentences\",validator:function(t){return[\"none\",\"off\",\"on\",\"sentences\",\"words\",\"characters\"].includes(t)}},spellcheck:{type:Boolean,default:!0},required:{type:Boolean,default:!1}},emits:[\"update:value\"],computed:{clearTextLabel:function(){return(0,l.t)(\"Clear text\")}},methods:{handleInput:function(t){this.$emit(\"update:value\",t.target.value)}}},c=n(1900),d=n(5439),u=n.n(d),p=(0,c.Z)(A,(function(){var t=this,e=t._self._c;return e(\"NcInputField\",t._g(t._b({ref:\"inputField\",attrs:{\"trailing-button-label\":t.clearTextLabel},on:{input:t.handleInput}},\"NcInputField\",t.$props,!1),t.$listeners),[t._t(\"default\"),t._v(\" \"),e(\"template\",{slot:\"trailing-button-icon\"},[\"close\"===t.trailingButtonIcon?e(\"Close\",{attrs:{size:20}}):\"arrowRight\"===t.trailingButtonIcon?e(\"ArrowRight\",{attrs:{size:20}}):t._e()],1)],2)}),[],!1,null,null,null);\"function\"==typeof u()&&u()(p);var m=p.exports},9923:function(t,e,n){\"use strict\";n.d(e,{default:function(){return B}});var a=n(932);function i(t,e){var n=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if(\"string\"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}(t))||e&&t&&\"number\"==typeof t.length){n&&(t=n);var a=0,i=function(){};return{s:i,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,s=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){l=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw o}}}}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);nt.length)&&(e=t.length);for(var n=0,a=new Array(e);nt.length)&&(e=t.length);for(var n=0,a=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,o=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){s=!0,r=t},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw r}}}}(this.additionalTimezones);try{for(e.s();!(t=e.n()).done;){var n=t.value;if(n.timezoneId===this.value)return n}}catch(t){e.e(t)}finally{e.f()}return{label:o(this.value),timezoneId:this.value}},options:function(){return function(){var t,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n={},r=[],s=i(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]);try{for(s.s();!(t=s.n()).done;){var l=t.value,A=l.split(\"/\"),c=[A.shift(),A.join(\"/\")],d=c[0],u=c[1];u||(u=d,d=(0,a.t)(\"Global\")),n[d]=n[d]||{continent:d,regions:[]},n[d].regions.push({label:o(u),cities:[],timezoneId:l})}}catch(t){s.e(t)}finally{s.f()}var p,m=i(e);try{for(m.s();!(p=m.n()).done;){var h=p.value,T=h.continent,C=h.label,g=h.timezoneId;n[T]=n[T]||{continent:T,regions:[]},n[T].regions.push({label:C,cities:[],timezoneId:g})}}catch(t){m.e(t)}finally{m.f()}for(var f in n)Object.prototype.hasOwnProperty.call(n,f)&&(n[f].regions.sort((function(t,e){return t.label1&&void 0!==arguments[1]?arguments[1]:10,n=new r.EmojiIndex(i());return t?n.search(t,e)||[]:r.frequently.get(e).map((function(t){return n.emoji(t)}))||[]},s=function(t){r.frequently.add(t)}},7993:function(t,e,n){\"use strict\";n.d(e,{default:function(){return o}});var a=n(6609),i=require(\"md5\"),r=n.n(i),o=function(t){var e=t.toLowerCase();return null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=r()(e)),e=e.replace(/[^0-9a-f]/g,\"\"),(0,a.Z)(6)[function(t,e){for(var n=0,a=[],i=0;i20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},1139:function(t,e,n){\"use strict\";n.d(e,{Z:function(){return i}});var a=n(723),i={mixins:[a.Z],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},emits:[\"click\"],computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var e=function(t,e){for(var n=t.$parent;n;){if(n.$options.name===e)return n;n=n.$parent}}(this,\"NcActions\");e&&e.closeMenu&&e.closeMenu(!1)}}}}},9150:function(t,e){\"use strict\";function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,s=!0,l=!1;return{s:function(){a=a.call(t)},n:function(){var t=a.next();return s=t.done,t},e:function(t){l=!0,o=t},f:function(){try{s||null==a.return||a.return()}finally{if(l)throw o}}}}(e);try{for(i.s();!(a=i.n()).done;){var r,o=a.value;if(null!=t&&null!==(r=t.classList)&&void 0!==r&&r.contains(o))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,e)}}}},3351:function(t,e,n){\"use strict\";n.d(e,{yd:function(){return a.default},rm:function(){return i.default},tq:function(){return r.default},bf:function(){return o.default},iQ:function(){return p}});var a=n(9150),i=n(8136),r=n(334),o=n(7578),s=n(3607),l=n(768),A=n.n(l),c=require(\"@nextcloud/capabilities\"),d=n(4262);function u(t,e,n,a,i,r,o){try{var s=t[r](o),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}var p={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=regeneratorRuntime.mark((function e(){var a,i,r,o,l,u,p,m,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt(\"return\");case 2:if(a=(0,c.getCapabilities)(),Object.prototype.hasOwnProperty.call(a,\"user_status\")&&a.user_status.enabled){e.next=5;break}return e.abrupt(\"return\");case 5:if((0,s.getCurrentUser)()){e.next=7;break}return e.abrupt(\"return\");case 7:return e.prev=7,e.next=10,A().get((0,d.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:i=e.sent,r=i.data,o=r.ocs.data,l=o.status,u=o.message,p=o.icon,n.userStatus.status=l,n.userStatus.message=u||\"\",n.userStatus.icon=p||\"\",n.hasStatus=!0,e.next=24;break;case 19:if(e.prev=19,e.t0=e.catch(7),404!==e.t0.response.status||0!==(null===(m=e.t0.response.data.ocs)||void 0===m||null===(h=m.data)||void 0===h?void 0:h.length)){e.next=23;break}return e.abrupt(\"return\");case 23:console.error(e.t0);case 24:case\"end\":return e.stop()}}),e,null,[[7,19]])})),function(){var t=this,n=arguments;return new Promise((function(a,i){var r=e.apply(t,n);function o(t){u(r,a,i,o,s,\"next\",t)}function s(t){u(r,a,i,o,s,\"throw\",t)}o(void 0)}))})()}}}},8136:function(t,e){\"use strict\";e.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},334:function(t,e,n){\"use strict\";n.d(e,{default:function(){return r}});var a=n(2734),i=new(n.n(a)())({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}}),r={data:function(){return{isMobile:!1}},mounted:function(){i.$on(\"changed\",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},3648:function(t,e,n){\"use strict\";var a=n(932);e.Z={methods:{n:a.n,t:a.t}}},7578:function(t,e,n){\"use strict\";n.d(e,{default:function(){return w}});var a=n(4262),i={name:\"NcMentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,e){return(0,a.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}},r=n(3379),o=n.n(r),s=n(7795),l=n.n(s),A=n(569),c=n.n(A),d=n(3565),u=n.n(d),p=n(9216),m=n.n(p),h=n(4589),T=n.n(h),C=n(4477),g={};g.styleTagTransform=T(),g.setAttributes=u(),g.insert=c().bind(null,\"head\"),g.domAPI=l(),g.insertStyleElement=m(),o()(C.Z,g),C.Z&&C.Z.locals&&C.Z.locals;var f=(0,n(1900).Z)(i,(function(){var t=this,e=t._self._c;return e(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[e(\"span\",{staticClass:\"mention-bubble__wrapper\"},[e(\"span\",{staticClass:\"mention-bubble__content\"},[e(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\".concat(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\".concat(t.avatarUrl,\")\")}:null}),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"32fccbe9\",null).exports,b=n(1390),v=require(\"escape-html\"),E=n.n(v),y=require(\"striptags\"),D=n.n(y),S=n(2734),x=n.n(S),N=\"(?:^|\\\\s)\",k=\"(?:[^a-z]|$)\",F=new RegExp(\"\".concat(N,\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(k,\")\"),\"gi\"),R=new RegExp(\"\".concat(N,\"(@"[a-zA-Z0-9 _.@\\\\-']+")(\").concat(k,\")\"),\"gi\"),w={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return E()(t).split(F).map((function(t){return t.split(R)})).flat().map((function(t){if(!t.startsWith(\"@\"))return(0,b.Z)(t);var n=t.replace(/@|"/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"
\").replace(/&/gim,\"&\")},parseContent:function(t){var e=t.replace(/
/gim,\"\\n\");return e=(e=(e=e.replace(/ /gim,\" \")).replace(/&/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=D()(e,\"
\"),D()(e)},genSelectTemplate:function(t){var e=this.userData[t];return e?this.renderComponentHtml(e,f).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,e){var n=new(x().extend(e))({propsData:t}),a=document.createElement(\"div\"),i=document.createElement(\"div\");a.style.display=\"none\",a.appendChild(i),document.body.appendChild(a),n.$mount(i);var r=a.innerHTML;return n.$destroy(),a.remove(),r}}}},1336:function(t,e){\"use strict\";e.Z=function(t,e){for(var n=[],a=0,i=t.toLowerCase().indexOf(e.toLowerCase(),a),r=0;i>-1&&rtr>th{text-align:center;opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table tr:focus,.mx-datepicker-main .mx-table tr:hover,.mx-datepicker-main .mx-table tr:active{background-color:rgba(0,0,0,0)}.mx-datepicker-main .mx-table .cell{transition:all 100ms ease-in-out;text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table .cell>*{cursor:pointer}.mx-datepicker-main .mx-table .cell.today{opacity:1;color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.today:hover,.mx-datepicker-main .mx-table .cell.today:focus{color:var(--color-primary-text)}.mx-datepicker-main .mx-table .cell.in-range,.mx-datepicker-main .mx-table .cell.disabled{border-radius:0;font-weight:normal}.mx-datepicker-main .mx-table .cell.in-range{opacity:.7}.mx-datepicker-main .mx-table .cell.not-current-month{opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table .cell.not-current-month:hover,.mx-datepicker-main .mx-table .cell.not-current-month:focus{opacity:1}.mx-datepicker-main .mx-table .cell:hover,.mx-datepicker-main .mx-table .cell:focus,.mx-datepicker-main .mx-table .cell.actived,.mx-datepicker-main .mx-table .cell.active,.mx-datepicker-main .mx-table .cell.in-range{opacity:1;color:var(--color-primary-text);background-color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.disabled{opacity:.5;color:var(--color-text-lighter);border-radius:0;background-color:var(--color-background-darker)}.mx-datepicker-main .mx-table .mx-week-number{text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table span.mx-week-number,.mx-datepicker-main .mx-table li.mx-week-number,.mx-datepicker-main .mx-table span.cell,.mx-datepicker-main .mx-table li.cell{min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead,.mx-datepicker-main .mx-table.mx-table-date tbody,.mx-datepicker-main .mx-table.mx-table-year,.mx-datepicker-main .mx-table.mx-table-month{display:flex;flex-direction:column;justify-content:space-around}.mx-datepicker-main .mx-table.mx-table-date thead tr,.mx-datepicker-main .mx-table.mx-table-date tbody tr,.mx-datepicker-main .mx-table.mx-table-year tr,.mx-datepicker-main .mx-table.mx-table-month tr{display:inline-flex;align-items:center;flex:1 1 32px;justify-content:space-around;min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead th,.mx-datepicker-main .mx-table.mx-table-date thead td,.mx-datepicker-main .mx-table.mx-table-date tbody th,.mx-datepicker-main .mx-table.mx-table-date tbody td,.mx-datepicker-main .mx-table.mx-table-year th,.mx-datepicker-main .mx-table.mx-table-year td,.mx-datepicker-main .mx-table.mx-table-month th,.mx-datepicker-main .mx-table.mx-table-month td{display:flex;align-items:center;flex:0 1 32%;justify-content:center;min-width:32px;height:95%;min-height:32px;transition:background 100ms ease-in-out}.mx-datepicker-main .mx-table.mx-table-year tr th,.mx-datepicker-main .mx-table.mx-table-year tr td{flex-basis:48%}.mx-datepicker-main .mx-table.mx-table-date tr th,.mx-datepicker-main .mx-table.mx-table-date tr td{flex-basis:32px}.mx-datepicker-main .mx-btn{min-width:32px;height:32px;margin:0 2px !important;padding:7px 10px;cursor:pointer;text-decoration:none;opacity:.5;color:var(--color-text-lighter);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-btn:hover,.mx-datepicker-main .mx-btn:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header,.mx-datepicker-main .mx-time-header{display:inline-flex;align-items:center;justify-content:space-between;width:100%;height:44px;margin-bottom:4px}.mx-datepicker-main .mx-calendar-header button,.mx-datepicker-main .mx-time-header button{min-width:32px;min-height:32px;margin:0;cursor:pointer;text-align:center;text-decoration:none;opacity:.7;color:var(--color-main-text);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-calendar-header button:hover,.mx-datepicker-main .mx-time-header button:hover,.mx-datepicker-main .mx-calendar-header button:focus,.mx-datepicker-main .mx-time-header button:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{align-items:center;justify-content:center;width:32px;padding:0;background-repeat:no-repeat;background-size:16px;background-position:center}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right>i{display:none}.mx-datepicker-main .mx-calendar-header button.mx-btn-text,.mx-datepicker-main .mx-time-header button.mx-btn-text{line-height:initial}.mx-datepicker-main .mx-calendar-header .mx-calendar-header-label,.mx-datepicker-main .mx-time-header .mx-calendar-header-label{display:flex}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url('+g+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url(\"+f+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url(\"+b+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url(\"+v+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url(\"+E+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url(\"+y+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url(\"+D+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url(\"+S+\")}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right{order:2}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{order:3}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row .mx-week-number{font-weight:bold}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{opacity:1;border-radius:50px;background-color:var(--color-background-dark)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{background-color:rgba(0,0,0,0)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:focus,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:focus{color:inherit}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{opacity:.7;font-weight:normal}.mx-datepicker-main .mx-time{background-color:var(--color-main-background)}.mx-datepicker-main .mx-time .mx-time-header{justify-content:center;border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-column{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-option.active,.mx-datepicker-main .mx-time .mx-time-option:hover,.mx-datepicker-main .mx-time .mx-time-item.active,.mx-datepicker-main .mx-time .mx-time-item:hover{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-time .mx-time-option.disabled,.mx-datepicker-main .mx-time .mx-time-item.disabled{cursor:not-allowed;opacity:.5;color:var(--color-main-text);background-color:var(--color-main-background)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./node_modules/vue2-datepicker/scss/icon.scss\",\"webpack://./node_modules/vue2-datepicker/scss/btn.scss\",\"webpack://./node_modules/vue2-datepicker/scss/var.scss\",\"webpack://./node_modules/vue2-datepicker/scss/scrollbar.scss\",\"webpack://./node_modules/vue2-datepicker/scss/animation.scss\",\"webpack://./node_modules/vue2-datepicker/scss/index.scss\",\"webpack://./src/components/NcDatetimePicker/index.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2JAME,UAAA,CACA,iBAAA,CACA,QAAA,CACA,oBAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,kBAAA,CACA,yBAAA,CACA,wBAAA,CACA,iBAAA,CACA,qBAAA,CACA,uBAAA,CACA,mCAAA,CAGF,2BACE,SAAA,CAGF,6BACE,QAAA,CAGF,+EAGE,mCAAA,CCjCF,QACE,qBAAA,CACA,aAAA,CACA,cAAA,CACA,eAAA,CACA,gBAAA,CACA,QAAA,CACA,cAAA,CACA,8BAAA,CACA,YAAA,CACA,+BAAA,CACA,iBAAA,CACA,aCZc,CDad,kBAAA,CACA,cACE,oBCdY,CDeZ,aCfY,CDiBd,kCAEE,UCTa,CDUb,kBAAA,CAIJ,aACE,QAAA,CACA,aAAA,CACA,eAAA,CACA,mBAAA,CE7BF,cACE,WAAA,CAEE,wCACE,SAAA,CAKN,mBACE,WAAA,CACA,iBAAA,CACA,eAAA,CAGF,oBACE,iBAAA,CACA,OAAA,CACA,SAAA,CACA,UAAA,CACA,SAAA,CACA,SAAA,CACA,iBAAA,CACA,SAAA,CACA,gCAAA,CACA,wCACE,iBAAA,CACA,UAAA,CACA,QAAA,CACA,cAAA,CACA,qBAAA,CACA,qCAAA,CACA,+BAAA,CChCJ,4DAEE,SAAA,CACA,mBAAA,CACA,kGAAA,CAEA,2BAAA,CAGF,6EAGE,SAAA,CACA,mBAAA,CCTF,eACE,iBAAA,CACA,oBAAA,CACA,WAAA,CACA,mBACE,SAAA,CACA,UAAA,CACA,sBAAA,CACA,iBAAA,CACA,eAAA,CAIJ,qBACE,WAAA,CAGF,sBACE,UAAA,CAGF,kBACE,iBAAA,CACA,iCACE,YAAA,CAGA,uCACE,aAAA,CAEF,yDACE,YAAA,CAKN,UACE,oBAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,UHzCY,CG0CZ,qBAAA,CACA,qBAAA,CACA,iBHrBoB,CGsBpB,2CAAA,CAEA,gCAEE,oBHhDuB,CGkDzB,sCAEE,UHlDa,CGmDb,wBHlDwB,CGmDxB,iBHxDiB,CGyDjB,kBAAA,CAEF,gBACE,YAAA,CAEF,qBACE,YAAA,CAIJ,iCAEE,iBAAA,CACA,OAAA,CACA,SAAA,CACA,0BAAA,CACA,cAAA,CACA,aAAA,CACA,oBAAA,CACA,qBAAA,CAGF,eACE,cAAA,CACA,qBACE,oBAAA,CAIJ,oBACE,2EAAA,CACA,aH/Fc,CGgGd,qBAAA,CACA,wBAAA,CAGF,qBACE,iBAAA,CACA,cAAA,CACA,iBAAA,CACA,sCAAA,CACA,YHpGc,CGuGhB,uBACE,UAAA,CACA,qBAAA,CACA,WH/EoB,CGgFpB,WAAA,CACA,aAAA,CAGF,8CACE,iBHrFoB,CGsFpB,6BAAA,CAGF,oBACE,iBAAA,CACA,gBAAA,CAGF,iBACE,aAAA,CACA,aAAA,CACA,gBAAA,CAGF,kBACE,YAAA,CACA,yBAFF,kBAGI,qBAAA,CAAA,CAIJ,sBACE,eAAA,CACA,+BAAA,CAGF,sBACE,eAAA,CACA,gBAAA,CACA,4BAAA,CAGF,aACE,qBAAA,CACA,WAAA,CACA,gBAAA,CACA,0BACE,6BAAA,CAIJ,oCACE,qBAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,eAAA,CAGF,2CAEE,UAAA,CAEF,6CAEE,WAAA,CAGF,0BACE,cAAA,CAGF,8BACE,YAAA,CACA,oCACE,WAAA,CAIJ,qBACE,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,2BACE,cAAA,CACA,iCACE,aHlMU,CGmMV,wBH/K4B,CGiL9B,kCACE,UHtLkB,CGuLlB,wBHtMU,CGwMZ,8EAEE,aH3MU,CG4MV,wBHrL+B,CGuLjC,oCACE,kBAAA,CACA,UHrMW,CGsMX,wBHrMsB,CG2M1B,oCACE,cAAA,CACA,0CACE,wBHtM4B,CGwM9B,mDACE,wBHtM+B,CGyM/B,gDACE,aAAA,CACA,8BAAA,CAEF,iDACE,aAAA,CACA,8BAAA,CAMR,gBACE,UAAA,CAGF,UACE,kBAAA,CACA,wBAAA,CACA,gBAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,iBAAA,CAEA,aACE,SAAA,CACA,eAAA,CACA,qBAAA,CAEF,aACE,SAAA,CACA,qBAAA,CAKF,oCAEE,WAAA,CACA,cAAA,CAGF,sBACE,aHzQU,CG2QZ,uCACE,UAAA,CACA,eAAA,CAIJ,SACE,MAAA,CACA,WAAA,CACA,eAAA,CACA,kBACE,6BAAA,CAGJ,kBACE,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CAEF,gBAEE,+BAAA,CAGF,iBACE,YAAA,CACA,qBAAA,CACA,eAAA,CAGF,iBACE,YAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CAGF,gBACE,MAAA,CACA,iBAAA,CACA,6BAAA,CACA,iBAAA,CAEA,4BACE,aAAA,CAEF,8BACE,QAAA,CACA,SAAA,CACA,eAAA,CACA,qCACE,UAAA,CACA,aAAA,CACA,YAAA,CAGJ,8BACE,cAAA,CACA,cAAA,CACA,WAAA,CACA,gBAAA,CACA,oCACE,aH9UU,CG+UV,wBHlTwB,CGoT1B,qCACE,aHjVU,CGkVV,8BHzTyB,CG0TzB,eAAA,CAEF,uCACE,kBAAA,CACA,UH7UW,CG8UX,wBH7UsB,CGkV5B,gBACE,cAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,sBACE,aHpWY,CGqWZ,wBHxU0B,CG0U5B,uBACE,aHvWY,CGwWZ,8BH/U2B,CGgV3B,eAAA,CAEF,yBACE,kBAAA,CACA,UHnWa,CGoWb,wBHnWwB,CIT5B,+BACC,gBAAA,CACA,4BAAA,CAEA,mCACC,2BAAA,CAMA,2DACC,UAAA,CACA,oCAAA,CACA,6CAAA,CACA,2BAAA,CAGD,oHAEC,kBAAA,CACA,UCiBc,CDdf,mIAEC,+BAAA,CAMH,oBACC,4BAAA,CACA,oCAAA,CACA,6CAAA,CACA,uCAAA,CACA,eAAA,CAEA,wBACC,2BAAA,CAGD,wCACC,YAAA,CACA,eAAA,CAEA,sFACC,yCAAA,CAIF,kDACC,WAAA,CAGD,0CACC,2CAAA,CAGD,0CACC,wCAAA,CAGD,+CACC,6CAAA,CACA,yCAAA,CACA,0CAAA,CACA,oBAAA,CAGD,qDACC,8DAAA,CACA,0DAAA,CAID,iCACC,WAAA,CACA,WAAA,CACA,uDACC,WAAA,CAIF,oFAEC,yCAAA,CAGD,sCACC,YAAA,CACA,eAAA,CAIC,uFACC,2DAAA,CAGD,sGACC,2DAAA,CAMH,8BACC,iBAAA,CAEA,0CACC,iBAAA,CACA,UC3EgB,CD4EhB,+BAAA,CAID,sHAGC,8BAAA,CAID,oCACC,gCAAA,CACA,iBAAA,CACA,UCzFc,CD0Fd,kBAAA,CAGA,sCACC,cAAA,CAID,0CACC,SClGW,CDmGX,kCAAA,CACA,gBAAA,CACA,gGAEC,+BAAA,CAGF,0FAEC,eAAA,CACA,kBAAA,CAED,6CACC,UCjHa,CDmHd,sDACC,UCrHe,CDsHf,+BAAA,CACA,wHAEC,SCvHU,CD4HZ,wNAKC,SCjIW,CDkIX,+BAAA,CACA,6CAAA,CACA,gBAAA,CAED,6CACC,UCzIe,CD0If,+BAAA,CACA,eAAA,CACA,+CAAA,CAIF,8CACC,iBAAA,CACA,UCjJc,CDkJd,kBAAA,CAID,gLAIC,eApMW,CAwMZ,6LAIC,YAAA,CACA,qBAAA,CACA,4BAAA,CACA,yMACC,mBAAA,CACA,kBAAA,CACA,aAAA,CACA,4BAAA,CACA,eApNU,CAuNX,kZAEC,YAAA,CACA,kBAAA,CAEA,YAAA,CACA,sBAAA,CACA,cA9NU,CAgOV,UAAA,CACA,eAjOU,CAkOV,uCAAA,CAID,oGAGC,cAAA,CAID,oGAGC,eAhPU,CAsPb,4BACC,cAvPY,CAwPZ,WAxPY,CAyPZ,uBAAA,CACA,gBAAA,CACA,cAAA,CACA,oBAAA,CACA,UCpNiB,CDqNjB,+BAAA,CACA,kBA/PY,CAgQZ,gBAAA,CAEA,oEAEC,SCzNY,CD0NZ,4BAAA,CACA,+CAAA,CAKF,4EACC,mBAAA,CACA,kBAAA,CACA,6BAAA,CACA,UAAA,CACA,WCxPe,CDyPf,iBAAA,CAEA,0FACC,cApRW,CAqRX,eArRW,CAsRX,QAAA,CACA,cAAA,CACA,iBAAA,CACA,oBAAA,CACA,UChPc,CDiPd,4BAAA,CACA,kBA5RW,CA6RX,gBAAA,CAGA,4MAEC,SCvPW,CDwPX,4BAAA,CACA,+CAAA,CAID,ghBAIC,kBAAA,CACA,sBAAA,CACA,UA9SU,CA+SV,SAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CAGA,giBACC,YAAA,CAGF,kHACC,mBAAA,CAIF,gIACC,YAAA,CAGD,8HACC,wDAAA,CACA,gKACC,wDAAA,CAIF,gHACC,wDAAA,CACA,kJACC,wDAAA,CAIF,kHACC,wDAAA,CACA,oJACC,wDAAA,CAIF,gIACC,wDAAA,CACA,kKACC,wDAAA,CAIF,8HACC,OAAA,CAGD,4IACC,OAAA,CAOA,wEACC,gBAAA,CAED,qIAEC,SCpUW,CDqUX,kBAAA,CACA,6CAAA,CACA,2IACC,8BAAA,CACA,ybACC,aAAA,CAIH,uEACC,+BAAA,CACA,6CAAA,CAEA,0EACC,UCpVY,CDqVZ,kBAAA,CAOJ,6BACC,6CAAA,CAEA,6CAEC,sBAAA,CACA,2CAAA,CAGD,6CACC,yCAAA,CAKA,0MAEC,+BAAA,CACA,6CAAA,CAGD,0GACC,kBAAA,CACA,UCpXe,CDqXf,4BAAA,CACA,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-icon-left:before,\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-left:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-left:after,\\n.#{$namespace}-icon-double-right:after {\\n content: '';\\n position: relative;\\n top: -1px;\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n vertical-align: middle;\\n border-style: solid;\\n border-color: currentColor;\\n border-width: 2px 0 0 2px;\\n border-radius: 1px;\\n box-sizing: border-box;\\n transform-origin: center;\\n transform: rotate(-45deg) scale(0.7);\\n}\\n\\n.#{$namespace}-icon-double-left:after {\\n left: -4px;\\n}\\n\\n.#{$namespace}-icon-double-right:before {\\n left: 4px;\\n}\\n\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-right:after {\\n transform: rotate(135deg) scale(0.7);\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-btn {\\n box-sizing: border-box;\\n line-height: 1;\\n font-size: 14px;\\n font-weight: 500;\\n padding: 7px 15px;\\n margin: 0;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: 1px solid rgba(0, 0, 0, 0.1);\\n border-radius: 4px;\\n color: $default-color;\\n white-space: nowrap;\\n &:hover {\\n border-color: $primary-color;\\n color: $primary-color;\\n }\\n &:disabled,\\n &.disabled {\\n color: $disabled-color;\\n cursor: not-allowed;\\n }\\n}\\n\\n.#{$namespace}-btn-text {\\n border: 0;\\n padding: 0 4px;\\n text-align: left;\\n line-height: inherit;\\n}\\n\",\"$namespace: 'mx' !default;\\n\\n$default-color: #73879c !default;\\n$primary-color: #1284e7 !default;\\n\\n$today-color: mix(#fff, $primary-color, 10%) !default;\\n\\n$popup-z-index: 2001 !default;\\n\\n$input-border-color: #ccc !default;\\n$input-color: #555 !default;\\n$input-hover-border-color: #409aff !default;\\n\\n$disabled-color: #ccc !default;\\n$disabled-background-color: #f3f3f3 !default;\\n\\n$border-color: #e8e8e8 !default;\\n\\n$calendar-active-color: #fff !default;\\n$calendar-active-background-color: $primary-color !default;\\n\\n$calendar-hover-color: $default-color !default;\\n$calendar-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$calendar-in-range-color: $default-color !default;\\n$calendar-in-range-background-color: mix(#fff, $calendar-active-background-color, 85%) !default;\\n\\n$time-active-color: $primary-color !default;\\n$time-active-background-color: transparent !default;\\n\\n$time-hover-color: $default-color !default;\\n$time-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$input-border-radius: 4px !default;\\n$sidebar-margin-left: 100px !default;\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-scrollbar {\\n height: 100%;\\n &:hover {\\n .#{$namespace}-scrollbar-track {\\n opacity: 1;\\n }\\n }\\n}\\n\\n.#{$namespace}-scrollbar-wrap {\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n}\\n\\n.#{$namespace}-scrollbar-track {\\n position: absolute;\\n top: 2px;\\n right: 2px;\\n bottom: 2px;\\n width: 6px;\\n z-index: 1;\\n border-radius: 4px;\\n opacity: 0;\\n transition: opacity 0.24s ease-out;\\n .#{$namespace}-scrollbar-thumb {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n cursor: pointer;\\n border-radius: inherit;\\n background-color: rgba(144, 147, 153, 0.3);\\n transition: background-color 0.3s;\\n }\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-zoom-in-down-enter-active,\\n.#{$namespace}-zoom-in-down-leave-active {\\n opacity: 1;\\n transform: scaleY(1);\\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),\\n opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\\n transform-origin: center top;\\n}\\n\\n.#{$namespace}-zoom-in-down-enter,\\n.#{$namespace}-zoom-in-down-enter-from,\\n.#{$namespace}-zoom-in-down-leave-to {\\n opacity: 0;\\n transform: scaleY(0);\\n}\\n\",\"@import './var.scss';\\n@import './icon.scss';\\n@import './btn.scss';\\n@import './scrollbar.scss';\\n@import './animation.scss';\\n\\n.#{$namespace}-datepicker {\\n position: relative;\\n display: inline-block;\\n width: 210px;\\n svg {\\n width: 1em;\\n height: 1em;\\n vertical-align: -0.15em;\\n fill: currentColor;\\n overflow: hidden;\\n }\\n}\\n\\n.#{$namespace}-datepicker-range {\\n width: 320px;\\n}\\n\\n.#{$namespace}-datepicker-inline {\\n width: auto;\\n}\\n\\n.#{$namespace}-input-wrapper {\\n position: relative;\\n .#{$namespace}-icon-clear {\\n display: none;\\n }\\n &:hover {\\n .#{$namespace}-icon-clear {\\n display: block;\\n }\\n .#{$namespace}-icon-clear + .#{$namespace}-icon-calendar {\\n display: none;\\n }\\n }\\n}\\n\\n.#{$namespace}-input {\\n display: inline-block;\\n box-sizing: border-box;\\n width: 100%;\\n height: 34px;\\n padding: 6px 30px;\\n padding-left: 10px;\\n font-size: 14px;\\n line-height: 1.4;\\n color: $input-color;\\n background-color: #fff;\\n border: 1px solid $input-border-color;\\n border-radius: $input-border-radius;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n\\n &:hover,\\n &:focus {\\n border-color: $input-hover-border-color;\\n }\\n &:disabled,\\n &.disabled {\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n border-color: $input-border-color;\\n cursor: not-allowed;\\n }\\n &:focus {\\n outline: none;\\n }\\n &::-ms-clear {\\n display: none;\\n }\\n}\\n\\n.#{$namespace}-icon-calendar,\\n.#{$namespace}-icon-clear {\\n position: absolute;\\n top: 50%;\\n right: 8px;\\n transform: translateY(-50%);\\n font-size: 16px;\\n line-height: 1;\\n color: rgba(0, 0, 0, 0.5);\\n vertical-align: middle;\\n}\\n\\n.#{$namespace}-icon-clear {\\n cursor: pointer;\\n &:hover {\\n color: rgba(0, 0, 0, 0.8);\\n }\\n}\\n\\n.#{$namespace}-datepicker-main {\\n font: 14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;\\n color: $default-color;\\n background-color: #fff;\\n border: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-popup {\\n position: absolute;\\n margin-top: 1px;\\n margin-bottom: 1px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n z-index: $popup-z-index;\\n}\\n\\n.#{$namespace}-datepicker-sidebar {\\n float: left;\\n box-sizing: border-box;\\n width: $sidebar-margin-left;\\n padding: 6px;\\n overflow: auto;\\n}\\n\\n.#{$namespace}-datepicker-sidebar + .#{$namespace}-datepicker-content {\\n margin-left: $sidebar-margin-left;\\n border-left: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-body {\\n position: relative;\\n user-select: none;\\n}\\n\\n.#{$namespace}-btn-shortcut {\\n display: block;\\n padding: 0 6px;\\n line-height: 24px;\\n}\\n\\n.#{$namespace}-range-wrapper {\\n display: flex;\\n @media (max-width: 750px) {\\n flex-direction: column;\\n }\\n}\\n\\n.#{$namespace}-datepicker-header {\\n padding: 6px 8px;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-footer {\\n padding: 6px 8px;\\n text-align: right;\\n border-top: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-calendar {\\n box-sizing: border-box;\\n width: 248px;\\n padding: 6px 12px;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n\\n.#{$namespace}-calendar-header {\\n box-sizing: border-box;\\n height: 34px;\\n line-height: 34px;\\n text-align: center;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-btn-icon-left,\\n.#{$namespace}-btn-icon-double-left {\\n float: left;\\n}\\n.#{$namespace}-btn-icon-right,\\n.#{$namespace}-btn-icon-double-right {\\n float: right;\\n}\\n\\n.#{$namespace}-calendar-header-label {\\n font-size: 14px;\\n}\\n\\n.#{$namespace}-calendar-decade-separator {\\n margin: 0 2px;\\n &:after {\\n content: '~';\\n }\\n}\\n\\n.#{$namespace}-calendar-content {\\n position: relative;\\n height: 224px;\\n box-sizing: border-box;\\n .cell {\\n cursor: pointer;\\n &:hover {\\n color: $calendar-hover-color;\\n background-color: $calendar-hover-background-color;\\n }\\n &.active {\\n color: $calendar-active-color;\\n background-color: $calendar-active-background-color;\\n }\\n &.in-range,\\n &.hover-in-range {\\n color: $calendar-in-range-color;\\n background-color: $calendar-in-range-background-color;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-calendar-week-mode {\\n .#{$namespace}-date-row {\\n cursor: pointer;\\n &:hover {\\n background-color: $calendar-hover-background-color;\\n }\\n &.#{$namespace}-active-week {\\n background-color: $calendar-in-range-background-color;\\n }\\n .cell {\\n &:hover {\\n color: inherit;\\n background-color: transparent;\\n }\\n &.active {\\n color: inherit;\\n background-color: transparent;\\n }\\n }\\n }\\n}\\n\\n.#{$namespace}-week-number {\\n opacity: 0.5;\\n}\\n\\n.#{$namespace}-table {\\n table-layout: fixed;\\n border-collapse: separate;\\n border-spacing: 0;\\n width: 100%;\\n height: 100%;\\n box-sizing: border-box;\\n text-align: center;\\n\\n th {\\n padding: 0;\\n font-weight: 500;\\n vertical-align: middle;\\n }\\n td {\\n padding: 0;\\n vertical-align: middle;\\n }\\n}\\n\\n.#{$namespace}-table-date {\\n td,\\n th {\\n height: 32px;\\n font-size: 12px;\\n }\\n\\n .today {\\n color: $today-color;\\n }\\n .cell.not-current-month {\\n color: #ccc;\\n background: none; // cover the in-range style\\n }\\n}\\n\\n.#{$namespace}-time {\\n flex: 1;\\n width: 224px;\\n background: #fff;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n.#{$namespace}-calendar-time {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.#{$namespace}-time-header {\\n @extend .#{$namespace}-calendar-header;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-time-content {\\n height: 224px;\\n box-sizing: border-box;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-columns {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-column {\\n flex: 1;\\n position: relative;\\n border-left: 1px solid $border-color;\\n text-align: center;\\n\\n &:first-child {\\n border-left: 0;\\n }\\n .#{$namespace}-time-list {\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n &::after {\\n content: '';\\n display: block;\\n height: 32 * 6px;\\n }\\n }\\n .#{$namespace}-time-item {\\n cursor: pointer;\\n font-size: 12px;\\n height: 32px;\\n line-height: 32px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-time-option {\\n cursor: pointer;\\n padding: 8px 10px;\\n font-size: 14px;\\n line-height: 20px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n$cell_height: 32px;\\n\\n@import '~vue2-datepicker/scss/index';\\n\\n.mx-datepicker[data-v-#{$scope_version}] {\\n\\tuser-select: none;\\n\\tcolor: var(--color-main-text);\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t/* INPUT CONTAINER */\\n\\t.mx-input-wrapper {\\n\\t\\t// input\\n\\t\\t.mx-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tbackground-clip: content-box;\\n\\t\\t}\\n\\n\\t\\t&:disabled,\\n\\t\\t&.disabled {\\n\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\n\\t\\t.mx-icon-calendar,\\n\\t\\t.mx-icon-clear {\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\t}\\n}\\n\\n// Datepicker popup wrapper\\n.mx-datepicker-main {\\n\\tcolor: var(--color-main-text);\\n\\tborder: 1px solid var(--color-border);\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face) !important;\\n\\tline-height: 1.5;\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t&.mx-datepicker-popup {\\n\\t\\tz-index: 2000;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t.mx-datepicker-sidebar + .mx-datepicker-content {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\t\\n\\t&.show-week-number .mx-calendar {\\n\\t\\twidth: $cell_height * 8 + 2 * 5px + 30px; // week number + 7 days + padding + 30px padding to fit the buttons\\n\\t}\\n\\n\\t.mx-datepicker-header {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-datepicker-footer {\\n\\t\\tborder-top: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-datepicker-btn-confirm {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\topacity: 1 !important;\\n\\t}\\n\\n\\t.mx-datepicker-btn-confirm:hover {\\n\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\tborder-color: var(--color-primary-element-light) !important;\\n\\t}\\n\\n\\t// default popup styles\\n\\t.mx-calendar {\\n\\t\\twidth: $cell_height * 7 + 2 * 5px + 30px; // 7 days + padding + 30px padding to fit the buttons\\n\\t\\tpadding: 5px;\\n\\t\\t&.mx-calendar-week-mode {\\n\\t\\t\\twidth: $cell_height * 8 + 2 * 5px + 30px; // week number + 7 days + padding + 30px padding to fit the buttons\\n\\t\\t}\\n\\t}\\n\\n\\t.mx-time + .mx-time,\\n\\t.mx-calendar + .mx-calendar {\\n\\t\\tborder-left: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-range-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t// first active cell, range style on day picker panel only\\n\\t\\t.mx-calendar-content .mx-table-date .cell {\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\tborder-radius: var(--border-radius) 0 0 var(--border-radius);\\n\\t\\t\\t}\\n\\t\\t\\t// second selected cell\\n\\t\\t\\t&.in-range + .cell.active {\\n\\t\\t\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Various panels\\n\\t.mx-table {\\n\\t\\ttext-align: center;\\n\\n\\t\\tthead > tr > th {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\n\\t\\t// Override table rule from server\\n\\t\\ttr:focus,\\n\\t\\ttr:hover,\\n\\t\\ttr:active {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\n\\t\\t// regular cell style\\n\\t\\t.cell {\\n\\t\\t\\ttransition: all 100ms ease-in-out;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\n\\t\\t\\t// force pointer on all content\\n\\t\\t\\t> * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Selected and mouse event\\n\\t\\t\\t&.today {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range,\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.not-current-month {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// hover-/focus after the other rules\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&.actived,\\n\\t\\t\\t&.active,\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-week-number {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\t\\t}\\n\\n\\t\\t// cell that are not in a table\\n\\t\\tspan.mx-week-number,\\n\\t\\tli.mx-week-number,\\n\\t\\tspan.cell,\\n\\t\\tli.cell {\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t}\\n\\n\\t\\t// Standard grid/flex layout for day/month/year panels\\n\\t\\t&.mx-table-date thead,\\n\\t\\t&.mx-table-date tbody,\\n\\t\\t&.mx-table-year,\\n\\t\\t&.mx-table-month {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\ttr {\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tflex: 1 1 $cell_height;\\n\\t\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t}\\n\\t\\t\\t// Default cell style\\n\\t\\t\\tth,\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// 3 rows with a little spacing\\n\\t\\t\\t\\tflex: 0 1 32%;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\t\\t// spacing between rows\\n\\t\\t\\t\\theight: 95%;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t\\ttransition: background 100ms ease-in-out;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-year {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: 48%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-date {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: $cell_height;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// default buttons: header...\\n\\t.mx-btn {\\n\\t\\tmin-width: $cell_height;\\n\\t\\theight: $cell_height;\\n\\t\\tmargin: 0 2px !important; // center also single element. Definitively use margin so that buttons are not touching\\n\\t\\tpadding: 7px 10px;\\n\\t\\tcursor: pointer;\\n\\t\\ttext-decoration: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder-radius: $cell_height;\\n\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\t\\t// Mouse feedback\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t}\\n\\t}\\n\\n\\t// Header, arrows, years, months\\n\\t.mx-calendar-header {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: space-between;\\n\\t\\twidth: 100%;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin-bottom: 4px;\\n\\n\\t\\tbutton {\\n\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: $cell_height;\\n\\t\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\n\\t\\t\\t// Mouse feedback\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Header arrows\\n\\t\\t\\t&.mx-btn-icon-double-left,\\n\\t\\t\\t&.mx-btn-icon-left,\\n\\t\\t\\t&.mx-btn-icon-right,\\n\\t\\t\\t&.mx-btn-icon-double-right {\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\twidth: $cell_height;\\n\\t\\t\\t\\tpadding: 0; // leave the centering to flex\\n\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\tbackground-size: 16px;\\n\\t\\t\\t\\tbackground-position: center;\\n\\n\\t\\t\\t\\t// Hide original icons\\n\\t\\t\\t\\t> i {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.mx-btn-text {\\n\\t\\t\\t\\tline-height: initial;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-calendar-header-label {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-left {\\n\\t\\t\\tbackground-image: url('./chevron-double-left.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-double-left-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-left {\\n\\t\\t\\tbackground-image: url('./chevron-left.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-left-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-right {\\n\\t\\t\\tbackground-image: url('./chevron-right.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-right-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-right {\\n\\t\\t\\tbackground-image: url('./chevron-double-right.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-double-right-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-right {\\n\\t\\t\\torder: 2;\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-double-right {\\n\\t\\t\\torder: 3;\\n\\t\\t}\\n\\t}\\n\\t// Week panel\\n\\t.mx-calendar-week-mode {\\n\\t\\t// move focus on row and not on cell\\n\\t\\t.mx-date-row {\\n\\t\\t\\t.mx-week-number {\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tborder-radius: 50px;\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\t\\t&, &:hover, &:focus {\\n\\t\\t\\t\\t\\t\\tcolor: inherit;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t// Remove cell feedback on selected rows\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Time panel\\n\\t.mx-time {\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t.mx-time-header {\\n\\t\\t\\t// only one button, center it\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-column {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-option,\\n\\t\\t.mx-time-item {\\n\\t\\t\\t&.active,\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=C},636:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,'.material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-9de4d92]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-9de4d92]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-9de4d92].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-9de4d92].multiselect--disabled,.multiselect[data-v-9de4d92].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-9de4d92] .loading-icon{position:absolute;right:1px;top:1px;width:48px;height:35px;background:var(--color-main-background);z-index:3}.multiselect[data-v-9de4d92] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:2px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:var(--border-radius-large);min-height:44px;height:100%}.multiselect[data-v-9de4d92] .multiselect__tags:focus,.multiselect[data-v-9de4d92] .multiselect__tags:hover{border-color:var(--color-primary)}.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__tags-wrap:empty~input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__tags-wrap:empty~input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__single,.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center;font-size:var(--default-font-size)}.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__single,.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__single *,.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__strong,.multiselect[data-v-9de4d92] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-9de4d92] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;border:none;cursor:pointer;padding:7px 4px !important;display:none;font-size:var(--default-font-size)}.multiselect[data-v-9de4d92].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important;padding:12px 15px !important;height:40px !important}.multiselect[data-v-9de4d92].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-9de4d92] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-9de4d92] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-9de4d92] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:rgba(0,0,0,0)}.multiselect[data-v-9de4d92] .multiselect__content-wrapper li,.multiselect[data-v-9de4d92] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-9de4d92] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:rgba(0,0,0,0);color:var(--color-text-lighter);width:100%}.multiselect[data-v-9de4d92] .multiselect__content-wrapper li>span::before{content:\" \";background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-9de4d92] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-9de4d92] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-9de4d92] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-9de4d92] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-9de4d92] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-9de4d92].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-9de4d92].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-9de4d92].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-9de4d92].multiselect--multiple .multiselect__content-wrapper li>span[data-select=create]::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-9de4d92].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-9de4d92]:hover .multiselect__placeholder,.multiselect[data-v-9de4d92] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcMultiselect/index.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,6BACC,QAAA,CACA,oBAAA,CACA,oBAAA,CAEA,eAAA,CACA,iBAAA,CACA,6CAAA,CAGA,4EACC,UAAA,CACA,oBAAA,CAKA,6FACC,2DAAA,CAKF,2HAEC,wDAAA,CAID,2CACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,UAAA,CACA,WAAA,CACA,uCAAA,CACA,SAAA,CAID,gDAGC,YAAA,CACA,gBAAA,CACA,eAAA,CACA,yCAAA,CACA,cAAA,CACA,iBAAA,CACA,wCAAA,CACA,eAAA,CACA,WAAA,CAEA,4GACC,iCAAA,CAID,wEACC,kBAAA,CACA,mBAAA,CACA,eAAA,CACA,cAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,gBAAA,CAGA,uGACC,oBAAA,CACA,wBAAA,CAIA,sIACC,YAAA,CAIF,0FACC,gBAAA,CACA,eAAA,CACA,qBAAA,CACA,4BAAA,CACA,yCAAA,CACA,mBAAA,CACA,kBAAA,CACA,iBAAA,CAGA,WAAA,CACA,qBAAA,CACA,0BAAA,CACA,cAAA,CAGA,qGACC,aAAA,CAED,2GACC,gBA3Da,CA+Dd,+FACC,kBAAA,CACA,sBAAA,CACA,eAAA,CAOH,+IAEC,eAAA,CACA,aAAA,CACA,SAAA,CACA,6CAAA,CACA,gBAAA,CACA,+BAAA,CAEA,YAAA,CACA,kBAAA,CACA,kCAAA,CAGA,kSACC,cAAA,CAIF,yIAEC,gBAAA,CACA,+BAAA,CACA,mBAAA,CACA,kBAAA,CACA,UCrGc,CDsGd,gBAnGe,CAqGf,SAAA,CAGD,yEACC,qBAAA,CACA,4BAAA,CACA,QAAA,CACA,SAAA,CACA,WAAA,CAGA,cAAA,CAEA,0BAAA,CACA,YAAA,CACD,kCAAA,CAQA,0EACC,oBAAA,CACA,sBAAA,CAEA,2DAAA,CACA,wBAAA,CACA,4BAAA,CACA,sBAAA,CAID,qEACC,YAAA,CAKF,2DACC,iBAAA,CACA,UAAA,CACA,eAAA,CACA,yCAAA,CACA,uCAAA,CACA,UAAA,CACA,gBAAA,CACA,eAAA,CACA,2DAAA,CACA,iFACC,UAAA,CACA,SAAA,CAED,8DACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,8BAAA,CACA,iIAEC,cAAA,CAED,mEACC,WAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,QAAA,CACA,WAAA,CACA,cAAA,CACA,0BAAA,CACA,wBAAA,CACA,qBAAA,CACA,oBAAA,CACA,gBAAA,CACA,mBAAA,CACA,kBAAA,CACA,8BAAA,CACA,+BAAA,CACA,UAAA,CAEA,2EACC,WAAA,CACA,2BAAA,CACA,0BAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA,CACA,UClMc,CDmMd,gBAAA,CACA,iBAAA,CAED,iGACC,6CAAA,CACA,UCxMc,CD0Mf,kGACC,4BAAA,CACA,6CAAA,CAED,qHACC,UAAA,CAIA,8NACC,kBAAA,CAOL,8EACC,WAAA,CACA,kBAAA,CAMA,sEACC,cAAA,CAIA,iGACC,0CAAA,CAMA,qHACC,oCAAA,CACA,kBAAA,CAOJ,+FACC,YAAA,CAMA,6IACC,4BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t.loading-icon {\\n\\t\\tposition: absolute;\\n\\t\\tright: 1px;\\n\\t\\ttop: 1px;\\n\\t\\twidth: 48px;\\n\\t\\theight: 35px;\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 3;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 2px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tmin-height: 44px;\\n\\t\\theight: 100%;\\n\\n\\t\\t&:focus, &:hover {\\n\\t\\t\\tborder-color: var(--color-primary);\\n\\t\\t}\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 3px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 2px 1px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tfont-size: var(--default-font-size);\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 4px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\t}\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t\\tpadding: 12px 15px !important;\\n\\t\\t\\theight: 40px !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},8384:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-tooltip.v-popper__popper{position:absolute;z-index:100000;top:0;right:auto;left:auto;display:block;margin:0;padding:0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity .15s,visibility .15s;opacity:0}.v-popper--theme-tooltip.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity .15s;opacity:1}.v-popper--theme-tooltip .v-popper__inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.v-popper--theme-tooltip .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/directives/Tooltip/index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCQA,0CACC,iBAAA,CACA,cAAA,CACA,KAAA,CACA,UAAA,CACA,SAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,SAAA,CACA,eAAA,CAEA,eAAA,CACA,sDAAA,CAGA,iGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAID,oGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAID,mGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAID,kGACC,SAAA,CACA,oBAAA,CACA,8CAAA,CAID,4DACC,iBAAA,CACA,uCAAA,CACA,SAAA,CAED,6DACC,kBAAA,CACA,uBAAA,CACA,SAAA,CAKF,0CACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,4BAAA,CACA,kCAAA,CACA,6CAAA,CAID,oDACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBAhFY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ \\n* @copyright Copyright (c) 2016, Robin Appelman \\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt \\n* @copyright Copyright (c) 2016, Erik Pellikka \\n* @copyright Copyright (c) 2015, Vincent Petry \\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-tooltip {\\n\\t&.v-popper__popper {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tright: auto;\\n\\t\\tleft: auto;\\n\\t\\tdisplay: block;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\ttext-align: left;\\n\\t\\ttext-align: start;\\n\\t\\topacity: 0;\\n\\t\\tline-height: 1.6;\\n\\n\\t\\tline-break: auto;\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t// TOP\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// BOTTOM\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// RIGHT\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// LEFT\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t// HIDDEN / SHOWN\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity .15s;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// CONTENT\\n\\t.v-popper__inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.v-popper__arrow-container {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},5698:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-45a871d0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-45a871d0]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-45a871d0]{pointer-events:none;opacity:.5}.action--disabled[data-v-45a871d0]:hover,.action--disabled[data-v-45a871d0]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-45a871d0]{opacity:1 !important}.action-button[data-v-45a871d0]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-45a871d0]:hover,.action-button[data-v-45a871d0]:focus{opacity:1}.action-button>span[data-v-45a871d0]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-45a871d0]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-45a871d0] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-45a871d0] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-45a871d0]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-45a871d0]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-45a871d0]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAMF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA,CAOF,gCACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,UCpBe,CDqBf,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC/Ce,CDiDf,4EAEC,SChCY,CDmCb,qCACC,cAAA,CACA,kBAAA,CAGD,sCACC,UC5Dc,CD6Dd,WC7Dc,CD8Dd,SC3CY,CD4CZ,+BAAA,CACA,oBC5DS,CD6DT,2BAAA,CAGD,sDACC,UCrEc,CDsEd,WCtEc,CDuEd,SCpDY,CDsDZ,iFACC,qBAAA,CAKF,kCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,0CACC,cAAA,CAEA,oBAAA,CAGD,uCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\tborder-radius: 6px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},7264:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-fd7dc03c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-caption[data-v-fd7dc03c]{color:var(--color-text-maxcontrast);line-height:44px;white-space:nowrap;text-overflow:ellipsis;box-shadow:none !important;user-select:none;pointer-events:none;margin-left:12px;padding-right:14px;height:44px;display:flex;align-items:center}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActionCaption/NcActionCaption.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yCACC,mCAAA,CACA,gBCqBgB,CDpBhB,kBAAA,CACA,sBAAA,CACA,0BAAA,CACA,gBAAA,CACA,mBAAA,CACA,gBAAA,CACA,kBAAA,CACA,WCagB,CDZhB,YAAA,CACA,kBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.app-navigation-caption {\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tline-height: $clickable-area;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tbox-shadow: none !important;\\n\\tuser-select: none;\\n\\tpointer-events: none;\\n\\tmargin-left: 12px;\\n\\tpadding-right: 14px;\\n\\theight: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},7126:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-2669efff]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-2669efff]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-2669efff]{pointer-events:none;opacity:.5}.action--disabled[data-v-2669efff]:hover,.action--disabled[data-v-2669efff]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-2669efff]{opacity:1 !important}.action-checkbox[data-v-2669efff]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;line-height:44px}.action-checkbox__checkbox[data-v-2669efff]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-checkbox__checkbox:focus+.action-checkbox__label[data-v-2669efff]{opacity:1}.action-checkbox__label[data-v-2669efff]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important;opacity:.7}.action-checkbox__label[data-v-2669efff]::before{margin:0 14px 0 !important}.action-checkbox--disabled[data-v-2669efff],.action-checkbox--disabled .action-checkbox__label[data-v-2669efff]{cursor:pointer}.action-checkbox:not(.action-checkbox--disabled):hover .action-checkbox__label[data-v-2669efff],.action-checkbox:not(.action-checkbox--disabled):focus .action-checkbox__label[data-v-2669efff]{opacity:1}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/components/NcActionCheckbox/NcActionCheckbox.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAMF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA,CEpCH,kCACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,gBAAA,CAGA,4CACC,iBAAA,CACA,QAAA,CACA,aAAA,CAEA,eAAA,CAEA,SAAA,CACA,UAAA,CACA,0EACC,SDMY,CCFd,yCACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,oBAAA,CACA,6BAAA,CAEA,UDPe,CCUf,iDACC,0BAAA,CAKD,gHAEC,cAAA,CAMD,gMACC,SDxBY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\tborder-radius: 6px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-checkbox {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__checkbox {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align checkbox to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// checkbox-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-checkbox--disabled):hover,\\n\\t&:not(.action-checkbox--disabled):focus {\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},4345:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-b0a87272]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-b0a87272]:not(.button-vue),input[data-v-b0a87272]:not([type=range]),textarea[data-v-b0a87272]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-b0a87272]:not(.button-vue):not(:disabled):not(.primary):hover,button[data-v-b0a87272]:not(.button-vue):not(:disabled):not(.primary):focus,button:not(.button-vue):not(:disabled):not(.primary).active[data-v-b0a87272],input[data-v-b0a87272]:not([type=range]):not(:disabled):not(.primary):hover,input[data-v-b0a87272]:not([type=range]):not(:disabled):not(.primary):focus,input:not([type=range]):not(:disabled):not(.primary).active[data-v-b0a87272],textarea[data-v-b0a87272]:not(:disabled):not(.primary):hover,textarea[data-v-b0a87272]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-b0a87272]{border-color:var(--color-primary-element);outline:none}button[data-v-b0a87272]:not(.button-vue):not(:disabled):not(.primary):active,input[data-v-b0a87272]:not([type=range]):not(:disabled):not(.primary):active,textarea[data-v-b0a87272]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-b0a87272]:not(.button-vue):disabled,input[data-v-b0a87272]:not([type=range]):disabled,textarea[data-v-b0a87272]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-b0a87272]:not(.button-vue):required,input[data-v-b0a87272]:not([type=range]):required,textarea[data-v-b0a87272]:required{box-shadow:none}button[data-v-b0a87272]:not(.button-vue):invalid,input[data-v-b0a87272]:not([type=range]):invalid,textarea[data-v-b0a87272]:invalid{border-color:var(--color-error);box-shadow:none !important}button:not(.button-vue).primary[data-v-b0a87272],input:not([type=range]).primary[data-v-b0a87272],textarea.primary[data-v-b0a87272]{cursor:pointer;color:var(--color-primary-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button:not(.button-vue).primary[data-v-b0a87272]:not(:disabled):hover,button:not(.button-vue).primary[data-v-b0a87272]:not(:disabled):focus,button:not(.button-vue).primary[data-v-b0a87272]:not(:disabled):active,input:not([type=range]).primary[data-v-b0a87272]:not(:disabled):hover,input:not([type=range]).primary[data-v-b0a87272]:not(:disabled):focus,input:not([type=range]).primary[data-v-b0a87272]:not(:disabled):active,textarea.primary[data-v-b0a87272]:not(:disabled):hover,textarea.primary[data-v-b0a87272]:not(:disabled):focus,textarea.primary[data-v-b0a87272]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button:not(.button-vue).primary[data-v-b0a87272]:not(:disabled):active,input:not([type=range]).primary[data-v-b0a87272]:not(:disabled):active,textarea.primary[data-v-b0a87272]:not(:disabled):active{color:var(--color-primary-text-dark)}button:not(.button-vue).primary[data-v-b0a87272]:disabled,input:not([type=range]).primary[data-v-b0a87272]:disabled,textarea.primary[data-v-b0a87272]:disabled{cursor:default;color:var(--color-primary-text-dark);background-color:var(--color-primary-element)}li.active[data-v-b0a87272]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-b0a87272]{pointer-events:none;opacity:.5}.action--disabled[data-v-b0a87272]:hover,.action--disabled[data-v-b0a87272]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-b0a87272]{opacity:1 !important}.action-input[data-v-b0a87272]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal}.action-input[data-v-b0a87272] .material-design-icon{width:44px;height:44px;opacity:1}.action-input[data-v-b0a87272] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-input[data-v-b0a87272]:not(.action-input--picker){opacity:.7}.action-input[data-v-b0a87272]:not(.action-input--picker):hover,.action-input[data-v-b0a87272]:not(.action-input--picker):focus{opacity:1}.action-input--picker .action-input__icon[data-v-b0a87272]{opacity:.7}.action-input--picker:hover .action-input__icon[data-v-b0a87272],.action-input--picker:focus .action-input__icon[data-v-b0a87272]{opacity:1}.action-input>span[data-v-b0a87272]{cursor:pointer;white-space:nowrap}.action-input__icon[data-v-b0a87272]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-input__form[data-v-b0a87272]{display:flex;align-items:center;flex:1 1 auto;margin:4px 0;padding-right:14px}.action-input__submit[data-v-b0a87272]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-input__label[data-v-b0a87272]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;box-sizing:border-box;margin:0 0 0 -8px;padding:7px 6px;opacity:1;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-left-color:rgba(0,0,0,0);border-radius:0 var(--border-radius) var(--border-radius) 0;background-color:var(--color-main-background);background-clip:padding-box}.action-input__label[data-v-b0a87272],.action-input__label *[data-v-b0a87272]{cursor:pointer}.action-input__input[data-v-b0a87272]{flex:1 1 auto;min-width:132px;min-height:36px;max-height:36px;margin:0}.action-input__input[data-v-b0a87272]:disabled{cursor:default}.action-input__input:not(:active):not(:hover):not(:focus):invalid+.action-input__label[data-v-b0a87272]{border-color:var(--color-error);border-left-color:rgba(0,0,0,0)}.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-b0a87272]:active,.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-b0a87272]:hover,.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-b0a87272]:focus{border-color:var(--color-primary-element);border-radius:var(--border-radius)}.action-input__input:active:not(:disabled)+.action-input__label[data-v-b0a87272],.action-input__input:hover:not(:disabled)+.action-input__label[data-v-b0a87272],.action-input__input:focus:not(:disabled)+.action-input__label[data-v-b0a87272]{z-index:2;border-color:var(--color-primary-element);border-left-color:rgba(0,0,0,0)}.action-input__picker[data-v-b0a87272] .mx-input{margin:0}.action-input__multi[data-v-b0a87272]{width:100%}li:last-child>.action-input[data-v-b0a87272]{padding-bottom:10px}li:first-child>.action-input[data-v-b0a87272]{padding-top:10px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/inputs.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/assets/action.scss\",\"webpack://./src/components/NcActionInput/NcActionInput.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCqBD,4GAGC,QAAA,CACA,eAAA,CAEA,WAAA,CAEA,+BAAA,CACA,yCAAA,CACA,kCAAA,CACA,YAAA,CACA,6CAAA,CAEA,cAAA,CAGC,koBAIC,yCAAA,CACA,YAAA,CAGD,wNACC,6BAAA,CACA,YAAA,CACA,6CAAA,CAIF,uIACC,cAAA,CACA,UCrBiB,CDsBjB,mCAAA,CACA,6CAAA,CAGD,uIACC,eAAA,CAGD,oIACC,+BAAA,CACA,0BAAA,CAID,oIACC,cAAA,CACA,+BAAA,CACA,yCAAA,CACA,6CAAA,CAGC,4kBAGC,+CAAA,CACA,mDAAA,CAED,sMACC,oCAAA,CAIF,+JACC,cAAA,CACA,oCAAA,CAEA,6CAAA,CE3ED,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAMF,mCACC,mBAAA,CACA,UDMiB,CCLjB,kFACC,cAAA,CACA,UDGgB,CCDjB,qCACC,oBAAA,CCjCH,+BACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CAEA,qDACC,UFLe,CEMf,WFNe,CEOf,SFYa,CEVb,gFACC,qBAAA,CAKF,0DACC,UFEe,CEDf,gIAEC,SAAA,CAMD,2DACC,UFRc,CEUf,kIAEC,SFXY,CEed,oCACC,cAAA,CACA,kBAAA,CAGD,qCACC,WAAA,CACA,YAAA,CAGA,wBAAA,CAEA,+BAAA,CACA,oBF3CU,CE+CX,qCACC,YAAA,CACA,kBAAA,CACA,aAAA,CAEA,YAAA,CACA,kBFjDY,CEoDb,uCACC,iBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CAGD,sCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,iBAAA,CACA,eAAA,CAEA,SF7Da,CE8Db,+BAAA,CACA,yCAAA,CACA,+BAAA,CACA,2DAAA,CAEA,6CAAA,CACA,2BAAA,CAEA,8EACC,cAAA,CAKF,sCACC,aAAA,CAEA,eAAA,CACA,eAAA,CACA,eAAA,CACA,QAAA,CAGA,+CACC,cAAA,CAMC,wGACC,+BAAA,CACA,+BAAA,CAID,gWAGC,yCAAA,CACA,kCAAA,CAOF,iPAEC,SAAA,CAEA,yCAAA,CACA,+BAAA,CAKH,iDACC,QAAA,CAGD,sCACC,UAAA,CAOF,6CACC,mBAAA,CAID,8CACC,gBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton:not(.button-vue),\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\tborder-radius: 6px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-input {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\n\\t&:deep(.material-design-icon) {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// do not change the opacity of the datepicker\\n\\t&:not(.action-input--picker) {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t// only change for the icon then\\n\\t&--picker {\\n\\t\\t.action-input__icon {\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\t\\t&:hover .action-input__icon,\\n\\t\\t&:focus .action-input__icon {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0 0 0 -8px;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tborder-left-color: transparent;\\n\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__input {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-width: $clickable-area * 3;\\n\\t\\tmin-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-input__label {\\n\\t\\t\\t\\t\\tborder-color: var(--color-error);\\n\\t\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__picker :deep(.mx-input) {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t&__multi {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-input {\\n\\tpadding-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-input {\\n\\tpadding-top: $icon-margin - $input-margin;\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},2911:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-452e1d1a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-452e1d1a]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action-link[data-v-452e1d1a]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-link[data-v-452e1d1a]:hover,.action-link[data-v-452e1d1a]:focus{opacity:1}.action-link>span[data-v-452e1d1a]{cursor:pointer;white-space:nowrap}.action-link__icon[data-v-452e1d1a]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-link[data-v-452e1d1a] .material-design-icon{width:44px;height:44px;opacity:1}.action-link[data-v-452e1d1a] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-link p[data-v-452e1d1a]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-link__longtext[data-v-452e1d1a]{cursor:pointer;white-space:pre-wrap}.action-link__title[data-v-452e1d1a]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAqBF,8BACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,UCpBe,CDqBf,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC/Ce,CDiDf,wEAEC,SChCY,CDmCb,mCACC,cAAA,CACA,kBAAA,CAGD,oCACC,UC5Dc,CD6Dd,WC7Dc,CD8Dd,SC3CY,CD4CZ,+BAAA,CACA,oBC5DS,CD6DT,2BAAA,CAGD,oDACC,UCrEc,CDsEd,WCtEc,CDuEd,SCpDY,CDsDZ,+EACC,qBAAA,CAKF,gCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,wCACC,cAAA,CAEA,oBAAA,CAGD,qCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\tborder-radius: 6px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},1915:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-2ea9dc76]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-2ea9dc76]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-2ea9dc76]{pointer-events:none;opacity:.5}.action--disabled[data-v-2ea9dc76]:hover,.action--disabled[data-v-2ea9dc76]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-2ea9dc76]{opacity:1 !important}.action-radio[data-v-2ea9dc76]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;line-height:44px}.action-radio__radio[data-v-2ea9dc76]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-radio__radio:focus+.action-radio__label[data-v-2ea9dc76]{opacity:1}.action-radio__label[data-v-2ea9dc76]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important;opacity:.7}.action-radio__label[data-v-2ea9dc76]::before{margin:0 14px 0 !important}.action-radio--disabled[data-v-2ea9dc76],.action-radio--disabled .action-radio__label[data-v-2ea9dc76]{cursor:pointer}.action-radio:not(.action-radio--disabled):hover .action-radio__label[data-v-2ea9dc76],.action-radio:not(.action-radio--disabled):focus .action-radio__label[data-v-2ea9dc76]{opacity:1}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/components/NcActionRadio/NcActionRadio.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAMF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA,CEpCH,+BACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CAEA,cAAA,CACA,kBAAA,CAEA,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,gBAAA,CAGA,sCACC,iBAAA,CACA,QAAA,CACA,aAAA,CAEA,eAAA,CAEA,SAAA,CACA,UAAA,CACA,iEACC,SDMY,CCFd,sCACC,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,oBAAA,CACA,6BAAA,CAEA,UDPe,CCUf,8CACC,0BAAA,CAKD,uGAEC,cAAA,CAMD,8KACC,SDxBY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\tborder-radius: 6px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-radio {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__radio {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align radio to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// radio-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-radio__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-radio--disabled):hover,\\n\\t&:not(.action-radio--disabled):focus {\\n\\t\\t.action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},146:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-088cc8ee]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-088cc8ee]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action-router[data-v-088cc8ee]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-router[data-v-088cc8ee]:hover,.action-router[data-v-088cc8ee]:focus{opacity:1}.action-router>span[data-v-088cc8ee]{cursor:pointer;white-space:nowrap}.action-router__icon[data-v-088cc8ee]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-router[data-v-088cc8ee] .material-design-icon{width:44px;height:44px;opacity:1}.action-router[data-v-088cc8ee] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-router p[data-v-088cc8ee]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-router__longtext[data-v-088cc8ee]{cursor:pointer;white-space:pre-wrap}.action-router__title[data-v-088cc8ee]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-088cc8ee]{pointer-events:none;opacity:.5}.action--disabled[data-v-088cc8ee]:hover,.action--disabled[data-v-088cc8ee]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-088cc8ee]{opacity:1 !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAqBF,gCACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,UCpBe,CDqBf,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC/Ce,CDiDf,4EAEC,SChCY,CDmCb,qCACC,cAAA,CACA,kBAAA,CAGD,sCACC,UC5Dc,CD6Dd,WC7Dc,CD8Dd,SC3CY,CD4CZ,+BAAA,CACA,oBC5DS,CD6DT,2BAAA,CAGD,sDACC,UCrEc,CDsEd,WCtEc,CDuEd,SCpDY,CDsDZ,iFACC,qBAAA,CAKF,kCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,0CACC,cAAA,CAEA,oBAAA,CAGD,uCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA,CAjGF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\tborder-radius: 6px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},1474:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-a1812d84]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-separator[data-v-a1812d84]{height:0;margin:5px 10px 5px 15px;border-bottom:1px solid var(--color-border-dark);cursor:default}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActionSeparator/NcActionSeparator.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,QAAA,CACA,wBAAA,CACA,gDAAA,CACA,cAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.action-separator {\\n\\theight: 0;\\n\\tmargin: 5px 10px 5px 15px;\\n\\tborder-bottom: 1px solid var(--color-border-dark);\\n\\tcursor: default;\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},2490:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-baabfed8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-baabfed8]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action-text[data-v-baabfed8]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-text[data-v-baabfed8]:hover,.action-text[data-v-baabfed8]:focus{opacity:1}.action-text>span[data-v-baabfed8]{cursor:pointer;white-space:nowrap}.action-text__icon[data-v-baabfed8]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-text[data-v-baabfed8] .material-design-icon{width:44px;height:44px;opacity:1}.action-text[data-v-baabfed8] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text p[data-v-baabfed8]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-text__longtext[data-v-baabfed8]{cursor:pointer;white-space:pre-wrap}.action-text__title[data-v-baabfed8]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-baabfed8]{pointer-events:none;opacity:.5}.action--disabled[data-v-baabfed8]:hover,.action--disabled[data-v-baabfed8]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-baabfed8]{opacity:1 !important}.action-text[data-v-baabfed8],.action-text span[data-v-baabfed8]{cursor:default}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/components/NcActionText/NcActionText.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCiBC,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAqBF,8BACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBCxBY,CDyBZ,qBAAA,CAEA,cAAA,CACA,kBAAA,CAEA,UCpBe,CDqBf,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,kCAAA,CACA,gBC/Ce,CDiDf,wEAEC,SChCY,CDmCb,mCACC,cAAA,CACA,kBAAA,CAGD,oCACC,UC5Dc,CD6Dd,WC7Dc,CD8Dd,SC3CY,CD4CZ,+BAAA,CACA,oBC5DS,CD6DT,2BAAA,CAGD,oDACC,UCrEc,CDsEd,WCtEc,CDuEd,SCpDY,CDsDZ,+EACC,qBAAA,CAKF,gCACC,eAAA,CACA,iBAAA,CAGA,gBAAA,CAEA,cAAA,CACA,eAAA,CAGA,eAAA,CACA,sBAAA,CAGD,wCACC,cAAA,CAEA,oBAAA,CAGD,qCACC,gBAAA,CACA,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,oBAAA,CAjGF,mCACC,mBAAA,CACA,UCMiB,CDLjB,kFACC,cAAA,CACA,UCGgB,CDDjB,qCACC,oBAAA,CElCF,iEAEC,cAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\tborder-radius: 6px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action-item('text');\\n@include action--disabled;\\n\\n.action-text {\\n\\t&,\\n\\tspan {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},6517:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-109a14bf]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-109a14bf]:not(.button-vue),input[data-v-109a14bf]:not([type=range]),textarea[data-v-109a14bf]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-109a14bf]:not(.button-vue):not(:disabled):not(.primary):hover,button[data-v-109a14bf]:not(.button-vue):not(:disabled):not(.primary):focus,button:not(.button-vue):not(:disabled):not(.primary).active[data-v-109a14bf],input[data-v-109a14bf]:not([type=range]):not(:disabled):not(.primary):hover,input[data-v-109a14bf]:not([type=range]):not(:disabled):not(.primary):focus,input:not([type=range]):not(:disabled):not(.primary).active[data-v-109a14bf],textarea[data-v-109a14bf]:not(:disabled):not(.primary):hover,textarea[data-v-109a14bf]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-109a14bf]{border-color:var(--color-primary-element);outline:none}button[data-v-109a14bf]:not(.button-vue):not(:disabled):not(.primary):active,input[data-v-109a14bf]:not([type=range]):not(:disabled):not(.primary):active,textarea[data-v-109a14bf]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-109a14bf]:not(.button-vue):disabled,input[data-v-109a14bf]:not([type=range]):disabled,textarea[data-v-109a14bf]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-109a14bf]:not(.button-vue):required,input[data-v-109a14bf]:not([type=range]):required,textarea[data-v-109a14bf]:required{box-shadow:none}button[data-v-109a14bf]:not(.button-vue):invalid,input[data-v-109a14bf]:not([type=range]):invalid,textarea[data-v-109a14bf]:invalid{border-color:var(--color-error);box-shadow:none !important}button:not(.button-vue).primary[data-v-109a14bf],input:not([type=range]).primary[data-v-109a14bf],textarea.primary[data-v-109a14bf]{cursor:pointer;color:var(--color-primary-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button:not(.button-vue).primary[data-v-109a14bf]:not(:disabled):hover,button:not(.button-vue).primary[data-v-109a14bf]:not(:disabled):focus,button:not(.button-vue).primary[data-v-109a14bf]:not(:disabled):active,input:not([type=range]).primary[data-v-109a14bf]:not(:disabled):hover,input:not([type=range]).primary[data-v-109a14bf]:not(:disabled):focus,input:not([type=range]).primary[data-v-109a14bf]:not(:disabled):active,textarea.primary[data-v-109a14bf]:not(:disabled):hover,textarea.primary[data-v-109a14bf]:not(:disabled):focus,textarea.primary[data-v-109a14bf]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button:not(.button-vue).primary[data-v-109a14bf]:not(:disabled):active,input:not([type=range]).primary[data-v-109a14bf]:not(:disabled):active,textarea.primary[data-v-109a14bf]:not(:disabled):active{color:var(--color-primary-text-dark)}button:not(.button-vue).primary[data-v-109a14bf]:disabled,input:not([type=range]).primary[data-v-109a14bf]:disabled,textarea.primary[data-v-109a14bf]:disabled{cursor:default;color:var(--color-primary-text-dark);background-color:var(--color-primary-element)}li.active[data-v-109a14bf]{background-color:var(--color-background-hover);border-radius:6px;padding:0}.action--disabled[data-v-109a14bf]{pointer-events:none;opacity:.5}.action--disabled[data-v-109a14bf]:hover,.action--disabled[data-v-109a14bf]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-109a14bf]{opacity:1 !important}.action-text-editable[data-v-109a14bf]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:rgba(0,0,0,0);box-shadow:none;font-weight:normal;line-height:44px}.action-text-editable[data-v-109a14bf]:hover,.action-text-editable[data-v-109a14bf]:focus{opacity:1}.action-text-editable>span[data-v-109a14bf]{cursor:pointer;white-space:nowrap}.action-text-editable__icon[data-v-109a14bf]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-text-editable[data-v-109a14bf] .material-design-icon{width:44px;height:44px;opacity:1}.action-text-editable[data-v-109a14bf] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text-editable__form[data-v-109a14bf]{display:flex;flex:1 1 auto;flex-direction:column;position:relative;margin:4px 0;padding-right:14px}.action-text-editable__submit[data-v-109a14bf]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-text-editable__label[data-v-109a14bf]{display:flex;align-items:center;justify-content:center;position:absolute;right:15px;bottom:1px;width:36px;height:36px;box-sizing:border-box;margin:0;padding:7px 6px;opacity:1;color:var(--color-text-lighter);border:0;border-radius:50%;background-color:var(--color-main-background);background-clip:padding-box}.action-text-editable__label[data-v-109a14bf],.action-text-editable__label *[data-v-109a14bf]{cursor:pointer}.action-text-editable__textarea[data-v-109a14bf]{flex:1 1 auto;min-height:80px;max-height:124px;min-width:176px;width:100% !important;margin:0}.action-text-editable__textarea[data-v-109a14bf]:disabled{cursor:default}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid+.action-text-editable__label[data-v-109a14bf]{background-color:var(--color-error)}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-109a14bf]:active,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-109a14bf]:hover,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-109a14bf]:focus{background-color:var(--color-primary-element);color:var(--color-primary-text)}.action-text-editable__textarea:active:not(:disabled)+.action-text-editable__label[data-v-109a14bf],.action-text-editable__textarea:hover:not(:disabled)+.action-text-editable__label[data-v-109a14bf],.action-text-editable__textarea:focus:not(:disabled)+.action-text-editable__label[data-v-109a14bf]{z-index:2;border-color:var(--color-primary-element);border-left-color:rgba(0,0,0,0)}li:last-child>.action-text-editable[data-v-109a14bf]{margin-bottom:10px}li:first-child>.action-text-editable[data-v-109a14bf]{margin-top:10px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/inputs.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/assets/action.scss\",\"webpack://./src/components/NcActionTextEditable/NcActionTextEditable.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCqBD,4GAGC,QAAA,CACA,eAAA,CAEA,WAAA,CAEA,+BAAA,CACA,yCAAA,CACA,kCAAA,CACA,YAAA,CACA,6CAAA,CAEA,cAAA,CAGC,koBAIC,yCAAA,CACA,YAAA,CAGD,wNACC,6BAAA,CACA,YAAA,CACA,6CAAA,CAIF,uIACC,cAAA,CACA,UCrBiB,CDsBjB,mCAAA,CACA,6CAAA,CAGD,uIACC,eAAA,CAGD,oIACC,+BAAA,CACA,0BAAA,CAID,oIACC,cAAA,CACA,+BAAA,CACA,yCAAA,CACA,6CAAA,CAGC,4kBAGC,+CAAA,CACA,mDAAA,CAED,sMACC,oCAAA,CAIF,+JACC,cAAA,CACA,oCAAA,CAEA,6CAAA,CE3ED,2BACC,8CAAA,CACA,iBAAA,CACA,SAAA,CAMF,mCACC,mBAAA,CACA,UDMiB,CCLjB,kFACC,cAAA,CACA,UDGgB,CCDjB,qCACC,oBAAA,CCjCH,uCACC,YAAA,CACA,sBAAA,CAEA,UAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CAEA,cAAA,CACA,kBAAA,CAEA,UFsBgB,CErBhB,4BAAA,CACA,QAAA,CACA,eAAA,CACA,8BAAA,CACA,eAAA,CAEA,kBAAA,CACA,gBFJgB,CEMhB,0FAEC,SFWa,CERd,4CACC,cAAA,CACA,kBAAA,CAGD,6CACC,WAAA,CACA,YAAA,CAGA,wBAAA,CAEA,+BAAA,CACA,oBFpBU,CEuBX,6DACC,UF5Be,CE6Bf,WF7Be,CE8Bf,SFXa,CEab,wFACC,qBAAA,CAKF,6CACC,YAAA,CACA,aAAA,CACA,qBAAA,CAEA,iBAAA,CACA,YAAA,CACA,kBFrCY,CEwCb,+CACC,iBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CAGD,8CACC,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,iBAAA,CACA,UAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,QAAA,CACA,eAAA,CAEA,SFrDa,CEsDb,+BAAA,CACA,QAAA,CACA,iBAAA,CAEA,6CAAA,CACA,2BAAA,CAEA,8FACC,cAAA,CAKF,iDACC,aAAA,CAEA,eAAA,CACA,gBAAA,CAEA,eAAA,CACA,qBAAA,CACA,QAAA,CAGA,0DACC,cAAA,CAMC,2HACC,mCAAA,CAID,yZAGC,6CAAA,CACA,+BAAA,CAOF,0SAEC,SAAA,CAEA,yCAAA,CACA,+BAAA,CASJ,qDACC,kBAAA,CAID,sDACC,eAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton:not(.button-vue),\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\tborder-radius: 6px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{math.div($clickable-area - 1.6 * 14px, 2)} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-text-editable {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\topacity: $opacity_normal;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\topacity: $opacity_full;\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t&:deep(.material-design-icon) {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 auto;\\n\\t\\tflex-direction: column;\\n\\n\\t\\tposition: relative;\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\t// bottom-right corner\\n\\t\\tposition: absolute;\\n\\t\\tright: $icon-margin + 1;\\n\\t\\tbottom: 1px;\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 50%;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__textarea {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-height: #{$clickable-area * 2 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area * 3 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\t// block width widening\\n\\t\\tmin-width: $clickable-area * 4;\\n\\t\\twidth: 100% !important;\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-text-editable__label {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-text-editable {\\n\\tmargin-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-text-editable {\\n\\tmargin-top: $icon-margin - $input-margin;\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},917:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-130d1fd6]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-items[data-v-130d1fd6]{display:flex;align-items:center}.action-item[data-v-130d1fd6]{--open-background-color: var(--color-background-hover, $action-background-hover);position:relative;display:inline-block}.action-item.action-item--primary[data-v-130d1fd6]{--open-background-color: var(--color-primary-element-hover)}.action-item.action-item--secondary[data-v-130d1fd6]{--open-background-color: var(--color-primary-light-hover)}.action-item.action-item--error[data-v-130d1fd6]{--open-background-color: var(--color-error-hover)}.action-item.action-item--warning[data-v-130d1fd6]{--open-background-color: var(--color-warning-hover)}.action-item.action-item--success[data-v-130d1fd6]{--open-background-color: var(--color-success-hover)}.action-item.action-item--open .action-item__menutoggle[data-v-130d1fd6]{opacity:1;background-color:var(--open-background-color)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,+BACC,YAAA,CACA,kBAAA,CAGD,8BACC,gFAAA,CACA,iBAAA,CACA,oBAAA,CAEA,mDACC,2DAAA,CAGD,qDACC,yDAAA,CAGD,iDACC,iDAAA,CAGD,mDACC,mDAAA,CAGD,mDACC,mDAAA,CAGD,yEACC,SCWa,CDVb,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.action-items {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n}\\n\\n.action-item {\\n\\t--open-background-color: var(--color-background-hover, $action-background-hover);\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&.action-item--primary {\\n\\t\\t--open-background-color: var(--color-primary-element-hover);\\n\\t}\\n\\n\\t&.action-item--secondary {\\n\\t\\t--open-background-color: var(--color-primary-light-hover);\\n\\t}\\n\\n\\t&.action-item--error {\\n\\t\\t--open-background-color: var(--color-error-hover);\\n\\t}\\n\\n\\t&.action-item--warning {\\n\\t\\t--open-background-color: var(--color-warning-hover);\\n\\t}\\n\\n\\t&.action-item--success {\\n\\t\\t--open-background-color: var(--color-success-hover);\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: var(--open-background-color);\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},7148:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__inner{border-radius:var(--border-radius-large);padding:4px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcActions/NcActions.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,gFACC,wCAAA,CACA,WAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n// We overwrote the popover base class, so we can style\\n// the popover__inner for actions only.\\n.v-popper--theme-dropdown.v-popper__popper.action-item__popper .v-popper__inner {\\n\\tborder-radius: var(--border-radius-large);\\n\\tpadding: 4px;\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},8406:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-ab487c88]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-content[data-v-ab487c88]{position:initial;z-index:1000;flex-basis:100vw;height:100%;margin:0 !important;background-color:var(--color-main-background);--topbar-margin: $topbar-margin}.app-content[data-v-ab487c88]:not(.app-content--has-list){overflow:auto}.app-content-wrapper[data-v-ab487c88]{position:relative;width:100%;height:100%}.app-content-wrapper--mobile.app-content-wrapper--show-list[data-v-ab487c88] .app-content-list{display:block}.app-content-wrapper--mobile.app-content-wrapper--show-list[data-v-ab487c88] .app-content-details{display:none}.app-content-wrapper--mobile.app-content-wrapper--show-details[data-v-ab487c88] .app-content-list{display:none}.app-content-wrapper--mobile.app-content-wrapper--show-details[data-v-ab487c88] .app-content-details{display:block}[data-v-ab487c88] .splitpanes.default-theme .app-content-list{max-width:none}[data-v-ab487c88] .splitpanes.default-theme .splitpanes__pane{background-color:rgba(0,0,0,0);transition:none}[data-v-ab487c88] .splitpanes.default-theme .splitpanes__pane-list{min-width:300px;position:sticky;top:var(--header-height)}@media only screen and (max-width: 1024px){[data-v-ab487c88] .splitpanes.default-theme .splitpanes__pane-list{display:none}}[data-v-ab487c88] .splitpanes.default-theme .splitpanes__pane-details{overflow-y:auto}@media only screen and (max-width: 1024px){[data-v-ab487c88] .splitpanes.default-theme .splitpanes__pane-details{min-width:100%}}[data-v-ab487c88] .splitpanes.default-theme .splitpanes__splitter{width:9px;margin-left:-5px;background-color:rgba(0,0,0,0);border-left:none}[data-v-ab487c88] .splitpanes.default-theme .splitpanes__splitter:before,[data-v-ab487c88] .splitpanes.default-theme .splitpanes__splitter:after{display:none}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppContent/NcAppContent.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8BACC,gBAAA,CACA,YAAA,CACA,gBAAA,CACA,WAAA,CAEA,mBAAA,CACA,6CAAA,CAQA,+BAAA,CANA,0DACC,aAAA,CAQF,sCACC,iBAAA,CACA,UAAA,CACA,WAAA,CAMC,gGACC,aAAA,CAED,mGACC,YAAA,CAID,mGACC,YAAA,CAED,sGACC,aAAA,CAMF,8DACC,cAAA,CAGD,8DACC,8BAAA,CACA,eAAA,CAEA,mEACC,eAAA,CACA,eAAA,CACA,wBAAA,CAEA,2CALD,mEAME,YAAA,CAAA,CAIF,sEACC,eAAA,CAEA,2CAHD,sEAIE,cAAA,CAAA,CAKH,kEACC,SAAA,CACA,gBAAA,CACA,8BAAA,CACA,gBAAA,CAEA,iJAEC,YAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.app-content {\\n\\tposition: initial;\\n\\tz-index: 1000;\\n\\tflex-basis: 100vw;\\n\\theight: 100%;\\n\\t// Overriding server styles TODO: cleanup!\\n\\tmargin: 0 !important;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t&:not(.app-content--has-list) {\\n\\t\\toverflow: auto;\\n\\t}\\n\\n\\t// Variables\\n\\t// the whitespace between the topbar content and its edges\\n\\t--topbar-margin: $topbar-margin;\\n}\\n\\n.app-content-wrapper {\\n\\tposition: relative;\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n// Mobile list/details handling\\n.app-content-wrapper--mobile {\\n\\t&.app-content-wrapper--show-list :deep() {\\n\\t\\t.app-content-list {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t\\t.app-content-details {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\t&.app-content-wrapper--show-details :deep() {\\n\\t\\t.app-content-list {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t\\t.app-content-details {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n}\\n\\n:deep(.splitpanes.default-theme) {\\n\\t.app-content-list {\\n\\t\\tmax-width: none;\\n\\t}\\n\\n\\t.splitpanes__pane {\\n\\t\\tbackground-color: transparent;\\n\\t\\ttransition: none;\\n\\n\\t\\t&-list {\\n\\t\\t\\tmin-width: 300px;\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: var(--header-height);\\n\\n\\t\\t\\t@media only screen and (max-width: $breakpoint-mobile) {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-details {\\n\\t\\t\\toverflow-y: auto;\\n\\n\\t\\t\\t@media only screen and (max-width: $breakpoint-mobile) {\\n\\t\\t\\t\\tmin-width: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.splitpanes__splitter {\\n\\t\\twidth: 9px;\\n\\t\\tmargin-left: -5px;\\n\\t\\tbackground-color: transparent;\\n\\t\\tborder-left: none;\\n\\n\\t\\t&:before,\\n\\t\\t&:after {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},5194:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-45131f51]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-details-toggle[data-v-45131f51]{position:fixed;width:44px;height:44px;padding:14px;cursor:pointer;opacity:.6;transform:rotate(180deg);background-color:var(--color-main-background);z-index:2000}.app-details-toggle[data-v-45131f51]:active,.app-details-toggle[data-v-45131f51]:hover,.app-details-toggle[data-v-45131f51]:focus{opacity:1}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppContent/NcAppDetailsToggle.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,qCACC,cAAA,CACA,UCqBgB,CDpBhB,WCoBgB,CDnBhB,YC2Ba,CD1Bb,cAAA,CACA,UAAA,CACA,wBAAA,CACA,6CAAA,CACA,YAAA,CAEA,kIAGC,SAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.app-details-toggle {\\n\\tposition: fixed;\\n\\twidth: $clickable-area;\\n\\theight: $clickable-area;\\n\\tpadding: $icon-margin;\\n\\tcursor: pointer;\\n\\topacity: .6;\\n\\ttransform: rotate(180deg);\\n\\tbackground-color: var(--color-main-background);\\n\\tz-index: 2000;\\n\\n\\t&:active,\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},239:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-58161ba0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation[data-v-58161ba0]{will-change:transform;transition:transform var(--animation-quick),margin var(--animation-quick);width:300px;position:relative;top:0;left:0;padding:4px;z-index:1800;height:100%;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;background-color:var(--color-main-background-blur, var(--color-main-background));-webkit-backdrop-filter:var(--filter-background-blur, none);backdrop-filter:var(--filter-background-blur, none)}.app-navigation--close[data-v-58161ba0]{transform:translateX(-100%);position:absolute}.app-navigation ul[data-v-58161ba0],.app-navigation__list[data-v-58161ba0]{position:relative;height:100%;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column}@media only screen and (max-width: 1024px){.app-navigation[data-v-58161ba0]:not(.app-navigation--close){position:absolute}}@media only screen and (max-width: 512px){.app-navigation[data-v-58161ba0]{z-index:1400}}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppNavigation/NcAppNavigation.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iCACC,qBAAA,CACA,yEAAA,CACA,WC+CkB,CD9ClB,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CAEA,YAAA,CACA,WAAA,CACA,qBAAA,CACA,wBAAA,CACA,qBAAA,CACA,oBAAA,CACA,gBAAA,CACA,YAAA,CACA,qBAAA,CACA,WAAA,CACA,aAAA,CACA,gFAAA,CACA,2DAAA,CACA,mDAAA,CAEA,wCACC,2BAAA,CACA,iBAAA,CAID,2EAEC,iBAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,eAAA,CACA,qBAAA,CACA,YAAA,CACA,qBAAA,CAKF,2CACC,6DACC,iBAAA,CAAA,CAKF,0CACC,iCACC,YAAA,CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.app-navigation {\\n\\twill-change: transform;\\n\\ttransition: transform var(--animation-quick), margin var(--animation-quick);\\n\\twidth: $navigation-width;\\n\\tposition: relative;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tpadding: 4px;\\n\\t// Above appcontent\\n\\tz-index: 1800;\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\t-webkit-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\tbackground-color: var(--color-main-background-blur, var(--color-main-background));\\n\\t-webkit-backdrop-filter: var(--filter-background-blur, none);\\n\\tbackdrop-filter: var(--filter-background-blur, none);\\n\\n\\t&--close {\\n\\t\\ttransform: translateX(-100%);\\n\\t\\tposition: absolute;\\n\\t}\\n\\n\\t//list of navigation items\\n\\tul,\\n\\t&__list {\\n\\t\\tposition: relative;\\n\\t\\theight: 100%;\\n\\t\\twidth: 100%;\\n\\t\\toverflow-x: hidden;\\n\\t\\toverflow-y: auto;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t}\\n}\\n\\n// When on mobile, we make the navigation slide over the appcontent\\n@media only screen and (max-width: $breakpoint-mobile) {\\n\\t.app-navigation:not(.app-navigation--close) {\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n\\n// Put the toggle behind appsidebar on small screens\\n@media only screen and (max-width: math.div($breakpoint-mobile, 2)) {\\n\\t.app-navigation {\\n\\t\\tz-index: 1400;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},8486:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-60629567]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-caption[data-v-60629567]{display:flex;justify-content:space-between;padding:0 8px 0 22px}.app-navigation-caption__title[data-v-60629567]{font-weight:bold;color:var(--color-primary-element);font-size:var(--default-font-size);line-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7;box-shadow:none !important;flex-shrink:0}.app-navigation-caption__actions[data-v-60629567]{flex:0 0 44px}.app-navigation-caption[data-v-60629567]:not(:first-child){margin-top:22px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppNavigationCaption/NcAppNavigationCaption.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,yCACC,YAAA,CACA,6BAAA,CACA,oBAAA,CAEA,gDACC,gBAAA,CACA,kCAAA,CACA,kCAAA,CACA,gBCae,CDZf,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,UC2Be,CD1Bf,0BAAA,CACA,aAAA,CAGD,kDACC,aAAA,CAKF,2DACC,eAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.app-navigation-caption {\\n\\tdisplay: flex;\\n\\tjustify-content: space-between;\\n\\tpadding: 0 8px 0 math.div($clickable-area, 2);\\n\\n\\t&__title {\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-primary-element);\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tbox-shadow: none !important;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t}\\n}\\n\\n// extra top space if it's not the first item on the list\\n.app-navigation-caption:not(:first-child) {\\n\\tmargin-top: math.div($clickable-area, 2);\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},9710:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-025c90dc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry__counter[data-v-025c90dc]{font-size:calc(var(--default-font-size)*.8);overflow:hidden;width:fit-content;max-width:44px;text-align:center;text-overflow:ellipsis;line-height:1em;padding:4px 8px;border-radius:var(--border-radius-pill);background-color:var(--color-background-darker)}.app-navigation-entry__counter--highlighted[data-v-025c90dc]{padding:4px 6px;color:var(--color-primary-text);background-color:var(--color-primary)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppNavigationCounter/NcAppNavigationCounter.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gDACC,2CAAA,CACA,eAAA,CACA,iBAAA,CACA,cCmBgB,CDlBhB,iBAAA,CACA,sBAAA,CACA,eAAA,CACA,eAAA,CACA,uCAAA,CACA,+CAAA,CAEA,6DACC,eAAA,CACA,+BAAA,CACA,qCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.app-navigation-entry__counter {\\n\\tfont-size: calc(var(--default-font-size) * .8);\\n\\toverflow: hidden;\\n\\twidth: fit-content;\\n\\tmax-width: $clickable-area;\\n\\ttext-align: center;\\n\\ttext-overflow: ellipsis;\\n\\tline-height: 1em;\\n\\tpadding: 4px 8px;\\n\\tborder-radius: var(--border-radius-pill);\\n\\tbackground-color: var(--color-background-darker);\\n\\n\\t&--highlighted {\\n\\t\\tpadding: 4px 6px;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},2546:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-2f791f07]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry__icon-bullet[data-v-2f791f07]{display:block;padding:15px}.app-navigation-entry__icon-bullet div[data-v-2f791f07]{width:14px;height:14px;cursor:pointer;transition:background 100ms ease-in-out;border:none;border-radius:50%}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppNavigationIconBullet/NcAppNavigationIconBullet.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oDACC,aAAA,CAEA,YAAA,CACA,wDACC,UAAA,CACA,WAAA,CACA,cAAA,CACA,uCAAA,CACA,WAAA,CACA,iBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.app-navigation-entry__icon-bullet {\\n\\tdisplay: block;\\n\\t// there is 2 margins\\n\\tpadding: $icon-margin + 1px;\\n\\tdiv {\\n\\t\\twidth: $icon-size - 2px;\\n\\t\\theight: $icon-size - 2px;\\n\\t\\tcursor: pointer;\\n\\t\\ttransition: background 100ms ease-in-out;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: 50%;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},7185:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-929d604e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-collapse[data-v-929d604e]{position:absolute;z-index:105;color:var(--color-main-text)}.icon-collapse[data-v-929d604e]:hover{color:var(--color-primary)}.icon-collapse--open[data-v-929d604e]{color:var(--color-main-text)}.icon-collapse--open[data-v-929d604e]:hover{color:var(--color-primary)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppNavigationItem/NcAppNavigationIconCollapsible.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,iBAAA,CACA,WAAA,CACA,4BAAA,CAEA,sCACC,0BAAA,CAED,sCACC,4BAAA,CACA,4CACC,0BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.icon-collapse {\\n\\tposition: absolute;\\n\\tz-index: 105; // above a, under button\\n\\tcolor: var(--color-main-text);\\n\\n\\t&:hover{\\n\\t\\tcolor: var(--color-primary);\\n\\t}\\n\\t&--open {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\t&:hover{\\n\\t\\t\\tcolor: var(--color-primary);\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},933:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%;min-height:44px;transition:background-color var(--animation-quick) ease-in-out;transition:background-color 200ms ease-in-out;border-radius:var(--border-radius-pill)}.app-navigation-entry-wrapper{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%}.app-navigation-entry-wrapper.app-navigation-entry--collapsible:not(.app-navigation-entry--opened)>ul{display:none}.app-navigation-entry.active{background-color:var(--color-primary-light) !important}.app-navigation-entry:focus-within,.app-navigation-entry:hover{background-color:var(--color-background-hover)}.app-navigation-entry.active .app-navigation-entry__children,.app-navigation-entry:focus-within .app-navigation-entry__children,.app-navigation-entry:hover .app-navigation-entry__children{background-color:var(--color-main-background)}.app-navigation-entry.app-navigation-entry--deleted>ul{display:none}.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link,.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-div{padding-right:14px}.app-navigation-entry .app-navigation-entry-link,.app-navigation-entry .app-navigation-entry-div{z-index:100;display:flex;overflow:hidden;flex:1 1 0;box-sizing:border-box;min-height:44px;padding:0;white-space:nowrap;color:var(--color-main-text);background-repeat:no-repeat;background-position:14px center;background-size:16px 16px;line-height:44px}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon,.app-navigation-entry .app-navigation-entry-div .app-navigation-entry-icon{display:flex;align-items:center;flex:0 0 44px;justify-content:center;width:44px;height:44px;background-size:16px 16px}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__title,.app-navigation-entry .app-navigation-entry-div .app-navigation-entry__title{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}.app-navigation-entry .app-navigation-entry-link .editingContainer,.app-navigation-entry .app-navigation-entry-div .editingContainer{width:calc(100% - 44px);margin:auto}.app-navigation-entry__children{position:relative;display:flex;flex:0 1 auto;flex-direction:column;width:100%}.app-navigation-entry__children .app-navigation-entry{display:inline-flex;flex-wrap:wrap;padding-left:16px}.app-navigation-entry__deleted{display:inline-flex;flex:1 1 0;padding-left:30px !important}.app-navigation-entry__deleted .app-navigation-entry__deleted-description{position:relative;overflow:hidden;flex:1 1 0;white-space:nowrap;text-overflow:ellipsis;line-height:44px}.app-navigation-entry--collapsible .icon-collapse{visibility:hidden}.app-navigation-entry--collapsible.app-navigation-entry--no-icon a .app-navigation-entry-icon,.app-navigation-entry--collapsible:hover a .app-navigation-entry-icon,.app-navigation-entry--collapsible:focus a .app-navigation-entry-icon{visibility:hidden}.app-navigation-entry--collapsible.app-navigation-entry--no-icon .icon-collapse,.app-navigation-entry--collapsible:hover .icon-collapse,.app-navigation-entry--collapsible:focus .icon-collapse{visibility:visible}.app-navigation-entry--collapsible.app-navigation-entry--no-icon .app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child,.app-navigation-entry--collapsible:hover .app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child,.app-navigation-entry--collapsible:focus .app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child{visibility:visible}.app-navigation-entry__utils{display:flex;width:44px;align-items:center;flex:0 1 auto}.app-navigation-entry__counter-wrapper{margin-right:2px;display:flex;align-items:center;flex:0 1 auto}.app-navigation-entry--editing .app-navigation-entry-edit{z-index:250;opacity:1}.app-navigation-entry--deleted .app-navigation-entry-deleted{z-index:250;transform:translateX(0)}.app-navigation-entry--pinned{order:2;margin-top:auto}.app-navigation-entry--pinned~.app-navigation-entry--pinned{margin-top:0}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppNavigationItem/NcAppNavigationItem.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,sBACC,iBAAA,CACA,YAAA,CACA,aAAA,CACA,cAAA,CACA,qBAAA,CACA,UAAA,CACA,eCgBgB,CDfhB,8DAAA,CACA,6CAAA,CACA,uCAAA,CAEA,8BACC,iBAAA,CACA,YAAA,CACA,aAAA,CACA,cAAA,CACA,qBAAA,CACA,UAAA,CAEA,sGAEC,YAAA,CAMF,6BACC,sDAAA,CAED,+DAEC,8CAAA,CAKA,4LACC,6CAAA,CAKF,uDAEC,YAAA,CAIA,yKACC,kBCpBW,CDyBb,iGACC,WAAA,CACA,YAAA,CACA,eAAA,CACA,UAAA,CACA,qBAAA,CACA,eCvCe,CDwCf,SAAA,CACA,kBAAA,CACA,4BAAA,CACA,2BAAA,CACA,+BAAA,CACA,yBAAA,CACA,gBC9Ce,CDgDf,uJACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,sBAAA,CACA,UCrDc,CDsDd,WCtDc,CDuDd,yBAAA,CAGD,2JACC,eAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CAGD,qIACC,uBAAA,CACA,WAAA,CAKH,gCACC,iBAAA,CACA,YAAA,CACA,aAAA,CACA,qBAAA,CACA,UAAA,CAEA,sDACC,mBAAA,CACA,cAAA,CACA,iBC9EU,CDmFZ,+BACC,mBAAA,CACA,UAAA,CACA,4BAAA,CACA,0EACC,iBAAA,CACA,eAAA,CACA,UAAA,CACA,kBAAA,CACA,sBAAA,CACA,gBCjGe,CDyGhB,kDACC,iBAAA,CAIA,0OAEC,iBAAA,CAED,gMAEC,kBAAA,CAID,iaACC,kBAAA,CAMH,6BACC,YAAA,CACA,UCjIgB,CDkIhB,kBAAA,CACA,aAAA,CAID,uCAEC,gBAAA,CACA,YAAA,CACA,kBAAA,CACA,aAAA,CAMA,0DACC,WAAA,CACA,SAAA,CAMD,6DACC,WAAA,CACA,uBAAA,CAKF,8BACC,OAAA,CACA,eAAA,CAEA,4DACC,YAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.app-navigation-entry {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tflex-wrap: wrap;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\tmin-height: $clickable-area;\\n\\ttransition: background-color var(--animation-quick) ease-in-out;\\n\\ttransition: background-color 200ms ease-in-out;\\n\\tborder-radius: var(--border-radius-pill);\\n\\n\\t&-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-shrink: 0;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 100%;\\n\\n\\t\\t&.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) > ul {\\n\\t\\t\\t// NO ANIMATE because if not really hidden, we can still tab through it\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// When .active class is applied, change color background of link and utils. The\\n\\t// !important prevents the focus state to override the active state.\\n\\t&.active {\\n\\t\\tbackground-color: var(--color-primary-light) !important;\\n\\t}\\n\\t&:focus-within,\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\t&.active,\\n\\t&:focus-within,\\n\\t&:hover {\\n\\t\\t.app-navigation-entry__children {\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t/* hide deletion/collapse of subitems */\\n\\t&.app-navigation-entry--deleted > ul {\\n\\t\\t// NO ANIMATE because if not really hidden, we can still tab through it\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t&:not(.app-navigation-entry--editing) {\\n\\t\\t.app-navigation-entry-link, .app-navigation-entry-div {\\n\\t\\t\\tpadding-right: $icon-margin;\\n\\t\\t}\\n\\t}\\n\\n\\t// Main entry link\\n\\t.app-navigation-entry-link, .app-navigation-entry-div {\\n\\t\\tz-index: 100; /* above the bullet to allow click*/\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 0;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tpadding: 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: $icon-margin center;\\n\\t\\tbackground-size: $icon-size $icon-size;\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t.app-navigation-entry-icon {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tflex: 0 0 $clickable-area;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tbackground-size: $icon-size $icon-size;\\n\\t\\t}\\n\\n\\t\\t.app-navigation-entry__title {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t.editingContainer {\\n\\t\\t\\twidth: calc(100% - #{$clickable-area});\\n\\t\\t\\tmargin: auto;\\n\\t\\t}\\n\\t}\\n}\\n/* Second level nesting for lists */\\n.app-navigation-entry__children {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tflex: 0 1 auto;\\n\\tflex-direction: column;\\n\\twidth: 100%;\\n\\n\\t.app-navigation-entry {\\n\\t\\tdisplay: inline-flex;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tpadding-left: $icon-size;\\n\\t}\\n}\\n\\n/* Deleted entries */\\n.app-navigation-entry__deleted {\\n\\tdisplay: inline-flex;\\n\\tflex: 1 1 0;\\n\\tpadding-left: $clickable-area - $icon-margin !important;\\n\\t.app-navigation-entry__deleted-description {\\n\\t\\tposition: relative;\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: $clickable-area;\\n\\t}\\n}\\n\\n/* Makes the icon of the collapsible element disappear\\n* When hovering on the root element */\\n.app-navigation-entry--collapsible {\\n\\t//shows the triangle button\\n\\t.icon-collapse {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\t&.app-navigation-entry--no-icon,\\n\\t&:hover, &:focus {\\n\\t\\ta .app-navigation-entry-icon {\\n\\t\\t\\t// hides the icon\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t\\t.icon-collapse {\\n\\t\\t\\t//shows the triangle button\\n\\t\\t\\tvisibility: visible;\\n\\t\\t}\\n\\t\\t// prevent the icon of children elements from being hidden\\n\\t\\t// by the previous rule\\n\\t\\t.app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* counter and actions */\\n.app-navigation-entry__utils {\\n\\tdisplay: flex;\\n\\twidth: $clickable-area;\\n\\talign-items: center;\\n\\tflex: 0 1 auto;\\n}\\n\\n/* counter */\\n.app-navigation-entry__counter-wrapper {\\n\\t// Add slightly more space to the right of the counter\\n\\tmargin-right: 2px;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex: 0 1 auto;\\n}\\n\\n// STATES\\n/* editing state */\\n.app-navigation-entry--editing {\\n\\t.app-navigation-entry-edit {\\n\\t\\tz-index: 250;\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n/* deleted state */\\n.app-navigation-entry--deleted {\\n\\t.app-navigation-entry-deleted {\\n\\t\\tz-index: 250;\\n\\t\\ttransform: translateX(0);\\n\\t}\\n}\\n\\n/* pinned state */\\n.app-navigation-entry--pinned {\\n\\torder: 2;\\n\\tmargin-top: auto;\\n\\t// only put a marginTop auto to the first one!\\n\\t~ .app-navigation-entry--pinned {\\n\\t\\tmargin-top: 0;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},3227:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-input-confirm{flex:1 0 100%;width:100%}.app-navigation-input-confirm form{display:flex}.app-navigation-input-confirm__input{height:34px;flex:1 1 100%;font-size:100% !important;margin:5px !important;margin-left:-8px !important;padding:7px !important}.app-navigation-input-confirm__input:active,.app-navigation-input-confirm__input:focus,.app-navigation-input-confirm__input:hover{outline:none;background-color:var(--color-main-background);color:var(--color-text-light);border-color:var(--color-primary-element)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppNavigationItem/NcInputConfirmCancel.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCFD,8BACC,aAAA,CACA,UAAA,CAEA,mCACC,YAAA,CAGD,qCACC,WAba,CAcb,aAAA,CACA,yBAAA,CACA,qBAAA,CACA,2BAAA,CACA,sBAAA,CAEA,kIAGC,YAAA,CACA,6CAAA,CACA,6BAAA,CACA,yCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n$input-height: 34px;\\n$input-padding: 7px;\\n$input-margin: 5px;\\n\\n.app-navigation-input-confirm {\\n\\tflex: 1 0 100%;\\n\\twidth: 100%;\\n\\n\\tform {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&__input {\\n\\t\\theight: $input-height;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tfont-size: 100% !important;\\n\\t\\tmargin: $input-margin !important;\\n\\t\\tmargin-left: -1px - $input-padding !important;\\n\\t\\tpadding: $input-padding !important;\\n\\n\\t\\t&:active,\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},9030:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-774f9bb0]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-new[data-v-774f9bb0]{display:block;padding:10px}.app-navigation-new button[data-v-774f9bb0]{width:100%}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppNavigationNew/NcAppNavigationNew.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,qCACC,aAAA,CACA,YAAA,CACA,4CACC,UAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n/* 'New' button */\\n.app-navigation-new {\\n\\tdisplay: block;\\n\\tpadding: 10px;\\n\\tbutton {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},1004:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-new-item__title{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis;padding-left:7px;font-size:14px}.newItemContainer{width:calc(100% - 44px);margin:auto}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppNavigationNewItem/NcAppNavigationNewItem.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,eAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CACA,gBAAA,CACA,cAAA,CAGD,kBACC,uBAAA,CACA,WAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.app-navigation-new-item__title {\\n\\toverflow: hidden;\\n\\tmax-width: 100%;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tpadding-left: 7px;\\n\\tfont-size: 14px;\\n}\\n\\n.newItemContainer {\\n\\twidth: calc(100% - #{$clickable-area});\\n\\tmargin: auto;\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},2327:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-2ef09266]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}#app-settings[data-v-2ef09266]{margin-top:auto}#app-settings__header[data-v-2ef09266]{box-sizing:border-box}#app-settings__header .settings-button[data-v-2ef09266]{display:flex;flex:1 1 0;height:44px;width:100%;padding:0;margin:0;background-color:var(--color-main-background);box-shadow:none;border:0;border-radius:var(--border-radius-large);text-align:left;font-weight:normal;font-size:100%;color:var(--color-main-text);padding-right:14px;line-height:44px}#app-settings__header .settings-button[data-v-2ef09266]:hover,#app-settings__header .settings-button[data-v-2ef09266]:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-large)}#app-settings__header .settings-button__icon[data-v-2ef09266]{width:44px;height:44px;min-width:44px}#app-settings__header .settings-button__label[data-v-2ef09266]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}#app-settings__content[data-v-2ef09266]{display:block;padding:10px;background-color:var(--color-main-background);max-height:300px;overflow-y:auto;box-sizing:border-box}.slide-up-leave-active[data-v-2ef09266],.slide-up-enter-active[data-v-2ef09266]{transition-duration:var(--animation-slow);transition-property:max-height,padding;overflow-y:hidden !important}.slide-up-enter[data-v-2ef09266],.slide-up-leave-to[data-v-2ef09266]{max-height:0 !important;padding:0 10px !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppNavigationSettings/NcAppNavigationSettings.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,+BACC,eAAA,CAEA,uCACC,qBAAA,CAEA,wDACC,YAAA,CACA,UAAA,CACA,WCcc,CDbd,UAAA,CACA,SAAA,CACA,QAAA,CACA,6CAAA,CACA,eAAA,CACA,QAAA,CACA,wCAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,4BAAA,CACA,kBAAA,CACA,gBCCc,CDCd,4HAEC,8CAAA,CACA,wCAAA,CAGD,8DACC,UCRa,CDSb,WCTa,CDUb,cCVa,CDYd,+DACC,eAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CAKH,wCACC,aAAA,CACA,YAAA,CACA,6CAAA,CAEA,gBAAA,CACA,eAAA,CACA,qBAAA,CAIF,gFAEC,yCAAA,CACA,sCAAA,CACA,4BAAA,CAGD,qEAEC,uBAAA,CACA,yBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n#app-settings {\\n\\tmargin-top: auto;\\n\\n\\t&__header {\\n\\t\\tbox-sizing: border-box;\\n\\n\\t\\t.settings-button {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 0;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t\\tborder: 0;\\n\\t\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\t\\ttext-align: left;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tfont-size: 100%;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tpadding-right: 14px;\\n\\t\\t\\tline-height: $clickable-area;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&__icon {\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\t}\\n\\t\\t\\t&__label {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 10px;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t/* restrict height of settings and make scrollable */\\n\\t\\tmax-height: 300px;\\n\\t\\toverflow-y: auto;\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\\n.slide-up-leave-active,\\n.slide-up-enter-active {\\n\\ttransition-duration: var(--animation-slow);\\n\\ttransition-property: max-height, padding;\\n\\toverflow-y: hidden !important;\\n}\\n\\n.slide-up-enter,\\n.slide-up-leave-to {\\n\\tmax-height: 0 !important;\\n\\tpadding: 0 10px !important;\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},373:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-7babc9e6]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button.app-navigation-toggle[data-v-7babc9e6]{position:absolute;top:4px;right:-4px;margin-right:-44px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppNavigationToggle/NcAppNavigationToggle.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8CACC,iBAAA,CACA,OCsDe,CDrDf,UAAA,CACA,kBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\nbutton.app-navigation-toggle {\\n\\tposition: absolute;\\n\\ttop: $topbar-margin;\\n\\tright: - $topbar-margin;\\n\\tmargin-right: - $clickable-area;\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},322:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-2ba1c378]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-settings-modal[data-v-2ba1c378] .modal-wrapper .modal-container{display:flex;overflow:hidden}.app-settings[data-v-2ba1c378]{width:100%;display:flex;flex-direction:column;min-width:0}.app-settings__title[data-v-2ba1c378]{min-height:44px;height:44px;line-height:44px;padding-top:4px;text-align:center}.app-settings__wrapper[data-v-2ba1c378]{display:flex;width:100%;overflow:hidden;height:100%;position:relative}.app-settings__navigation[data-v-2ba1c378]{min-width:200px;margin-right:20px;overflow-x:hidden;overflow-y:auto;position:relative;height:100%}.app-settings__content[data-v-2ba1c378]{max-width:100vw;overflow-y:auto;overflow-x:hidden;padding:24px;width:100%}.navigation-list[data-v-2ba1c378]{height:100%;box-sizing:border-box;overflow-y:auto;padding:12px}.navigation-list__link[data-v-2ba1c378]{display:block;font-size:16px;height:44px;margin:4px 0;line-height:44px;border-radius:var(--border-radius-pill);font-weight:bold;padding:0 20px;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background-color:rgba(0,0,0,0);border:none}.navigation-list__link[data-v-2ba1c378]:hover,.navigation-list__link[data-v-2ba1c378]:focus{background-color:var(--color-background-hover)}.navigation-list__link--active[data-v-2ba1c378]{background-color:var(--color-primary-light) !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppSettingsDialog/NcAppSettingsDialog.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,qEACC,YAAA,CACA,eAAA,CAGD,+BACC,UAAA,CACA,YAAA,CACA,qBAAA,CACA,WAAA,CACA,sCACC,eCWe,CDVf,WCUe,CDTf,gBCSe,CDRf,eAAA,CACA,iBAAA,CAED,wCACC,YAAA,CACA,UAAA,CACA,eAAA,CACA,WAAA,CACA,iBAAA,CAED,2CACC,eAAA,CACA,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,WAAA,CAED,wCACC,eAAA,CACA,eAAA,CACA,iBAAA,CACA,YAAA,CACA,UAAA,CAIF,kCACC,WAAA,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,wCACC,aAAA,CACA,cAAA,CACA,WC3Be,CD4Bf,YAAA,CACA,gBC7Be,CD8Bf,uCAAA,CACA,gBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,8BAAA,CACA,WAAA,CACA,4FAEC,8CAAA,CAED,gDACC,sDAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.app-settings-modal :deep(.modal-wrapper .modal-container) {\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n}\\n\\n.app-settings {\\n\\twidth: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmin-width: 0;\\n\\t&__title {\\n\\t\\tmin-height: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tpadding-top: 4px; // Same as the close button top spacing\\n\\t\\ttext-align: center;\\n\\t}\\n\\t&__wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\toverflow: hidden;\\n\\t\\theight: 100%;\\n\\t\\tposition: relative;\\n\\t}\\n\\t&__navigation {\\n\\t\\tmin-width: 200px;\\n\\t\\tmargin-right: 20px;\\n\\t\\toverflow-x: hidden;\\n\\t\\toverflow-y: auto;\\n\\t\\tposition: relative;\\n\\t\\theight: 100%;\\n\\t}\\n\\t&__content {\\n\\t\\tmax-width: 100vw;\\n\\t\\toverflow-y: auto;\\n\\t\\toverflow-x: hidden;\\n\\t\\tpadding: 24px;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.navigation-list {\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\toverflow-y: auto;\\n\\tpadding: 12px;\\n\\t&__link {\\n\\t\\tdisplay: block;\\n\\t\\tfont-size: 16px;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 4px 0;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\tfont-weight: bold;\\n\\t\\tpadding: 0 20px;\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t\\tbackground-color: transparent;\\n\\t\\tborder: none;\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t&--active {\\n\\t\\t\\tbackground-color: var(--color-primary-light) !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},2746:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-600605cc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-settings-section[data-v-600605cc]{margin-bottom:80px}.app-settings-section__title[data-v-600605cc]{font-size:20px;margin:0;padding:20px 0;font-weight:bold;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppSettingsSection/NcAppSettingsSection.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,uCACC,kBAAA,CACA,8CACC,cAAA,CACA,QAAA,CACA,cAAA,CACA,gBAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.app-settings-section {\\n\\tmargin-bottom: 80px;\\n\\t&__title {\\n\\t\\tfont-size: 20px;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 20px 0;\\n\\t\\tfont-weight: bold;\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},9253:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-a563487c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar[data-v-a563487c]{position:-webkit-sticky;position:sticky;z-index:1500;top:var(--header-height);right:0;display:flex;overflow-x:hidden;overflow-y:auto;flex-direction:column;flex-shrink:0;width:27vw;min-width:300px;max-width:500px;height:100%;border-left:1px solid var(--color-border);background:var(--color-main-background)}.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-a563487c]{position:absolute;z-index:100;top:6px;right:6px;width:44px;height:44px;opacity:.7;border-radius:22px}.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-a563487c]:hover,.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-a563487c]:active,.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-a563487c]:focus{opacity:1;background-color:rgba(127,127,127,.25)}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info[data-v-a563487c]{flex-direction:row}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__figure[data-v-a563487c]{z-index:2;width:70px;height:70px;margin:9px;border-radius:3px;flex:0 0 auto}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc[data-v-a563487c]{padding-left:0;flex:1 1 auto;min-width:0;padding-right:94px;padding-top:10px}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-a563487c]{padding-right:50px}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-a563487c]{z-index:3;position:absolute;top:9px;left:-44px;gap:0}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__menu[data-v-a563487c]{top:6px;right:50px;background-color:rgba(0,0,0,0);position:absolute}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__menu[data-v-a563487c]{position:absolute;top:6px;right:50px}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc[data-v-a563487c]{padding-right:94px}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-a563487c]{padding-right:50px}.app-sidebar .app-sidebar-header .app-sidebar-header__info[data-v-a563487c]{display:flex;flex-direction:column}.app-sidebar .app-sidebar-header__figure[data-v-a563487c]{width:100%;height:250px;max-height:250px;background-repeat:no-repeat;background-position:center;background-size:contain}.app-sidebar .app-sidebar-header__figure--with-action[data-v-a563487c]{cursor:pointer}.app-sidebar .app-sidebar-header__desc[data-v-a563487c]{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;padding:18px 6px 18px 9px;gap:0 4px}.app-sidebar .app-sidebar-header__desc--with-tertiary-action[data-v-a563487c]{padding-left:6px}.app-sidebar .app-sidebar-header__desc--editable .app-sidebar-header__maintitle-form[data-v-a563487c],.app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__maintitle-form[data-v-a563487c]{margin-top:-2px;margin-bottom:-2px}.app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__subtitle[data-v-a563487c]{margin-top:-2px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-a563487c]{display:flex;height:44px;width:44px;justify-content:center;flex:0 0 auto}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions .app-sidebar-header__star[data-v-a563487c]{box-shadow:none}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions .app-sidebar-header__star[data-v-a563487c]:hover{box-shadow:none;background-color:var(--color-background-hover)}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container[data-v-a563487c]{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;min-width:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container[data-v-a563487c]{display:flex;align-items:center;min-height:44px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle[data-v-a563487c]{padding:0;min-height:30px;font-size:20px;line-height:30px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle[data-v-a563487c] .linkified{cursor:pointer;text-decoration:underline;margin:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle-form[data-v-a563487c]{display:flex;flex:1 1 auto;align-items:center}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle-form input.app-sidebar-header__maintitle-input[data-v-a563487c]{flex:1 1 auto;margin:0;padding:7px;font-size:20px;font-weight:bold}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__menu[data-v-a563487c]{height:44px;width:44px;border-radius:22px;background-color:rgba(127,127,127,.25);margin-left:5px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle[data-v-a563487c],.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__subtitle[data-v-a563487c]{overflow:hidden;width:100%;margin:0;white-space:nowrap;text-overflow:ellipsis}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__subtitle[data-v-a563487c]{padding:0;opacity:.7;font-size:var(--default-font-size)}.app-sidebar .app-sidebar-header__description[data-v-a563487c]{display:flex;align-items:center;margin:0 10px}@media only screen and (max-width: 512px){.app-sidebar[data-v-a563487c]{width:100vw}}.slide-right-leave-active[data-v-a563487c],.slide-right-enter-active[data-v-a563487c]{transition-duration:var(--animation-quick);transition-property:max-width,min-width}.slide-right-enter-to[data-v-a563487c],.slide-right-leave[data-v-a563487c]{min-width:300px;max-width:500px}.slide-right-enter[data-v-a563487c],.slide-right-leave-to[data-v-a563487c]{min-width:0 !important;max-width:0 !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppSidebar/NcAppSidebar.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCYD,8BACC,uBAAA,CACA,eAAA,CACA,YAAA,CACA,wBAAA,CACA,OAAA,CACA,YAAA,CACA,iBAAA,CACA,eAAA,CACA,qBAAA,CACA,aAAA,CACA,UAAA,CACA,eA9BmB,CA+BnB,eA9BmB,CA+BnB,WAAA,CACA,yCAAA,CACA,uCAAA,CAGC,sEACC,iBAAA,CACA,WAAA,CACA,OA5BmB,CA6BnB,SA7BmB,CA8BnB,UCnBc,CDoBd,WCpBc,CDqBd,UCHc,CDId,kBAAA,CACA,qOAGC,SCPW,CDQX,sCCJsB,CDUvB,qHACC,kBAAA,CAEA,iJACC,SAAA,CACA,UAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,aAAA,CAED,+IACC,cAAA,CACA,aAAA,CACA,WAAA,CACA,kBAAA,CACA,gBApE2B,CAsE3B,yLACC,kBAAA,CAGD,qLACC,SAAA,CACA,iBAAA,CACA,OAAA,CACA,UAAA,CACA,KAAA,CAED,yKACC,OA1EgB,CA2EhB,UAAA,CACA,8BAAA,CACA,iBAAA,CASH,kHACC,iBAAA,CACA,OAxFkB,CAyFlB,UAAA,CAGD,kHACC,kBAAA,CAEA,4JACC,kBAAA,CAMH,4EACC,YAAA,CACA,qBAAA,CAID,0DACC,UAAA,CACA,YAAA,CACA,gBAAA,CACA,2BAAA,CACA,0BAAA,CACA,uBAAA,CACA,uEACC,cAAA,CAKF,wDACC,iBAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,kBAAA,CACA,yBAAA,CACA,SAAA,CAGA,8EACC,gBAAA,CAGD,2NAEC,eAAA,CACA,kBAAA,CAGD,+GACC,eAAA,CAGD,8FACC,YAAA,CACA,WCxIa,CDyIb,UCzIa,CD0Ib,sBAAA,CACA,aAAA,CAEA,wHAEC,eAAA,CACA,8HACC,eAAA,CACA,8CAAA,CAMH,6FACC,aAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CAEA,sIACC,YAAA,CACA,kBAAA,CACA,eClKY,CDqKZ,qKACC,SAAA,CACA,eAAA,CACA,cAAA,CACA,gBAxLc,CA2Ld,gLACC,cAAA,CACA,yBAAA,CACA,QAAA,CAIF,0KACC,YAAA,CACA,aAAA,CACA,kBAAA,CAEA,oNACC,aAAA,CACA,QAAA,CACA,WA7Mc,CA8Md,cAAA,CACA,gBAAA,CAKF,gKACC,WCnMW,CDoMX,UCpMW,CDqMX,kBAAA,CACA,sCC/KoB,CDgLpB,eAAA,CAKF,uPAEC,eAAA,CACA,UAAA,CACA,QAAA,CACA,kBAAA,CACA,sBAAA,CAID,2HACC,SAAA,CACA,UCtMY,CDuMZ,kCAAA,CAMH,+DACC,YAAA,CACA,kBAAA,CACA,aAAA,CAMH,0CACC,8BACC,WAAA,CAAA,CAIF,sFAEC,0CAAA,CACA,uCAAA,CAGD,2EAEC,eA7QmB,CA8QnB,eA7QmB,CAgRpB,2EAEC,sBAAA,CACA,sBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n$sidebar-min-width: 300px;\\n$sidebar-max-width: 500px;\\n\\n$desc-vertical-padding: 18px;\\n$desc-vertical-padding-compact: 10px;\\n$desc-input-padding: 7px;\\n\\n// title and subtitle\\n$desc-title-height: 30px;\\n$desc-subtitle-height: 22px;\\n$desc-height: $desc-title-height + $desc-subtitle-height;\\n\\n$top-buttons-spacing: 6px;\\n\\n/*\\n\\tSidebar: to be used within #content\\n\\tapp-content will be shrinked properly\\n*/\\n.app-sidebar {\\n\\tposition: -webkit-sticky; // Safari support\\n\\tposition: sticky;\\n\\tz-index: 1500;\\n\\ttop: var(--header-height);\\n\\tright: 0;\\n\\tdisplay: flex;\\n\\toverflow-x: hidden;\\n\\toverflow-y: auto;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\twidth: 27vw;\\n\\tmin-width: $sidebar-min-width;\\n\\tmax-width: $sidebar-max-width;\\n\\theight: 100%;\\n\\tborder-left: 1px solid var(--color-border);\\n\\tbackground: var(--color-main-background);\\n\\n\\t.app-sidebar-header {\\n\\t\\t> .app-sidebar__close {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tz-index: 100;\\n\\t\\t\\ttop: $top-buttons-spacing;\\n\\t\\t\\tright: $top-buttons-spacing;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:active,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tbackground-color: $action-background-hover;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Compact mode only affects a sidebar with a figure\\n\\t\\t&--compact.app-sidebar-header--with-figure {\\n\\t\\t\\t.app-sidebar-header__info {\\n\\t\\t\\t\\tflex-direction: row;\\n\\n\\t\\t\\t\\t.app-sidebar-header__figure {\\n\\t\\t\\t\\t\\tz-index: 2;\\n\\t\\t\\t\\t\\twidth: $desc-height + $desc-vertical-padding;\\n\\t\\t\\t\\t\\theight: $desc-height + $desc-vertical-padding;\\n\\t\\t\\t\\t\\tmargin: math.div($desc-vertical-padding, 2);\\n\\t\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t.app-sidebar-header__desc {\\n\\t\\t\\t\\t\\tpadding-left: 0;\\n\\t\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\t\\tpadding-right: 2 * $clickable-area + $top-buttons-spacing;\\n\\t\\t\\t\\t\\tpadding-top: $desc-vertical-padding-compact;\\n\\n\\t\\t\\t\\t\\t&.app-sidebar-header__desc--without-actions {\\n\\t\\t\\t\\t\\t\\tpadding-right: #{$clickable-area + $top-buttons-spacing};\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.app-sidebar-header__tertiary-actions {\\n\\t\\t\\t\\t\\t\\tz-index: 3; // above star\\n\\t\\t\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\t\\t\\ttop: math.div($desc-vertical-padding, 2);\\n\\t\\t\\t\\t\\t\\tleft: -1 * $clickable-area;\\n\\t\\t\\t\\t\\t\\tgap: 0; // override gap\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t.app-sidebar-header__menu {\\n\\t\\t\\t\\t\\t\\ttop: $top-buttons-spacing;\\n\\t\\t\\t\\t\\t\\tright: $clickable-area + $top-buttons-spacing; // left of the close button\\n\\t\\t\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// sidebar without figure\\n\\t\\t&:not(.app-sidebar-header--with-figure) {\\n\\t\\t\\t// align the menu with the close button\\n\\t\\t\\t.app-sidebar-header__menu {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: $top-buttons-spacing;\\n\\t\\t\\t\\tright: $top-buttons-spacing + $clickable-area;\\n\\t\\t\\t}\\n\\t\\t\\t// increase the padding to not overlap the menu\\n\\t\\t\\t.app-sidebar-header__desc {\\n\\t\\t\\t\\tpadding-right: #{$clickable-area * 2 + $top-buttons-spacing};\\n\\n\\t\\t\\t\\t&.app-sidebar-header__desc--without-actions {\\n\\t\\t\\t\\t\\tpadding-right: #{$clickable-area + $top-buttons-spacing};\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// the container with the figure and the description\\n\\t\\t.app-sidebar-header__info {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t}\\n\\n\\t\\t// header background\\n\\t\\t&__figure {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 250px;\\n\\t\\t\\tmax-height: 250px;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: contain;\\n\\t\\t\\t&--with-action {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// description\\n\\t\\t&__desc {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: #{$desc-vertical-padding} #{$top-buttons-spacing} #{$desc-vertical-padding} #{math.div($desc-vertical-padding, 2)};\\n\\t\\t\\tgap: 0 4px;\\n\\n\\t\\t\\t// custom overrides\\n\\t\\t\\t&--with-tertiary-action {\\n\\t\\t\\t\\tpadding-left: 6px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--editable .app-sidebar-header__maintitle-form,\\n\\t\\t\\t&--with-subtitle--editable .app-sidebar-header__maintitle-form {\\n\\t\\t\\t\\tmargin-top: -2px;\\n\\t\\t\\t\\tmargin-bottom: -2px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--with-subtitle--editable .app-sidebar-header__subtitle {\\n\\t\\t\\t\\tmargin-top: -2px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.app-sidebar-header__tertiary-actions {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tflex: 0 0 auto;\\n\\n\\t\\t\\t\\t.app-sidebar-header__star {\\n\\t\\t\\t\\t\\t// Override default Button component styles\\n\\t\\t\\t\\t\\tbox-shadow: none;\\n\\t\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\t\\tbox-shadow: none;\\n\\t\\t\\t\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// titles\\n\\t\\t\\t.app-sidebar-header__title-container {\\n\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tflex-direction: column;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tmin-width: 0;\\n\\n\\t\\t\\t\\t.app-sidebar-header__maintitle-container {\\n\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t\\tmin-height: $clickable-area;\\n\\n\\t\\t\\t\\t\\t// main title\\n\\t\\t\\t\\t\\t.app-sidebar-header__maintitle {\\n\\t\\t\\t\\t\\t\\tpadding: 0;\\n\\t\\t\\t\\t\\t\\tmin-height: 30px;\\n\\t\\t\\t\\t\\t\\tfont-size: 20px;\\n\\t\\t\\t\\t\\t\\tline-height: $desc-title-height;\\n\\n\\t\\t\\t\\t\\t\\t// Needs 'deep' as the link is generated by the linkify directive\\n\\t\\t\\t\\t\\t\\t&:deep(.linkified) {\\n\\t\\t\\t\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.app-sidebar-header__maintitle-form {\\n\\t\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t\\t\\t\\tinput.app-sidebar-header__maintitle-input {\\n\\t\\t\\t\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\t\\t\\tpadding: $desc-input-padding;\\n\\t\\t\\t\\t\\t\\t\\tfont-size: 20px;\\n\\t\\t\\t\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// main menu\\n\\t\\t\\t\\t\\t.app-sidebar-header__menu {\\n\\t\\t\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t\\t\\t\\t\\tbackground-color: $action-background-hover;\\n\\t\\t\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// shared between main and subtitle\\n\\t\\t\\t\\t.app-sidebar-header__maintitle,\\n\\t\\t\\t\\t.app-sidebar-header__subtitle {\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// subtitle\\n\\t\\t\\t\\t.app-sidebar-header__subtitle {\\n\\t\\t\\t\\t\\tpadding: 0;\\n\\t\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t\\t\\tfont-size: var(--default-font-size);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// sidebar description slot\\n\\t\\t&__description {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmargin: 0 10px;\\n\\t\\t}\\n\\t}\\n}\\n\\n// Make the sidebar full-width on small screens\\n@media only screen and (max-width: math.div($breakpoint-mobile, 2)) {\\n\\t.app-sidebar {\\n\\t\\twidth: 100vw;\\n\\t}\\n}\\n\\n.slide-right-leave-active,\\n.slide-right-enter-active {\\n\\ttransition-duration: var(--animation-quick);\\n\\ttransition-property: max-width, min-width;\\n}\\n\\n.slide-right-enter-to,\\n.slide-right-leave {\\n\\tmin-width: $sidebar-min-width;\\n\\tmax-width: $sidebar-max-width;\\n}\\n\\n.slide-right-enter,\\n.slide-right-leave-to {\\n\\tmin-width: 0 !important;\\n\\tmax-width: 0 !important;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},269:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar-header__description button,.app-sidebar-header__description .button,.app-sidebar-header__description input[type=button],.app-sidebar-header__description input[type=submit],.app-sidebar-header__description input[type=reset]{padding:6px 22px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppSidebar/NcAppSidebar.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCHA,4OAIC,gBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n// ! slots specific designs, cannot be scoped\\n// if any button inside the description slot, increase visual padding\\n.app-sidebar-header__description {\\n\\tbutton, .button,\\n\\tinput[type='button'],\\n\\tinput[type='submit'],\\n\\tinput[type='reset'] {\\n\\t\\tpadding: 6px 22px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},1091:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-7339f406]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar-tabs[data-v-7339f406]{display:flex;flex-direction:column;min-height:0;flex:1 1 100%}.app-sidebar-tabs__nav[data-v-7339f406]{margin-top:10px}.app-sidebar-tabs__nav ul[data-v-7339f406]{display:flex;justify-content:stretch}.app-sidebar-tabs__tab[data-v-7339f406]{display:block;flex:1 1;min-width:0;text-align:center}.app-sidebar-tabs__tab a[data-v-7339f406]{position:relative;display:block;overflow:hidden;padding:25px 5px 5px 5px;transition:color var(--animation-quick),opacity var(--animation-quick),border-color var(--animation-quick);text-align:center;white-space:nowrap;text-overflow:ellipsis;opacity:.7;color:var(--color-main-text);border-bottom:1px solid var(--color-border)}.app-sidebar-tabs__tab a[data-v-7339f406]:hover,.app-sidebar-tabs__tab a[data-v-7339f406]:focus,.app-sidebar-tabs__tab a[data-v-7339f406]:active,.app-sidebar-tabs__tab a.active[data-v-7339f406]{opacity:1}.app-sidebar-tabs__tab a:hover .app-sidebar-tabs__tab-icon[data-v-7339f406],.app-sidebar-tabs__tab a:focus .app-sidebar-tabs__tab-icon[data-v-7339f406],.app-sidebar-tabs__tab a:active .app-sidebar-tabs__tab-icon[data-v-7339f406],.app-sidebar-tabs__tab a.active .app-sidebar-tabs__tab-icon[data-v-7339f406]{opacity:1}.app-sidebar-tabs__tab a[data-v-7339f406]:not(.active):hover,.app-sidebar-tabs__tab a[data-v-7339f406]:not(.active):focus{border-bottom-color:var(--color-background-darker);box-shadow:inset 0 -1px 0 var(--color-background-darker)}.app-sidebar-tabs__tab a.active[data-v-7339f406]{color:var(--color-text-light);border-bottom-color:var(--color-text-light);box-shadow:inset 0 -1px 0 var(--color-text-light);font-weight:bold}.app-sidebar-tabs__tab a[data-v-7339f406]:focus{border-bottom-color:var(--color-primary-element);box-shadow:inset 0 -1px 0 var(--color-primary-element)}.app-sidebar-tabs__tab-icon[data-v-7339f406]{position:absolute;top:0;left:0;width:100%;height:25px;transition:opacity var(--animation-quick);opacity:.7}.app-sidebar-tabs__tab-icon>span[data-v-7339f406]{display:flex;align-items:center;justify-content:center;background-size:16px}.app-sidebar-tabs__content[data-v-7339f406]{position:relative;min-height:0;height:100%}.app-sidebar-tabs__content--multiple[data-v-7339f406]>:not(section){display:none}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppSidebar/NcAppSidebarTabs.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,YAAA,CACA,qBAAA,CACA,YAAA,CACA,aAAA,CAEA,wCACC,eAAA,CACA,2CACC,YAAA,CACA,uBAAA,CAGF,wCACC,aAAA,CACA,QAAA,CACA,WAAA,CACA,iBAAA,CACA,0CACC,iBAAA,CACA,aAAA,CACA,eAAA,CACA,wBAAA,CACA,0GAAA,CACA,iBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UCcc,CDbd,4BAAA,CACA,2CAAA,CAEA,kMAIC,SCOW,CDNX,kTACC,SCKU,CDFZ,0HAEC,kDAAA,CACA,wDAAA,CAED,iDACC,6BAAA,CACA,2CAAA,CACA,iDAAA,CACA,gBAAA,CAKD,gDACC,gDAAA,CACA,sDAAA,CAKH,6CACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,yCAAA,CACA,UC3Be,CD6Bf,kDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,oBAAA,CAIF,4CACC,iBAAA,CAEA,YAAA,CACA,WAAA,CAGA,oEACC,YAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.app-sidebar-tabs {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmin-height: 0;\\n\\tflex: 1 1 100%;\\n\\n\\t&__nav {\\n\\t\\tmargin-top: 10px;\\n\\t\\tul {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: stretch;\\n\\t\\t}\\n\\t}\\n\\t&__tab {\\n\\t\\tdisplay: block;\\n\\t\\tflex: 1 1;\\n\\t\\tmin-width: 0;\\n\\t\\ttext-align: center;\\n\\t\\ta {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tpadding: 25px 5px 5px 5px;\\n\\t\\t\\ttransition: color var(--animation-quick), opacity var(--animation-quick), border-color var(--animation-quick);\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active,\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t.app-sidebar-tabs__tab-icon {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(.active):hover,\\n\\t\\t\\t&:not(.active):focus {\\n\\t\\t\\t\\tborder-bottom-color: var(--color-background-darker);\\n\\t\\t\\t\\tbox-shadow: inset 0 -1px 0 var(--color-background-darker);\\n\\t\\t\\t}\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\t\\tborder-bottom-color: var(--color-text-light);\\n\\t\\t\\t\\tbox-shadow: inset 0 -1px 0 var(--color-text-light);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t// differentiate the two for accessibility purpose\\n\\t\\t\\t// make sure the user knows she's focusing the navigation\\n\\t\\t\\t// and can use arrows/home/pageup...\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\tborder-bottom-color: var(--color-primary-element);\\n\\t\\t\\t\\tbox-shadow: inset 0 -1px 0 var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__tab-icon {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\twidth: 100%;\\n\\t\\theight: 25px;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t& > span {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbackground-size: 16px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tposition: relative;\\n\\t\\t// take full available height\\n\\t\\tmin-height: 0;\\n\\t\\theight: 100%;\\n\\t\\t// force the use of the tab component if more than one tab\\n\\t\\t// you can just put raw content if you don't use tabs\\n\\t\\t&--multiple > :not(section) {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},9957:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-268dd44a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar__tab[data-v-268dd44a]{display:none;padding:10px;min-height:100%;max-height:100%;height:100%;overflow:auto}.app-sidebar__tab[data-v-268dd44a]:focus{border-color:var(--color-primary);box-shadow:0 0 .2em var(--color-primary);outline:0}.app-sidebar__tab--active[data-v-268dd44a]{display:block}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAppSidebarTab/NcAppSidebarTab.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,YAAA,CACA,YAAA,CACA,eAAA,CACA,eAAA,CACA,WAAA,CACA,aAAA,CAEA,yCACC,iCAAA,CACA,wCAAA,CACA,SAAA,CAGD,2CACC,aAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.app-sidebar__tab {\\n\\tdisplay: none;\\n\\tpadding: 10px;\\n\\tmin-height: 100%; // fill available height\\n\\tmax-height: 100%; // scroll inside\\n\\theight: 100%;\\n\\toverflow: auto;\\n\\n\\t&:focus {\\n\\t\\tborder-color: var(--color-primary);\\n\\t\\tbox-shadow: 0 0 0.2em var(--color-primary);\\n\\t\\toutline: 0;\\n\\t}\\n\\n\\t&--active {\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},3069:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r),s=n(1667),l=n.n(s),A=new URL(n(8718),n.b),c=new URL(n(1246),n.b),d=new URL(n(3632),n.b),u=o()(i()),p=l()(A),m=l()(c),h=l()(d);u.push([t.id,\".material-design-icon[data-v-406df22d]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-406df22d]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-406df22d]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-406df22d]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,.05) inset}body.theme--dark .avatardiv[data-v-406df22d]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-406df22d]{cursor:pointer}.avatardiv--with-menu[data-v-406df22d] .v-popper{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-406df22d]{cursor:pointer;opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-406df22d],.avatardiv--with-menu:hover .icon-more[data-v-406df22d]{opacity:1}.avatardiv--with-menu:focus img[data-v-406df22d],.avatardiv--with-menu:hover img[data-v-406df22d]{opacity:.3}.avatardiv--with-menu .icon-more[data-v-406df22d],.avatardiv--with-menu img[data-v-406df22d]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-406df22d]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-406df22d]{width:100%;height:100%;object-fit:cover}.avatardiv .material-design-icon[data-v-406df22d]{width:var(--size);height:var(--size)}.avatardiv .avatardiv__user-status[data-v-406df22d]{position:absolute;right:-4px;bottom:-4px;max-height:18px;max-width:18px;height:40%;width:40%;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-406df22d]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-406df22d]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-406df22d]{background-image:url(\"+p+\")}.avatardiv .avatardiv__user-status--dnd[data-v-406df22d]{background-image:url(\"+m+\");background-color:#fff}.avatardiv .avatardiv__user-status--away[data-v-406df22d]{background-image:url(\"+h+\")}.avatardiv .avatardiv__user-status--icon[data-v-406df22d]{border:none;background-color:rgba(0,0,0,0)}.avatardiv .popovermenu-wrapper[data-v-406df22d]{position:relative;display:inline-block}.avatar-class-icon[data-v-406df22d]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcAvatar/NcAvatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,4BACC,iBAAA,CACA,oBAAA,CACA,iBAAA,CACA,kBAAA,CAEA,qCACC,iBAAA,CACA,8CAAA,CAGD,qDAEC,gCAAA,CAKA,wCAAA,CAJA,sEAEC,gCAAA,CAKF,uCACC,cAAA,CACA,iDACC,iBAAA,CACA,KAAA,CACA,MAAA,CAED,kDACC,cAAA,CACA,SAAA,CAIA,gHACC,SAAA,CAED,kGACC,UAAA,CAGF,6FAEC,yCAAA,CAIF,qCACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,iBAAA,CACA,kBAAA,CACA,kCAAA,CAGD,gCAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CAGD,kDACC,iBAAA,CACA,kBAAA,CAGD,oDACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,cAAA,CACA,UAAA,CACA,SAAA,CACA,gBAAA,CACA,kCAAA,CACA,6CAAA,CACA,6CAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CACA,iBAAA,CAEA,gEACC,0CAAA,CACA,8CAAA,CAED,iEACC,uCAAA,CACA,2CAAA,CAGD,4DACC,wDAAA,CAED,yDACC,wDAAA,CACA,qBAAA,CAED,0DACC,wDAAA,CAED,0DACC,WAAA,CACA,8BAAA,CAIF,iDACC,iBAAA,CACA,oBAAA,CAIF,oCACC,iBAAA,CACA,+CAAA,CACA,WAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t:deep(.v-popper) {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.material-design-icon {\\n\\t\\twidth: var(--size);\\n\\t\\theight: var(--size);\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tmax-height: 18px;\\n\\t\\tmax-width: 18px;\\n\\t\\theight: 40%;\\n\\t\\twidth: 40%;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=u},4327:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-1519484b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-crumb[data-v-1519484b]{background-image:none;display:inline-flex;height:44px;padding:0}.vue-crumb[data-v-1519484b]:last-child{max-width:210px;font-weight:bold}.vue-crumb:last-child>a[data-v-1519484b],.vue-crumb:last-child>a[data-v-1519484b] *{cursor:default}.vue-crumb:last-child .vue-crumb__separator[data-v-1519484b]{display:none}.vue-crumb:not(:last-child)>a[data-v-1519484b]:hover,.vue-crumb:not(:last-child)>a[data-v-1519484b]:focus{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb--hidden[data-v-1519484b]{display:none}.vue-crumb.vue-crumb--hovered>a[data-v-1519484b]{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb__separator[data-v-1519484b]{padding:0;color:var(--color-text-maxcontrast)}.vue-crumb>a[data-v-1519484b]{overflow:hidden;color:var(--color-text-maxcontrast);padding:12px;max-width:100%;border-radius:var(--border-radius-pill);align-items:center;display:inline-flex}.vue-crumb>a>span[data-v-1519484b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vue-crumb[data-v-1519484b]:not(.dropdown) .action-item{max-width:100%}.vue-crumb[data-v-1519484b]:not(.dropdown) .action-item .button-vue{padding:0 4px 0 16px}.vue-crumb[data-v-1519484b]:not(.dropdown) .action-item .button-vue__wrapper{flex-direction:row-reverse}.vue-crumb[data-v-1519484b]:not(.dropdown) .action-item.action-item--open .action-item__menutoggle{background-color:var(--color-background-dark);color:var(--color-main-text)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcBreadcrumb/NcBreadcrumb.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,4BACC,qBAAA,CACA,mBAAA,CACA,WCmBgB,CDlBhB,SAAA,CAEA,uCACC,eAAA,CACA,gBAAA,CAEA,oFAEC,cAAA,CAID,6DACC,YAAA,CAMD,0GAEC,6CAAA,CACA,4BAAA,CAIF,oCACC,YAAA,CAGD,iDACC,6CAAA,CACA,4BAAA,CAGD,uCACC,SAAA,CACA,mCAAA,CAGD,8BACC,eAAA,CACA,mCAAA,CACA,YAAA,CACA,cAAA,CACA,uCAAA,CACA,kBAAA,CACA,mBAAA,CAEA,mCACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAMF,wDAEC,cAAA,CAEA,oEACC,oBAAA,CAEA,6EACC,0BAAA,CAKF,mGACC,6CAAA,CACA,4BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.vue-crumb {\\n\\tbackground-image: none;\\n\\tdisplay: inline-flex;\\n\\theight: $clickable-area;\\n\\tpadding: 0;\\n\\n\\t&:last-child {\\n\\t\\tmax-width: 210px;\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t> a,\\n\\t\\t> a:deep(*) {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t// Don't show breadcrumb separator for last crumb\\n\\t\\t.vue-crumb__separator {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Hover and focus effect for crumbs, but not the last one\\n\\t&:not(:last-child) > a {\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n\\n\\t&--hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t&#{&}--hovered > a {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\t&__separator {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t> a {\\n\\t\\toverflow: hidden;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding: 12px;\\n\\t\\tmax-width: 100%;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\talign-items: center;\\n\\t\\tdisplay: inline-flex;\\n\\n\\t\\t> span {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n\\n\\t// Adjust action item appearance for crumbs with actions\\n\\t// to match other crumbs\\n\\t&:not(.dropdown) :deep(.action-item) {\\n\\t\\t// Adjustments necessary to correctly shrink on small screens\\n\\t\\tmax-width: 100%;\\n\\n\\t\\t.button-vue {\\n\\t\\t\\tpadding: 0 4px 0 16px;\\n\\n\\t\\t\\t&__wrapper {\\n\\t\\t\\t\\tflex-direction: row-reverse;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Adjust the background of the last crumb when the action is open\\n\\t\\t&.action-item--open .action-item__menutoggle {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},9656:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-2b60ed1a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.breadcrumb[data-v-2b60ed1a]{width:100%;flex-grow:1;display:inline-flex}.breadcrumb--collapsed .vue-crumb[data-v-2b60ed1a]:last-child{min-width:100px;flex-shrink:1}.breadcrumb .breadcrumb__crumbs[data-v-2b60ed1a]{flex-shrink:1;max-width:100%;min-width:228px}.breadcrumb .breadcrumb__crumbs[data-v-2b60ed1a],.breadcrumb .breadcrumb__actions[data-v-2b60ed1a]{display:inline-flex}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcBreadcrumbs/NcBreadcrumbs.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6BACC,UAAA,CACA,WAAA,CACA,mBAAA,CAEA,8DACC,eAAA,CACA,aAAA,CAGD,iDACC,aAAA,CACA,cAAA,CAKA,eAAA,CAGD,mGAEC,mBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.breadcrumb {\\n\\twidth: 100%;\\n\\tflex-grow: 1;\\n\\tdisplay: inline-flex;\\n\\n\\t&--collapsed .vue-crumb:last-child {\\n\\t\\tmin-width: 100px;\\n\\t\\tflex-shrink: 1;\\n\\t}\\n\\n\\t& #{&}__crumbs {\\n\\t\\tflex-shrink: 1;\\n\\t\\tmax-width: 100%;\\n\\t\\t/**\\n\\t\\t * This value is given by the min-width of the last crumb (100px) plus\\n\\t\\t * two times the width of a crumb with an icon (first crumb and hidden crumbs actions).\\n\\t\\t */\\n\\t\\tmin-width: 228px;\\n\\t}\\n\\n\\t& #{&}__crumbs,\\n\\t& #{&}__actions {\\n\\t\\tdisplay: inline-flex;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},1851:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-4ed6ae10]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-4ed6ae10]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition:background-color .1s linear !important;transition:border .1s linear;background-color:var(--color-primary-element-lighter);color:var(--color-primary-light-text)}.button-vue *[data-v-4ed6ae10]{cursor:pointer}.button-vue[data-v-4ed6ae10]:focus{outline:none}.button-vue[data-v-4ed6ae10]:disabled{cursor:default;opacity:.5;filter:saturate(0.7)}.button-vue:disabled *[data-v-4ed6ae10]{cursor:default}.button-vue[data-v-4ed6ae10]:hover:not(:disabled){background-color:var(--color-primary-light-hover)}.button-vue[data-v-4ed6ae10]:active{background-color:var(--color-primary-element-lighter)}.button-vue__wrapper[data-v-4ed6ae10]{display:inline-flex;align-items:center;justify-content:space-around}.button-vue__icon[data-v-4ed6ae10]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-4ed6ae10]{font-weight:bold;margin-bottom:1px;padding:2px 0}.button-vue--icon-only[data-v-4ed6ae10]{width:44px !important}.button-vue--text-only[data-v-4ed6ae10]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-4ed6ae10]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-4ed6ae10]{padding:0 16px 0 4px}.button-vue--wide[data-v-4ed6ae10]{width:100%}.button-vue--tabbed[data-v-4ed6ae10],.button-vue[data-v-4ed6ae10]:focus-visible{box-shadow:0 0 0 2px var(--color-main-text);background-color:var(--color-primary-light-hover)}.button-vue--tabbed.button-vue--vue-primary[data-v-4ed6ae10],.button-vue:focus-visible.button-vue--vue-primary[data-v-4ed6ae10]{background-color:var(--color-primary-hover)}.button-vue--tabbed.button-vue--vue-secondary[data-v-4ed6ae10],.button-vue:focus-visible.button-vue--vue-secondary[data-v-4ed6ae10]{box-shadow:0 0 0 2px var(--color-main-text)}.button-vue--tabbed.button-vue--vue-tertiary-no-background[data-v-4ed6ae10],.button-vue:focus-visible.button-vue--vue-tertiary-no-background[data-v-4ed6ae10]{opacity:1}.button-vue--tabbed.button-vue--vue-tertiary-on-primary[data-v-4ed6ae10],.button-vue:focus-visible.button-vue--vue-tertiary-on-primary[data-v-4ed6ae10]{box-shadow:0 0 0 2px var(--color-primary-text);border-radius:var(--border-radius);opacity:1;background-color:rgba(0,0,0,0)}.button-vue--tabbed.button-vue--vue-success[data-v-4ed6ae10],.button-vue:focus-visible.button-vue--vue-success[data-v-4ed6ae10]{background-color:var(--color-success-hover)}.button-vue--tabbed.button-vue--vue-warning[data-v-4ed6ae10],.button-vue:focus-visible.button-vue--vue-warning[data-v-4ed6ae10]{background-color:var(--color-warning-hover)}.button-vue--tabbed.button-vue--vue-error[data-v-4ed6ae10],.button-vue:focus-visible.button-vue--vue-error[data-v-4ed6ae10]{background-color:var(--color-error-hover)}.button-vue--vue-primary[data-v-4ed6ae10]{background-color:var(--color-primary-element);color:var(--color-primary-text)}.button-vue--vue-primary[data-v-4ed6ae10]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-4ed6ae10]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-4ed6ae10]{color:var(--color-primary-light-text);background-color:var(--color-primary-light)}.button-vue--vue-secondary[data-v-4ed6ae10]:hover:not(:disabled){color:var(--color-primary-light-text);background-color:var(--color-primary-light-hover)}.button-vue--vue-tertiary[data-v-4ed6ae10]{color:var(--color-main-text);background-color:rgba(0,0,0,0)}.button-vue--vue-tertiary[data-v-4ed6ae10]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-4ed6ae10]{color:var(--color-main-text);background-color:rgba(0,0,0,0);opacity:.7}.button-vue--vue-tertiary-no-background[data-v-4ed6ae10]:hover:not(:disabled){background-color:rgba(0,0,0,0);opacity:1}.button-vue--vue-tertiary-on-primary[data-v-4ed6ae10]{color:var(--color-primary-text);background-color:rgba(0,0,0,0);opacity:.7}.button-vue--vue-tertiary-on-primary[data-v-4ed6ae10]:hover:not(:disabled){background-color:rgba(0,0,0,0);opacity:1}.button-vue--vue-success[data-v-4ed6ae10]{background-color:var(--color-success);color:#fff}.button-vue--vue-success[data-v-4ed6ae10]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-4ed6ae10]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-4ed6ae10]{background-color:var(--color-warning);color:#fff}.button-vue--vue-warning[data-v-4ed6ae10]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-4ed6ae10]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-4ed6ae10]{background-color:var(--color-error);color:#fff}.button-vue--vue-error[data-v-4ed6ae10]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-4ed6ae10]:active{background-color:var(--color-error)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcButton/NcButton.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,iBAAA,CACA,iBAAA,CACA,eAAA,CACA,QAAA,CACA,SAAA,CACA,kCAAA,CACA,gBAAA,CACA,eCcgB,CDbhB,cCagB,CDZhB,YAAA,CACA,kBAAA,CACA,sBAAA,CAGA,cAAA,CAIA,kBAAA,CACA,iDAAA,CACA,4BAAA,CAkBA,qDAAA,CACA,qCAAA,CAxBA,+BACC,cAAA,CAOD,mCACC,YAAA,CAGD,sCACC,cAAA,CAIA,UCMiB,CDJjB,oBAAA,CALA,wCACC,cAAA,CAUF,kDACC,iDAAA,CAKD,oCACC,qDAAA,CAGD,sCACC,mBAAA,CACA,kBAAA,CACA,4BAAA,CAGD,mCACC,WCpCe,CDqCf,UCrCe,CDsCf,eCtCe,CDuCf,cCvCe,CDwCf,YAAA,CACA,sBAAA,CACA,kBAAA,CAGD,mCACC,gBAAA,CACA,iBAAA,CACA,aAAA,CAID,wCACC,qBAAA,CAID,wCACC,cAAA,CACA,0DACC,eAAA,CACA,gBAAA,CAKF,4CACC,oBAAA,CAID,mCACC,UAAA,CAMD,gFACC,2CAAA,CACA,iDAAA,CACA,gIACC,2CAAA,CAED,oIACC,2CAAA,CAED,8JACC,SAAA,CAED,wJACC,8CAAA,CACA,kCAAA,CACA,SAAA,CACA,8BAAA,CAED,gIACC,2CAAA,CAED,gIACC,2CAAA,CAED,4HACC,yCAAA,CAOF,0CACC,6CAAA,CACA,+BAAA,CACA,+DACC,mDAAA,CAID,iDACC,6CAAA,CAKF,4CACC,qCAAA,CACA,2CAAA,CACA,iEACC,qCAAA,CACA,iDAAA,CAKF,2CACC,4BAAA,CACA,8BAAA,CACA,gEACC,6BAAA,CACA,8CAAA,CAKF,yDACC,4BAAA,CACA,8BAAA,CACA,UAAA,CACA,8EACC,8BAAA,CACA,SAAA,CAKF,sDACC,+BAAA,CACA,8BAAA,CACA,UAAA,CAEA,2EACC,8BAAA,CACA,SAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,0CACC,qCAAA,CACA,UAAA,CACA,+DACC,2CAAA,CAID,iDACC,qCAAA,CAKF,wCACC,mCAAA,CACA,UAAA,CACA,6DACC,yCAAA,CAID,+CACC,mCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.button-vue {\\n\\tposition: relative;\\n\\twidth: fit-content;\\n\\toverflow: hidden;\\n\\tborder: 0;\\n\\tpadding: 0;\\n\\tfont-size: var(--default-font-size);\\n\\tfont-weight: bold;\\n\\tmin-height: $clickable-area;\\n\\tmin-width: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t// Cursor pointer on element and all children\\n\\tcursor: pointer;\\n\\t& * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\tborder-radius: math.div($clickable-area, 2);\\n\\ttransition: background-color 0.1s linear !important;\\n\\ttransition: border 0.1s linear;\\n\\n\\t// No outline feedback for focus. Handled with a toggled class in js (see data)\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\t& * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t// Gives a wash out effect\\n\\t\\tfilter: saturate($opacity_normal);\\n\\t}\\n\\n\\t// Default button type\\n\\tbackground-color: var(--color-primary-element-lighter);\\n\\tcolor: var(--color-primary-light-text);\\n\\t&:hover:not(:disabled) {\\n\\t\\tbackground-color: var(--color-primary-light-hover);\\n\\t}\\n\\n\\t// Back to the default color for this button when active\\n\\t// TODO: add ripple effect\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-primary-element-lighter);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: space-around;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\theight: $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__text {\\n\\t\\tfont-weight: bold;\\n\\t\\tmargin-bottom: 1px;\\n\\t\\tpadding: 2px 0;\\n\\t}\\n\\n\\t// Icon-only button\\n\\t&--icon-only {\\n\\t\\twidth: $clickable-area !important;\\n\\t}\\n\\n\\t// Text-only button\\n\\t&--text-only {\\n\\t\\tpadding: 0 12px;\\n\\t\\t& .button-vue__text {\\n\\t\\t\\tmargin-left: 4px;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Icon and text button\\n\\t&--icon-and-text {\\n\\t\\tpadding: 0 16px 0 4px;\\n\\t}\\n\\n\\t// Wide button spans the whole width of the container\\n\\t&--wide {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t// We use box-shadow around our buttons instead of an outline, so that the added \\\"border\\\"\\n\\t// coincides with the border of the element. It's not possible to add a border-radius to\\n\\t// the outline\\n\\t&--tabbed, &:focus-visible {\\n\\t\\tbox-shadow: 0 0 0 2px var(--color-main-text);\\n\\t\\tbackground-color: var(--color-primary-light-hover);\\n\\t\\t&.button-vue--vue-primary {\\n\\t\\t\\tbackground-color: var(--color-primary-hover);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-secondary {\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-main-text);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-tertiary-no-background {\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t\\t&.button-vue--vue-tertiary-on-primary {\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-primary-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\topacity: 1;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t\\t&.button-vue--vue-success {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-warning {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-error {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Button types\\n\\n\\t// Primary\\n\\t&--vue-primary {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-primary-element-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Secondary\\n\\t&--vue-secondary {\\n\\t\\tcolor: var(--color-primary-light-text);\\n\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tcolor: var(--color-primary-light-text);\\n\\t\\t\\tbackground-color: var(--color-primary-light-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary\\n\\t&--vue-tertiary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary, no background\\n\\t&--vue-tertiary-no-background {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\topacity: .7;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary on primary color (like the header)\\n\\t&--vue-tertiary-on-primary {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\topacity: .7;\\n\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// Success\\n\\t&--vue-success {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// : add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t}\\n\\n\\t// Warning\\n\\t&--vue-warning {\\n\\t\\tbackground-color: var(--color-warning);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-warning);\\n\\t\\t}\\n\\t}\\n\\n\\t// Error\\n\\t&--vue-error {\\n\\t\\tbackground-color: var(--color-error);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},556:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-2b31639e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-radio-switch[data-v-2b31639e]{display:flex}.checkbox-radio-switch__input[data-v-2b31639e]{position:absolute;z-index:-1;opacity:0 !important;width:var(--icon-size);height:var(--icon-size)}.checkbox-radio-switch__label[data-v-2b31639e]{display:flex;position:relative;align-items:center;user-select:none;height:44px;border-radius:44px;padding:0 14px;margin:0 -14px}.checkbox-radio-switch__label[data-v-2b31639e],.checkbox-radio-switch__label *[data-v-2b31639e]{cursor:pointer}.checkbox-radio-switch__icon[data-v-2b31639e]{margin-right:4px;margin-left:-2px;color:var(--color-primary-element);width:var(--icon-size);height:var(--icon-size)}.checkbox-radio-switch--disabled .checkbox-radio-switch__label[data-v-2b31639e]{opacity:.5}.checkbox-radio-switch--disabled .checkbox-radio-switch__label .checkbox-radio-switch__icon[data-v-2b31639e]{color:var(--color-text-light)}.checkbox-radio-switch:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__label[data-v-2b31639e]:hover,.checkbox-radio-switch:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__label[data-v-2b31639e]:focus-within{background-color:var(--color-primary-light)}.checkbox-radio-switch-switch:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon[data-v-2b31639e]{color:var(--color-text-lighter)}.checkbox-radio-switch-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked .checkbox-radio-switch__icon[data-v-2b31639e]{color:var(--color-primary-element-light)}.checkbox-radio-switch--button-variant .checkbox-radio-switch__label[data-v-2b31639e]{border-radius:0;width:100%;margin:0}.checkbox-radio-switch--button-variant[data-v-2b31639e]:not(.checkbox-radio-switch--button-variant-v-grouped):not(.checkbox-radio-switch--button-variant-h-grouped){border-radius:var(--border-radius-large)}.checkbox-radio-switch--button-variant-v-grouped[data-v-2b31639e]:first-of-type{border-top-left-radius:var(--border-radius-large);border-top-right-radius:var(--border-radius-large)}.checkbox-radio-switch--button-variant-v-grouped[data-v-2b31639e]:last-of-type{border-bottom-left-radius:var(--border-radius-large);border-bottom-right-radius:var(--border-radius-large)}.checkbox-radio-switch--button-variant-v-grouped+.checkbox-radio-switch--button-variant-v-grouped[data-v-2b31639e]:not(.checkbox-radio-switch--button-variant-v-grouped.checkbox-radio-switch--checked){border-top:0}.checkbox-radio-switch--button-variant-v-grouped+.checkbox-radio-switch--button-variant-v-grouped.checkbox-radio-switch--checked[data-v-2b31639e]{margin-top:-2px}.checkbox-radio-switch--button-variant-h-grouped[data-v-2b31639e]:first-of-type{border-top-left-radius:var(--border-radius-large);border-bottom-left-radius:var(--border-radius-large)}.checkbox-radio-switch--button-variant-h-grouped[data-v-2b31639e]:last-of-type{border-top-right-radius:var(--border-radius-large);border-bottom-right-radius:var(--border-radius-large)}.checkbox-radio-switch--button-variant-h-grouped+.checkbox-radio-switch--button-variant-h-grouped[data-v-2b31639e]:not(.checkbox-radio-switch--button-variant-h-grouped.checkbox-radio-switch--checked){border-left:0}.checkbox-radio-switch--button-variant-h-grouped+.checkbox-radio-switch--button-variant-h-grouped.checkbox-radio-switch--checked[data-v-2b31639e]{margin-left:-2px}.checkbox-radio-switch--button-variant.checkbox-radio-switch[data-v-2b31639e]{border:2px solid var(--color-border-dark);overflow:hidden}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked[data-v-2b31639e]{font-weight:bold;border:2px solid var(--color-primary-element-light)}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked[data-v-2b31639e]:hover{border:2px solid var(--color-primary)}.checkbox-radio-switch--button-variant.checkbox-radio-switch--checked label[data-v-2b31639e]{background-color:var(--color-background-dark)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcCheckboxRadioSwitch/NcCheckboxRadioSwitch.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,wCACC,YAAA,CAEA,+CACC,iBAAA,CACA,UAAA,CACA,oBAAA,CACA,sBAAA,CACA,uBAAA,CAGD,+CACC,YAAA,CACA,iBAAA,CACA,kBAAA,CACA,gBAAA,CACA,WCKe,CDJf,kBCIe,CDHf,cAAA,CACA,cAAA,CAEA,gGACC,cAAA,CAIF,8CACC,gBA7BQ,CA+BR,gBAAA,CACA,kCAAA,CACA,sBAAA,CACA,uBAAA,CAGD,gFACC,UCEiB,CDDjB,6GACC,6BAAA,CAIF,2OAEC,2CAAA,CAID,iHACC,+BAAA,CAID,2IACC,wCAAA,CAGD,sFACC,eAAA,CACA,UAAA,CACA,QAAA,CAGD,oKACC,wCAAA,CAIA,gFACC,iDAAA,CACA,kDAAA,CAED,+EACC,oDAAA,CACA,qDAAA,CAID,wMACC,YAAA,CAED,kJAGC,eAAA,CAKD,gFACC,iDAAA,CACA,oDAAA,CAED,+EACC,kDAAA,CACA,qDAAA,CAID,wMACC,aAAA,CAED,kJAGC,gBAAA,CAIF,8EACC,yCAAA,CAEA,eAAA,CAEA,uFACC,gBAAA,CACA,mDAAA,CAEA,6FACC,qCAAA,CAGD,6FACC,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n$spacing: 4px;\\n\\n.checkbox-radio-switch {\\n\\tdisplay: flex;\\n\\n\\t&__input {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\topacity: 0 !important; // We need !important, or it gets overwritten by server style\\n\\t\\twidth: var(--icon-size);\\n\\t\\theight: var(--icon-size);\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\tposition: relative;\\n\\t\\talign-items: center;\\n\\t\\tuser-select: none;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: $clickable-area;\\n\\t\\tpadding: 0 $icon-margin;\\n\\t\\tmargin: 0 #{-$icon-margin};\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmargin-right: $spacing;\\n\\t\\t// Remove the left margin of material design icons to align text\\n\\t\\tmargin-left: -2px;\\n\\t\\tcolor: var(--color-primary-element);\\n\\t\\twidth: var(--icon-size);\\n\\t\\theight: var(--icon-size);\\n\\t}\\n\\n\\t&--disabled &__label {\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t.checkbox-radio-switch__icon {\\n\\t\\t\\tcolor: var(--color-text-light)\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(&--disabled) &__label:hover,\\n\\t&:not(&--disabled) &__label:focus-within {\\n\\t\\tbackground-color: var(--color-primary-light);\\n\\t}\\n\\n\\t// Switch specific rules\\n\\t&-switch:not(&--checked) &__icon {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n\\n\\t// If switch is checked AND disabled, use the fade primary colour\\n\\t&-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked &__icon {\\n\\t\\tcolor: var(--color-primary-element-light);\\n\\t}\\n\\n\\t&--button-variant &__label {\\n\\t\\tborder-radius: 0;\\n\\t\\twidth: 100%;\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t&--button-variant:not(&--button-variant-v-grouped):not(&--button-variant-h-grouped) {\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&--button-variant-v-grouped {\\n\\t\\t&:first-of-type {\\n\\t\\t\\tborder-top-left-radius: var(--border-radius-large);\\n\\t\\t\\tborder-top-right-radius: var(--border-radius-large);\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\tborder-bottom-left-radius: var(--border-radius-large);\\n\\t\\t\\tborder-bottom-right-radius: var(--border-radius-large);\\n\\t\\t}\\n\\n\\t\\t// avoid double borders between elements\\n\\t\\t& + &:not(&.checkbox-radio-switch--checked) {\\n\\t\\t\\tborder-top: 0;\\n\\t\\t}\\n\\t\\t& + &.checkbox-radio-switch--checked {\\n\\t\\t\\t// as the selected element has all borders:\\n\\t\\t\\t// small trick to cover the previous bottom border (only if there is one)\\n\\t\\t\\tmargin-top: -2px;\\n\\t\\t}\\n\\t}\\n\\n\\t&--button-variant-h-grouped {\\n\\t\\t&:first-of-type {\\n\\t\\t\\tborder-top-left-radius: var(--border-radius-large);\\n\\t\\t\\tborder-bottom-left-radius: var(--border-radius-large);\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\tborder-top-right-radius: var(--border-radius-large);\\n\\t\\t\\tborder-bottom-right-radius: var(--border-radius-large);\\n\\t\\t}\\n\\n\\t\\t// avoid double borders between elements\\n\\t\\t& + &:not(&.checkbox-radio-switch--checked) {\\n\\t\\t\\tborder-left: 0;\\n\\t\\t}\\n\\t\\t& + &.checkbox-radio-switch--checked {\\n\\t\\t\\t// as the selected element has all borders:\\n\\t\\t\\t// small trick to cover the previous bottom border (only if there is one)\\n\\t\\t\\tmargin-left: -2px;\\n\\t\\t}\\n\\t}\\n\\n\\t&--button-variant.checkbox-radio-switch {\\n\\t\\tborder: 2px solid var(--color-border-dark);\\n\\t\\t// better than setting border-radius on labels (producing a small gap)\\n\\t\\toverflow: hidden;\\n\\n\\t\\t&--checked {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tborder: 2px solid var(--color-primary-element-light);\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tborder: 2px solid var(--color-primary);\\n\\t\\t\\t}\\n\\n\\t\\t\\tlabel {\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},7439:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-26258836]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.color-picker[data-v-26258836]{display:flex;overflow:hidden;align-content:flex-end;flex-direction:column;justify-content:space-between;box-sizing:content-box !important;width:176px;padding:8px;border-radius:3px;height:196px}.color-picker__simple[data-v-26258836]{display:grid;grid-template-columns:repeat(4, 44px);grid-auto-rows:44px}.color-picker__simple-color-circle[data-v-26258836]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;margin:auto;padding:0;color:#fff;border:none;border-radius:50%;font-size:16px}.color-picker__simple-color-circle[data-v-26258836]:hover{opacity:.6}.color-picker__simple-color-circle--active[data-v-26258836]{width:38px;height:38px;min-height:38px;transition:all 100ms ease-in-out;opacity:1 !important}.color-picker__advanced[data-v-26258836]{box-shadow:none !important}.color-picker__navigation[data-v-26258836]{display:flex;flex-direction:row;justify-content:space-between;margin-top:10px}.color-picker__navigation-button[data-v-26258836]{display:flex;align-content:center;justify-content:center;min-width:44px;height:44px;padding:0;margin:0;border:none;border-radius:22px;background:none;justify-self:flex-end;opacity:.7}.color-picker__navigation-button[data-v-26258836]:focus,.color-picker__navigation-button[data-v-26258836]:hover{background-color:rgba(127,127,127,.25);opacity:1}.color-picker__navigation-button.confirm[data-v-26258836]{display:flex;align-items:center;justify-content:center;padding:4px 8px;color:#fff !important;background-color:var(--color-primary)}.color-picker__navigation-button.confirm[data-v-26258836]:hover{background-color:var(--color-primary-element-light)}.color-picker__navigation-button.more-settings[data-v-26258836]{margin-left:auto}[data-v-26258836] .vc-chrome{width:176px;height:13}[data-v-26258836] .vc-chrome-color-wrap{width:30px;height:30px}[data-v-26258836] .vc-chrome-active-color{width:34px;height:34px;border-radius:17px}[data-v-26258836] .vc-chrome-body{padding:14px 0 0 0}[data-v-26258836] .vc-chrome-saturation-wrap{border-radius:3px}[data-v-26258836] .vc-chrome-saturation-circle{width:20px;height:20px}.slide-enter[data-v-26258836]{transform:translateX(-50%);opacity:0}.slide-enter-to[data-v-26258836]{transform:translateX(0);opacity:1}.slide-leave[data-v-26258836]{transform:translateX(0);opacity:1}.slide-leave-to[data-v-26258836]{transform:translateX(-50%);opacity:0}.slide-enter-active[data-v-26258836],.slide-leave-active[data-v-26258836]{transition:all 50ms ease-in-out}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcColorPicker/NcColorPicker.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,+BACC,YAAA,CACA,eAAA,CACA,sBAAA,CACA,qBAAA,CACA,6BAAA,CACA,iCAAA,CACA,WAAA,CACA,WAAA,CACA,iBAAA,CACA,YAAA,CAEA,uCACC,YAAA,CACA,qCAAA,CACA,mBCQe,CDNf,oDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,WAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,cAAA,CACA,0DACC,UAAA,CAED,4DACC,UAAA,CACA,WAAA,CACA,eAAA,CACA,gCAAA,CACA,oBAAA,CAKH,yCACC,0BAAA,CAGD,2CACC,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,eAAA,CACA,kDACC,YAAA,CACA,oBAAA,CACA,sBAAA,CACA,cCjCc,CDkCd,WClCc,CDmCd,SAAA,CACA,QAAA,CACA,WAAA,CACA,kBAAA,CACA,eAAA,CACA,qBAAA,CACA,UCvBc,CDyBd,gHAEC,sCClCY,CDmCZ,SC3BW,CD8BZ,0DACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,qBAAA,CACA,qCAAA,CACA,gEACC,mDAAA,CAGF,gEACC,gBAAA,CAOH,8BACC,WAAA,CACA,SAAA,CACA,yCACC,UAAA,CACA,WAAA,CAGD,2CACC,UAAA,CACA,WAAA,CACA,kBAAA,CAGD,mCACC,kBAAA,CAIA,8CACC,iBAAA,CAGD,gDACC,UAAA,CACA,WAAA,CAOH,8BACC,0BAAA,CACA,SAAA,CAED,iCACC,uBAAA,CACA,SAAA,CAED,8BACC,uBAAA,CACA,SAAA,CAED,iCACC,0BAAA,CACA,SAAA,CAED,0EAEC,+BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.color-picker {\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\talign-content: flex-end;\\n\\tflex-direction: column;\\n\\tjustify-content: space-between;\\n\\tbox-sizing: content-box !important;\\n\\twidth: 176px;\\n\\tpadding: 8px;\\n\\tborder-radius: 3px;\\n\\theight: 196px;\\n\\n\\t&__simple {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-template-columns: repeat(4, $clickable-area);\\n\\t\\tgrid-auto-rows: $clickable-area;\\n\\n\\t\\t&-color-circle {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: 34px;\\n\\t\\t\\theight: 34px;\\n\\t\\t\\tmin-height: 34px;\\n\\t\\t\\tmargin: auto;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: white;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\topacity: .6;\\n\\t\\t\\t}\\n\\t\\t\\t&--active {\\n\\t\\t\\t\\twidth: 38px;\\n\\t\\t\\t\\theight: 38px;\\n\\t\\t\\t\\tmin-height: 38px;\\n\\t\\t\\t\\ttransition: all 100ms ease-in-out;\\n\\t\\t\\t\\topacity: 1 !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__advanced {\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t&__navigation {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tjustify-content: space-between;\\n\\t\\tmargin-top: 10px;\\n\\t\\t&-button {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-content: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tjustify-self: flex-end;\\n\\t\\t\\topacity: $opacity_normal;\\n\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.confirm {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tpadding: 4px 8px;\\n\\t\\t\\t\\tcolor: white !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary);\\n\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.more-settings {\\n\\t\\t\\t\\tmargin-left: auto;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n:deep() .vc {\\n\\t&-chrome {\\n\\t\\twidth: 176px;\\n\\t\\theight: 13;\\n\\t\\t&-color-wrap {\\n\\t\\t\\twidth: 30px;\\n\\t\\t\\theight: 30px;\\n\\t\\t}\\n\\n\\t\\t&-active-color {\\n\\t\\t\\twidth: 34px;\\n\\t\\t\\theight: 34px;\\n\\t\\t\\tborder-radius: 17px;\\n\\t\\t}\\n\\n\\t\\t&-body {\\n\\t\\t\\tpadding: 14px 0 0 0;\\n\\t\\t}\\n\\n\\t\\t&-saturation {\\n\\t\\t\\t&-wrap {\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-circle {\\n\\t\\t\\t\\twidth: 20px;\\n\\t\\t\\t\\theight: 20px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.slide {\\n\\t&-enter {\\n\\t\\ttransform: translateX(-50%);\\n\\t\\topacity: 0;\\n\\t}\\n\\t&-enter-to {\\n\\t\\ttransform: translateX(0);\\n\\t\\topacity: 1;\\n\\t}\\n\\t&-leave {\\n\\t\\ttransform: translateX(0);\\n\\t\\topacity: 1;\\n\\t}\\n\\t&-leave-to {\\n\\t\\ttransform: translateX(-50%);\\n\\t\\topacity: 0;\\n\\t}\\n\\t&-enter-active,\\n\\t&-leave-active {\\n\\t\\ttransition: all 50ms ease-in-out;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},7009:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-8feff292]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.content[data-v-8feff292]{box-sizing:border-box;margin:var(--body-container-margin);margin-top:50px;display:flex;width:calc(100% - var(--body-container-margin)*2);border-radius:var(--body-container-radius);height:var(--body-height);overflow:hidden;padding:0}.content[data-v-8feff292]:not(.with-sidebar--full){position:fixed}.content[data-v-8feff292] *{box-sizing:border-box}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcContent/NcContent.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,0BACC,qBAAA,CACA,mCAAA,CACA,eAAA,CACA,YAAA,CACA,iDAAA,CACA,0CAAA,CACA,yBAAA,CACA,eAAA,CACA,SAAA,CAEA,mDACC,cAAA,CAGD,4BACC,qBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.content {\\n\\tbox-sizing: border-box;\\n\\tmargin: var(--body-container-margin);\\n\\tmargin-top: 50px;\\n\\tdisplay: flex;\\n\\twidth: calc(100% - var(--body-container-margin) * 2);\\n\\tborder-radius: var(--body-container-radius);\\n\\theight: var(--body-height);\\n\\toverflow: hidden;\\n\\tpadding: 0;\\n\\n\\t&:not(.with-sidebar--full) {\\n\\t\\tposition: fixed;\\n\\t}\\n\\n\\t:deep(*) {\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},2666:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-4a403ca7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.counter-bubble__counter[data-v-4a403ca7]{font-size:calc(var(--default-font-size)*.8);overflow:hidden;width:fit-content;max-width:44px;text-align:center;text-overflow:ellipsis;line-height:1em;padding:4px 6px;border-radius:var(--border-radius-pill);background-color:var(--color-primary-element-lighter, var(--color-primary-element-light));font-weight:bold;color:var(--color-primary-element)}.counter-bubble__counter--highlighted[data-v-4a403ca7]{color:var(--color-primary-text);background-color:var(--color-primary)}.counter-bubble__counter--outlined[data-v-4a403ca7]{color:var(--color-primary);background:rgba(0,0,0,0);box-shadow:inset 0 0 0 2px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcCounterBubble/NcCounterBubble.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,0CACC,2CAAA,CACA,eAAA,CACA,iBAAA,CACA,cCmBgB,CDlBhB,iBAAA,CACA,sBAAA,CACA,eAAA,CACA,eAAA,CACA,uCAAA,CAEA,yFAAA,CACA,gBAAA,CACA,kCAAA,CAEA,uDACC,+BAAA,CACA,qCAAA,CAGD,oDACC,0BAAA,CACA,wBAAA,CACA,0BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.counter-bubble__counter {\\n\\tfont-size: calc(var(--default-font-size) * .8);\\n\\toverflow: hidden;\\n\\twidth: fit-content;\\n\\tmax-width: $clickable-area;\\n\\ttext-align: center;\\n\\ttext-overflow: ellipsis;\\n\\tline-height: 1em;\\n\\tpadding: 4px 6px;\\n\\tborder-radius: var(--border-radius-pill);\\n\\t// since -lighter is not present in the new version it will only apply to the old one and -light for the newer\\n\\tbackground-color: var(--color-primary-element-lighter, var(--color-primary-element-light));\\n\\tfont-weight: bold;\\n\\tcolor: var(--color-primary-element);\\n\\n\\t&--highlighted {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary);\\n\\t}\\n\\n\\t&--outlined {\\n\\t\\tcolor: var(--color-primary);\\n\\t\\tbackground: transparent;\\n\\t\\tbox-shadow: inset 0 0 0 2px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},855:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-8ae88eec]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.dashboard-widget .empty-content[data-v-8ae88eec]{text-align:center;margin-top:5vh}.dashboard-widget .empty-content.half-screen[data-v-8ae88eec]{margin-top:0;margin-bottom:1vh}.more[data-v-8ae88eec]{display:block;text-align:center;color:var(--color-text-maxcontrast);line-height:60px;cursor:pointer}.more[data-v-8ae88eec]:hover,.more[data-v-8ae88eec]:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-large);color:var(--color-main-text)}.item-list__entry[data-v-8ae88eec]{display:flex;align-items:flex-start;padding:8px}.item-list__entry .item-avatar[data-v-8ae88eec]{position:relative;margin-top:auto;margin-bottom:auto;background-color:var(--color-background-dark) !important}.item-list__entry .item__details[data-v-8ae88eec]{padding-left:8px;max-height:44px;flex-grow:1;overflow:hidden;display:flex;flex-direction:column}.item-list__entry .item__details h3[data-v-8ae88eec],.item-list__entry .item__details .message[data-v-8ae88eec]{white-space:nowrap;background-color:var(--color-background-dark)}.item-list__entry .item__details h3[data-v-8ae88eec]{font-size:100%;margin:0}.item-list__entry .item__details .message[data-v-8ae88eec]{width:80%;height:15px;margin-top:5px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcDashboardWidget/NcDashboardWidget.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,kDACC,iBAAA,CACA,cAAA,CAEA,8DACC,YAAA,CACA,iBAAA,CAIF,uBACC,aAAA,CACA,iBAAA,CACA,mCAAA,CACA,gBAAA,CACA,cAAA,CAEA,0DAEC,8CAAA,CACA,wCAAA,CACA,4BAAA,CAKF,mCACC,YAAA,CACA,sBAAA,CACA,WAAA,CAEA,gDACC,iBAAA,CACA,eAAA,CACA,kBAAA,CACA,wDAAA,CAED,kDACC,gBAAA,CACA,eAAA,CACA,WAAA,CACA,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,gHAEC,kBAAA,CACA,6CAAA,CAED,qDACC,cAAA,CACA,QAAA,CAED,2DACC,SAAA,CACA,WAAA,CACA,cAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.dashboard-widget .empty-content {\\n\\ttext-align: center;\\n\\tmargin-top: 5vh;\\n\\n\\t&.half-screen {\\n\\t\\tmargin-top: 0;\\n\\t\\tmargin-bottom: 1vh;\\n\\t}\\n}\\n\\n.more {\\n\\tdisplay: block;\\n\\ttext-align: center;\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tline-height: 60px;\\n\\tcursor: pointer;\\n\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n}\\n\\n/* skeleton */\\n.item-list__entry {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\tpadding: 8px;\\n\\n\\t.item-avatar {\\n\\t\\tposition: relative;\\n\\t\\tmargin-top: auto;\\n\\t\\tmargin-bottom: auto;\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\t.item__details {\\n\\t\\tpadding-left: 8px;\\n\\t\\tmax-height: 44px;\\n\\t\\tflex-grow: 1;\\n\\t\\toverflow: hidden;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\n\\t\\th3,\\n\\t\\t.message {\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t}\\n\\t\\th3 {\\n\\t\\t\\tfont-size: 100%;\\n\\t\\t\\tmargin: 0;\\n\\t\\t}\\n\\t\\t.message {\\n\\t\\t\\twidth: 80%;\\n\\t\\t\\theight: 15px;\\n\\t\\t\\tmargin-top: 5px;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},8476:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-333a3450]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.item-list__entry[data-v-333a3450]{display:flex;align-items:flex-start;position:relative;padding:8px}.item-list__entry[data-v-333a3450]:hover,.item-list__entry[data-v-333a3450]:focus{background-color:var(--color-background-hover);border-radius:var(--border-radius-large)}.item-list__entry .item-avatar[data-v-333a3450]{position:relative;margin-top:auto;margin-bottom:auto}.item-list__entry .item__details[data-v-333a3450]{padding-left:8px;max-height:44px;flex-grow:1;overflow:hidden;display:flex;flex-direction:column}.item-list__entry .item__details h3[data-v-333a3450],.item-list__entry .item__details .message[data-v-333a3450]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-list__entry .item__details .message span[data-v-333a3450]{width:10px;display:inline-block;margin-bottom:-3px}.item-list__entry .item__details h3[data-v-333a3450]{font-size:100%;margin:0}.item-list__entry .item__details .message[data-v-333a3450]{width:100%;color:var(--color-text-maxcontrast)}.item-list__entry .item-icon[data-v-333a3450]{position:relative;width:14px;height:14px;margin:27px -3px 0px -7px}.item-list__entry button.primary[data-v-333a3450]{padding:21px;margin:0}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcDashboardWidgetItem/NcDashboardWidgetItem.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,YAAA,CACA,sBAAA,CACA,iBAAA,CACA,WAAA,CAEA,kFAEC,8CAAA,CACA,wCAAA,CAED,gDACC,iBAAA,CACA,eAAA,CACA,kBAAA,CAED,kDACC,gBAAA,CACA,eAAA,CACA,WAAA,CACA,eAAA,CACA,YAAA,CACA,qBAAA,CAEA,gHAEC,kBAAA,CACA,eAAA,CACA,sBAAA,CAED,gEACC,UAAA,CACA,oBAAA,CACA,kBAAA,CAED,qDACC,cAAA,CACA,QAAA,CAED,2DACC,UAAA,CACA,mCAAA,CAIF,8CACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,yBAAA,CAGD,kDACC,YAAA,CACA,QAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.item-list__entry {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\tposition: relative;\\n\\tpadding: 8px;\\n\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\t.item-avatar {\\n\\t\\tposition: relative;\\n\\t\\tmargin-top: auto;\\n\\t\\tmargin-bottom: auto;\\n\\t}\\n\\t.item__details {\\n\\t\\tpadding-left: 8px;\\n\\t\\tmax-height: 44px;\\n\\t\\tflex-grow: 1;\\n\\t\\toverflow: hidden;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\n\\t\\th3,\\n\\t\\t.message {\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\t\\t.message span {\\n\\t\\t\\twidth: 10px;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\tmargin-bottom: -3px;\\n\\t\\t}\\n\\t\\th3 {\\n\\t\\t\\tfont-size: 100%;\\n\\t\\t\\tmargin: 0;\\n\\t\\t}\\n\\t\\t.message {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\n\\t.item-icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: 14px;\\n\\t\\theight: 14px;\\n\\t\\tmargin: 27px -3px 0px -7px;\\n\\t}\\n\\n\\tbutton.primary {\\n\\t\\tpadding: 21px;\\n\\t\\tmargin: 0;\\n\\t}\\n}\\n/*\\n.content-popover {\\n\\theight: 0px;\\n\\twidth: 0px;\\n\\tmargin-left: auto;\\n\\tmargin-right: auto;\\n}\\n.popover-container {\\n\\twidth: 100%;\\n\\theight: 0px;\\n}\\n*/\\n\"],sourceRoot:\"\"}]),e.Z=o},2221:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-06d2a895]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.datetime-picker-inline-icon[data-v-06d2a895]{opacity:.3;border:none;background-color:rgba(0,0,0,0);border-radius:0;padding:6px !important}.datetime-picker-inline-icon--highlighted[data-v-06d2a895]{opacity:.7}.datetime-picker-inline-icon[data-v-06d2a895]:focus,.datetime-picker-inline-icon[data-v-06d2a895]:hover{opacity:1}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcDatetimePicker/NcDatetimePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,8CACC,UAAA,CACA,WAAA,CACA,8BAAA,CACA,eAAA,CACA,sBAAA,CAEA,2DACC,UAAA,CAGD,wGAEC,SAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.datetime-picker-inline-icon {\\n\\topacity: .3;\\n\\tborder: none;\\n\\tbackground-color: transparent;\\n\\tborder-radius: 0;\\n\\tpadding: 6px !important;\\n\\n\\t&--highlighted {\\n\\t\\topacity: .7;\\n\\t}\\n\\n\\t&:focus,\\n\\t&:hover {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},6220:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-0f616574]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.empty-content[data-v-0f616574]{display:flex;align-items:center;flex-direction:column;margin-top:20vh}.empty-content__icon[data-v-0f616574]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;opacity:.4;background-repeat:no-repeat;background-position:center;background-size:64px}.empty-content__icon[data-v-0f616574] svg{width:64px;height:64px}.empty-content__title[data-v-0f616574]{margin-bottom:10px;text-align:center}.empty-content__action[data-v-0f616574]{margin-top:8px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcEmptyContent/NcEmptyContent.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,gCACC,YAAA,CACA,kBAAA,CACA,qBAAA,CACA,eAAA,CAEA,sCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,UAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,0CACC,UAAA,CACA,WAAA,CAIF,uCACC,kBAAA,CACA,iBAAA,CAGD,wCACC,cAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.empty-content {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex-direction: column;\\n\\tmargin-top: 20vh;\\n\\n\\t&__icon {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 64px;\\n\\t\\theight: 64px;\\n\\t\\tmargin: 0 auto 15px;\\n\\t\\topacity: .4;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 64px;\\n\\n\\t\\t:deep(svg) {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\tmargin-bottom: 10px;\\n\\t\\ttext-align: center;\\n\\t}\\n\\n\\t&__action {\\n\\t\\tmargin-top: 8px;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},4265:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-240245ac]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.input-field[data-v-240245ac]{position:relative;width:100%;border-radius:var(--border-radius-large)}.input-field__main-wrapper[data-v-240245ac]{height:36px;position:relative}.input-field__input[data-v-240245ac]{margin:0;padding:0 12px;font-size:var(--default-font-size);background-color:var(--color-main-background);color:var(--color-main-text);border:2px solid var(--color-border-dark);height:36px !important;border-radius:var(--border-radius-large);text-overflow:ellipsis;cursor:pointer;width:100%;-webkit-appearance:textfield !important;-moz-appearance:textfield !important}.input-field__input[data-v-240245ac]:hover:not([disabled]){border-color:var(--color-primary-element)}.input-field__input[data-v-240245ac]:focus{cursor:text}.input-field__input[data-v-240245ac]:focus-visible{box-shadow:unset !important}.input-field__input--success[data-v-240245ac]{border-color:var(--color-success) !important}.input-field__input--success[data-v-240245ac]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--error[data-v-240245ac]{border-color:var(--color-error) !important}.input-field__input--error[data-v-240245ac]:focus-visible{box-shadow:#f8fafc 0px 0px 0px 2px,var(--color-primary-element) 0px 0px 0px 4px,rgba(0,0,0,.05) 0px 1px 2px 0px}.input-field__input--leading-icon[data-v-240245ac]{padding-left:28px}.input-field__input--trailing-icon[data-v-240245ac]{padding-right:28px}.input-field__label[data-v-240245ac]{padding:4px 0;display:block}.input-field__label--hidden[data-v-240245ac]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.input-field__icon[data-v-240245ac]{position:absolute;height:32px;width:32px;display:flex;align-items:center;justify-content:center;opacity:.7}.input-field__icon--leading[data-v-240245ac]{bottom:2px;left:2px}.input-field__icon--trailing[data-v-240245ac]{bottom:2px;right:2px}.input-field__clear-button.button-vue[data-v-240245ac]{position:absolute;top:2px;right:1px;min-width:unset;min-height:unset;height:32px;width:32px !important;border-radius:var(--border-radius-large)}.input-field__helper-text-message[data-v-240245ac]{padding:4px 0;display:flex;align-items:center}.input-field__helper-text-message__icon[data-v-240245ac]{margin-right:8px;align-self:start;margin-top:4px}.input-field__helper-text-message--error[data-v-240245ac]{color:var(--color-error)}.input-field__helper-text-message--success[data-v-240245ac]{color:var(--color-success)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcInputField/NcInputField.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8BACC,iBAAA,CACA,UAAA,CACA,wCAAA,CAEA,4CACC,WAAA,CACA,iBAAA,CAGD,qCACC,QAAA,CACA,cAAA,CACA,kCAAA,CACA,6CAAA,CACA,4BAAA,CACA,yCAAA,CACA,sBAAA,CACA,wCAAA,CACA,sBAAA,CACA,cAAA,CACA,UAAA,CACA,uCAAA,CACA,oCAAA,CAEA,2DACC,yCAAA,CAGD,2CACC,WAAA,CAGD,mDACC,2BAAA,CAGD,8CACC,4CAAA,CACA,4DACC,+GAAA,CAIF,4CACC,0CAAA,CACA,0DACC,+GAAA,CAIF,mDACC,iBAAA,CAGD,oDACC,kBAAA,CAIF,qCACC,aAAA,CACA,aAAA,CAEA,6CACC,iBAAA,CACA,aAAA,CACA,QAAA,CACA,SAAA,CACA,UAAA,CACA,eAAA,CAIF,oCACC,iBAAA,CACA,WAAA,CACA,UAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,6CACC,UAAA,CACA,QAAA,CAGD,8CACC,UAAA,CACA,SAAA,CAIF,uDACC,iBAAA,CACA,OAAA,CACA,SAAA,CACA,eAAA,CACA,gBAAA,CACA,WAAA,CACA,qBAAA,CACA,wCAAA,CAGD,mDACC,aAAA,CACA,YAAA,CACA,kBAAA,CAEA,yDACC,gBAAA,CACA,gBAAA,CACA,cAAA,CAGD,0DACC,wBAAA,CAGD,4DACC,0BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.input-field {\\n\\tposition: relative;\\n\\twidth: 100%;\\n\\tborder-radius: var(--border-radius-large);\\n\\n\\t&__main-wrapper {\\n\\t\\theight: 36px;\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&__input {\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0 12px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 2px solid var(--color-border-dark);\\n\\t\\theight: 36px !important;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcursor: pointer;\\n\\t\\twidth: 100%;\\n\\t\\t-webkit-appearance: textfield !important;\\n\\t\\t-moz-appearance: textfield !important;\\n\\n\\t\\t&:hover:not([disabled]) {\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t&:focus {\\n\\t\\t\\tcursor: text;\\n\\t\\t}\\n\\n\\t\\t&:focus-visible {\\n\\t\\t\\tbox-shadow: unset !important; // Override server rules\\n\\t\\t}\\n\\n\\t\\t&--success {\\n\\t\\t\\tborder-color: var(--color-success) !important; //Override hover border color\\n\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tborder-color: var(--color-error) !important; //Override hover border color\\n\\t\\t\\t&:focus-visible {\\n\\t\\t\\t\\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--leading-icon {\\n\\t\\t\\tpadding-left: 28px;\\n\\t\\t}\\n\\n\\t\\t&--trailing-icon {\\n\\t\\t\\tpadding-right: 28px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: block;\\n\\n\\t\\t&--hidden {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: -10000px;\\n\\t\\t\\ttop: auto;\\n\\t\\t\\twidth: 1px;\\n\\t\\t\\theight: 1px;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: absolute;\\n\\t\\theight: 32px;\\n\\t\\twidth: 32px;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: 0.7;\\n\\t\\t&--leading {\\n\\t\\t\\tbottom: 2px;\\n\\t\\t\\tleft: 2px;\\n\\t\\t}\\n\\n\\t\\t&--trailing {\\n\\t\\t\\tbottom: 2px;\\n\\t\\t\\tright: 2px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__clear-button.button-vue {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 2px;\\n\\t\\tright: 1px;\\n\\t\\tmin-width: unset;\\n\\t\\tmin-height: unset;\\n\\t\\theight: 32px;\\n\\t\\twidth: 32px !important;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&__helper-text-message {\\n\\t\\tpadding: 4px 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\n\\t\\t&__icon {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t\\talign-self: start;\\n\\t\\t\\tmargin-top: 4px;\\n\\t\\t}\\n\\n\\t\\t&--error {\\n\\t\\t\\tcolor: var(--color-error);\\n\\t\\t}\\n\\n\\t\\t&--success {\\n\\t\\t\\tcolor: var(--color-success);\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},8372:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-7df50011]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.list-item__wrapper[data-v-7df50011]{position:relative;width:100%}.list-item[data-v-7df50011]{display:block;position:relative;flex:0 0 auto;justify-content:flex-start;padding:8px;border-radius:var(--border-radius-pill);margin:2px 0;width:100%;cursor:pointer;transition:background-color var(--animation-quick) ease-in-out;list-style:none}.list-item[data-v-7df50011]:hover,.list-item[data-v-7df50011]:focus{background-color:var(--color-background-hover)}.list-item--active[data-v-7df50011],.list-item[data-v-7df50011]:active,.list-item:active~.app-navigation-entry__utils[data-v-7df50011]{background-color:var(--color-primary-light)}.list-item-content__wrapper[data-v-7df50011]{display:flex;align-items:center;height:48px}.list-item-content__wrapper--compact[data-v-7df50011]{height:36px}.list-item-content__wrapper--compact .line-one[data-v-7df50011],.list-item-content__wrapper--compact .line-two[data-v-7df50011]{margin-top:-4px;margin-bottom:-4px}.list-item-content[data-v-7df50011]{display:flex;flex:1 1 auto;justify-content:space-between;padding-left:8px}.list-item-content__main[data-v-7df50011]{flex:1 1 auto;width:0;margin:auto 0}.list-item-content__main--oneline[data-v-7df50011]{display:flex}.list-item-content__actions[data-v-7df50011]{flex:0 0 auto;align-self:center;justify-content:center;margin-left:4px}.list-item__extra[data-v-7df50011]{margin-top:4px}.line-one[data-v-7df50011]{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;margin:0 auto 0 0;overflow:hidden}.line-one__title[data-v-7df50011]{overflow:hidden;flex-grow:1;cursor:pointer;text-overflow:ellipsis;color:var(--color-main-text);font-weight:bold}.line-one__details[data-v-7df50011]{color:var(--color-text-lighter);margin:0 8px;font-weight:normal}.line-two[data-v-7df50011]{display:flex;align-items:flex-start;justify-content:space-between;white-space:nowrap}.line-two--bold[data-v-7df50011]{font-weight:bold}.line-two__subtitle[data-v-7df50011]{overflow:hidden;flex-grow:1;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-lighter)}.line-two__additional_elements[data-v-7df50011]{margin:2px 4px 0 4px;display:flex;align-items:center}.line-two__indicator[data-v-7df50011]{margin:0 5px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcListItem/NcListItem.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,qCACC,iBAAA,CACA,UAAA,CAID,4BACC,aAAA,CACA,iBAAA,CACA,aAAA,CACA,0BAAA,CACA,WAAA,CACA,uCAAA,CACA,YAAA,CACA,UAAA,CACA,cAAA,CACA,8DAAA,CACA,eAAA,CACA,oEAEC,8CAAA,CAED,uIAGC,2CAAA,CAGD,6CACC,YAAA,CACA,kBAAA,CACA,WAAA,CAEA,sDACC,WAAA,CAEA,gIACC,eAAA,CACA,kBAAA,CAKH,oCACC,YAAA,CACA,aAAA,CACA,6BAAA,CACA,gBAAA,CAEA,0CACC,aAAA,CACA,OAAA,CACA,aAAA,CAEA,mDACC,YAAA,CAIF,6CACC,aAAA,CACA,iBAAA,CACA,sBAAA,CACA,eAAA,CAIF,mCACC,cAAA,CAIF,2BACC,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,kBAAA,CACA,iBAAA,CACA,eAAA,CAEA,kCACC,eAAA,CACA,WAAA,CACA,cAAA,CACA,sBAAA,CACA,4BAAA,CACA,gBAAA,CAGD,oCACC,+BAAA,CACA,YAAA,CACA,kBAAA,CAIF,2BACC,YAAA,CACA,sBAAA,CACA,6BAAA,CACA,kBAAA,CACA,iCACC,gBAAA,CAGD,qCACC,eAAA,CACA,WAAA,CACA,cAAA,CACA,kBAAA,CACA,sBAAA,CACA,+BAAA,CAGD,gDACC,oBAAA,CACA,YAAA,CACA,kBAAA,CAGD,sCACC,YAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.list-item__wrapper{\\n\\tposition: relative;\\n\\twidth: 100%;\\n}\\n\\n// NcListItem\\n.list-item {\\n\\tdisplay: block;\\n\\tposition: relative;\\n\\tflex: 0 0 auto;\\n\\tjustify-content: flex-start;\\n\\tpadding: 8px;\\n\\tborder-radius: var(--border-radius-pill);\\n\\tmargin: 2px 0;\\n\\twidth: 100%;\\n\\tcursor: pointer;\\n\\ttransition: background-color var(--animation-quick) ease-in-out;\\n\\tlist-style: none;\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\t&--active,\\n\\t&:active,\\n\\t&:active ~ .app-navigation-entry__utils {\\n\\t\\tbackground-color: var(--color-primary-light);\\n\\t}\\n\\n\\t&-content__wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\theight: 48px;\\n\\n\\t\\t&--compact {\\n\\t\\t\\theight: 36px;\\n\\n\\t\\t\\t.line-one, .line-two {\\n\\t\\t\\t\\tmargin-top: -4px;\\n\\t\\t\\t\\tmargin-bottom: -4px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&-content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 auto;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding-left: 8px;\\n\\n\\t\\t&__main {\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\twidth: 0;\\n\\t\\t\\tmargin: auto 0;\\n\\n\\t\\t\\t&--oneline {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&__actions {\\n\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\talign-self: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tmargin-left: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__extra {\\n\\t\\tmargin-top: 4px;\\n\\t}\\n}\\n\\n.line-one {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: space-between;\\n\\twhite-space: nowrap;\\n\\tmargin: 0 auto 0 0;\\n\\toverflow: hidden;\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tflex-grow: 1;\\n\\t\\tcursor: pointer;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&__details {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tmargin: 0 8px;\\n\\t\\tfont-weight: normal;\\n\\t}\\n}\\n\\n.line-two {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\tjustify-content: space-between;\\n\\twhite-space: nowrap;\\n\\t&--bold {\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\toverflow: hidden;\\n\\t\\tflex-grow: 1;\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n\\n\\t&__additional_elements {\\n\\t\\tmargin: 2px 4px 0 4px;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__indicator {\\n\\t\\tmargin: 0 5px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},1369:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-7564b97c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-7564b97c]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-7564b97c]{margin-right:var(--margin)}.option__details[data-v-7564b97c]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-7564b97c]{color:var(--color-text-light)}.option__linetwo[data-v-7564b97c]{opacity:.7}.option__lineone[data-v-7564b97c],.option__linetwo[data-v-7564b97c]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-7564b97c],.option__linetwo strong[data-v-7564b97c]{font-weight:bold}.option__icon[data-v-7564b97c]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcListItemIcon/NcListItemIcon.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,yBACC,YAAA,CACA,kBAAA,CACA,UAAA,CACA,oBAAA,CAEA,iCACC,0BAAA,CAGD,kCACC,YAAA,CACA,QAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CAGD,kCACC,6BAAA,CAED,kCACC,UCmBe,CDjBhB,oEAEC,eAAA,CACA,kBAAA,CACA,sBAAA,CACA,iBAAA,CACA,kFACC,gBAAA,CAIF,+BACC,aAAA,CACA,UCde,CDef,WCfe,CDgBf,UCCiB,CAAA,0BAAA,CDCjB,oBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},5030:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-c4a9cada]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.loading-icon svg[data-v-c4a9cada]{animation:rotate var(--animation-duration, 0.8s) linear infinite}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcLoadingIcon/NcLoadingIcon.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,gEAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.loading-icon svg{\\n\\tanimation: rotate var(--animation-duration, 0.8s) linear infinite;\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},4495:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,'.material-design-icon[data-v-5c27511e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-5c27511e]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.modal-mask--dark[data-v-5c27511e]{background-color:rgba(0,0,0,.92)}.modal-header[data-v-5c27511e]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;transition:opacity 250ms,visibility 250ms}.modal-header.invisible[style*=\"display:none\"][data-v-5c27511e],.modal-header.invisible[style*=\"display: none\"][data-v-5c27511e]{visibility:hidden}.modal-header .modal-title[data-v-5c27511e]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px}@media only screen and (min-width: 512px){.modal-header .modal-title[data-v-5c27511e]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-5c27511e]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-5c27511e]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-5c27511e]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:rgba(0,0,0,0)}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-5c27511e],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-5c27511e],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-5c27511e],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-5c27511e]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-5c27511e],.modal-header .icons-menu .play-pause-icons__pause[data-v-5c27511e]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-5c27511e]{color:#fff}.modal-header .icons-menu[data-v-5c27511e] .action-item{margin:3px}.modal-header .icons-menu[data-v-5c27511e] .action-item--single{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-5c27511e] button{color:#fff}.modal-header .icons-menu[data-v-5c27511e] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-5c27511e] .action-item__menutoggle span,.modal-header .icons-menu[data-v-5c27511e] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-5c27511e]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-5c27511e],.modal-wrapper .next[data-v-5c27511e]{z-index:10000;display:flex !important;height:35vw;position:absolute;transition:opacity 250ms,visibility 250ms;color:var(--color-primary-text)}.modal-wrapper .prev[data-v-5c27511e]:focus-visible,.modal-wrapper .next[data-v-5c27511e]:focus-visible{box-shadow:0 0 0 2px var(--color-primary-text);background-color:var(--color-box-shadow)}.modal-wrapper .prev.invisible[style*=\"display:none\"][data-v-5c27511e],.modal-wrapper .prev.invisible[style*=\"display: none\"][data-v-5c27511e],.modal-wrapper .next.invisible[style*=\"display:none\"][data-v-5c27511e],.modal-wrapper .next.invisible[style*=\"display: none\"][data-v-5c27511e]{visibility:hidden}.modal-wrapper .prev[data-v-5c27511e]{left:2px}.modal-wrapper .next[data-v-5c27511e]{right:2px}.modal-wrapper .modal-container[data-v-5c27511e]{position:relative;display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,.2)}.modal-wrapper .modal-container__close[data-v-5c27511e]{position:absolute;top:4px;right:4px}.modal-wrapper--small .modal-container[data-v-5c27511e]{width:400px;max-width:90%;max-height:90%}.modal-wrapper--normal .modal-container[data-v-5c27511e]{max-width:90%;width:600px;max-height:90%}.modal-wrapper--large .modal-container[data-v-5c27511e]{max-width:90%;width:900px;max-height:90%}.modal-wrapper--full .modal-container[data-v-5c27511e]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper .modal-container[data-v-5c27511e]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-5c27511e],.fade-leave-active[data-v-5c27511e]{transition:opacity 250ms}.fade-enter[data-v-5c27511e],.fade-leave-to[data-v-5c27511e]{opacity:0}.fade-visibility-enter[data-v-5c27511e],.fade-visibility-leave-to[data-v-5c27511e]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-5c27511e],.modal-in-leave-active[data-v-5c27511e],.modal-out-enter-active[data-v-5c27511e],.modal-out-leave-active[data-v-5c27511e]{transition:opacity 250ms}.modal-in-enter[data-v-5c27511e],.modal-in-leave-to[data-v-5c27511e],.modal-out-enter[data-v-5c27511e],.modal-out-leave-to[data-v-5c27511e]{opacity:0}.modal-in-enter .modal-container[data-v-5c27511e],.modal-in-leave-to .modal-container[data-v-5c27511e]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-5c27511e],.modal-out-leave-to .modal-container[data-v-5c27511e]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-5c27511e]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-5c27511e]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-5c27511e linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.2477796077;stroke-dasharray:94.2477796077}.modal-mask .play-pause-icons--paused .icon-pause[data-v-5c27511e]{animation:breath-5c27511e 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-5c27511e]{animation-play-state:paused !important}@keyframes progressring-5c27511e{from{stroke-dashoffset:94.2477796077}to{stroke-dashoffset:0}}@keyframes breath-5c27511e{0%{opacity:1}50%{opacity:0}100%{opacity:1}}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcModal/NcModal.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,6BACC,cAAA,CACA,YAAA,CACA,KAAA,CACA,MAAA,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,+BAAA,CACA,mCACC,gCAAA,CAIF,+BACC,iBAAA,CACA,aAAA,CACA,KAAA,CACA,OAAA,CACA,MAAA,CAGA,uBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WCuBe,CDtBf,yCAAA,CAIA,iIAEC,iBAAA,CAGD,4CACC,iBAAA,CACA,qBAAA,CACA,UAAA,CACA,sBAAA,CACA,6BAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,cCfY,CDmBb,0CACC,4CACC,kBAAA,CACA,iBAAA,CAAA,CAIF,2CACC,iBAAA,CACA,OAAA,CACA,YAAA,CACA,kBAAA,CACA,wBAAA,CAEA,yDACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6DACC,iBAAA,CACA,UCzBa,CD0Bb,WC1Ba,CD2Bb,QAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CACA,8BAAA,CAGC,8WAEC,SC5CU,CD6CV,kBAAA,CACA,sCCtDW,CDyDb,uIAEC,qBAAA,CACA,UCvEa,CDwEb,WCxEa,CDyEb,UAAA,CACA,cAAA,CACA,UCzDa,CD6Df,2DACC,UAAA,CAGD,yDACC,UAAA,CAEA,iEACC,qBAAA,CACA,UCxFa,CDyFb,WCzFa,CD0Fb,cAAA,CACA,0BAAA,CACA,oBAAA,CAIF,kDAEC,UAAA,CAID,oEACC,SAAA,CACA,iJACC,sBAAA,CACA,uBAAA,CAMJ,gCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CAGA,4EAEC,aAAA,CAEA,uBAAA,CACA,WAAA,CACA,iBAAA,CACA,yCAAA,CAEA,+BAAA,CAEA,wGAEC,8CAAA,CACA,wCAAA,CAOD,8RAEC,iBAAA,CAGF,sCACC,QAAA,CAED,sCACC,SAAA,CAID,iDACC,iBAAA,CACA,aAAA,CACA,aAAA,CACA,SAAA,CACA,+BAAA,CACA,wCAAA,CACA,6CAAA,CACA,kCAAA,CACA,wDACC,iBAAA,CACA,OAAA,CACA,SAAA,CAMD,wDACC,WAAA,CACA,aAAA,CACA,cAAA,CAID,yDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,wDACC,aAAA,CACA,WAAA,CACA,cAAA,CAID,uDACC,UAAA,CACA,wCAAA,CACA,iBAAA,CACA,QC3Ka,CD4Kb,eAAA,CAKF,0CACC,iDACC,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,wCAAA,CACA,iBAAA,CACA,QCxLa,CDyLb,eAAA,CAAA,CAMH,wEAEC,wBAAA,CAGD,6DAEC,SAAA,CAGD,mFAEC,iBAAA,CACA,SAAA,CAGD,kKAIC,wBAAA,CAGD,4IAIC,SAAA,CAGD,uGAEC,oBAAA,CAGD,yGAEC,oBAAA,CAQA,8DACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CACA,qFACC,kCAAA,CACA,wBAAA,CACA,yEAAA,CAEA,oBAAA,CACA,+BAAA,CACA,8BAAA,CAID,mEACC,kEAAA,CAED,8EACC,sCAAA,CAMH,iCACC,KACC,+BAAA,CAED,GACC,mBAAA,CAAA,CAIF,2BACC,GACC,SAAA,CAED,IACC,SAAA,CAED,KACC,SAAA,CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.modal-mask {\\n\\tposition: fixed;\\n\\tz-index: 9998;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-color: rgba(0, 0, 0, .5);\\n\\t&--dark {\\n\\t\\tbackground-color: rgba(0, 0, 0, .92);\\n\\t}\\n}\\n\\n.modal-header {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tleft: 0;\\n\\t// prevent vue show to use display:none and reseting\\n\\t// the circle animation loop\\n\\tdisplay: flex !important;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\theight: $header-height;\\n\\ttransition: opacity 250ms,\\n\\t\\tvisibility 250ms;\\n\\n\\t// replace display by visibility\\n\\t&.invisible[style*='display:none'],\\n\\t&.invisible[style*='display: none'] {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\\t.modal-title {\\n\\t\\toverflow-x: hidden;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\\n\\t\\ttransition: padding ease 100ms;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: #fff;\\n\\t\\tfont-size: $icon-margin;\\n\\t}\\n\\n\\t// On wider screens the title can be centered\\n\\t@media only screen and (min-width: math.div($breakpoint-mobile, 2)) {\\n\\t\\t.modal-title {\\n\\t\\t\\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n\\n\\t.icons-menu {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: flex-end;\\n\\n\\t\\t.header-close {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t.play-pause-icons {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: $header-height;\\n\\t\\t\\theight: $header-height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t.play-pause-icons__play,\\n\\t\\t\\t\\t.play-pause-icons__pause {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&__play,\\n\\t\\t\\t&__pause {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header-actions {\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t&:deep() .action-item {\\n\\t\\t\\tmargin: math.div($header-height - $clickable-area, 2);\\n\\n\\t\\t\\t&--single {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\tbackground-size: 22px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t:deep(button) {\\n\\t\\t\\t// force white instead of default main text\\n\\t\\t\\tcolor: #fff;\\n\\t\\t}\\n\\n\\t\\t// Force the Actions menu icon to be the same size as other icons\\n\\t\\t&:deep(.action-item__menutoggle) {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tspan, svg {\\n\\t\\t\\t\\twidth: var(--icon-size);\\n\\t\\t\\t\\theight: var(--icon-size);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-wrapper {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t/* Navigation buttons */\\n\\t.prev,\\n\\t.next {\\n\\t\\tz-index: 10000;\\n\\t\\t// ignore display: none\\n\\t\\tdisplay: flex !important;\\n\\t\\theight: 35vw;\\n\\t\\tposition: absolute;\\n\\t\\ttransition: opacity 250ms,\\n\\t\\t\\tvisibility 250ms;\\n\\t\\tcolor: var(--color-primary-text);\\n\\n\\t\\t&:focus-visible {\\n\\t\\t\\t// Override NcButton focus styles\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-primary-text);\\n\\t\\t\\tbackground-color: var(--color-box-shadow);\\n\\t\\t}\\n\\n\\t\\t// we want to keep the elements on page\\n\\t\\t// even if hidden to avoid having a unbalanced\\n\\t\\t// centered content\\n\\t\\t// replace display by visibility\\n\\t\\t&.invisible[style*='display:none'],\\n\\t\\t&.invisible[style*='display: none'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t}\\n\\t.prev {\\n\\t\\tleft: 2px;\\n\\t}\\n\\t.next {\\n\\t\\tright: 2px;\\n\\t}\\n\\n\\t/* Content */\\n\\t.modal-container {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: block;\\n\\t\\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\\n\\t\\tpadding: 0;\\n\\t\\ttransition: transform 300ms ease;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\\n\\t\\t&__close {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 4px;\\n\\t\\t\\tright: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Sizing\\n\\t&--small {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 400px;\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--normal {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 600px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--large {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 900px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--full {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make modal full screen on mobile\\n\\t@media only screen and (max-width: math.div($breakpoint-mobile, 2)) {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: initial;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-height: initial;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* TRANSITIONS */\\n.fade-enter-active,\\n.fade-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-visibility-enter,\\n.fade-visibility-leave-to {\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter-active,\\n.modal-in-leave-active,\\n.modal-out-enter-active,\\n.modal-out-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.modal-in-enter,\\n.modal-in-leave-to,\\n.modal-out-enter,\\n.modal-out-leave-to {\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter .modal-container,\\n.modal-in-leave-to .modal-container {\\n\\ttransform: scale(.9);\\n}\\n\\n.modal-out-enter .modal-container,\\n.modal-out-leave-to .modal-container {\\n\\ttransform: scale(1.1);\\n}\\n\\n// animated circle\\n$radius: 15;\\n$pi: 3.14159265358979;\\n\\n.modal-mask .play-pause-icons {\\n\\t.progress-ring {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\ttransform: rotate(-90deg);\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\ttransition: 100ms stroke-dashoffset;\\n\\t\\t\\ttransform-origin: 50% 50%; // axis compensation\\n\\t\\t\\tanimation: progressring linear var(--slideshow-duration) infinite;\\n\\n\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t\\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t}\\n\\t}\\n\\t&--paused {\\n\\t\\t.icon-pause {\\n\\t\\t\\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\\n\\t\\t}\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\tanimation-play-state: paused !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n// keyframes get scoped too and break the animation name, we need them unscoped\\n@keyframes progressring {\\n\\tfrom {\\n\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t}\\n\\tto {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes breath {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},6422:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-6a6fde89]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-6a6fde89]{display:flex;max-width:100%}.name-parts__first[data-v-6a6fde89]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-6a6fde89],.name-parts__last[data-v-6a6fde89]{white-space:pre}.name-parts__first strong[data-v-6a6fde89],.name-parts__last strong[data-v-6a6fde89]{font-weight:bold}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcMultiselect/NcEllipsisedOption.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,6BACC,YAAA,CACA,cAAA,CACA,oCACC,eAAA,CACA,sBAAA,CAED,uEAGC,eAAA,CACA,qFACC,gBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},7098:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-0d67beae]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.notecard[data-v-0d67beae]{color:var(--color-text-light) !important;background-color:var(--note-background) !important;border-inline-start:4px solid var(--note-theme);border-radius:var(--border-radius);margin:1rem 0;margin-top:1rem;padding:1rem;display:flex;flex-direction:row;gap:1rem}.notecard__icon--heading[data-v-0d67beae]{margin-bottom:auto;margin-top:.3rem}.notecard--success[data-v-0d67beae]{--note-background: rgba(var(--color-success-rgb), 0.1);--note-theme: var(--color-success)}.notecard--error[data-v-0d67beae]{--note-background: rgba(var(--color-error-rgb), 0.1);--note-theme: var(--color-error)}.notecard--warning[data-v-0d67beae]{--note-background: rgba(var(--color-warning-rgb), 0.1);--note-theme: var(--color-warning)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcNoteCard/NcNoteCard.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,2BACC,wCAAA,CACA,kDAAA,CACA,+CAAA,CACA,kCAAA,CACA,aAAA,CACA,eAAA,CACA,YAAA,CACA,YAAA,CACA,kBAAA,CACA,QAAA,CAEA,0CACC,kBAAA,CACA,gBAAA,CAGD,oCACC,sDAAA,CACA,kCAAA,CAGD,kCACC,oDAAA,CACA,gCAAA,CAGD,oCACC,sDAAA,CACA,kCAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.notecard {\\n\\tcolor: var(--color-text-light) !important;\\n\\tbackground-color: var(--note-background) !important;\\n\\tborder-inline-start: 4px solid var(--note-theme);\\n\\tborder-radius: var(--border-radius);\\n\\tmargin: 1rem 0;\\n\\tmargin-top: 1rem;\\n\\tpadding: 1rem;\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tgap: 1rem;\\n\\n\\t&__icon--heading {\\n\\t\\tmargin-bottom: auto;\\n\\t\\tmargin-top: 0.3rem;\\n\\t}\\n\\n\\t&--success {\\n\\t\\t--note-background: rgba(var(--color-success-rgb), 0.1);\\n\\t\\t--note-theme: var(--color-success);\\n\\t}\\n\\n\\t&--error {\\n\\t\\t--note-background: rgba(var(--color-error-rgb), 0.1);\\n\\t\\t--note-theme: var(--color-error);\\n\\t}\\n\\n\\t&--warning {\\n\\t\\t--note-background: rgba(var(--color-warning-rgb), 0.1);\\n\\t\\t--note-theme: var(--color-warning);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},5510:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.resize-observer{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:rgba(0,0,0,0);pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown.v-popper__popper{z-index:100000;top:0;left:0;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.v-popper--theme-dropdown.v-popper__popper .v-popper__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);overflow:hidden;background:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper .v-popper__arrow-container{position:absolute;z-index:1;width:0;height:0;border-style:solid;border-color:rgba(0,0,0,0);border-width:10px}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-container{bottom:-10px;border-bottom-width:0;border-top-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:-10px;border-top-width:0;border-bottom-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-container{left:-10px;border-left-width:0;border-right-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px;border-right-width:0;border-left-color:var(--color-main-background)}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=true]{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.v-popper--theme-dropdown.v-popper__popper[aria-hidden=false]{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopover/NcPopover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,iBACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,8BAAA,CACA,mBAAA,CACA,aAAA,CACA,eAAA,CACA,SAAA,CAGD,wBACC,aAAA,CACA,iBAAA,CACA,KAAA,CACA,MAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,mBAAA,CACA,UAAA,CAMA,2CACC,cAAA,CACA,KAAA,CACA,MAAA,CACA,wBAAA,CAEA,sDAAA,CAEA,4DACC,SAAA,CACA,4BAAA,CACA,kCAAA,CACA,eAAA,CACA,uCAAA,CAGD,sEACC,iBAAA,CACA,SAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,0BAAA,CACA,iBA1BW,CA6BZ,kGACC,YAAA,CACA,qBAAA,CACA,6CAAA,CAGD,qGACC,SAAA,CACA,kBAAA,CACA,gDAAA,CAGD,oGACC,UAAA,CACA,mBAAA,CACA,+CAAA,CAGD,mGACC,WAAA,CACA,oBAAA,CACA,8CAAA,CAGD,6DACC,iBAAA,CACA,2EAAA,CACA,SAAA,CAGD,8DACC,kBAAA,CACA,yCAAA,CACA,SAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n.resize-observer {\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\tz-index:-1;\\n\\twidth:100%;\\n\\theight:100%;\\n\\tborder:none;\\n\\tbackground-color:transparent;\\n\\tpointer-events:none;\\n\\tdisplay:block;\\n\\toverflow:hidden;\\n\\topacity:0\\n}\\n\\n.resize-observer object {\\n\\tdisplay:block;\\n\\tposition:absolute;\\n\\ttop:0;\\n\\tleft:0;\\n\\theight:100%;\\n\\twidth:100%;\\n\\toverflow:hidden;\\n\\tpointer-events:none;\\n\\tz-index:-1\\n}\\n\\n$arrow-width: 10px;\\n\\n.v-popper--theme-dropdown {\\n\\t&.v-popper__popper {\\n\\t\\tz-index: 100000;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block !important;\\n\\n\\t\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t\\t.v-popper__inner {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tbackground: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t.v-popper__arrow-container {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tz-index: 1;\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tborder-width: $arrow-width;\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='top'] .v-popper__arrow-container {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='bottom'] .v-popper__arrow-container {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='right'] .v-popper__arrow-container {\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[data-popper-placement^='left'] .v-popper__arrow-container {\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='true'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\n\\t\\t&[aria-hidden='false'] {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},7621:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-a98594e4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-a98594e4]{display:flex;flex-direction:column}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopoverMenu/NcPopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,qBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},9307:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,'.material-design-icon[data-v-695aef77]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-695aef77]{display:flex;flex:0 0 auto}li.hidden[data-v-695aef77]{display:none}li>button[data-v-695aef77],li>a[data-v-695aef77],li>.menuitem[data-v-695aef77]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:rgba(0,0,0,0);display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^=icon-][data-v-695aef77],li>button span[class*=\" icon-\"][data-v-695aef77],li>button[class^=icon-][data-v-695aef77],li>button[class*=\" icon-\"][data-v-695aef77],li>a span[class^=icon-][data-v-695aef77],li>a span[class*=\" icon-\"][data-v-695aef77],li>a[class^=icon-][data-v-695aef77],li>a[class*=\" icon-\"][data-v-695aef77],li>.menuitem span[class^=icon-][data-v-695aef77],li>.menuitem span[class*=\" icon-\"][data-v-695aef77],li>.menuitem[class^=icon-][data-v-695aef77],li>.menuitem[class*=\" icon-\"][data-v-695aef77]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^=icon-][data-v-695aef77],li>button span[class*=\" icon-\"][data-v-695aef77],li>a span[class^=icon-][data-v-695aef77],li>a span[class*=\" icon-\"][data-v-695aef77],li>.menuitem span[class^=icon-][data-v-695aef77],li>.menuitem span[class*=\" icon-\"][data-v-695aef77]{padding:22px 0 22px 44px}li>button:not([class^=icon-]):not([class*=icon-])>span[data-v-695aef77]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>input[data-v-695aef77]:not([class^=icon-]):not([class*=icon-]):first-child,li>button:not([class^=icon-]):not([class*=icon-])>form[data-v-695aef77]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>span[data-v-695aef77]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>input[data-v-695aef77]:not([class^=icon-]):not([class*=icon-]):first-child,li>a:not([class^=icon-]):not([class*=icon-])>form[data-v-695aef77]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>span[data-v-695aef77]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>input[data-v-695aef77]:not([class^=icon-]):not([class*=icon-]):first-child,li>.menuitem:not([class^=icon-]):not([class*=icon-])>form[data-v-695aef77]:not([class^=icon-]):not([class*=icon-]):first-child{margin-left:44px}li>button[class^=icon-][data-v-695aef77],li>button[class*=\" icon-\"][data-v-695aef77],li>a[class^=icon-][data-v-695aef77],li>a[class*=\" icon-\"][data-v-695aef77],li>.menuitem[class^=icon-][data-v-695aef77],li>.menuitem[class*=\" icon-\"][data-v-695aef77]{padding:0 14px 0 44px}li>button[data-v-695aef77]:not(:disabled):hover,li>button[data-v-695aef77]:not(:disabled):focus,li>button:not(:disabled).active[data-v-695aef77],li>a[data-v-695aef77]:not(:disabled):hover,li>a[data-v-695aef77]:not(:disabled):focus,li>a:not(:disabled).active[data-v-695aef77],li>.menuitem[data-v-695aef77]:not(:disabled):hover,li>.menuitem[data-v-695aef77]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-695aef77]{opacity:1 !important}li>button.action[data-v-695aef77],li>a.action[data-v-695aef77],li>.menuitem.action[data-v-695aef77]{padding:inherit !important}li>button>span[data-v-695aef77],li>a>span[data-v-695aef77],li>.menuitem>span[data-v-695aef77]{cursor:pointer;white-space:nowrap}li>button>p[data-v-695aef77],li>a>p[data-v-695aef77],li>.menuitem>p[data-v-695aef77]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-695aef77],li>a>select[data-v-695aef77],li>.menuitem>select[data-v-695aef77]{margin:0;margin-left:6px}li>button[data-v-695aef77]:not(:empty),li>a[data-v-695aef77]:not(:empty),li>.menuitem[data-v-695aef77]:not(:empty){padding-right:14px !important}li>button>img[data-v-695aef77],li>a>img[data-v-695aef77],li>.menuitem>img[data-v-695aef77]{width:16px;height:16px;margin:14px}li>button>input.radio+label[data-v-695aef77],li>button>input.checkbox+label[data-v-695aef77],li>a>input.radio+label[data-v-695aef77],li>a>input.checkbox+label[data-v-695aef77],li>.menuitem>input.radio+label[data-v-695aef77],li>.menuitem>input.checkbox+label[data-v-695aef77]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-695aef77]::before,li>a>input.checkbox+label[data-v-695aef77]::before,li>.menuitem>input.checkbox+label[data-v-695aef77]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-695aef77]::before,li>a>input.radio+label[data-v-695aef77]::before,li>.menuitem>input.radio+label[data-v-695aef77]::before{margin:-2px 12px 0}li>button>input[data-v-695aef77]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-695aef77]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-695aef77]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-695aef77],li>a form[data-v-695aef77],li>.menuitem form[data-v-695aef77]{display:flex;flex:1 1 auto}li>button form[data-v-695aef77]:not(:first-child),li>a form[data-v-695aef77]:not(:first-child),li>.menuitem form[data-v-695aef77]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-695aef77],li>button>span[style*=\"display:none\"]+form[data-v-695aef77],li>a>span.hidden+form[data-v-695aef77],li>a>span[style*=\"display:none\"]+form[data-v-695aef77],li>.menuitem>span.hidden+form[data-v-695aef77],li>.menuitem>span[style*=\"display:none\"]+form[data-v-695aef77]{margin-left:0}li>button input[data-v-695aef77],li>a input[data-v-695aef77],li>.menuitem input[data-v-695aef77]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-695aef77]:not(:first-child),li>a input[data-v-695aef77]:not(:first-child),li>.menuitem input[data-v-695aef77]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*=\"display:none\"]):first-of-type>button>form[data-v-695aef77],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>button>input[data-v-695aef77],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>a>form[data-v-695aef77],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>a>input[data-v-695aef77],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>.menuitem>form[data-v-695aef77],li:not(.hidden):not([style*=\"display:none\"]):first-of-type>.menuitem>input[data-v-695aef77]{margin-top:12px}li:not(.hidden):not([style*=\"display:none\"]):last-of-type>button>form[data-v-695aef77],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>button>input[data-v-695aef77],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>a>form[data-v-695aef77],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>a>input[data-v-695aef77],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>.menuitem>form[data-v-695aef77],li:not(.hidden):not([style*=\"display:none\"]):last-of-type>.menuitem>input[data-v-695aef77]{margin-bottom:12px}li>button[data-v-695aef77]{padding:0}li>button span[data-v-695aef77]{opacity:1}',\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcPopoverMenu/NcPopoverMenuItem.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,oBACC,YAAA,CACA,aAAA,CAEA,2BACC,YAAA,CAGD,+EAGC,cAAA,CACA,gBCWe,CDVf,QAAA,CACA,eAAA,CACA,8BAAA,CACA,YAAA,CACA,sBAAA,CACA,WAAA,CACA,QAAA,CACA,SAAA,CACA,kBAAA,CACA,eAAA,CACA,UAAA,CACA,4BAAA,CACA,kBAAA,CACA,UCee,CDZf,ohBAIC,WAAA,CACA,YAAA,CACA,+BAAA,CACA,oBCTS,CDYV,yRAIC,wBAAA,CAQC,ylCACC,gBC7BY,CDkCf,2PAEC,qBAAA,CAGD,6aAGC,oBAAA,CAID,oGACC,0BAAA,CAGD,8FACC,cAAA,CACA,kBAAA,CAID,qFACC,WAAA,CACA,iBAAA,CACA,aAAA,CACA,kBAAA,CAGA,eAAA,CACA,sBAAA,CAID,oGACC,QAAA,CACA,eAAA,CAID,mHACC,6BAAA,CAKD,2FACC,UC7ES,CD8ET,WC9ES,CD+ET,WC3EW,CD+EZ,mRAEC,oBAAA,CACA,UAAA,CAED,sKACC,kBAAA,CAED,6JACC,kBAAA,CAED,4QACC,WAAA,CAID,8FACC,YAAA,CACA,aAAA,CAGA,oJACC,eAAA,CAIF,oTAEC,aAAA,CAGD,iGACC,cCvHc,CDwHd,eAAA,CACA,YAAA,CACA,aAAA,CAEA,uJACC,eAAA,CAUA,+gBACC,eAAA,CAMD,ygBACC,kBAAA,CAKJ,2BACC,SAAA,CACA,gCACC,SCpIY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{math.div($clickable-area, 2)} 0 #{math.div($clickable-area, 2)} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tmargin: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},3767:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r),s=n(1667),l=n.n(s),A=new URL(n(8718),n.b),c=new URL(n(1246),n.b),d=new URL(n(3632),n.b),u=o()(i()),p=l()(A),m=l()(c),h=l()(d);u.push([t.id,\".material-design-icon[data-v-e2e54e2a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.autocomplete-result[data-v-e2e54e2a]{display:flex;height:44px;padding:10px}.highlight .autocomplete-result[data-v-e2e54e2a]{color:var(--color-main-text);background:var(--color-primary-light)}.highlight .autocomplete-result[data-v-e2e54e2a],.highlight .autocomplete-result *[data-v-e2e54e2a]{cursor:pointer}.autocomplete-result__icon[data-v-e2e54e2a]{position:relative;flex:0 0 44px;width:44px;min-width:44px;height:44px;border-radius:44px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:24px}.autocomplete-result__icon--with-avatar[data-v-e2e54e2a]{color:inherit;background-size:cover}.autocomplete-result__status[data-v-e2e54e2a]{position:absolute;right:-4px;bottom:-4px;box-sizing:border-box;width:18px;height:18px;border:2px solid var(--color-main-background);border-radius:50%;background-color:var(--color-main-background);font-size:var(--default-font-size);line-height:15px;background-repeat:no-repeat;background-size:16px;background-position:center}.autocomplete-result__status--online[data-v-e2e54e2a]{background-image:url(\"+p+\")}.autocomplete-result__status--dnd[data-v-e2e54e2a]{background-image:url(\"+m+\");background-color:#fff}.autocomplete-result__status--away[data-v-e2e54e2a]{background-image:url(\"+h+\")}.autocomplete-result__status--icon[data-v-e2e54e2a]{border:none;background-color:rgba(0,0,0,0)}.autocomplete-result__content[data-v-e2e54e2a]{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0;padding-left:10px}.autocomplete-result__title[data-v-e2e54e2a],.autocomplete-result__subline[data-v-e2e54e2a]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-result__subline[data-v-e2e54e2a]{color:var(--color-text-lighter)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcAutoCompleteResult.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCJD,sCACC,YAAA,CACA,WCmBgB,CDlBhB,YALsB,CAOtB,iDACC,4BAAA,CACA,qCAAA,CACA,oGACC,cAAA,CAIF,4CACC,iBAAA,CACA,aAAA,CACA,UCKe,CDJf,cCIe,CDHf,WCGe,CDFf,kBCEe,CDDf,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CACA,yDACC,aAAA,CACA,qBAAA,CAIF,8CACC,iBAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CACA,6CAAA,CACA,iBAAA,CACA,6CAAA,CACA,kCAAA,CACA,gBAAA,CACA,2BAAA,CACA,oBAAA,CACA,0BAAA,CAEA,sDACC,wDAAA,CAED,mDACC,wDAAA,CACA,qBAAA,CAED,oDACC,wDAAA,CAED,oDACC,WAAA,CACA,8BAAA,CAIF,+CACC,YAAA,CACA,aAAA,CACA,qBAAA,CACA,sBAAA,CACA,WAAA,CACA,iBAtEqB,CAyEtB,4FAEC,kBAAA,CACA,eAAA,CACA,sBAAA,CAGD,+CACC,+BAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n$autocomplete-padding: 10px;\\n\\n.autocomplete-result {\\n\\tdisplay: flex;\\n\\theight: $clickable-area;\\n\\tpadding: $autocomplete-padding;\\n\\n\\t.highlight & {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground: var(--color-primary-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: $clickable-area;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $clickable-area - 2 * $autocomplete-padding;\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 18px;\\n\\t\\theight: 18px;\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: 15px;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-left: $autocomplete-padding;\\n\\t}\\n\\n\\t&__title,\\n\\t&__subline {\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__subline {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=u},4477:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-32fccbe9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-32fccbe9]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-32fccbe9]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-32fccbe9]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-32fccbe9]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-32fccbe9]{color:inherit;background-size:cover}.mention-bubble__title[data-v-32fccbe9]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-32fccbe9]::before{content:attr(title)}.mention-bubble__select[data-v-32fccbe9]{position:absolute;z-index:-1;left:-1000px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcMentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CAAA,mECCC,+BAAA,CACA,6CAAA,CAGD,0CACC,eAXiB,CAajB,WAAA,CACA,0BAAA,CACA,mBAAA,CACA,kBAAA,CAGD,0CACC,mBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,WAzBc,CA0Bd,wBAAA,CACA,gBAAA,CACA,iBAAA,CACA,gBA3Be,CA4Bf,kBAAA,CACA,6CAAA,CAGD,uCACC,iBAAA,CACA,UAjCmB,CAkCnB,WAlCmB,CAmCnB,iBAAA,CACA,+CAAA,CACA,2BAAA,CACA,0BAAA,CACA,oBAAA,CAEA,oDACC,aAAA,CACA,qBAAA,CAIF,wCACC,eAAA,CACA,eAlDe,CAmDf,kBAAA,CACA,sBAAA,CAEA,gDACC,mBAAA,CAKF,yCACC,iBAAA,CACA,UAAA,CACA,YAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: math.div($bubble-height, 2);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: math.div($bubble-avatar-size, 2);\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},2830:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-2eb9fd10]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-contenteditable__input[data-v-2eb9fd10]{overflow-y:auto;width:auto;margin:0;padding:6px;cursor:text;white-space:pre-wrap;word-break:break-word;color:var(--color-main-text);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-family:var(--font-face);font-size:inherit;min-height:44px;max-height:242px}.rich-contenteditable__input--empty[data-v-2eb9fd10]:before{content:attr(placeholder);color:var(--color-text-maxcontrast)}.rich-contenteditable__input[contenteditable=false][data-v-2eb9fd10]:not(.rich-contenteditable__input--disabled){cursor:default;background-color:rgba(0,0,0,0);color:var(--color-main-text);border-color:rgba(0,0,0,0);opacity:1;border-radius:0}.rich-contenteditable__input--multiline[data-v-2eb9fd10]{min-height:132px;max-height:none}.rich-contenteditable__input--disabled[data-v-2eb9fd10]{opacity:.5;color:var(--color-text-lighter);border:1px solid var(--color-background-darker);border-radius:var(--border-radius);background-color:var(--color-background-dark)}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcRichContenteditable.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLD,8CACC,eAAA,CACA,UAAA,CACA,QAAA,CACA,WAAA,CACA,WAAA,CACA,oBAAA,CACA,qBAAA,CACA,4BAAA,CACA,yCAAA,CACA,kCAAA,CACA,YAAA,CACA,6CAAA,CACA,4BAAA,CACA,iBAAA,CACA,eCOgB,CDNhB,gBAAA,CAGA,4DACC,yBAAA,CACA,mCAAA,CAGD,iHACC,cAAA,CACA,8BAAA,CACA,4BAAA,CACA,0BAAA,CACA,SAAA,CACA,eAAA,CAGD,yDACC,gBAAA,CAEA,eAAA,CAGD,wDACC,UCDiB,CDEjB,+BAAA,CACA,+CAAA,CACA,kCAAA,CACA,6CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n// Standalone styling, independent from server\\n.rich-contenteditable__input {\\n\\toverflow-y: auto;\\n\\twidth: auto;\\n\\tmargin: 0;\\n\\tpadding: 6px;\\n\\tcursor: text;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face);\\n\\tfont-size: inherit;\\n\\tmin-height: $clickable-area;\\n\\tmax-height: $clickable-area * 5.5;\\n\\n\\t// Cannot use :empty because of firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=1513303\\n\\t&--empty:before {\\n\\t\\tcontent: attr(placeholder);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&[contenteditable='false']:not(&--disabled) {\\n\\t\\tcursor: default;\\n\\t\\tbackground-color: transparent;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-color: transparent;\\n\\t\\topacity: 1;\\n\\t\\tborder-radius: 0;\\n\\t}\\n\\n\\t&--multiline {\\n\\t\\tmin-height: $clickable-area * 3;\\n\\t\\t// No max for mutiline\\n\\t\\tmax-height: none;\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 1px solid var(--color-background-darker);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},5026:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.tribute-container,.tribute-container-emoji{z-index:9000;overflow:auto;min-width:250px;max-width:300px;max-height:288px;margin:5px 0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background);box-shadow:0 1px 5px var(--color-box-shadow)}.tribute-container-emoji{min-width:200px;max-width:200px;padding:4px;max-height:187.25px}.tribute-container-emoji__item{border-radius:8px;padding:4px 8px;margin-bottom:4px;opacity:.8;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-emoji__item:last-child{margin-bottom:0}.tribute-container-emoji__item__emoji{padding-right:8px}.tribute-container-emoji .highlight{opacity:1;color:var(--color-main-text);background:var(--color-primary-light)}.tribute-container-emoji .highlight,.tribute-container-emoji .highlight *{cursor:pointer}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcRichContenteditable/NcRichContenteditable.vue\"],names:[],mappings:\"AAGA,sBACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,4CACC,YAAA,CACA,aAAA,CACA,eAAA,CACA,eAAA,CAGA,gBAAA,CAEA,YAAA,CACA,4BAAA,CACA,kCAAA,CACA,uCAAA,CACA,4CAAA,CAGD,yBACC,eAAA,CACA,eAAA,CACA,WAAA,CAEA,mBAAA,CAEA,+BACC,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,UAAA,CACA,cAAA,CAGA,kBAAA,CACA,eAAA,CACA,sBAAA,CAEA,0CACC,eAAA,CAGD,sCACC,iBAAA,CAIF,oCACC,SAAA,CACA,4BAAA,CACA,qCAAA,CACA,0EACC,cAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.tribute-container, .tribute-container-emoji {\\n\\tz-index: 9000;\\n\\toverflow: auto;\\n\\tmin-width: 250px;\\n\\tmax-width: 300px;\\n\\t// Show maximum 4 entries and a half to show scroll\\n\\t// 44px + 10px padding\\n\\tmax-height: ($clickable-area + 20px) * 4.5;\\n\\t// Space it out a bit from the text\\n\\tmargin: 5px 0;\\n\\tcolor: var(--color-main-text);\\n\\tborder-radius: var(--border-radius);\\n\\tbackground: var(--color-main-background);\\n\\tbox-shadow: 0 1px 5px var(--color-box-shadow);\\n}\\n\\n.tribute-container-emoji {\\n\\tmin-width: 200px;\\n\\tmax-width: 200px;\\n\\tpadding: 4px;\\n\\t// Show maximum 5 entries and a half to show scroll\\n\\tmax-height: 34.5px * 5 + math.div(29.5px, 2);\\n\\n\\t&__item {\\n\\t\\tborder-radius: 8px;\\n\\t\\tpadding: 4px 8px;\\n\\t\\tmargin-bottom: 4px;\\n\\t\\topacity: 0.8;\\n\\t\\tcursor: pointer;\\n\\n\\t\\t// Take care of long names\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t&:last-child {\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\n\\t\\t&__emoji {\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t}\\n\\t}\\n\\n\\t.highlight {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground: var(--color-primary-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},2946:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-8e6462a4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.settings-section[data-v-8e6462a4]{display:block;margin-bottom:auto;padding:30px}.settings-section[data-v-8e6462a4]:not(:last-child){border-bottom:1px solid var(--color-border)}.settings-section__title[data-v-8e6462a4]{display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:bold}.settings-section__info[data-v-8e6462a4]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-14px;margin-left:0;opacity:.7}.settings-section__info[data-v-8e6462a4]:hover,.settings-section__info[data-v-8e6462a4]:focus,.settings-section__info[data-v-8e6462a4]:active{opacity:1}.settings-section__desc[data-v-8e6462a4]{margin-top:-0.2em;margin-bottom:1em;opacity:.7}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcSettingsSection/NcSettingsSection.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,mCACC,aAAA,CACA,kBAAA,CACA,YAAA,CAEA,oDACC,2CAAA,CAGD,0CACC,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,cAAA,CACA,gBAAA,CAGD,yCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UCEe,CDDf,WCCe,CDCf,YAAA,CACA,aAAA,CACA,UCee,CDbf,8IACC,SCaY,CDTd,yCACC,iBAAA,CACA,iBAAA,CACA,UCKe\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.settings-section {\\n\\tdisplay: block;\\n\\tmargin-bottom: auto;\\n\\tpadding: 30px;\\n\\n\\t&:not(:last-child) {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t&__title {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\tfont-size: 20px;\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&__info {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\t// make sure to properly align the icon with the text\\n\\t\\tmargin: -$icon-margin;\\n\\t\\tmargin-left: 0;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t&:hover, &:focus, &:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__desc {\\n\\t\\tmargin-top: -.2em;\\n\\t\\tmargin-bottom: 1em;\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: math.div($clickable-area - $icon-size, 2);\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\\n// top-bar spacing\\n$topbar-margin: 4px;\\n\"],sourceRoot:\"\"}]),e.Z=o},7887:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-3992c512]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}[data-v-3992c512] .multiselect__tags{border:none !important}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcTimezonePicker/NcTimezonePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCND,qCACC,sBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n:deep(.multiselect__tags) {\\n\\tborder: none !important; // Remove the Multiselect border\\n}\\n\"],sourceRoot:\"\"}]),e.Z=o},4188:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\".material-design-icon[data-v-46260473]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-bubble__wrapper[data-v-46260473]{display:inline-block;vertical-align:middle;min-width:0;max-width:100%}.user-bubble__content[data-v-46260473]{display:inline-flex;max-width:100%;background-color:var(--color-background-dark)}.user-bubble__content--primary[data-v-46260473]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.user-bubble__content[data-v-46260473]>:last-child{padding-right:8px}.user-bubble__avatar[data-v-46260473]{align-self:center}.user-bubble__title[data-v-46260473]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-bubble__title[data-v-46260473],.user-bubble__secondary[data-v-46260473]{padding:0;padding-left:4px}\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/NcUserBubble/NcUserBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAA,CACA,iBAAA,CACA,mBAAA,CACA,kBAAA,CACA,sBAAA,CCLA,uCAEC,oBAAA,CACA,qBAAA,CAEA,WAAA,CACA,cAAA,CAGD,uCACC,mBAAA,CACA,cAAA,CACA,6CAAA,CAEA,gDACC,+BAAA,CACA,6CAAA,CAGD,mDAEC,iBAAA,CAIF,sCACC,iBAAA,CAGD,qCACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAGD,8EAGC,SAAA,CACA,gBAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@use 'sass:math'; $scope_version:\\\"9de4d92\\\"; @import 'variables'; @import 'material-icons';\\n\\n.user-bubble {\\n\\t&__wrapper {\\n\\t\\t// align inline with text\\n\\t\\tdisplay: inline-block;\\n\\t\\tvertical-align: middle;\\n\\t\\t// shrink and allow grow to fit\\n\\t\\tmin-width: 0;\\n\\t\\tmax-width: 100%;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\tmax-width: 100%;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\n\\t\\t&--primary {\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t> :last-child {\\n\\t\\t\\t// border radius left padding\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__avatar {\\n\\t\\talign-self: center;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__title,\\n\\t&__secondary {\\n\\t\\t// proper spacing between avatar, title & slot\\n\\t\\tpadding: 0;\\n\\t\\tpadding-left: 4px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=o},5999:function(t,e,n){\"use strict\";var a=n(7537),i=n.n(a),r=n(3645),o=n.n(r)()(i());o.push([t.id,\"\\n.app-navigation-spacer[data-v-e9226d86] {\\n\\tflex-shrink: 0;\\n\\torder: 1;\\n\\theight: 22px;\\n}\\n\\n\",\"\",{version:3,sources:[\"webpack://./src/components/NcAppNavigationSpacer/NcAppNavigationSpacer.vue\"],names:[],mappings:\";AAwCA;CACA,cAAA;CACA,QAAA;CACA,YAAA;AACA\",sourcesContent:[\"\\x3c!--\\n - @copyright Copyright (c) 2019 Christoph Wurst \\n -\\n - @author Christoph Wurst \\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see .\\n -\\n --\\x3e\\n\\n\\n