From 6b81bc72ca38240c9ed2eb7a9153650e572adf3e Mon Sep 17 00:00:00 2001 From: Christopher Butler Date: Mon, 3 Aug 2026 12:03:18 -0400 Subject: [PATCH 1/3] Quarterly Maintenance Why these changes are being made: It's time for the quarterly maintenance on Matomo! There is a new version of the Matomo Docker container (and it does require a database upgrade after installation). There are also updates to the premium plugins, but those will be in a separate commit. How these changes are implemented: * Update .gitignore * Remove unnecessary .deb file * Update Dockerfile to pull latest version of Matomo (5.12.0) Related Jira tickets: * https://mitlibraries.atlassian.net/browse/INFRA-656 --- .gitignore | 13 ++++++++++++- Dockerfile | 2 +- session-manager-plugin.deb | Bin 4056060 -> 0 bytes 3 files changed, 13 insertions(+), 2 deletions(-) delete mode 100644 session-manager-plugin.deb diff --git a/.gitignore b/.gitignore index 2e755e5..2ed180d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,14 @@ +# No ENV files .env + +# No VSCode files +.vscode + +# No special macOS files **/.DS_Store -temp/ \ No newline at end of file + +# No temp directory +temp/ + +# No asdf files +.tool-versions diff --git a/Dockerfile b/Dockerfile index eeb4b06..087e4e1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM matomo:5.10.1 +FROM matomo:5.12.0 # checkov:skip=CKV_DOCKER_2:Skipping HEALTHCHECK configuration for now # checkov:skip=CKV_DOCKER_3:The container actually runs as www-data user diff --git a/session-manager-plugin.deb b/session-manager-plugin.deb deleted file mode 100644 index 2d9de2e25abd68c7017098c4cb2abd756414b598..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4056060 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

Gsl4lp9kXnZ6MA|aGeRytP+az(+NNyKm!1B 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%0AQ`iM!S#vxM_4l+g1RViuqdr4$mYp+ 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
kie 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

XYeps9Z_ z+$@Egx>W8Z#!l2S7MwJl$oP>Po~>yqjp^K$iYI8wY5k3BY-V!hFgt%ccU4E-Q*f>W z#L1SH9;@t1mGg$Z_aB8y%v_22;^_XEe-yHnVYrzHM{~s0ov4P@IiiCpHwtD)7QHt- z3(wYFjn?3DeqWc42~Zn4y1G?742j--b=2VgW(VNc8Y+z2A%D%>~?E^ z6^c(Nle5)}xq-l{t1-oBkQNnG9imOn`M z?R%=usdG-%c~t#s$5^y1Rue<)M!+#y$)WSA0KZ2soA^_;08Z3jjl)vYu+)hJU8$`R zr9cg=HL!p9xmx|~f0v#k2|>lboE@Vhvm%mt+|46g2FlqLe%Kw~a`eY;^9Od;Gqpyc8dOhlHLjTlV z-}Y6Jp4|B3&%vHRHZyv1IdCIz+1uF>Vx$Qg-aqz?ojL(naPm>){|uJ&LrJyJ4ts?B zJ<@)6UC@Mwb)uuZYgzF!paZRL`aT^n6`7=Ws-286xtb6}dxQ|!`3}OPQa^A`KfE8_ zm;zP!eMi(Pd~kdBe(1)Q_k#;|lft$J;A0+%e0~Z$-|l>JfDhikb%bYxhnVEwu672L z(t2ZRWN9OmX85A*;Tdtm?GZhKzvE2!XEt8;yB=*|9T61N+9e@rYn0k;O6T-9w0Eyx z?QLNpc-TZ(6Xw7q5j6KHm?R!w7oGn^mH+4-{Oytad$P`rX}HU8mYh@e>nFnvJ-hn7 z$OIB7v!CvPr0}2WXvcQyo z83a?F=J6%B!3U46!JC3+-Gc7yVAkEtsCx&vr3Os(E*+Bpav{Y1<83KBg1DS|jRI5= zt-55mD)9MGE7|=u>(NzvoC89W;QdwberY^jLe(k>0T1Qiz1!mPn};HPO+(2{ZiN@J zEb)aNJQe&D$b}{Wxr=8QIf|DkL_6Z+(ZqQkhQf_8fiakt9z%DR&tX1dYIqR-*q`|6 zZ?5mNpEIJk8esoE&-(YpIBor@=HWDOX99$s&1`n;#4}|_4IMOFoc;%6JW`iKYH~?O zozjW&izcC>nXoll6qCdMPxxy9o|gOquLySVU91XWxR2iaxb}2x#fcb~^rfSsZGfZV z{VR_1#~gKSMh~ndckm4_ffD#RLLB$e6@AZr%wyo)(m|*6h1hbspsHDTu3j-aq)*@( zCWy8hDw~BW^hRgTu+>6oM9B=qfW=-XCD-AU-%H+fRMH(5d-_`aEc$GyaS z-}(b|+3ZVjOCLdJxLblaRq_iQYr71V;>X2MeXjIj0aN4K8$AB(16Eq#nQbWDd$DSB z!XoA^|K)Yi@_#*zE%#EJ;U(5`0;GkH%W%c@b46nx#s0WPq zijxA=!^!F~W;UM<}E0b&gW4m_3CNyG>; z$C}jK(ziq&z?v)${sp*gU=>F4GzmuYS1V1;5x); zlsds0oH~gLon@d{Ol$K=k%n|7viYTq2D|r)l+kgYY3vIWfmP>`4g&F!NPL*gjRq~qh|N*HOSvx$3yon{gy7*f zjweAh$ZPDKlzSqN`vkwso$tAzU}Jo|AK5YGZ^!nj{s&*YCcaZw*guaV(h3Xo=U*p4 zI)gHsp{Xmzt~Ug?a(hqr>{b@VWJ_KGZ+T1Du|%CRK`YPCOm2eRe)~9d)7eR962^aY zs9_;Mq-Lx^Ln+Nr7Qwskvv=tv;_#Od?@rUb8&GaU{~z`;o;k>WjC@(py(~)SGtarD zMtSeqP>A1$i#@~8ULVu*#Nm@`dFe6vRfOf2%JQ33HI)7YGqO}<)T@H1Bi?vk3GSu5vewuj_>huB&r9pm)~Pk(C~M|#e&$cc;wi|0f4?+Yx6Mr!mi zA|D+cePje3c=CYuzn$6tZQ=7L6-{9?H+t%g29GSUCI9?5jET6+=72I1zCD27;%o34 zLrI{#OBMB&0PS?4ce=)4@8H@-XzS2o<~013l#y844C4!DPLM#GZ7F7aIEyD1=`xlK z+hwG>d=8^=WLl*{XO((ryEZZ*jF{8phnV$54C z`K5nzh4YAQA20R-vLqiK5nTgN{L7^)y`DePfWY__w0w4ZWk^^@I8?rrhmJ|;A82dx z4)@rSm%=x1GJIG9AB3tiYJLjQ)>N7ZFHz{1G8&Y{40wS(!iz1%gr9IKl^VhNjsOaS z@r8t%2`oM?u7*@jRf9K?rM3r##>`r^|KR;ET7mT=c46B=^s_+EA*o5l$j)o z`YgF1$Q6$AERe7FZI5pQY7r&gQ8^&jcejarJzr4!&uv?6DWwsR>S2ka(EHt=Lt$na z7$1kJ*VwG|#ZWeuOb}wZmFI^SDzC%c;y`X{83M`+$WX2mSpF8Tz~hyy@|Nn3kTN(x zU(kUZ&v&Xjc=j$*W9!&)JU81DDCZYql#v0YU~7w9_=*~4+A+GtqIo7Y@Yj#`$Z5|W~)4kS0FYMsXry2p}kGnI40@<8b=koiL zcPO@T7JEDu9?R+PTqAT^{(9&&Y<=mKUe_-hBjV@LgTc2TmCxTp-h3WX-#wZhMN850 zk1cl?6kUVK5#+N0j7Biq&WZSf;k@6-jQvR;Wc+o%CgkG6%t&18WZ;Bcs&+gaP zMGuqT`u)S?T~Wg1H~tGW?bF|2(=t-AX@gjd{6hqffc|+?b#d~Ze#FV|uj&>jzq6`) zoc!FO)Y*BLp|fYd-Oo7r&cXfjKTV8S2%!Dn!R&uVI6l5si;v&Itz#qKKpy>4rwSIqjuZnTkAe31Vp&AI znNsV0i11a?5tg3`y{cZt6C{-OotF`UB&_f}X^qgMxgdRtgZB-|^^bv%OHxtq6{6nr zzQyC&m$JMB?4V<@6}Mk9j~-~JprrLYkyxWV#LN>vzsOVHsA+oGmTyOln%RbSAIeaA z5KzFT*I{t|hoW=@gXv%8!Ss0;Ht{lRg4=JmsOj9~H#U+&RWTZ4NJD}?MRW$3Ex5`g z#kI=m%Q3pDY8_yITu6B{bgVLnnU}Ti*K+5ixTCQw0BAGM?eaW_?WHJrKYz{-=qU0X z8I}af+4-zc`MDlDvmdgOgNY<4tS>92Ojd(sS$Ox3i12Q$u38km$|J{)V$i!n3ER|6 zLtZUE?LZc)UZiE*(lV6j>k5SByacM4H%IrANLr|jA+3rUqu^}&bu%a^~NZ5$b>Oh-(`9B(&a@{n1*cR z8j`<3t3m!2;+(T2Ubv|uoRK2X1FK+qFUmt~0@ifO(~-{8ji@@hyX0pePY{UWyyMNgy%YX|CM!G06g8_Pu5}= zeXybRt%g^NCy2C>x?hxco+H2*3^QC|?hGkC{dY$2@+K@JH@raR)Wq?tu*i`qk zH3Zp&bEG``4`y7TXHW|01W`)PJ0uw@vZoADLn1}^F0Yx4EBDcCe=+vvLlSwmGXe!f zAd{)WA)=Hrh$x&ItOjEaL<+Xax}8t*H=jrbwF;{L=m)WE3bJ7%lAA-3ux-JJ>V*@h z2g)xF_r{f990jJy#u9r8mF2PejCY60oXL6nPKPkd4d!vF$i5lPSwN^d#?h3D#ER7> zbae8^J(;wg5Vhj2u7r*1k!qIgHouY_YBLBcOMduw9U+#VU8sCQ!;ZicAw0gDj+KHv zvH|OLJq|spyRGrD;i9jkkTO1YmL!(1c_>b(dW+}QdY)ELNPHj=FHrrbh02Wv75SEd zxz({;-|T+zX(gmsRaGN<;=h76dWZ3&l~r11=~Xn$&m_^9-gXSe^cR2NciFIAC!pNC zdHz|k^66)wxmD-9H;TUD92FI6%`x*96z0a%du+`mdxC8|O{`U^!TiDP(38R;1({pW z|F50r_gn(cM4zgX+!nUz_s5+yX4Cn?nkPwH%u=<*egU-w&GSNK5Uj5!vh9B%EuC;6 zt>>UMyKzG0Yb_sg?-^L6JUkr7mYv1HXlXCm(8=}LVP<8y5#D%lhK8htr(>MPmPKbm z9H4F~;k7cUZBHbrz1#{?`{Qe*95%5>kK?1~*`ue~qj~tKiamOQJ(`SC67yGbsrQbMRPM^u~G zGENdL71{43bL0kiS4oynUKd_>@~x0)Vn<)7thDv<1`RRTA9wI0c#v4d0crBX1k-`w zGn`;L5fu66h_E1*lE0#wo4q=UyJBfP7XV&i^l(=^f9)7&lJ7&R{w~j+86T;0k2Rvk z+-g>J?#J+5j=xT?bL$!*Qw3z;sxYd3SOMjm0Ekg5o2H98tzlUzSao+%w@X<~KB%xVK@LW97TaHLMEOtA&MZ!zEQC`{%0!m}E}3B9wMlWq0F27I1L*#)w~ z4J7cLzlv?OEPS(w^K>KU6doX(jS&N6WN!n6wSSMH`~DgJvw~p9Q>dgW60~Jc^ZA&8 zr=BREW;*y9j|;bh&veklAJ5=zDeI$DukLBRHP*z^+wcy+W7|XNhG!C9EiIG~Ev!yn z@pw=rKtHHdm`pO1*vwW;7`%eQ@nD>)iAK1MwD+>0dv-u?!{WQ%??gQwWQ( zT=dF_DNbdfGayl*t7TiZ|;M4NgWJ8|_bw(zFqz=wIM0eKDkeVqFH z1od}ZOs2#5hu@ou62d1xv1#e4oT@Dj@_d zWcZG#E8~yu4z@ z!XH<^=Qi@s`W2o{Jcnwt)J$hlv}jR=%U_IPD~Ei-6>}o)GhP{y0IdvM3`IuBVs=v) z7k;%BD!D1oZD7^}mIwa0t)GF~{nMX9x~q^JJIlWV3(9KE6BR5ZbP(* zV1I5yc0kNr&rcbhW<=LC=gD8cd^*Gq4<+~tubD*_7K>?Dv>9t_FZ(N9_6XZJE@z(3 zr9+>A;eO%G4pk}+G!MF|8jwe;O(PJ>==T#lh!tPb0kgN`%F{-@!3z%I0BCH!Blmu$eXTmw#r|7#V_ic z{)@*o`o9R%cm8PfYYuAkg)sfLE8l~DzJ{$2^m9c&s0F8BL2Qy4@V5v91Bx+%rwAi> ziuoZcUa#|u_A-WJokvgfi21>hjnr%hl+X=+px)JhjoT}bnvK45dzo}g?>NA z&qD7t#?P*cy^fzBIzE0B`TcK>uU%dLugBL9Z$Ha!aqaeB=;#xFZ(exsP6in_$9Rb_?~+(d^L&w>~a6;H2f`=rQmi;M+g*2UK!sW((Rz-IV#hD^3s7m^)pNG$m@`& z^T+Woh;<6v5yPisR)G^9&8LI07E$U_{YuNaZZXJ@)uCVMcKZDwxzdsG&M$D()ta#2 zsH-pwk(NC+Ow7}R*mNXzqe{%vCov=9yQ$>n^&ofr0+4I1<>cn|Np4`6nAn5ZvqoF2sHATftZY)+rV5|P++BIfKttm`}w`}RFf%t@4h-fle|wG0fBylZ%I z3^~^k{ciWjl|J{U-x+oIfV7G5-y5s?XFNVu^raZ3YFKn<$H5;LURQOYr;^keP$p4E zk}XC8e2x)qUBbGJMnsg@Zk$OiAZRIEhUP(A2=A%tGX$aXuZ|`Er!J(Qy{Wny_6%{q zuSWU}gf)H9BYjHrn}l^vBjr_$p>$m{7=80lpkHSq$0{KG-_*SgcvDsKKc1vX2`}Xa zq)-sFK-A(3w#Z8Z6jNyF4W?KDwJK^^vEmyPNTA4zg|yI12t-B2h22$GchPl~by+|` zZ3_zp6iV?0#8m`WZ^)u8D3lk;|IExeH#dC)-Tgh!|I72xB=?>>XYP5Kb7s!WXJiwc z>z4IE+IO0O@ji_4TZph*5I!pd#6xZPI&MD(hQEMh$$=cAUL8l&hY|G%r*1~hZ#NO= zz_y*SeS8U0|9(j<+u<8x^8Xga>A1fyu37Hmk^AMwDEEwhVu0u`U($$s9eu`syq^Cb zO+^37SpKcZ|8_%^f3^%}+(7jE6MYOu{){*IpG`WZpXNk+5Ye5SXgl!#@;u~5eFk-z zfMsdX2!s01BJxIRPu@tM{5uQ1k!TYS*2=gue%kv_uqTBR)Il9-wND}|b`sMtU+y6r zxD6RizfQ)gvDlREo1t}`g=nSk}YIgQm5 znnv|dq)I~d_Qv&G6I;(+P3zg-z45!nyiN{OvxryIma6ISN#klNPRCSpqC=Bv?r*6Y zdYi*jSv8mQYRpv42kRSGb60FN{-)J5BsHzZ9etZQP|fEfIokRKQBv|zj-x$e-8dU1%H;opC#~Tk<=P+m%6pCzLfy` zf1ZuWPt#!3`)`RLkf^T%`*I(lQKcI^1-=XmysYQuXq2v-oI8t34dk&`_UK4qpYVhu zO)}QfW8ikl{uhJ(RSc?EF{ot4PPFtZ#jH_(_Y>5^cDXk7WIJvX2c{TOwgjXLkGj@hE~(y8+X{p1&#ypwg_L+v=GKOGe$ zHPaCImLGJLxwF>xk#-Z@yjGM-ML6$`W0DFPH`lT+Jqk}(8cL*Rv+UR7ugXw+-`5h{ z?Jw?{;clw?1sPCS2)DSL|@* z;qA_JL&>?g*?3T!l@1rV?%WcZkBjL9`}LRjezKp8!~SCS z0!4^Rf4w@l2ZDrohKt5}zZF`MJ>Gv4DLf#S7j8@E_@m2^o9&tDM%jNG>%`lf(#Dnc z>)G8x6w z;5xX+z>U!2pY{F~(&CWLzps3vJs(F>COn^>Z}+B48|5)_oSY&%Wb6DcvfpyYldv1? zbtioAV*xn@29X?brbZ77U82kfWe35;G9~EOT3C5rm z$Kch4K^TR-a1?frj>3*G3fsUa47M~3oopCZWR*K%7^YJ-4yeYQR-1MTM`1{F8qnFx z{KY9?X!ui4VPYnsD3$(|i|JH?aS2%d_|OPEpFi{fPe8E05ZOP|S$jPH78vj?Dc0c# zbCZw$C0St7Wp|6L2n@UQ<19jsRljcdA;M+oT~=R4{SVp#m>TYl3gdJ*zpzA&p>T_R zq4eL15tkxanaFl;?!A*DZVzOHw}mW)2e(@%>RXa z`Vodh$ypP2{mOYL8lGhz;V~$po~A3$z?F0u3@`+Ot;(1C>5+nYvGV2VIFc`UT)w1S zoWEv7OA4*O_t*)9u8+TE;!D^} z*GRrGxI=duAu;;mbgluU(`LE?`L2-4o`jbsUl66IvL1H!8A=ZAETJ@e;CKD!Ah4IkiA8Ww(sLGNV|@1WeW z3eUA;0t4gaz$_!>f2^PX5y(rdC*xW8P`*TC(21}MQV*>nbAE#w6;DWGd8B~NomUHDMrE5kO{3u6Oh;9}-uWo;LcQMk zD2c|`lkH>;dnqqPxA(v+^Po--)_LlFR%aTolYpKR%11V?b6RYjFa6wHo$YmX&Z9(1 zpyaNE8us2FQ-dv916Ohru!i;+d=lVAYYaL}zsTECtUn>J}6VBl>pCZL#9fySX- zKfIx|k?rb@x23S%zd@`(sl54;qY~?vZt(dcBI>fdG!r+?FT;m+nKd$iXQ&enlMI6& zp=+WZ2I6Fcsl*WQW}vQugu>8O#-LR82|4|;Jqv^{71?03>BzIP2Y_t@`|JRp^Ap)D z9f2$)-poG2gGBs}wCFF~P`TuHIB>g2fGXZWi|=XU?;x?s+kuNWPdh<7+(mq2JJAko zuAu~E-_7j1mHX%J^mGx-Yhn;`bAe7_jA{*R3Roe$hR^0(xPXveNISA09Mv*ta3SOJyywPf>_XGu26X5fm*l|`~{%lWT}(c z4)-LR*$xG5P^c5IsBOkm?+rF-2YA*7<()cN=C@3qjxF)v^l~8=s?OJgeQWdi`o=MZ zP3`+X81??^JX$9}-oH)dLJIie^kGuy{;!5W+`NHJO?4)^=dR>V*m%v&cF9imzJO|8 zY=b}0ki{uFkbUxlnP{KFwx{IdoCUh{GKg!bJkp;1SYuxacpz=}XDgp)F5C@vt&%Nv z@PacGW=q-Z^8U<)y8vjWgpgkF^5;| z`gYscwP)~J7JG%eu{8TS!9Ed;Q`hr}HPFBTP-J)DmJS@12U09LcFydN7BsiA`-2V~ z|Lw~m1~oy~ir9P{?+26KUGJY~A1EsWlazT$=pX6ia1xB}_AGn8F`GMGWNS_r*_zV@ zd`p3EDcmhv_`@S0V1at_5Um|~Ji$D>hVi|Je!c{J!2+Xx|CE=+v^Z(e5J<}+E$PYE z3fzWkIuuijK z8pA#cgW>z3gm)afm(1>E(7h4tBb*KVv%6+U^*y5xyL%(uO@+JH(D@F#Z}E0v_u;hW zO1hs6_uHhM!m|-J1UmvqO2pHFDVD5{JK|;7jokoo*px4M!eMSmZKuBeQ++hYl}W$h zXmDey1q}*Po4gwz$H}|taWQ$>wP)zs%IGz*oppU4-OgS#zp*YpFDo`a53~W5Cw;2p zI86=M>d=32sD*cY92z7+Vjtn2C1)+OI0-ObvHel6-idnkZXW9gNpK2xP->}u zhFH~^_c@6ew9lI{2pOvy`I_@i~`|pj(g; zT|IS{Kpr+x&}g!VlXFF?$xV?WE!>nH^+h2S*!x3Dt>ry=jxCDI5M;KR-2O2(H+L6h zaf43F0C1IGOy z0_kCb=o3KHdr3qExm;xznl3;%#$6a2=x`a}oJqcSFy#S=LqN_1B#T}^Jn5x+OrE4C z!R4MDD#K?!m;0UMP%sO+vjuq2qo{feh7UH8ls&R?FgzYI7%jOI2h1M1-x&yIKYdWH zJae<$d#@bmknZv|m}Yi_tw52s|8pq^3M;o-3zhDS+fvLj1^Mfu_K}@Z*-zZT_ApM5 zIe-NmH#?ilkBAB6%bY8i;CSm1oEhubM|g^mFOfL!1a_Z|3Ckbo{)=#5*6yQxn$w5f zUqSbSa6d)6kMe1bo!x(u?w7!QI=N+2kM(3XCZNtnJPDbRD)tiH=sFu&-c(t+%?cJk zU&h;qxP77_*pKNSi+KzcZ>AEmndgC)gD2G8x=ok{T|GT6?{ad!6oH+(+exJFN zGp^GIU94~2y?40+J(&Vkm$p+)_!pg4F$LEIZu<}r$dP*BfY_fgd}ylXyRP zK(mV%Fs-~jM_()u2gCj~Ja&#`R2th~4JtgF1O8Pq_YN1;w~CNeTU&oIgsdN$?v-eK zTy56JZ;8;YC|nO47MFG8cI3NIv&=JLU=E;y&+iTABM+j$d-cI`j2X{E8*(LT3cJGn zWJjIk+l&tu8)e4@Y4K}u23}Cw*ulUJ$!VB7L@vx$aIBI2r9vuuQuA85fLL{=a4{LG#~6itbUXG)i$NJ?_4Kr{dbXm$dMB&nw=f`){wDHTF~iF+ z`iY-SM*0UPbNcKh&W6Vz--l6exHXpkcDiW7AM5EyoWO5km)5XL+5VpCnbK~ooYigC zzh8|Z=KTiUIT;%>AM3B+?{_`EUyiAn_qzdd$w?c{CURIhl~%!CZ;=(}TiGekL)?Ca z0?P7wF58s+JC{anJRh~c(?)FyjoQAS>P~YK)Z4=}YEz@`3{|Idgge6&;rl22Thhse zB2@(D4Td_W^E%_G&JD{O*ZI~bF?D`@tVx|?8`l|(t!Iy$)zg;OW1)I>J=eINoY;Ei zG_B{`Q%&D3i=U0NY94}WUUtV!{4axzt2z8}Of{XGR`X;t)o6Lm0~P~RGc2~6nN6yh z6I;z+LQSekYEq4weH@~j(Z0^Use|E98vMB){#*lp`W#37{Bro-75;QO-WpPeI&M#E z4ks(mHNQ-e{P{YriTpVeHnUOBjEc@s0V)OT!Nw|onz=v`glJ_wo9;vH4CD=ul{Ew$KytF;9T8`NIOd z@lk>92EwQad^E5p|H&i_&nMCF{5(FCv8tf4;kiqrf>WvBv?c`?kty386eY8$WHyv+ z&r6d0I7Mhwf-K07Zd5o4nXW?-@+ruV{nFxxNR%3*{&(l3#kq9;X10<1U~(8NC~29} z#u_HQ^elrY%(?!Tf1jQF-eXwS|hZ@l9IC#sT7jYm)1(9a6Kz9CIVRJ?0*MiX33fU zQW>Crm8AFg=9Zi_dSy9qn-TrD`$k=wIiBj(yV;(wHwN*dTePxwdsdH#K`Y1630G-~ z_gW4SRL!jbHGEGk(4aTz7-pLZraiipU6@z#o9wjX*-Q$#+0452UKBQY@IekfeL5sSPxF{&SkyROJqH%E2Jk~Wk?5MM6Wu~iD3M2MV;Od(bt17IH7Rl1eQfaSdf zx1X$)%yF3|4gKkKELS;@+wUmme>>-t0@s@$Ywb3vG!Dc^q>?GJGiSIp9fGqeT2I}{ zTJPvnq>)!}NSJB?NeRk0V)Jly-Oa&W+>dft17^w& zd2Ed5thfj<9RW2Qu;NakKJF$JC&*(}i^c>xBnh`ecfYRypW?k?pqi_zM;(ilvTg0d zMsk@c7H#NK_PP62LH?ARnNr`G+a5_>3cbOhXDBWV79m6fLZG?pWS+@d+Tf2Mc%*vA z7e9!!5~Unh2|4`IjRCE2hVh({>_&MS5Q=iz-S0C@bc~s2-Mwq&KnIw&DZo0b1DaG_ zoqdc*7b><`>UxHwJ;57=_Xt7*HSG}?D$pI6Y;&(@e)QlBJ^M4LuoYoR{XmVQ`{owzPh<=-y-?bSQ@)7lW;3FAN_|m56F-Hb_S6nGtd_0didv>pQ&@S- zx^Ne~RyotvvdY-fP(JuM1qzJ0%GS^ikVtn&1@NZkAH68Vn!0k^MYYH2&EYG9e6At+{Cu1ypVx9r z>n1K159mPg1zNNK%LkX?6HM7rQ%e<@d9xY^aa&SgB1b}AUUA3R9NK|w0J9E}i_(((qX&XgONYm_#4 zu3+^Z%9XNImoL&zT2a9#QITumN%-!nJZg2dJsG+IaS3{r-vLu2L4gmZTQ1zTmXg$! z?escx*}irFW?8`WYCK2spl7$S5ffZSBj$jB>UHDM4UCNKhW?otcj#Jp<^uaz0Q%NdW4-ct9&UmH|N}~sJM}fmg;4o=Z#IC?{(^SymR{YCU>^bo%fpFSwweyjqgOZ zyP4X16`ME1Q=KJ|{@&xP@T*k#PmKz@@hGl*vOVXPz(5DZ=bxB4)U7jp=VK15eQpKp zDEDn;&32a`%(uJ**ky1~xL_auC76Q>WX-e<2#`i5tXM^7)XJlTuu>!k#v2LQ)3FcE zV5v0t8|DPV6J+1n`#P?9vMFl>pPy1CEV~H3xTug2fIE+r{%t(g=C5v5K+z z_EHo_NOpUcDbinHr87=pEg}Ih4?3JRLZvPSQG9BOR@36j$h0VJd|IWo^LqW_cjlY*&m-QX>8v+vrXF{PhtDx>prj7<5?x~G$%klkg@#R9D&wefGh+r zn&0N!`xh0=#TQ!3Z}W;hPxF7hG3sBF!jC=EO>~r=eo20?m+FqHT!?Poz!z2h7{WBz zrfrC*>ta4VnumLe=6#ob3Eq36+^==0)H%MS81)`5FsyC-G$DzfCcwdgdiQ%#&li}2 zHh!9r#7`5@Vcpw0e#~c4`)i)M^RG-}ntXFTx@F6SJF@J9jTCSKu^a)5a&VYIo!s-7 z7G34b@K(X$NqdNs`O9Z;cygH>NG$&Y3{@Kt7-#~g%DjWa=v)sd4ODw`677)0fGCM6 z8i^&g92P6{oBnF`W_~m*k|Ebid^wFq{ic(261C<>IbW~E+Rh&e7B=K6Mi1{J^ z?oS1op>Jwr`bU6FiJnY<^)^n%ie!FMsnd_;@Re*eSz7|&g*LUClY|>^$mCLPv4ImG zHxw#~PqKpQkqqhqXCZk^@E(9f4@+3Z>X9B)T?ef0WQF$P{WOk0`iI8xwMO80Ea%t> zl&&TGGET;ZWZsC9Ir51h^TR=nObT{n8$Fp6HJ_8{j3geeh-tso8kvWF(8yekomugj zj?C3+Cr+j#lIc@{?MJ-ap%Ka4p%JlTU(VGNv8x|;CnA?2k$-)lz0PGCiL+-k5`8Q{ zB3)0SkE(RnH|%de(8Q|~d-2!;>P6EhS}!_vz4+jI(TkO=U{Jk$ICW$C_AGmEBk#oC zV4q^Of_;Y97LT=EA7%JA9}9+GTZ{}d0?8(@&v16rfl{*id6ItEh2Pf*^wtRc;~7EV z$~Z=#`coZ&E7cd0^c=j71Z>!SXg}F6sHA9YTw!KZ7U`*6p^i_|3xvs0Hh!xSC|NBC z^s+DlnR)`f)XquziQM;nt=ZGD+2_uuX7}&cnmt|D><_;zntdEAs9IjDk5H_)I&@Qg zB$Rlr75O*oo+j8?nN4uAW~LzyR*DWD%L5SBj?p&2%MW)V#JI6Z>T5;Enuo$zw=o6^ zp;U)|XVT{%1v7b*$VS#+!LvhX6Q^DsI7YG|$hKCMX$WpK<$btSC;e@JQ(C#*S$fLb z8GKDw4?iLDwLp*}V32zIt7VS*h%e*)ExN5kA{Fq@u&Qlp`2jd&O8}JEyREGHPM-`j zkh09y|6=vXfMb!uAi$ly#nHMVBUxjOVVjM+odDAAADLc=yQ1M>smK$X&7}ZxkX^#F z`pL=|*_SbB3mC zpf$Jdk7>;b1COyV~CSg;*IJ_kuMZ=6~J16}kaiqz%|3Lr-uRs}@xd#J76;BKqNlOVAIm z)5T{3?*2T=tChzSFHA%T?`r^_{b~b<)T*?KCepMUylCza>a79}pa-s?fkCIa@}5F% z9q`Z@2Q2y57!hJKVA;QSm}XGkufBQ%SbaSY$$qx;Uyy3>j^G5bQ~$h|WJ5lBk*Nm; z9g6^KMr4xU1p#CnRQ{_eCJ{N;-!?^R8r?Rwd|RFM{_%+JcVqb7)9ae_LFkVcH2h z*!B#IU4>y0_Fkhcz$p)7p{{sHEp2ciWMyjlm}D(!eUqg*G3E_Jg^?Ki^sZ6-bAx*A zHT4l4=B@hqTLN`$e>3AR1o%*`;x}20{mTKivKA9zCT(p7e-AUSKL#EK@JH!s2h*+< ztc*4{9NM{Y#vuOJa661VD}srrUu{QLS*x%|{P2h$9`VB?G>0C;tQe{HZfz|;k$NX% zEnB)XGTH4PcvS=Y5iJk)*L9@a_h_#v_tiXe{fi=V{U-j!s2x`M6P}u>z+`hI6tgd$ zzU<5FnV9Dc^A^QpUZSAvJNx8k0lHz&R6o!XrD#un+$>K>{t!0OwCQKZ7%MbOta5-@cv^ z<%(xZ@|`W1*XG?xaD_7!)R?NZ3Z`nTz|`kfU~0U^R2BQJzFMtk>MeLAP^y7auu>l2 z1LMOicL67M_9Y(~p|nnIFsD-?q~u_%yu(@9DQ(~Ypp{3MgiD+Xgm+jTwJP|s|FzpJ9?3-4fZCV)D|rd_A3-#!}6`cv1xZkEL>Ylr76U)IMjD z8B@JEQ?y<|GOt7nBhDHOzZ;=>651n212v9LwqYDC-l6B{a2w*N0OO_Dmnod1TY)3S z!4P1m5BoB>IaX|pl};KfkU#|c>1Cj*B>u4taPikRz{Q(?11{KfNqDx6BJe}D>sgu4 zS;@QkLQF0e%eEq7<&7fF%3q2uft5Tyj)@f~vN8r)>H9a)AOoO5yfIu{$+>V|s30z6 z&cz7M#nr&Y)f9hY>D?SB?HDKRb(}bflYhk{Ctt<`Cu%%!^1?d7Ne%n0hX1MOWh-xsFw@w;kTv*Wi7W5udtC6!otf>@c0tdt=u9oLEec|2b9&pk2x z+zt-~*v^AbqZ_7CgCs)L0FQ0KQwm6-kj&@EP<#c;ka#giGO@0g-y-`1y!bWn;wQH0 zE9w%@^A8NWzCIE?YTC+PAz)eZ>M(=)8*UDYLw$DqTbe?wY!eFc@`q3%W>4JyDjlf; z6~b@qd%0ep?h<``jQ03gMLgbB|2SBm)o*&}AOGY{?eX^7<4M}%pS_}c9QajV<&RtN z@#mtCf4EgV{`;xo@m2cA!Q`nH_Rzokop16013LE!_l3CMM^K#)s+&1Mep9E?&ny%w z{adWCT6-<1tnHB%h{c<+SV8@5tG-+AWf#@8Sn}(?vXa<;iMPVl0b6xm-In2tq5h17 zv3SnY5k3Nzw_alkHWw$N-9zdGw%~H?2Oh!w?}tr&$3ref^Pt^<^XgO%M3ReLPF#|A-;`9+Ca_ z&pNVarXtx0(yEA(eNQ91;V)doCH{_GQ>`&1mlDZm^d$epNk)K9AWCwnM)CncGT{** z`Hu?yD7_OdnNmn_tP^lf3B#B;;9ljHtY?RD`C^BuWFX^-<%VZzs;#5bpak)R+J%bI z$&)2Mw%7x|Va0G>AMcCB$QjP^)ykM+mIp+!?NqE2726bBEL6&hwdMW?>S`)F6yN&s z*R@chb(D|NZ!tXt@BaZs6jA7k*!O%_$Zp*okCp6y|7L@_r*}9KgUXfU%jo_(7d}?? z)(>#k1g%ycRn8`R~!(eUwSVfgshYntSN2hfnX2rA9~AnN>phLuqy zbuew7<^DogHT;&hx|Kt(Zu8L6AirZg{nTuXqf!z!dtjBA_nPSDzq8-!p7-_L{35#~ zFWgp5UL0@#u|5*|=*LFdD(V;GqV|oER!TM!kl9Nmju2S@xo2ZFsO>g&Nh(jkSTd)J z!4of1Ib^bx@vda`VJGC0`s2$?(RzvKPZjh@_f2M+U>k#|D+#dvxT%q{N`O5UH3%$d z#K3i)O)P1%cAf1XjH!&$$BMcEi_sJ>rwE}e2@1j zR7}Zh)g|v9*8t1e2J_^HjSF`~Dp1bH~c=6X?VwIQ2wC|9p78Q-G zokzLCr?~x{(5LncI6NuabCv4MNUaVJ{vv4s54}`>NofIRHXkR`I=b)w`};co#xhfk ze*Uo8KLROU+zak8}0mAPXIe<8IVH44LMqH}avw9Iq&2|6E9nLH}&i^m%1oj%Ur?Fxx-#QL8OXmvrM{*&yFpi~ zr^adNH!SsBom)xS`gef0Lf z)0O$~E-@aKP#J=;vCPqx*;6Qb;{hr|06vyao{x^Jf8=vIG(UR4*y{3Iz4?uUfBmr8fl2{5w3HYMlYBsyR;Rh}_zw%<&MIo8XdE*L-4T3WJmr*YAPMXG+j8=4Zm%&Nb>yw_y-kf{y{sUE}T~GAC#nv zoRuA4N@XkJ^r5wl3Ir_e!RW!Z=y4C|w%1IsQ?XCec7|`|9yx=BN6swGBWIT8kpn0> zwi$qkG7Izkt)?V`cnUYMz5V7-S(kna{%D`t)D>p(<=WJ|YZd%) z0#?x`epvM)xknA*oiSVMjM+)>ElJwovFA9;*JDmv_%RxOe9eDk!;d38;67gjPP3Lc zZDnn8nhmpor-5^o$3)cO=Q2C^&X$+j4FvRQgpXx*jK%chdvis{_@yu7cfa#Pw$I(* za?U8NqRG0pr<0=U_W^!P&u~P%v-Yf?mleU>OMyTjaqnMp44BymHk*6g0n5}8puW_o zpWbc4hmwuD!ODrTeZ!TkNz(ZEnXZkW=`?;Iw~=G}f*EpPc!^7CkSo74Ln?YX&|#P_ zgE(%0T6y^FS z)>?D@lWT3c{_AVqO1{;t6xe(j(^o@NcXs=e+{%~gwsrN9T;)1)p>PADLkc{Y?D9{j zWd-t6d>KxB;4-&AKN+5QdL0_V=!v}KAmEQb>jw|)K*povvkdRYp>KKxr&heHg)M7qapP8g$PI6K>&iL zhs5dwE1RB4?rj=huG4Q08ydxL@vtaI!s&d);FZAbQWws|^HB0+baWP(_?`nJv){*$ z#198r0;$OF6pLN6x8Fs*AP*grkfw4J_-o|)79>KUiQXYliO@h5(D zr-IlegkG@A+t%&aC6)RBz9t&~&8|$Q`%-Bh0)VXKf_($oS2ELUz1L>}b}~rdtaNfw z^%6cB+?1F~v!fzHiDahSyA_|TBmA4J^p#j#Dh&ymRrFHEFcuwSp(I~#%c zEA|r*UE2n(OKjLSq1#!{ePIyjpTLyP3k3a_1pRuVKjZG%xf)B1-`N9ZTqRs$(0NDp zT`+qsveFRtvadGp<7pM4Rje9J-@~yJ^n6^x_2$3EloqHE2!89mLF6}wsGVv$qcnRu z!}+OAD%*zZNN6ug|C(?+@oZrb;yvnNO-EI}03#SgK4Z~HxZG@ zVB{fb>J+n_zP{h_1KI_j%PAqSPnZmb&!Own+Os-yYOmv841E50-4cE3!npl7k7ZNY+p?36;Y%fcW{z6kb{%7 zVLbJsrL!#(KHYjn+FSbF!@f$jKDfn+!8uk92 z=s6dwSKWReG?2GPBb5s5qxZrcPy0m zFWt%~*l$$(GLG5!VN4Ifbfl#_J$*~&*{{6d?Fqk=eP84JEICu*ZNJH)@xG~}_7xnC zl6{AzX8i?K-?FCb)>}<|y`q`#+`?%Mq;Y#$Ig11EL^u&;avLT#Fc=ol*gzX%a<47B zoeLl_XIbN&%wvrg&-MU2!|Ckjf8gh3((WMRsLLiglyTd;gnNQ(2fGaHnuEY^hfOwq z*X(jsu`cvASQjK@z6(d%oAF#b4o2UputReRj#R_0;q+H>W#nexcScuaXRcE1I(@)Z z*>H2F@32ueo^cziAa^U9yROJC2wX{Gl6qFUw86m!y(u%j!Sl{0B;Em>2?bea%@3J1 zD!c1FAqUKoSNI+WY9TBfqt}9xJP~5tpAg*;pdjK(|!11TE*6j+ONw={>De` z*L7U}8hGH0l?TpH0L>mylL86-v$H6+SG}_{!AG|P_*KH>hz7UUp|lvInByBu)&l4q zrCK@TX1xh=)M+F+TEMjG91)IB3NxiK7t&Q=%%OBm6Vi3MCS9i|$=qy^mL=4_EKTi$ zZ%OJ%yOBEyLYOgzfjd5((IpyL4MJkWJbO-f4i_}sNx^s4^yG~cFIX6ah`~O9x!nsC zbBf*XG=lwKU_(a&^x6&&k^N$!*)J>g!j(Is3^Axrj04qcJBALj+GHLw%V9l7MqHJL z&0~~_@oe)yb~&ok>)2Qt>+cXx`~N@Uky);Ci#7B-7@Y&uZLWTYLC5a*t=qAECcsiW z%_@Vm&adC|LqyB*);MCiu0_$V4k&NI_xPQQ=Xdi){qqsNpq$4Qi(J&jWF6OK4z!Hg zmx=Lv=geX58tXe_@?MUF=eAuMETOU+f;IHu*bw&8}y@~v*f}+ zZ`&PCGdvegU_S?Y+pwSQ$iR^CN2ZH6#NnyzQ$~I&o3jjznO(Rm>O`=9k?&i$kNU<- z3>E2C`Ol#yo@9_Xxl^KEX9GvHQawthR4Ayr65($E|Oy78)aJo^K8 zzDI4%?I(Z#$O}0*P7BoAvrum3p)F(WQ<(;JR2&%)obnE5l0>J?FFl`yi2vZ^jSlp{ zK_FwDgV!VY6x?8Z+R7hz{DpECQ~Gc5bN`jwc>d?rFY25PGLi9Ke_oYiXgO11bd!Sd zwPhDIq@@4cdVcCl_pcvY+StEd7k_`BB_{r!&JSN~HWFV%;ERZS3LM^^WxtvH+9+2^ zCy0baBv|$KniCO2d9aMiIN$bU*|B@}SD|%rvGuB4AsZ7 zL#*opiKU8o(?DYRVESIrY#Wao+(H}E{F(a{L7U_wlnG+~eMOjwV2|0aZk}m0=$rVK zXSF8IA~$~C#Do^8!2LcgtP%srW%aFZAhQ^m)n(CSr*mvbWHtxGOpQgSmoF3bEr=HgLT?}7te`oL~ zX@RkzI_&p=e+Pfkeh(+%;bq4oEtPH={O2 z3z*11_+e}D{rTGYT`)eHKf@@N0C7Mk^G&#uZ_3j}k_;nCiyZPg*F=9YUjPD@h8;|B z|NY#t$PPmfgKjHhHt-HbO1M#}4R?ozPenVVn{8Nj`F5I0&cKGHRse*ToE_+G$9F8j zaEFq!x*ZD}2~K|O0qipU<L6a72LOjY)LkX@dYO+-wk6+#z^3n+pd@{;kFq%u5s68#M_`N|a7t1jIgRd78e9`qH zKb5Z++F?xru;=7wvCuR)VafmEabx3w#YkkY_!X_g`18yQKfylFfzMgP1@BbZ-|OzW zCFmczJjc*17pkLK4z@1;;+H5_HhrNuZy6drKs!N!#JXWI5BiSOVTN$m6 zi+BFc{#hvqYvy9J#kas}^d3iBqkn;!^cP>mB$ZxmgfH#9`yfsd4!*%KTxvqY2%H9~ z8_v|>SgO+*jwRbjtJKK=L0bWfH(xQRsdaR>j>Ei{^C%+NUfB5eRpL8`+yOzdmWzQB zzMUz?=wsFb7=LhZ<`qI;m8vpW`-}p8RkW`b3mO=>S`PHAlLPl0@MXOEBy890m;!({ zj~`cNpx%!0l{+rLL>Bk>i4JAmxk+T*nTc6+nn~rh&|&fu3!si-?Bt zk28Z?Jvqz9K#e464h=hKM{VZcE5vuvk@{AU9iPwa$2wKCLRb8-MTY*>DOlv&9 zpmA$#uV5r9e`c*9p5m>+EfzNki^WXMVj)`Lb*7AH%Xg0Mpc$9%dHnE|AH|D41^%>2 z(Dr#)C%2Z-I@xH#5Csn|no*(F#29c@aSO(P>(9h4mCdY=ZR7Rp42T$YS4nWM;d0X<|`%TmMT{e2UA-*fv?%0;o+pch7`a{#epp7AUgGL@(Vkqy* zZpC?R?A8MhdE1s0n{)+wLxDTk@{`!@7;N;wwJ@OreD%BV&^`&zM|Li_iiztVxg{@| zPJ#*V8GlY7UKpK(y`d$B?U^>1A-x~WGHgbNvETOkDN?!<08zl#x~u}jd%{_)j8!Ys zm6ZV_Z=*t2vO?ca7KQ42Vj=0-N=)nxDMkKJ!6-u-z1yi~<65If!j_4~`BF%4i#OCK z7NOrZe3e)SgqFrwda3=VM%zC{_FKMFp^?UrkGSj~XMA|jr1BaWBkju;~ZahHM7kNG*h8QwsO#86>Z4Hpa@9;Xf76TI8~`_;ftzFB)qLoW&OrRMi{-DO z{;4qN^DEFQMf0S9JevW!#}FH$2ayhN?CLvfTyP^>7T)IPh)!;+hJC7tWY33h2p~{E zUffq1Y1v4jJm-E+Ncuz7sVW+26lz|esbwkTGlIvsYJ3Sbz5Zfz;s@sUj20xdDI)xX zrNxVN@>Mr5#~>*#ZH%gIiH_+cb>SxLg4f2ffeA5*s%1+-~7d_GMP|eSoWi>ipSw!k`$MzOc@j7xnUn7cIoE#9wV$|7tKDoA=N;t}?bpcu zqGY$<$)?wZIB&PY%!TO>PxBUKG9f(Eb9eY5?qB7*VDWZl_lh2yG}Swf-8DNr!^19i zy^VJiyFO{^6O@qIm&Es zYY^fabHN$C*PZ?>!#fzhcJ+KvE&RQ{hZ|fKg_zK5z&9Tcl>MWo@cerfUUO+}_(|D+ z58G-aypc|Eed$_!@OSlaKHG^u4jUn$79PtA-%o`L@PlCI*a|p>t$;=9*6-@+{Iuz# zmyx*wi;G5QLt(DV;AzipMf+hr^@DFgavQ1aPShbsC$XlPR`lRhscbYTu+TWanJJYy z0A3H;PAcn4eJtbHXd}Ov3p5o);~R98ZLAcKK$5&-i~yL9esf;G;Pu^I%E~U7LI@? z*z=>1+>J<15W{*pl9xye#Nt}M*QjI+OY~gh#@D7wS%s&U81~YJdDch}5kou4f#L}G z|5&v-p~V**dc=tHoX+I(Axp%RDZ{|XHtQzgoBr9iAtqQ7@&;p%+%}ko3q1jt7UPl; z1_RFH0Wbt$LS?_x#y!;F1Wfh(8+y+BSoFbhNpyZw>&>J{kg`*r{_t}E>X|O31_P6_ zaP+~sH)OumAi+ZiIjrwBr8~pDxT4*tS@>9<*S=ZhkJ;_)*VUk~p=)sf zty1X9Jw&*2&(>VIXD12u%dPVt^_{hNdt@#gh7+JuX31RhOmDkvCQ*8c`*Gd}*fbqB zd8+pgcH1=5J0=^%(AV6V`bBb+8N%IUW@~OTvxS??N)Fe&hGP{^v`@)Si-h{Hu>}=b z;ZGd<EyqXfz@;=$yIi{`c=9jJ6(_x>_{9qyYuu>kg-##m-}s( zBYQ#{F>%g3JI8-OY~z=(@6WdLPIqm3e9n|toK|bU#)V=W zZHw6EePxwWBWh$*_iD7O!JN7Z96S4hi@P0;)UOuy>5z%(&dp4qUww)34^DIUv;R)k z>=v(m;mtTsdzL)OhH2O4XC_I^##ez**XG41-Z3{XSeuh8&2UOyd)E2i07`RKAm@Y3 zk_I^S+L7!ISiZbD%P?BnU^Zk2WOn0B_t|YTeHF>vzqG+q1t=43y=~a=d6OJl$9}Pd zEDk|18z)m(jblH6=+j6G->Hqco#D%yWvG(-hwqzzn28>9npU|PDhC%EV|L&+cIhl$ zs!YyKuk=($huFnB8z2kmwcAR85Yqyhd-cMc#;=aG!&`5q`P~t>aaAd7?y@1h;5OKh zf?b)*v4M6W$UJsUl0hC2-xjpx#(AsUetLpU=HYfGrT&&#GSAM$)N7gV!T887J?`xa z&Dh}`idxHf*PcZ6Qh} zb5-UR_(e5S9c=E!%K%Z$CR$CFa)wo+e3c8~IaGO;ax}E_3^f8y*RI&w&7(CW&Ht-6#h2Lf*7hNmQzvc2Z zwDFG3TsU;5_kjm+Gy8=3!I`j`eF8SKnVaIVy2RC~S%&cAteki1q*+o~N9vC!%#$9L z%8a7hvvPt`o2U5)`# z*=8O@lbVS>Wvn{i@GJvc3m|{TUT=RG3}8%)_x5#jWZ}$(ju{Vnyg_d##s*v9r?QSB zDLKdOD8|a5e2%H~={Ujv~s0FkQ2!9L^e}cpEmAhDezSD!n0ZPVEp73l+GJYG!wrs zEq0sq`ln^@XG;v~%lRiFnzor76V7~{`rwhqnikdpX>{+$$ogo0q+QaY@A&yvH&{?0 zN-!qf~>#U3jfK;551&Rnj6n{^?ic4vdN9vPn%T zEOUETj}3H)0}F$v`$%a3VnCh0LzlRcv#B$#K>yOSj@iI!ZMX+GLQ={aWEDa9_aLio zN6q}f?787qiTCL)bB2K|7pGI~6(&p61t;fOWfU63<^0T74=0#i}kp zD0$xd&b9RpOWPR?$AP;DTmI$`VeMuN%=o}rasif)s$@AZC^a*S&9{LavjU^Vva&td znSR2vixEilN^C6LCY+CR*w1dX z9e+ZLP_Xhi4Be;h76Amlb3f-WG_3{uc#Hfkhx+c)@t2DH&4$Y(qx^LT{<^Rm_rZ;a z$DN2Y!%U0(b-x&Y(&DEK`uMwLJbe>)AYwzg3mnr*HBJ$UtT=Lm4U}sucOdSMC3soUEXrrErqkY(CfEj+%Rc^7}G&X4u^Rk#NdlRfk-_GZy)x zZPxMLi=Od>V<#B3&v!BHqiY(s$nT3Ddu6A*muaoR(_qM2q@9}vMJhTOH9&%EnX&vh?VjS^63k5hGFHP+490O@bNBwm)!gKRmok& zqv)_M^khg^&pdfDqGQING37952ZJ7FAFzsIc0qPWttmKuvA9;kgxPV=C1Jwg_}hFb z_Wf^7y7L!mEyPJd8~vRT5c0cNOUz3EO{5c(okP9H*&?%}3PY!uuDJ}uJsqD(i=H)+ z3%Iv!;X=p5MV{-KsslEN+p?sMMz)u0c(}-GE16>&=;;jn@hdm6D}%i^xC0~EGQC4u zGzK#keI`ftMiWi5RoZ2&2494op(3&CIHwN%v@Sxv^nr}!k75216h$ehf6Bf{oN)Sx znBb%im>LmkC-T$6{W3roEO9*ip{T?FSQ3mxEYtq{c`&-Bm&;?C?HP~z}B*%=-v z8tAzTKL>km3r~V4*p(do9PGK7eNKJ2*fS)Y!{l?s$|mr;aN(gDlOC5Hojg}UIBlez zw;x?Dn)JY{&$#--$IPigg$NoKwK9e@?3|Q_z)0L!UYYrGGz_wi*7}DS8)hOA z3Q4zyF`4ttA(T1)KD5NpIP^pm4PPd{32Hch&Y8WP7pB8NlFGK@fNOMl3tm1XH1y4M?eM8h?&2XXJ0VO>ACBE(zkC@_Fo|K^347Iuug(aul27aD`vJsSqoB)h#T|0Izh^BNtR>XVUgX3Z zux69*2w#HH>2UYm(5CI7@l^DGw5eyNQDdsY<2}zNgv^D9gpkofYXX+G9n%e}y%zmb z9$b?{FS)*R_qkt6-foa`!%td*Y+9*harq2az4*YN0|2d!K-YFR!Xl2)9>6&`1<-^ymQC*9@Gx4QhY&8<{3{?6?;2m~x% z7g#gIgOH1h>IqxO7g^ask~h>I-;Y)O_0hurcxSV!lSS44GQ?Irf>%9QSGBt6S5yp1 z5M9dI5a2eEeV^4o`B;~qypOZ`8&+Wb-bsQ8lRqt1ANOmjXPXK3>TF8*$@++njnp1) zMWkZne$@(v8^hv|<5IR}r+pKCpwXbx%g{CGfa>yXW!vI6D2rv}Bf%R2&4^01q>ntH z+08wLS!;})6x|oe%Cgud8X*xoTLN|^U0O31+YTD2+RBYf% zWGmek8Cwx(G);UHPLAf@96$9?_xgyar;V;2cVHBTCXQ7)7w{HP?se|n=|-aOU?P<1YL8! z^Khf)oOT{U$4Nl5W(D~omAR-{SNi$*bQq&;Dn;8gv17PTL%)v^gkysKq_U z()%0lIdaRsk;=%aA>oahC0t5cUSnT_&2ZPkJBUbxH6k7`^VtjoYrmbe?d06Dt<2in zv~8!#7uo}~?fjuIhHG(0+ja^sdcO1IFZ9lRjbF&E9BmS>oWzd_-~=2DVwgY%Yzj^{ z;YUrNl*0My!?)CPzeNNU#4~gMJW9Jm$SPo6kRcu}4~|aqL#I!)Xk*awcg%W1pSweA zt!2E&Ct$XqW)a=sPaga!fIk3nLP;{vK*d&cIne9AtvN6_R*dn}hOS24MqW47Eyrsw z8q>lVj7x8^i^2Cz=OLfy0o?#T3#e%_2L4rr40L1+s4lX9rneSPWf{|o1t+|;rTC|j zZDQh|qESv1uc42JD&@*0_u=C4QEu)D2)mtp3Xr)UVgR{vVngrt|7Hpk1Ku`n|5aaaS;Brl0*=QiZsmGA z=vr2qYMt6;QDRr2Fz7XA+OV(T{#k4i9!CCu;7a@Ryu((-U`KE`ynyAVJ*+YM|C3^( z4j|h3lezGkx5@q>X?W|PsM-#ICwX9wOBqIZoK!nOazYZdtwPNNe9)Ul8dT4R$1sa4 z<<@=$?`2CiIG*p6%D&*~d?z?$W?u=m4!^<_ETRH15sRGo6{cfR9)5*MSyX^uVQLl? zv9IezrkQng_WlMpe5_rCKgCeogmJy#VYP)1%1vu|fqeRj+hX55d%9uXO)lThao!uq zoOU%>&b-OOa{ysA4uM@<+s=nRhxv25Pi6T z7O(08dbq(L9+tH!%2?QWXATaWb-K`ZoX3q~T}0#z2L)lRDljCgNjOsc3K&?GT9>jL zo*+P}9WHQhm}oBm{WqR!so-qr~5K?$}pZ8+uuVSg6+xa zR@H`VYnOAC>vEL`7~7Afv(7l}B9|K4`&7b0h@n?gprP&!eS#3F2i;07p6={%p}%FW zav(IE-BAa~;2|!rK#;u7jVrBD6a# z4+mATV8AiEvizfr11QO+scJS^t2Pf zZ)u0wa5-5u0j4-;A*Z}idC;&7kW?}xAW4Oz zsrSJPlw7{lA@6+;r?TKaiKrFCBH~M`moxrCvsyf4NBr*#V*h+a6hFXf;xOMlvqXxC z!+e`)mn@t3epnS7;{#-2kxJL_NtzV%D3KD6!qS7T#cXSl9z%MKJ>Nu2Ql1I78r=(q z7}5@@Z(l}xzXn?6`&x;34d2ZlFcPp=4c|7>W`HK9dMX=3iB?QQN>ex`jty{dEgR+^ zzl%dMH{Kw&FT|B>!(eZd*vhmY1w-{Z+&*%Hx6D1H@pb)MG%$e%wC_9B7xHPl0_AZM z(IYgE=rOh_wTVYv%G@OJIMZyCQQYw}8QfM8FDdXnpT4I8V6m(evB6Tz)K#Yp4Uuka z61~i>7B#)f>cUQDq6K(%dI!+mV#bNN^% z*WQ;A*Ia>M+I!la)DEkRT05i~c{|{{kqCh#KuPL1H-3+WsZm|&Y?HCc@W-z^$vKXiY^@w~N zIXJ*~X)0eT4|6eGM@uHmlY6(S>wigUcy)^0>I^`fhf&w)#$-})k59hwa) zKOAGN(;t{9Q~<5;MjGia;%77BA?Y0y59E>xAq{9{*D7uW0n|s@vOy|+0m9J;p4EiW zv=0=9x&wN0g1kmHVELT`SJqh_*~Un2%bZ{>lS2=m zX>4EWqsw1q;~`m$-hi~7!N{i^VDqLSY#rX${Q8@w&yNga$kSep>silpBD2@rkdCjp zB7wc;>mRe%RKFR_$W`&@?Jd-gUKtt(e}hN%HnYDyK#S|OQG8;7$|g>&VEbK8YnIzT zhFcu{V`TWkT4jvY&GraxteAk|-2RbFO&*tCy3-|PpU9Q6x3bSOnB00RnD?@I3>>$} z1tuVzj~<$raMjjm8KTN{`aRQRh?%T%f(hPUYJUN;2Ln=iz9y>3%t`x`2?8=pf&F6u zf&Wnyk(#7j;Ie4hdfKX>(LNpWM`0=<7orX4MF9Ea#YQ&Ca@fI57^ELY5Y3Rp{c|tw zztspo;~MPtoKkSQRnGLS$H>o>KG8+|MQ90_D0ETI)Lfs8FXnNj3{OonQ>w`xa94 z7H(@G7`jovq%>)lY^wE;MLGe(FCmLSsF?4>t2v%3sES8!b)tXATQT;%8-E-nHpoQg zDbhb*2=bE`Uxqpa%(7OscP^$11b9%uU6lQIrNBPbm$74rcEGcV_ZoU4B&+@TBf4a? z;x2BHmHZU)LRRu&&znxJwn`qmP{cO9iF-!n7(#zB#the#=y266_BEP+h3v36m|73` z{R!#pi~8uX5NPN&wj30sfl=IYS5}T8JW8|Fqaog5xlBCO8J-#>p7L8>M=L?EzpxKT zYodQjY^u3QyJRf*&%YVdzI#txw0+A5Q~Orl(x`o1ynP=U+^Bu2M%KQ2ZlPq4G3~pC zdsm<~pCWcHynSg;4h=4Af(-nQM&?A-0&b5{*JaS2Mfh8-ZFNY3<6f0psRp}68RaXq zOwDC2;`(b$i@aCge2Xa27MV4OTI8)UJeOsxH94WpdgziwD}10$IU65nkMdy*4GX@*@{Lv1xY$62)#M^zw z1+){|iFTWG99(A*PI&CrZQ!%-adJ#y^b8*$0x)y^BmI7O!Jhn4Sh8=IZn?rErf}OH74!}4cumv+0o=3NpC10Ym#d-8&d&C{M z>YNAtS8^RkrLsF%>0HMVPh2+G^=e>99pFQZ4jlG^6oi&jKirMzf>)VkT-}TKK2C&0 zg#MxTzGL)7{beV>s1mqpBC8hbJYpjMjZ3RG@sCER_Kvs~svUv8wdeO8zT>#}F;>k- zGjnKsU|q9Jm;8Rq)?r1zYpJ473{BpT{8u`ou_)o=DLDq0W4BahqW5z-c44)&O${u< z?ZiX7F{cA!rPuH|tY?U$m~ocwYL6_LOwF?t&b~A1BbZ& zV1IR<+HUl8#+ezF=V*fF0L8drnL?(~h1)8GNz^X$^SN_>j*+I*{-a4#V!5d_O-Y62 zLqbSbIer9Pd_*A5ThoXxa~TLcO&+enR5WH3afz+01uDPl^Y6O*SDxN*0n6fpt3 z?M4v5?Z7`X3;bu|z-q;DGy{X$49_uegtja=;9zZm?a-xhI}`>l-V&eB$S|ls{fSzE z(mf_z@pM+BRv?l7!i!of^tlnwm)NRuR~BDqMYIuHZv&RCqn%{``cv%rXZWJ+TiqYp zw_8m6y7>V?xSu*EtL1hU#d0yPB(ymQ9y0zlZS%mO_lH447BPiVj<)V=Lz{2ii;OZv z`GW=)ZOiT7gJN+2-Gpu#E!N^X$o-d6T3H7RgQ3gMTwK2!rD6MlR0eZ8$G3B%ciH$P zx4(zWpO)*-WWN>#(H-=+m}5DZ8QIT)qfT7S6v1_^=zpUvjr2d--h*nDuG9P6I@gjE zqh3!GikjsQtCzq!JKT<^xx2ZqOdw+<+x)$c*-8JoClV3yds5lo`C>XHn%a3i&+)}` zMZh1}?koU*gazP_tAdtlSKjP2LPVi6MMT&gQ-h(^KGE3JkXt{u+n5E|qMI zLdnAKbffO^B4Hjb(+6g zGWiR9;v~ok*r@|Ca}1l3`0;Ig#-S*GMHSa_BeQ#YED6PHZNAp*m>i5Wzix^o+@o_0A9J(IM> zSR|MRt@gDT4dJVUtrki<#pHh})^7$_c-T3;Z_sBlpNIqJ&P+CN2D}tAaJv4W4V=R< zxzb<&J=jm%->)7a_V+Ymgvyxe%ec88U+5-~#*YHHyQ++! zoH&Z^8PsGHDOz8JF%J@40+p>%EVzm}r;yQI?KKajx>kc6{L zsc?^hg=nagHBRD-F^zNPcq@$~r;xU^Fr&qmxhf^LWrEZ)(=uXPCa7dg!Vbu3EqV z`VB;DCu}dpM@{02RJIOHQD0*QJoXilA9?cFG?6@Zx|Te4x|T3{I@1EHoU*Ud8QJaK z16O~9t3Rq|M@8uLYY>_-ExVpsVo=MvoZ#y##P4@4NlyjdEpNiT*E*kwgq%E+CcaoL z=(dS3y^XK%GW!VkC^>7v_gX_2fA@B??`4U;*K3t}!DZq|NRG?O}to*_~!ELff4{4E8tG-rWFEJ&>`}&roBQ zl_Rj;0O4Ol5$Jscm(RoH^J2JQl(w>0y&;P?_F{hg4mZ_}GMaC_;{hmGTJ$~M8-GC# z%(>uF&bv;3;i^1;bEfYblgqfxrF>FYS!FE*U)Jp|<$y~8cg1W#z$cFZw{q02guwm7 zBqEI%F+KJ1@)6*Ozf4D zxmiu=1#t%SBXsWEMeIAT*o!s)jC-O-NDyvUvc=vN6V;ap?zV%nv zh{4uyIA_*2%4VLXJRbee*qXWZ9jY16sNg*#wLwgcJ;OxrDw|uWIRhS+mIU~LJ(5={ zKOmAd>iB+ytPwB!2iifi7-}Yyp3_W62=trjTyb>0KMeCA3ZvWzEo@M~dhEss!sZXg za!3B_1qNu@`3nw?`yZ@W$ntOTs0f$Ab>{yCQBbhrsK@%p(GJMW9ZA}8f0@pF=G*@l z>n=ga48kQH&AJ(JDYn8YdpOL3{{R($_MHHXsqw3gfXag z9*jHJQhO0s=8KIqvrD*=U(S{OAlHspk$%;!9?uMl_(3B)1yZ<#BR7}xv)dr|8iS`o ze>$hfuddMKOG(tkzlqBinadX^moMpDzNB*bQge|ONY=H$)vd~xY$jh4l9+rkSakB` z@~=p~tmEPU>n*GG+y_36ZhyjGwk$E^`a5O$@3w_Jmj8k$(JPy{1QM@Wi8(~y2c{se zC=(SaM^8qg_ySD+Eaf`TIvjEv+ZAS3R$8;Ajg`<%d1gT2Xn^ORY_kbI!pZDS`*s_` zdXeq$531>3)?rXY9yWQETd8n6Dx^gu;Yq5%09>(R5NQGoIU1xTbKHwpiTicek^J4zX`R^&X`BMQ-o?uF9i8xjRz6J~uGYZUp@1t8j` zq3N_xRZ}eFu2y6r778rHQoe--Y@UT!mMt{x4x3va1gVy2uMOtk(KDa`EGg{b=Zt_+ zNQ(o%P6QPO+4TJ|I(@U)>UHcmdt0y=Y%-7u0^X>!)^izA78Wn}W4GvI|7wDsFie-oVA&Wxs^G?8E!O(8CA>?)xwB)oZ2YIq?*b zK<@Uu7QYFdc9FtJ#2EqWgnHd;Co%jK#v|hErh%_Igh7)t8B|YWk>)J>s&@P6Y$O^m zvBq9xBFtutzv)b`?6h!4HSUa8#92SUU&YB^0meJLLV>9N8}5AerJ0DUJUSzf6XG8B z=+y^ADT?Vj2#9I}`qLrLl?dgG#m1$hmE)j5LV@zNFmB3CtqZ~58l#>4qWJFTT$ELK zdg4KeKXD7%)7oYE^9cVT^lBSwE4DnBuIEc-a$GBwDM!Gy{Q%Aev!NyLbFy#2H?nWJ z*lZ;G)-LZya2Y1#j2{v3m)Zs^$^L-xdRrg#!IanzQIyE!wEf? z&kvUF^jQh-vsB(^ILCwP>J$IBdhI-?Yx*yH?L0qdG&R#} z+ED|58*nj^rxO!6?f0ShGV#s+NxsLmuLYy>`^;9)=1HkBc9 zA1niX$&~pL#d}QUIAeHX0r{Wfq_VsDwF3x>mk#)lIT#KCppj;_DGA~E8IvuCb#mrg z@%>_pk)NJ}X8BftLvTm3!F>Brz*jz8hIVvmWf@XmYwa%ZwN}UDo0=@Nr1^2-8vq}y zV-L5gxviwIA4dL7J}^@G28TFqv~VW2%9EeuGjy}){teutVT&=^ewcsLq$Qbb@mPp3 z5wiGjE5i2O!0B&^Y2RhYt+uUFr(SlErrV}#x?Rzx`&PlG`%byErrXAwZr7zW-RGTK z;VH<*_nGn~2JaA7eM9*YECEwS?fZU+=a+&*+QcL{MC{ek;x~lz#Kb{-RflCKJbx2= zzFPnM(f6Xy`z^QQ3--E$eS~e=#N%b5F=}-Ub3hyS7un{r{;1{S{s8aq*l{nKg5Fx) z+o_eN$W`{|_TJ^HJYvrEPwvc=j4wRb;fRW_}=xgG`zPzC_=KNW|rz z(Ah>thtOpWO;rr}A}R*#`(MP*l_*8j?Qu<24vfKWMdiStmlx>^kwN`u?#YXu&(vw> zGx53*c0SNynwA=(0hzW`t{xO=>OqmF9u#S+cM(^;mBYV$wnc;0es9!LEKRWAq23B6 zaS*7bn464o2bqJ**VrMQAcjK#x0^vVQ2TZP8IF6iiENOrXIihP4W-3Qiw1_4@+gjk zHSE56{kIqC)$c%OrsL z3AOY8rP1>}C)aQDpwA#Entg&FGF`zwqWqnm$*^`kPShjs{|XDz9?}Q>4Uo@ZV0_kKq^xg&AHh5pwesDesyKK*p zm{(WLUC6$Ldcn6CT4`D5!@l~P5Bmxl@ZO-7x{R-M7C#kQrYi(}*u{f=nA8ue{phFJ z0a5~Po~~rOSA*AD8A_`B+T3=RQWINT5Ro>lp*9mY)M-E0MMCXjj)S59gJ(tmpRsEF zukt-bUOcT|`SG-FP2uM<4Xs!WOP-Vso=%y_R$Z1<`3LmBiUTJI7&Y;<5*EP8PZlFx ztRtPps;n^Ut0Wd+sVss||3g-Q`GI|bJMad&0cCzbI#;Lp_y;tT`Jj}{XByT&nRd0; zdlZWrFR5r28)|>h>?f{;4RC(HVE8Yo%zwj!E0!3tmCp- z42m8)khbzeLWvr*K!b@Kz`hbn}1rg(qig3*5rC`$ai%c{0QQX`i>Z1sA7Mw_`bokYdJDt+=*NSH;4*dD&@U-HHHfn$Epn=QWKEvP6t$YXgG%DF&fG4Pg+g~n$JbV-Omo?n} z@(Q=Vtg*jhCOos(%|v&VMVq)ciHSQ?o47Nzi91uXzsy8k@fF@fuk&Niw>jNSye;d@ zznouKn#ZE`*i7JzRgG9 zCM_fNM0-3Oh~Ie<*GSK3Igt2hTkz?w@!H&M-|*-XMryZIT4}fhKI*??>RQ~-)A^KqiPA7ZaX%F2 z(0nK;p?K)|Q!VP?l%MB~X#OM2$_x%1p^jOG&6sVxIF({4l1q(jdzp$58P#f^hw37b z-+sl(2&LpxMkdM1-O0X;YtAeM^lZS{VD~#>I2NrjV<3IBk~oAmn7Dtwd?(X+Gk$DX zN(g4GmM~&lBtvv7qdyFvk0W51OdE$B0nLK@&z$6%MJTN~kS=<^%xM0hVumQN%?1RkdtvK0HFu@4y$CPPD8wOD|^&7@h5fmF=t;An+k3J8u-0C&jvy=g^o8Tl|)9mwEvAGq?4tcJTHcW_% z1Pg;DXZw5OAWSQe&~Ec6N-C``X=mga6B{K@q}Nyf{Dc0@!>cb6Uw@dCyLM(xxm%?J z@PNUQz}V>?VZ1=%>ketPy8YwAGZ$bit@x7LF*oTRW&1m+bUYZVYNfJUg~1RD^t3}K zVYbr#>Su*bvXvrWIYwOyI09!X&T~q!x{lB6O_ULM@ynwPlq2c-pTCbp1Bg)g3Ic3c zM=E(vGs`PK3^t@40{OMEF2V&gj5No-1#Qv}g-Uql`rDi zv_s)MF7L%Oz1!-`c<1C&igzL^;cjlfNwu^k2}Kb`afI-0!q{;^4n?q=bD!&%lXCq| zj1H1Re>9-S#8mRKQ8)bzEO~E5{L3K*Regk1j!hcm{2;*trE(A3)X7#-HP(rsL7PaP z!&bdjjdGkc|J%(cv&&a$gMg)cSEQO6QQ1SU!4^lE!|r6+i*wlyYI!}z!)HNe6aKW{ z;qp(nQnvBLgR-)*ObE+>ugcQL59w5g9o!<5^@ zx(9g^Lf>DYB)dA+(7ygDTzBk~mj9vgP~!3z-G^Z{_UNAt&ur-}y2iZ47ylV-Q1AQ) zB%c}|0mTR-(OJve*gK4<=iN>SJYlwI4790AJOPN)*c(PG|8N`hno_UzZewXWKHNl_ zQhvd67mrVy5yj6(T#H^K{#uSs4*|=TZ-*Mx*>|%w_YfQeSt*{hn&amK48~^60lWSa zHS&(lpe1YySoXa-%8>bv3A1*{fnLWfSq62_neQVy=zWZjJSO%Z(<3d|r^~hTjhmwJ z4R!o{#>&siZ2W)}+(~kkDwnU?#Pe&%c@j9{)uGVy0^FVZ9u)CY=TuY6)If732O}`| zsJrgqUcCeP$#@Z>W1o$aN)H>NZW+*nN!&AmsDF;3Ik@l|1fmr`$g*ZZgw(6J8jn+BvY{9q2giUJB=Ma%a zkoHg%R!JV-#~dNYQoJiWMo)UWjBE*(odgF{kq$x3bgCc41{ZrRAOZ zGB$<3W(7ZvE8wr6$6Ih6_in8=wq*SU{Kx4@pi7n*TRKyQGDS)1XNz?RowysK2Lx6A#5xZ=nW?@=E8#+|2vc`rB}!40rfvJJI6mxQHNJK^KL(+jgee3R0}3)|8wBN+g}jIZVQB6Bw>JI1bbMD^f?6ap2NGOi;yqUuZz|_0tq|l^`Nntp=2Y`XyAst^ZV2n@T z3wwC7n_?FeMW3&hLuf*a5QNd89(KJX36**PR6qbxyp!K`@Ea@umhjHHknh_2SX-C! zT^~vWT8zV2Y)DGLSCkcQ^=IyhRW*fIwah}5{{^R%)J3y=T&jYWDX6+^?2v`j%#x6h z^tK;C(8 zA;itq@|)z;Pkxza(d%D@LT0$0bTnQdBE37uVaNF3cDX*Sa>wF>9b8q_$x&{pG{w79 zX==BmGOmS_t0FpSC32>6=|U&RKRL-hvtP95*>Fii`@7mvZ(v6ftVRCrn6!FSaAx!l zNEi`n=s1KY6${s=97_)*skm@WOD0toh{AFmsj%+s@CHBj2DbwB8FsQdy7BXs%nS#7 zVzUSRR*a&0gUeAv2O$SJQ*796QyZ2++{q{Z8eu{0K!4@`45Q8$y2dX~_y7l6+~7cd zxkZ{abaidSXsXGak_?vpbewr{lme%1O6}v!>Vlf;#T+>y+)kAP5T*~2KRG% z?DWKB;+9qHQmeADh9SnTY9oL*gx9c2?QAc8r}ULe7N>E)H0IKo@L5 zhP~$5dr_PD;3R1?)cyu+pR}2UyW=Eq-6bWkSvxBAo+Bq?dJoJ6s5uRyXFYh)XQln9 zXDzt!S)z@(DX|p$PTK(e1@h@z;p!Wce&A}j@@W3Dw=-{u&)-(7&!c}euS-wFHq=lb zdpSf|+Z^H}@)vRWJJ5!z`1V1~AfUvT+vNAe@_e4BEMG{Erilk_al3KWd%co9n>23^vAXa>50Q- zYck+CuKYUOybz;{p?<;+?K8Qv2kYZD^BuDu%`Y5E1{ph154t9emYTKf`d`K=DlR)O zF`Q1|awMjNJ5hLx(LY~@;?p1I`t5dfIz|Gh)@;C$9j>hD@f#?X7}R~iBgQ_!#)0Er z15N)Jl#GiAsf&fw$wKOK5LDM%J2}6I8Y0D;YbY!HLW3&=I4PrG*@ny; zlgTZ5PXZYoACuV3vZwJju^}rW4V-8uTD_!+XYk{~le@>d4kO#n5e;oNE<9zU5pClU zZ?&02^fXOkv7v(LoRaa63DxFyAsa&Bae)uN7ic^#@Zt9YPl#&)I6=S@;#vSs5b%V! z767!@{IT#2kiF&?qc&q_(*@?feh;y34+t&TraTInpU#5N1XtvRo^(x{jb2R~yNq=X zQD|jXH*_s}oghwZSkals$6Ik&gy3!WL7=2q0yt8$g(GP*n47k90+h~cFZ7k;kB*{L39&v(&9CGR+J^pjTkgZL&_kghr)7)Z`j)3K)R009 z;mVq3t-rV(hRVs)x?HMoM8JP#m!+vgX*E;L0EOzQGC-k$gI;OqY#E>D3;kpQ84Kwg z#3wjE<@f|1V}4RJT_1yPEjsKC-YU;{gNubuTjnxpgJONb$_#XLvE)@EN9X4R@?QSu za>R$?eihX=M0@LdziBgyg5Bc|`k+K_IPF|?B;+gqK(CeBZ+WF}WeEYcf`F)E2;&Hx zu_`sUV{qshn^MyggLAn)NZ?GmQoEjv7*Ea_X3_s=JZ+}dI%52#4>^6_pj}iAriv=A z8crEqfftIs6s8GOve&%7qr)2IMxYo61u$ocPZtL>=g99+MA?SeTv%{h+F#`U3D}?Z zPw-8um@ix>_D>UE>bQR@`~>z-_n{c^0{1$L(JB_J4AR7=Txag0fI8hbg>eEo(r6XW zu(bSfGcdzAF1?qk+K~B?6VWbuiEV-S^`9x2{gBMQ@BI#H2jpwx<(KI(-q&_feD#}W z$zdOx2AaP-Z^ZNmcq=dRo7!)S8)qKL$RlwL=tbWqOd&tIK1|}o@ndVmaQtWO^U0V% zf&;3JlY=?`PLAPOrlTNLc4<3*vp{U;NJ$ScrRDD8>+ z%vnEl-$iEqn?4n@{?@S_XZ%X;sITqzR{uNF1G`nB>#YjsemolgJ zOfYGGf5Js*pZ8Bed+G(WPk_d?D=(n^TF8I<>L;N7yN`(aK?&3se=ewBO!)y<#;EUg zG3sCcL{NX%n2yxfL*v?27f_!;`0~ep0{VwA{qv5;)4%elpnpB-3-^vU=^r=#BJ{U? zEa(Z1?nwXseV3xY?@vL$wvXt4H5yNU>yeR|Kz?I#Y}P>I0jCJ#^zQxE0OZO)lM-KZ zRH^+uet%g6sl)$BCjA|(Gv2^Co0bh)JeXcQ)k`g415#?wo-_tYx7 z^02eEcG+@}6f+q7x=Rni`hiE(P@fN{p~YaY_=x=R0*ir_EC#;@p|J37*5aU51OwZo z#Xz5np&ooTw8D(gwsbTXSpOZ&1+f3$sqI9Nf-V^hz+7;&E9L@7Lc{${t>GVUTAY6H zEy||B!(^xAJ8tg+K1+C>lwMN|7oLL+d^5Ub_n=cLmcKV9G&2eF_XfuD_rSeDv)s@M zvHjZG12mmuh!sv}qP8)if+UyNnP`xomFf+t88Ay8t7-5Lk|s-W)(@g&wfOtVjWf(d zuyMvvoyZ%OI0I*hcJfe6X&UHLIXscY+aUiz>P_CCeml~lk3LAKfpw@9?ZiwmH`giv zqk}%MP&Y3Sgk2-(lTSl?iJj~oKu@%9hm)-~Ite>;DBp~~o}eVh&T*q;z3{iqLflz#b;e;n%jY0x@Ez+1c92Lpt(}!w=EfvC zREQhnlEYx^$!A=4Xe{!|7m02b@GrKLb7h?wWVxjZOJ0OmFj`pW>80=wtR)MJA#xDT z4ikTi;mcyUY%yH67%p23mn|;Vl{X@WY!yoLx-Pd;5qyKT9svVQIT&ajDOLl=tEO(& zdpEZkkwF)PI8c1$Fsm6~nO{PFv?+wTIu=XGi$ndzmkjul1p$QcMeMpqp+lF#;?T1j zw*76_a(1H}F8LaE2G8CqR(WkC0t=3oz=B(L!MfI$-Msf^_9q+@sQHgx-)Ocz{U`-q zxfyu3zXaaRLZ}{w2OuZ0&=xWnU5Ky;T@rf`@OY_?I70fM5|IP=?U6i+Up-Wal=&qV z?@dS

alg*6EXv5E(fHtm9PHh~X&_t?Ql*UqLWQe!PFX1Y=?T+7$1)gFD=j-*;X` z6XRd{N_;kD4dCkmwjM<}I>n2dBpQqEzhwPQGd`s{4q^|vev%0VAW`#tp}TW@(n~5H z17LNfaN02*A}W=ewpN_SN|e^P3c5iGS78FJaNK3RR4#r^ zhcN6FCMah+JI!^Tz}u`G91kO+FKQyrq&4J=%MI+8C=tw=S&}o$OwKGbIkU{<%rfN6 z$}VxHyt0sT-$7=|OqnS&Wv0xOnKDi}kWjt=*v3P;pP8~X;oVC#-EN2hyDZ_*O2Wt4L~~UojC>WBNXD##X%KOM^V7BQ_@R>Llcq@kQGJbQBf9sZ{9SDF z_q9Du{&t)E?czShXVh;i$Q*-Kp9YJpjhkT;t0vrzk4XE|xRiNaIW z9C0*1i345wvq}J$>ErfNoKDS_4(N=;Z?@*w5G8E~ehhgFKNu}Cc&CuA`&@y%9@}A~ zsi+}`KK+w61Ec35H1~G>tu*%BQ($ifBufPHK5kkr!3^MO(M+0-Cza_l@b+X3z7I+0 zkh@%BZF6HLhLnTgq}igWGBbn*Q5D?$Qh8Pir+wFhHyd$*Patyb+*KEksZ|YGbbTv^ z^lRf1LivgC;etz^1vUueWdQB|-fHMsjOQ=^xQ!A)CX4XY)FE-q=yUyJ)|3FQ%QZo|qEe}ByysPTWF#o=)GuQif zi!~zc>*^6?veO3>^ZDOV8CXpXjdl7$5dUIVYHm)#NEnB9huCnJmigx>wNOgC#8X|F zQaVqmZGp_gs!Dr>Qo9umr{fIu)IqiJ%pHNxT&i`G8m=%Rf3;yF-IUsw;F@*wrae5X zVpjQlZ?03ReS({F&MH@GtFg8K)h7y^wJJ|MXN{Y20}GwWN*I^F5Wv4rbVC|O??vaK zhP^*czKqCm26U$0sJP}3=2N~q7Mcxdcm)*5KU6=F*D;Vkuq4xMS(1+-x<^AJE$HR~ zxohD`A4BcJHpe0v&Fc&IXeb6N}&}wy+(sC)XkUMSn&X7a4{Sn0`5r@@{=2Hv*_KHwZ(1^juPy9YBRHM zH@)aUjQfH~-e98_EH^SVZVKS+iHC(%Lv1{q;tfto6&mMSyxrvurKjp?^8U$AZ!jgb zq%QIp$DGmQc0}fj--1bImOea<@{>NWFr&;7jIzyqrLWLi5ez>Oz;papD68-74k;Q! zx5c!8Xm1$wyoVl^dW5m_Dw6(id2Zm z-Jza3pf;YqBXAhQ4a}+J0YTh^V%6Fh$eX9lA$YA9{+%Q$Zi!H*%=zKjT- zPQYLbwHK3&IsG!d+q~hd8Xz;4h zp-i`Ux?X^7_ALs|5NyA5R50Bg*#q+>09_lq)Y|WrC#Iq`XOR;sX$B1Yl70mtP;1o` zZ{y*NqSWo)b@OJH`YVP4c4VVRdAcEbMeI;vb_4o13u_wuH^S}8qkn;ADA05Us(_#R zRBbfw2pqGk)+R{Xi`ej_;at+&yVgJF;aR1cf2c3l;(>&%wAdkt+N{~*&x-j+#XZWS z8?dZsQ@b~K#%$Uto6h9ez(7qMFB5GmkNyGI&!$uH^rcGrFsDL{kalx*PI;++ns$AO zka+(rFh7ufx9v{V>V2nT&b$Zb&Kg)Axes5I(NnuIcF>pW()z*j`G_`4yIM5Rqr$KC zqM(fFvCG75ef-eX(W0wYb}O)~>jPa~oqZWyjkT80={_d4k3+nrHS)Sx3F@$8uIe1E zV%9*-2_2h10~x}m^~9s|HG7qq--I3)Fp{;blIk4)3@rmH2ZBRPw)h8Z@qvF~$DPqM z{O^GHZ1F`K;9c)8*DCx2r_J=`y5sNrFTC#ty3ZEv3IAgkYXhotX3d;eq4gCcWI<^j zx-atGIlMuvZ_#e>8BKxz+8}k~ywZW?v*wmgQ*(2)0acaGncDSWyM?l zSmZ5e!Mr+lNkOI;&;S0MVM=^t`1j(6SmA>Qe7P-4|3l10={aI5$|}#U6Cb$?Zt{gQ zQ^$le|Lh5DZYfk&A1bmQVg1NkEv99|vZP@hd_)~kjVCF)S%7%x@cElAc>Yp*cC&bYf>ll{ z8x{11jCnt9D6-;sJ4Ve}(VX7&L7Nzv>P^Ru3zh6x0KD~o69VAh{JJwU3hqyTA?;_B zpPLFRPIonAh4{>~zx&o;OPcF#u}$68nfJp0&B|;2AE)IG>i;$?wV!idcRpb> z2UD=L1ShBd{MOErQ{&@HR@8IKK^7|Rxh+cgF;0!hSHtNpH9Xm>4rqiN+Veum5jvXx zYFs1Ve^9QG+NKi*uY_oe#SHSW?b=MCo?V?y>REqM&*rQH^(+-y&w=-&KeLN67;`%0 zaR#=ivOXC9O8mk2Id8QYn51~A`U9`W>JQ8&Q$uKMG2?gc(d>W@6%`6u{%o*8fmfuF zO%7wr=z=}j-$!p&W0vPoekEL5Qb$nP#Sjb#k??qvxWE@G7EAPOq4WVL!@ZeK9Is=u zdAu;w?SR-R)ITiLevFSN*ereSX3PMb&74-JKlkPj)*qOEOJe>t;~R!;|LqxW(I>t3 zB{q;%W6?(^A+u$~}T-C_$U<1OS$`doO6@3DG&e2edL^T&+~VF=lA&jD$xJ*xi~1&m-^)n)DM5* zT8NQIx}f_~@ZT^|28-k&4`M!iRzF^+#E*=K$lI?}#6m=gy~hrGWBzu52QV$&0`udU zLp(n$91PJ6dAfXr2HlNV?~Gs<R?!gr>tDOr#ui5@_@!bCH z*VX>r*!~gRegn5Z#nqwxb&>5q*s=XPeogx~|H}41eT!&&1{PFMq5C9&YySD4TX8aF zbn>}>Y>NK5;D&3LzX;3kfA#WTxUTY1zGv3tdq2f%^1WGM_@v>u%F%F52>`cV1{mN| zeClHZkqD1M$OJfoJ3LM5QFaeT`)B6ucYlbJqQy0a+%%5^%k|aVJe^WoOh|yw;-I20 ze>Ej*6p`0OUN^i9%eZ0*WPFMDMGO9HD?En%L-_?#)m%qE;!?P4qogl&dJ zyssAE(&gk|_aScQNo)GQ7{Yn*8UA)KTc<1IkvQBn`~<=Q1}Q>`IGLCQENq#mf0}qM7ta#6 zk@HVOX+TbTfwE&8Gb%VRft*;x*Zt@_H5B4purP=WB!pMTn5CITER8n1rMD-};A0wo z>5UXc4)0-e@sq82JVPj$4y=T`v^lxw**uQVK8L1dr6M>EoYyaIjWVxG;ic$nc0}1K&@?m$wTMDtoL5h1@FQBAs{M|t97`@brx=vRGG_bcxePlbi8m0CPn1x zbfPE^Zoi?{M%m26W%&sC;Q~3Vw^eegkS3jin4I}e0T#>C(59n z*cPp+oeio-1l*=`lFx8g9W?csbZ%+_*D`;lMj~4-$>G2Ny!;0~_g}5eQ~_G9QDz)6LBPdr`Vg2lPhu^Dun0ZQ}Ty zX?JG<>-LU#Oyhxt@A9ZpDH(__4aa}iP#BuQaHCBBy*8ltZKnaXzYPPL%@|Z(&SH>R z;xNnL-)o~;L!yL!ufrvn5SE3}+4S!0kKYxN_z6bEv^z}s`H+!~iJV+=Tv4Df^?B|;KaPa34c#cGjK;90H&41OMQxW~CVk2?9ZKevg zfJ^=Q-8|i-tY+6TGQ`n|lLTdUB1BY9I@zae0VoXD&rpM)(c#%2jAdOQu$|=RT&tlV5%NTtn2Qqi0?jv^ z=@!4;eI>@30Kc&|(;xQ*W2~yJYH|8t=)_D`T6iZH;tfpe$pxDF+-IoRU=#S{w|pz` z$IzmUh^G6Z-n80gG1W~=A6!*n6%ZQ*X#8el96*n~(49SNy&$V>dIeJMPh!xH1vY4#-W3mnwZ#ryH5VJ~x(OcN zgU2F&a2mWYxboq}oA`e&WQ=ikK|Qr=R7Cd2@b6nGdjdSpz{g(Lf3fuUIDGC3H}muJ zgsF=>4f?~?zTO3yROFplIL6Nr#iwBYVy$+G_*h8)8(fp%MJ&F^r{RLyT}g1=fdz!} z?}5(-2W$Cv;iI`IRKGR(qJBs6sD6TS&rC045tdylv+bU#v)tKx-l4%E<6ogXeQ=(` zn^&ex-r1tc*8)Hc4IZa>?lC(&Q(+q9mDoKGm*M_0aw5U)_>xBdZVW2C^WoFVff{y8 z!f#Pn_VBry!LT#pZ;Frhy{h5{D2P%?L~^5FdF~BOKK65G^08rpJ`f~dhN3*grUD5h zPIP~22EuTz=?kXjq zKf?D(J+rh*=PC+8;)LupXk2zn<1MA79yoK4;rXRla=#bg;?7?4mM}sxJPXgt_uGXw zA9u*4VoVw8MEIgI>=x#=EqaMhD_&&iL;V{iqWuW8;l_{Nvy#< zVY4+$NXF#6)+_(ML8l8W(j$^xFkWkLRZe>Gb@b|MyQx=iTSC1$Yzg*i?wd$`288#A zrJa>L&W&Ih^m`0u^!AIT%bi~?riOk67lGd!HX@=pxMzDSQ7qi2!SS4xXwk4WngX&X+(Y4Sd=tlc!D5fk!`97oYX&02>|6RI<|zwZ^zBusVMLxx=U z6F}zj88QMWE^Rbs!u+T#8&1lfw;WPgW?wIrWkCOuWfrYGkG$4s0>K@k@m%@7Jz*#8 zX++^)zA|Ie5302(7>nJOb#Q5_sji37SGwC)ex>)Kpt~`xs)sT7fBZFTz4GKnh9za2 zRs{cwR2F{UGkR<9#=W;pYw8nmAy*b@x8=;BX70RKHuKSSvYB{Jbg%_)ayyvaT9!Hd zv~nyJm?1i%Q255+=qrUi1FA6fGm=*|d0o!P;eJsdgva=$ zDW;qQgsVj2$m0v01fE1yYL*5$ldDJTl>eH=OgR6CMs!Y)f5^Xz8PekgN6Y(*i$`oZiZ9Alp5(yiH=}6`oTU^z3DfjJLSt;kP7kJ zDW2QVa>wBr7K8HO5`71>2A^TTD`Pdni96o|-2-YUF`IhlXr|tH$L`+f%B_U_@JCDE zo~Jcb$fwN}u$=S7P+bt@o#cuthn-~xWMOaFr){r7pDuW$MXLZBgxVWU$2q*xjxooA z?O!9f&ebeZGCRD97NvSKwwzy0@uVQCqr=m~(jK3plbCdnQ785eqmZMA$Ebszy0B_& z*cP)w08{d4DkoA9KYrV5IQm2ELSa8nBs+|6sU` z{=MzS?sVK3opP!hdn#|%V30>(EnJCq**)FS{&*A5)Iz-kLe_d>A8Q}<0-&H=-V1n6 zttTXPg=f(tr~Oyyk*4n0BX9i&;R`!&>#R>+`1^R&kM1+6P4*6iCXnWt3@kW5p2{igMzd zRl@(F7kQ~|6XE6*K7RjmVUy_E96m#uUOb84eF!mN;?Awqr?}0;V z6Z>l>vu$&(URiFBSE{7Q(sGxEE-ob)5-)$P;Ph%)1eYO1aLx9thNZ=@LB+Z+En5bM z(gHoa362k)^BY6#>%c=ls-b#{tvc&-BBB2yD_-O`Ex#MlaO&ppWkWYQ>WbdR)w)85>(zfgm%7$9J%uqzae)% zKW}{{8YhEcK6D+ZwKuhIDFQ(np7g=O6A`?>;P~Q+Otv}K)yejb>mb`buCTo}^Pse; z8~$|_f*&7Lek|m($jPwnjIetJAILm_Ap?>t_n4XPNIUpr5pcA-G!w!yd{`@9N-|R= z7&L#!sWnPHdc#vo>4^xe*JgllMp%@`-p$?#FF;?8ZbYi$uVGa}b+m73brN+6 zO>4~{tYu|{L0H3O>7O(t+&{^`6WxD_|2>wcuAxGe6G|Do)L&-(%?bt9r%qz7bVp{klf3||k=NKVp zhqS7QR-vPK2+lY-)jt-pg&_fejt+LUJG!1l2dsuIXK99<6k$Ug-iZ`8gihrx2!ig} z!y!bJqi>!KZFSIj1#H`5hx6+ZQ{@0b0=SMc3QYf3U<2}_WV$p%an-g&M1c`@_h=v2 z=1h=03Az+038;jxR85uZsJO3D4r&W?Dfo6VF2Po76Q3VZn;vpUBw%`mJI}uJ~ zwa{z<3C4rsXqbr2BoB+4$lpHIBzL`SlG+r3AF}c{gs43&y%1dhbEOMluI2)mtGNK? z5^@iP0;*JR;Rq05MUEOl3>f8o1V!6ai5`W zIV7@PR@90UuK67ka8L%!?nR>q&9cMr3Fhnliy{jz046DZmEa+HA!D>3i}Jg5e1s`eW&dYtIy$k)+yO|~j$dWLfNrRW+aQyu&p=+>$H zvR8Di*|g4qMw4FHo(j zob=)TkA-Ja0{q=F!PJnfHdY>4(gQM_E9MOB-;{%G>X$f=_OIcUV|gAZvoGSPKqE_x z{@qCNps3x&TvVodxKdqmTh+|;5u}B{v9%$79sKXPtjrs9h6dDTs>2jsNC7)n3 z2X)Iut=U^V1!fd$wdc+Ez$I1HDnF$-yzTK=S;W0oh|_qM@?$J6^JM=gqT3G7<#H_QXO(SB2J(1MBhCBU@Rz3*?MDZ4 zpIKV>FCJi-=vRNZlvv4$nJ%A?^;0w*-MypW|iKX;* zXdm2UEgEXqpRoJ-u5s^ehB@D6*SCh@2eW;BCI0z3(C&q-g5^SfvQ#e*M-0ej&#+4Tpzn?v95`Pj64WDJw? z5)r#?n-=$=S#*ZYA!NA@sj{g&;xtW}T@Y8~cVq#Bm5H<7vtJo`hi*$0WR3Oi(21vy&Rhkc;&0<#|= z$rULJvYJg5f1=I>lKyvrhu4v{yD9f;+!@^mW6n1cK!Pc^m3GL_;?6f3`GrVfJl~icks|qgBcjl9io#5` zlE485iV0^xxj?@m{D{&RbZaDA6z^nn5o*w_i7 zxf3o4vCeJ5-%i3cXr^>Dzu*sjtaA-q#>6^TTiXJpR&`&Ab*AzE?kjPo$}(7BliU~M zN?qPDc29{hP>e5pC8~c?)|t}jY}kWLkd<-R&M2S$@dwG&PB*)=?^rIZa7vRE&zkVl zMzRRHR>YP`4Yx1w!4-C(?O=(2VOb|^EydUR<=XMJo{;uI!cTT)x}A+&z1iR0 zM{2$A?<1Y~4{%Z9Zz624t|TN34uM4L2a)%2?I6OydzYSaxHIgupp>r?D9oUxV_dLt z9V<_x)0zK}g=^-%9Oq18{a3PUDx8I95KH$p%G$cYTzmS?^2}wX)%D_|-t2)?xukTi z;~=afF@P8^bBtCy#eqwlNiAHrp`>JLaRN1WytN69PaA*<@nd^a zu)PCJbw>B8mhy`yq1Cu8UP^Wu%d=F|>IO6@@a%`iJynB^!+gXd?Lm=^`(nb91eDpp zMEo&$iW+u;8updlSCYudfq+rNg8u0ADa=1k#At(wIg9Xz-B*%<<$%h&x>}n8dj%D? z!23AYLuelZ4Z7d%&K^4OMO`Af#*Pk`YB-TP_3HwEew2uN;EJ|yRFY62%}T>*ZeeFJ zI}A)bFawEHQF~UaYZ#WpCMQ4)7cQj$V~RIdz=jdiOSXm36=@;QwoEwJ)s4R$MmsJg zr~f`%)p#@RpIHYND<~Re{~qeN#3jFhjx&{CQk_2pZlyK9FOe{m$))G&Hjn?$+O@z% zS*87f7)6EN(LgXIK~c$WU`k-33zyVQt2NM#`JT%;@B0q-Z-3wKr_Akr-*e7$&Uwyr{Xc5X zs-D6fY5zXf)`R@GFu8$+$H#SWFX`f~6{V**njI!Vsq*qWi}MbfH)<%*zculmVQAp= z8O@^d3tu2d$7~6Wb_SXbzmM&fSLJdz?s{YBC&!539cgC*s}QbkT!_^*?%gpIaA(_< zn>>d^ZFp0RZ{Ae|zTF&~`;Z;Z&NJ%2wZxUQS~bOY61@*wS=;xT9aE;7wwu`~D8HPv z%;sGamb+d7whN14^;DSCJ`Qh0y4Bs9U3)45F=jqINW1VcDtMGh*oFd)(W|AgP$tNpXRt;h3EsrfLheSWH&g?u0Fo)@&;vq|h8rD}soM>WtaaN;i9 zS+ucYaTRA9b`^XIT!X{O2tnM!`abvaUJ7IjJVA-KrQ-qc!yTH)PBz+dn1?{BdJv9z zk}*Z@Y6~50b^2G=cw?p)cxQ#>tsh|z);TiwtiC1>rXy^ocUZqX_d#pz_Ys)WZLRzU z_QYkYHcmCcc8D1Ze-@4cA$yNf`84{;y~C#Gt-oNVH>MvxtOVqz-OHY)a3Et_dokd)*i%RyPoGz*0wMQ1|hmK>) z&!*HV%|Tt}0p5^y#=0$D1kz`#ze7y~5t8(?CRM=Rb}AVqb?l=5j$o(!VT>_9o$!gO z8(m{z&6P)1W|gl*nQ{Qaz`W=qGresW**1jL%f?L?0cYK};iOO&M1sa==h98;;UE2? zI=PHlO;vLT=w$&Du`FOBTMP$=8!G}fVMV|u=aoX;w^E7s%B*i!2q`zsr(R86x`3tJ zfrc)5&Bxw_r8DnGztO6ZH9sUf1eVUDE40$`8L)KrYz)EUw2<4$9J@Z>qz|=&1pT_R z^VLw|>*@Rz_CK9J3xNaGey+dqxl*-5W|Gj?#D-^+U~~-#K4}+9!6z9conaTEVA?{$ z4*MTZpuhvSv6z!m)kyfk=i9u$jiMAM^hfKSJOIW}NAk}pLV6zD3P z%5^>w?2GU#a8NIxALc;k_R{{O_+Sf;!8wQ)ObpCZoMzdq4kGH$k7>cc&uHANY@s7I zDg#8}QvrX)n*Kqb>#K@2aK`=%Mbp4O+>W(``ur>rroa=2Ld`JX6tJ%oo`@sm=*c)7 zZ;LkG23uymGY-eAe(-Q}kcVa%RSG==kv^b@Fc&Q_C~QdCTFt1^QvDkep=+c3H^Lj?|3gOB4{77SzD>lX_}kj(k^H-qD-?L{_kl(nw5y)R z{Ep2#Gb-?I$HtHS%8fHVTGOwx{RU*vAdC3xe(h2Es4DC6{IJUNL#g?pgZx%~)OlT~ zn2;DECL{(@MZ39t;-E$KrKKz*?8?w|7+QZM2o!>tjTi@$$4hCL7fAN) zC`|RKK^(rM6LI*tfQ1kI$Er>Wp-;6u2#4>02RjjUZ@8=DQT7#We1pP-HU4mWrBLhF~5h5hpkt33+j zDUhwIjyg{SKDJie3k!1}yuixbRp6ZyRp7n(XMJGqBL(iSs3-ooV2Av+FZA^jsR6uj zeT?m*ZhQ)~8Q~(CDiQh?7*-bua7 zMSj`M;i36uzzHw)sVhk;t93@9Xx5jg6Bq|i{UudbDxZ^@=2z{%^Z~JU*eh#+PM@s4 z0O=HGt!NE8{r*=d!2tOv40*FLCKk8ab7J+p8dHOMFVf-|`sc*11( zzuH2d0++Mx*K7Xs9n1~h9N#Q5!034%delxm&48PQarqy`v}lGsiH(Dy1g@tPIrWWG z47dNJNxCwC;Kl4PU3r5V6d_nyi-&9YIkk585zdRH;>nv=km4%|m6fGmx!>+?)Z?Fx z*Ina{$}jNRK_wZ2_?nqJR_EfH=?mJ0DbKyfTI)xZq|sXWHSnfU{`*NKiAsV$!-j$0 zvD^kaO@7|`{xiK%CVY-PvvJu!0%P$s0s;0Xp?|Lt(MCITilAQr<ila0Ao20siEL zH9{|}XX+|kKf|g8i88pO#1~NPyK2!ZN&a871!jJtJUE(dxKVLFT;G0qi6Sku>Y`hv zRexnK?63D2@q@BaMnHcD<1=ngrerDCP+Mm7sms@!Xsh;v4Q;n@eXmAP|K%ODClOsp zX|O4Khz(nOWClYK-9jq8+^+(Jh;w7rSC=#gwe-_O|02nQaQ__R{gbE%Uv3Gh>@7p< zqNgR~b7eVoR6l=^=$~D6MyYy7Sp94=wq89xvMngi_aNr^#m2zUY?-@ZbY}u)7~N8f zt@;c)b)BeAy-jyfF^)$67pySvc$wl`ul|~#xlBVY-NYWXfNzsodJ6xrZ3^I zT}Jq8V+z6=VX3=y__YI|f3IyN|Mc#(pp_xmVz9(W|1?p(Bw(fqAsCqLl=!t%seaj{ z;rn9z(E}99A&4If>ulqtu+I9vi!i1E^Sgwwo4Ie*8os2FF1ej9d6O@BvqEDWl z%NZ}upS7*{qq84EGWnmOM>Vdx+(E9xI{$gBQG3k?OPQJda0P4rWZx}@*}jXN%uRti z5Wi_FOoIKJkV*LYH=RsE)$Q#k;gz-BOv0IaJIpxc+`4B|z~!MIKnrgA+D}ZC`WW$Sw}#I~v%HuvhLK z{>BjhlzQ``knovT&UMNMVdVLVQ@KQWeV6**IwSrU9M+|niX!;OQGp*fj6DVzIfPpO ze)UTtH9H4DI7~$0akRse9Z%81uM80<6uCFZez|`+iL!*>)gaz@%_mcId0IkysnrW5 zf1elZnZKuNwgKq-Mc73+^aoQqjp(cEo1jptC3}|owR)j!D)35I&%aZ9er1LUGovE8 z?26ZXU+qMb8vi9G3@lxunb<6WX!WVpywNN&X+eV4jr};^Bo%+yA;9HsMO1^Vzoh1e z^y~gxBnirU#BWR0?NbsXZ$9i4QJ=D^uZV`r0BWplojB9{pi;ewclUp8M<}8OrTT05 z?3ot{9rS0fH>pn_=EWAzBBR&*(cfYJTz-sM0~bflwpeszhq|cBtUF6Z{>JR&_`qNh zUwR*##PB-?fz}GdByxcmTm*OgJzt!eYg_NDuKB`sBlIns`{tTabsk(Y3p?<_7k(XE z4>}NG=s;v;)``VjhiI-11& zXjlNi`G;+zO~pEYAO5fnWx9HUu^=Xl?D3zHdUBAolYKU?HA==n)B2if+QzPl8jgjYL~G` z68}LOjD5_nx3S0~vK!tF)8kXjL5{hxvpFc-HLzrD#*#AUM9zPS;IGe9s?SpJf~92b z*(GJJsEYFN@y@|M`lM8U4!^-S=}PrMk>SIp`oC1r8T*YZ!B)AV+~geW@Lp!8gs|H= zq_!LfSVl1T-q;_LrV_4LB)Y;Z>w9MiHTbw}_4}K81yh5bvux;p59foSS>%Km zX-Q1*%+qHca$N~b=BK|326#VF9jjJcfO}o3`k3*pTP;fU0kRhQ@nvo6mtU9s;2HzB z`u-~Tli@b!QeqLyfIqm9|E_Ia_W=h z`1P}sr%`e(Ma9DY&Xq-{a`mE9_%@#2qFCUHw7yO8G_X!dzAGba5FNIpUHXfAhr`_f z`YU4dpfHMHFVkc_1-!~6^0aLZQTh(^VJ#vbmYkLtMPYTnFO#ydwrSN+vdv5jBfEgZ z(}(loJL`#rAhEfBgsmjHL9qD6j?B7cifo2D7PwbKOF&N(*8W^G4isod@-$Sn$KYnM z6;wC560qFZR%5v_s>wm|#ewmX#TiO&ynP9t)8PEN=r#TJK|XEBAQFe`i~3GUY@Lg zX1n++hx;S@#b5dCnN7AGi$75ntHx7^_!(<>f{_T72^=`DW@Z4Dnv_FpY5Y5?#jEM-Ex zqmg(A{%(+SP6WOqIp<4~bB>}=*goI1_w8eo{iqkvZXe`}9i*y3)LIm^)`wbSZx4EH z_8aBnGIM+XfOkd^F$M7IRRhp-QE_&n>lARHU3EbL_8{snq5}UcR~S-ilFZDMQYtd$ zaeQ*sYoy%oQSLXHCBTBnx|~S)x1W61S;?LIhLSbW!Hxy!HB2AOaIODaUVu+OIf?y~ z+YhqDd!c~d`!XcH8&vVu`I@9r2$IGn%Y=fjDdCtl{5pc_5!^9@)a!0Ghd5scH&mJ6{Tpy!so08`z=T-$HdNTEdk3{d7wi5b_t>FQ41$ z+NM-~8%CqGdm~bXVn}vG3|6Da+KYe07#c3CWJ~(d?v1j9lrNg6Uh#3Kv{bxdVH^Zd z#JF;BoZr6yJ8*FW+9iKEY^!U5N0O>qXbWoyfx);*J$$h9DY7v@n|FE`&Q6gd^F!r+ zGd=c@E%>1gYh6%h9Z9=!yA@9NM(MCqscZodJ|gqMKY{jgs)^@v2+!s8kK51XW%F<@ z2k=}D!JMf-Ld!~1$Xeb0dHa?N=5`q0$}U@9yST&n9>iAuc7R)n<5v7{w{PXU zIU(a4(q#+7JGO8swlFQUg>@ZTs19x6jXS$);hmBWE$n_AS~$L+TNunOJo!@l7Dk4) zaDA68% z_~&-~vv_HUk5YYOR)~IGdR9M@P<-3M^5cNMn*4Z7$d9soo|GHo1+axhlwpkIn1gUv zRLR;Ypi^Guzq=28bDrzYiYZIhk@pp;Tiv@ro(V zHL-X@*?8v|dQEo@_kRw*;EnL*AbL$_`>j&_K3AA_MU!s~4e&1uskzxOdPxlt2QjKO zDDC@alYc!3mDuNuwATXmF~W57&d9q*M_ zqi9T0s3x#-TLtdj1(@)>-{Jn$;Z1nT%q600h3LOuSQ8pVJRfJUV5*K%{ZKd~2W;tp z9N;s~?hOAs5d@`@Y%|nHYCBJ<#(G{b-^#|v$c7Ly=dohW*GBN1E7kWz&=DK91@ouo zec%sjVQ(4^ldx`3sjosyW!9$a*|7A%tt8E26*Z4cF5e{W;)x*titGML*U54Q8z0Fx z`RBA-NLI0s@T9~ql&W{pSNrLCaxr1iL0C-6#)nYtjBj}SR~gs34A*$_E()P5>Sh@(E4(+;t2z^C+ql6sBld9 z7G4}4^LO~ky`S;%jsywu_@n?P*wVhDIihFmOd!m^UG$RBkg#6ENW}heNi?ZWp@>#_ zHhfusuGZo{5J;qV;)gJ;^58urAHG?q|tq7>Qbrw>0vTph#rRQQ$eZRJ#mw++-VQ=CL}#P z)%0eJ#Q&UoGN=xQo7htQyd&MDKC7PUDZrNWK=QB8=pCx_!!2Fn2PrkTg}2ZD;TT*8 z8(xaYl0-ymI@=8pGlmIR?RuBbgbyT1uW z3j3X`R~q{Qe(nCrmB@FGj)l7)<-5mGm3drVJ0E%G=hcFhmzKPc@O- zL7n&+hUbkQF1?8&Sr@Sm14~kflu27!qyt9AI~YiTCf!U!H~+;7#On}b1+t8x%Jgr z>0YhSvRfbw?P8%%!nL7o*dpFH%lB?!-`m9yjvPfFh_HEc!fcf-;fj|b@Zh*0Pn%&* zU%8#}W63LDE}>3+f%n-tRDd^@u+eJv&U)#`*gUtr)_S9NBQB zxLFfsIOsi60|bZtHRFdMH(A|8nuB#)25S=gH6$p{rWhPK@W=TKm2ok4o3-Rs$@3|t zO>H`GS_?F=d8=ZOW*j0`{wIpl#ge*)q4~d~cmU2|hli?5pE^yEcI_^!Z3}80bj8ZA zcjiZjQU1=K>1X-n`C)z^e4#FyMF4ano%%-OC-zQ%lPkT`E4no>lK*I^0pA7YXI3Py zc#dg2JGD6&INZH|`)5OaJBKK`fRfLC0ZA{F3aM;t6UxR`DN%P(_gfw_#ue(W0oyy?UsYj=2`7ha+|1zJWL9=E43$WiJOHZv=ShTOy^5OWs9-q5S>;sdqqe#0-qOh~bLR<~)6>{YGD^ifpUSkvfJKR^Y z;1}Bsvf>6(QhWSBN@^bhFY5TcsOC7YKvt6|tO@Y~>Y71u&42zDPppK$&`b1F@DfPv z`f|~zM>Z-tgIR>tXa&Gb6G!s+JeV2KoJM_%idVvDc(KD;w7zX28;|4bg3R5{-^h~? zwoD71()BRaP(A&6kQRMmXEOqA^CUWx3kkr20z2X0e^VU%`!vKq zZ!R1|nf1=|*}lAhw^AYMb`84bmL@ef!aZ50;hro@!FMUN!`8mPjkFr|lN}6wE#p=N zY|a3_*}8U1jrffu?e}_p(`+I7S3tb5c9O1COc@*j%7sA$t(13sB^<)09rt$zp4pGjgXPI z^4xi@VO&eP57v@)j)f1dg|3zKp)jzV^0w}%$Z)Q?60aiN0AJHxnCLRAUEe4GMs3!T zTJTwX3#k*M;1;#BThM-B$b>Q9X@eEj?=6XlvMW1Y5pJt%rczZcu5?i-aPhM4ZqDN% zL19rOe6krQMS`w-4(J^h=7?OzYZKMGZWPEM7)EAIBz}T<>%V2vhU(DbuV2-YkGBYUf{*RkE85nXWblxAPzHLSKT>zULHKG_N1b=#*)T;e z*M7K1pJS8dkoSg2ah%qr+?tttoa4ysM8Zico=@8`90s2wFkd8Wr+5~w*|b{!BVx_v z1O46GnEs^(`hVxp>8}@TVWlOj`J^@r5+{&_7qU-GKPmm+I31pBoQ_zW4)%{9y}sj| zd{;noQYJ9LTJ9T)cxMq)^1Qb9tQD<8?oq9kwTZdw;j6%Bh|fBfNw@KJL`ZZFcWA;B z9P#$d11MaW#OjBK%AY$O%*ghGQRmok1hH?uSR*EjJ#$|3F-JZ%yX6wRGa;=&3$dcE zcb}m4b!N}mml)sn*sr~hUriA}La}Wx)ZncBHgki3Kwxz;?qyIX$MS{?DI2R^AJUt^ z-`dG<{t$eZP@ah8o;K+PwnI%md@UKa9{TB5N|cy}_RX*u;Lojt^*3!wEiM0sh zU$0{mYf)&`YePDASKL=cEHimc!nx;>6z1_WaB^C0?q6v3)Nd|E#5OjwmCul7w(cX% z)GIQ&vo0KH>k6Op=61Qq4w=AB#@+0AtaB;rTi$jt)gCj{-XSkC8_#m!(i>8BNv*^e zZ0a=ESFO6LV@6+DC!ua=|9DQT&+}z}Jp@aLW~v0t6{22?48aPg{f+qvRi`6Gn3fF7 z3fHfpu&r?YUj148Y~he{o~G5IRK@mXeTmxj%t|Hq5Q&os%}-}gebMv{CK$Fiwjyr= zu)O_F!uu1!VsI!XU?^R66EYb>wxwQRX@zjA|K~NYUv#xeed-m`+ut4?#(MjYSL+D2 zT&*$bS`NrLCXwT-M4{Qj$Sykg5_eFYAUYUq$S`)0!N|=^woNvv$=rN3RYJtNk*`eH zz^)BoMND%W2|3M-N2gWIRq{TS&#KJI(mUPEoxZ)0JKY?nL7=g4Q@IuP{=TEFR0t$h zSV4;MQ3Ml6tguB$!Zcsrtc>t{ofRS#DaHz3)%;v8laVL_!%-$!HgN;nQ`G00MD@oo zwmbB(d9Sq~(06Rf-)c-%;kL>h76UBZkzrFzYRt<-k2|=;uz@YiohVA(i1NMyxfr|D zBEr6~Yk~3Vftft?6utIvvnUKFuP$&;wa7aP+%w{3p*SjnK#LR;F|rfMm%yJh5cms; zlPKaAijbpv*fxds(N%3kio&pvb(<)c1ug_GaM8Ys!K+kVz@WB@A^@_8i~Chkh(VSe zsN&Dw`N@+o7vSA+vKA4^|NYMsT==a)lo4nVz7%e_Gl?7(=B4pIn1F2=u=IA-W89MZ z!+s_rS2pPHL&IW~P?bb=5{!f0%fk3%td*9z-$g5x_g|BLyEqKWCD^|$)4cih8WWbA zi{1op)Lj8pmSlW8k4iGWHg1C{U>ANIzDw4xF)zV;vC?KK-s_R~dd#LbNZ|{E7p}Ca z-D?wbjH(pQBlG;`kz$I(mZE*J5;_nVVE9_8nv4G3$`z5w-;^px1T!}owob(}yc5oQ zZ36k9GhZcIy9Vk(os(^zyCVY;2)v10uSiZNFZZ!4uA-`M?jwvJarRVDt4Ja0RHQZf zt0DxZxA187!A(PZXv8!69@-zWFx8oB+K@Jj^$Em61YYwmg}`xMevx+A9?j$h9RZ9)9Pav&z%6vi`sl1~IRo+v80Hfxn!sa!z@ud%dOVV%HMjZTF(>Med1 z^GC%pyM8JyvujdiDc3Tso?50k@>Q|G`r?ga{n`S1;#FE;PrfP_n0{BM3v6Rj$N~dd z9Bq~Gh6yx|=@>SjQ>_n$1-$oy&;FWR&2IX}FC8V#`Ykv4OxaC1{3w?*_b3)0c z47x}kAAR~mNF~Qo%~9~z;>^Jw1txh0ksZX7)qIdFF{clb1olvBI_KP}YTF3}smOH~ zMs;`^!zr-Sp7B|tAN>hN#W`e{S34&Xb87{d>*ErYK1PM^fA|lUC=1y`g_(In$7}Jn zTMfmBU;*B24?(e&zi9Ec1Ycd42**KuJNLer4^P4qf1!~b&dvuhrp|$2(YOrO57*~$ zn6<+^R@XWsF=H|<7?_LG&a67&<*g{q9Cj_xEAn75mWi;2EEQ}KGC44)!wDlKTnP&?I_{X5Ap}`5WX@^KZF-I zirhcx=fDb_gDzn+b7TpI>-t#4G=AZDnqCfpJfNF?k)iS^TGs^u%D}Qv9>`v;D+ z$EU> z;WsWIO-_sw>)MG+%AAY+5A$#5xkhQ|lhVlhiO7IVTCA@FRAbKAkQc@vzIbmIg*ISZi$@16@StiTpF zKNFI(?MTvEDCZVFx;!KR%A6Y#0EI0K3T;7{TQYi=knnLz@1jsXXm1Tc|HPB5yk4c_ zYsvz$G6J$i*xzIvsE}hZSF(@}=mc2SGW)QV19J*Q{!UZiYBYJ<5Q7O3+mOGNquIC| zJ=f*vxh_YOdU-MaDT6=T2tr}R=WRi(uhJ;0VYBZIH%Vr6%|BQij;;Pjjpj%^puTiW z%Ei%7Po$*YKaSaeRgLw%l^H!3?;Q{K&I!49Io}InXtatyc(VNP;=`il@@8RkKg^Lt zm`yA{^k$02jp^MK-5O#B;r*Q);{RL4p?0M(h6(<4Qc86sk1?1!apzaIXm-vPCLcN- z(a1SMw{IS`akt9o348?&wh8kycGxn{-Zw;f-5E0`*PH*IwW4LnJ^sp_SZ^d|OyCPR z!=F;uk^C@tqDh_k7qTA?Vb}nK1n}81f5a>j^awTvW@CKfU9eqBp5pD2z}uzbh_+qI zc)L7(Nl5zUC)vjI%|c6B6Iv3z=Fc zfyw$ju@_yu!32zR1a$2Jc#GjUd-F`{BQJ9gY)BI#Z!yeW(xWxpdE79VB)|2a2!&GX z8qRqVjIKseK&z5V)rbDjCbRdo!V>g62CLDTqiUNN4EDe})TfiXGsX4MEL~{dO4Z_f zQgjw!3)8EtBC9ACtf4|^Yvsb;RVHj!rNXv_DmYN;XV{o1p8~Z|;66Tvs5N*GP;1FQ z+0R!be0UYYOu@ATW50id$i@OAlI`BDOtu`nsaR;*r9#Ol6Ar<0VHv0p4_ziglv5YLXtKKywXn0od;s=M0>>XQJ-qub0;HVDxm@H*F zlc|(OnL}V4JA`iqCSdt!oB*W%jCP3oFda9Hrs-JM2-ETDOWeUC5obD|mtDCim@UIQ zB|38K^xxN*Dkhp-iinS|bq=e@FgfEi%vP8-^|;lfdFb1p8fql2bU4Rz1W1X98c6Lr zSySC?<)c3quSw;&V-Ma(ZHTkf);mV+PU_u^tZmc$lhH={dt=883^R#(F0mdYCAy$J zu@$3q}wV(Jc2j+4}3xW3AkV%UvND|8EW{0aOTA(Z=yIjyfZO)V5ixg zxWPpAE9c$#6EKq&^J;;IA5CzD7Uhq%h=RD@d^21qXlwYZ<|Z~1{-FP8Z}{sI9q{iB zE)WSx3yXH&NTT4SK*9Qvv_yZ{3B$VT1n#EOUo-1I{JJ#Mm@0~ji8|;)O*7S8v5z~ z$us%XtDooAGenRn#+O3tg%w#lFT!Due3wSOX$_A$sk3X-&Zy2c(yJwgoYKW@XGreoVPfiLUyf3|H!ry*br-Yv{f(ZW`wOhhp zF|-T9|GrBm$@Eu@_(DkW?}_4(LO=SKpgC-f26cKV0X`~KvW`(a*VpixEg3-Tz#}2F z?)OEGjyK(&))yr*t#6#rHLcGM=WDK+m;O(X;Kuixewu>D~C>d_%G5VlkQv5yO;cp}k}2Hmnkx8{^n z3Q4_A->8uF4T5#(`aWV<-yg{J?SlpWE;{zr!;5}mia)F4U^Be zIn>SSe*Pk+=J6{vij%s`Bn7hDOPQpV7ilELrTg)f8c9=)Buxn=>5F6YjqpX%NOI3` zBJPvNyIs9Y>03Rn2l|do z2%)cQT(9VR&BdM4H|`>$Z}vCc(sy9oe?eb(y0Uz#Y5U-A@a68#Y!^Q$z6ZwdDT47g)OS7qHyPz)oXLselrM64 zFx4d<0k;spZiK^=Z6W-+?TsRiNF6fjq#@3}2(ggSu;WPB<6U`dnDv(&nOyOR;KG5&M=l74ec}|J6+FeG^D_ zXqI6nw(?B;tv54)^-~UmrUi3>6Y-^-h#T;!YiH>b5%?!h!{2!t`V11&;PbESS%17c zOZUHIU|n5ATX%Sh2naL5=Fc&`8Oilq7wpY3SqX7TtxVE(6E*qpKnX+nyz%*Iwe{WN z=k)YD^>49(_aS^`S-iu89gO7q;bReMkox+xs`vG^Jz8H6C7y)S=cpY)vGzOMdIgbj zA9un98ZB}p_y0fj|I!fMlq1^p%22hJOf{(oFCub=XpJO)Uu_9FHeUKaw%^n5K!ln$ zAi{ty&Oh2}-8`bF-)a1L`uQo-KlJl6q2I&e{KS01h=&czC+R;8YUkxd)Fh?DdEc@A z97?X3#@@y8+T-s%jjuQJuha|;?_gh)CPQgb)Qyb-vJ>kbM8EJ_jj6yhFxOLL@v|j( z2bya863|9qyr{ZkgN1cCcwl{Q@@QeYvs2D|aS6pw3Doyu0#q9fSB=SC@4!o=AN(D8 zYBv6k^7++M)nwjEf?pQ$FN^3US3E%7M;ADwG<#;TNZgbat5U>)j?iSXeRcZW zOSswpU^3A7uiQ5j2PS6#IX>h$00ZiYAv(To$}v|c3S_?%D{sgS#Q0{vE7_*u^HD{& zvxI8r_B?AXktbtCX`gL>^ZtA)3O{+Sz)D8JzATfd)SPdCw01{onsot}K6Rj%9)-?J z(Phu!CbxYKq8Hc801=+*N9(P*o+~%(*C=E(jym>Spg}7K5}(~XrX!;A)yYz_a2gF| z);hbrs}s1e(r$8hC)kK^g0;?35H%4*pVGDXg+O9Bc@+7bzAh5}jaORLpz>Z)n;PC0 zi@uGFu+xUq-@0UtzW*p@zmj6>g8r1DDa%YCCk=#w zU7SKz+oNw4nUp1emQGjpW~6vFEj3AvAf1RIx?}BnULz|NE>S%}ScVBmkJ2d-?`$Ju zM*7Z(nAX8d52Idi+e{>&;8C zlzU;TBEx0!;E~}SUC!U(xDNhR&9z#y2e}E-%#jP;!uXkPh5iY)(DXQlHm})(cxKt4 zH(GM`ghxV43fT5FQDi@POR@N~w=oSVO{P5ooP-x06j=ZB)(K_7fOvDeX{ z-r)TK1nEB4d-Lbe!)l?evU#vpYcAx5b(=lG;hzgcE6$O%*OB$D!v{U_&6Q7Z3_d+R zFe2WYe+@ms>hOZLktHNNPBo|^FkXM^i-ALem zb1g0(d^@qr*>LKH0`LB`34!Yn|1+5a+~!auTO8W|(y59xh8>3P#W9a_`0s=YEk&_7pv#HwP~ELv$J*@8FC!pgaRIu;Xi zP>LgMT6V=`^VT2b%4=}?HWpiNZh{@`E)uR-B0yDKQ9Rwn9DgVIb~h@^FB1jgghd%o z3prv5UlYgV@_iAGclr2*L2LD7T1t=-ODx5CTdL+1VO7WCtS#RBzxAN~Q|z}XUk$=l z=D>6&v$7z2NEvu=1-t!E`-L) z^YqO4Vvxr|58}?5Sq%3V`_qfFHWgYcl0t{UKQf-Zg<{uFampm-Z^Fq?>ITQC=n3>8E{0VwPRpOH zn5XF{!2kCxH7RJX2nJE^NlD(nl;MTjtSft2pIBSH6=c;w;xTB(_zFugzcJKjdKuwbe}sHF%TT5a~`|D!w2ufsnvm-~02F~2ca+4R>V(iSlW=IHKpZ~pA=vUq)_ z@)CI!7(%X>8 zkz)K@8wbbK==uE^lQ6B&y8R;|wKKp(V`0WMrfRfNH@2}alj_M-`Yj+LoR3VrOnLB8 z4t`-k3cD@HQ3AIgQ3$0hi86~4$HvM0BiWP@@C$VaLVTGS_SZAd9#OT_!csoLpPJ5V z{|dGb;YVg1QMEXAf4K-%y(JT^Ln8RO%}JFp9ljk{OnzCPBiNOi`$XD=T~8$+pC;s# z@vtiU6D7W-JEIh*d3>gF6*<7%n3M=S28+0q;}SiTBez1pd`v|01&A{{DSK8(-jGk6sA{M3orB(Q%XPQ=V?yY-1id-ZWohL9bJ zp|>aptJ}2Tf9CQSTIJ18P89jKGjqlHzd+z?o=fa#yaAUFnEr&-9@-x;`}?o~n!~F!p{_H$59^z4E^{4q}*~ z1qLC->%So1r1Y5=5+x%ke(=8d2+)u}r$vBBf68R1%8kfBv;uX zQ2sK7Un`xHgBHYzK~Bza-~n^kl+XK#63w(F@qm@u&hkd(RF9w3s2&*Xck_O2HDbrQ zqRg?h{+H_bLb!i=;0XqyoZ^S(?ZWsWLK+I5hJEx!$Nbq`ExvG&MI)hh5nouscyuEk zfvFxghf7qo2-F_Drp)bWqU<8^bq0K`2AQUhNUbDPd3J>x;I=PO?w#8y+_v|m>b9{V zB(GssaxhfWouRF#BQ>aJ{1BC4tx2Nv9xyx1Td44nwXWB~_H_5Yh3!4udlt4QxwlUX zE^JS6Z^lU4Ch~jTj#c^UZZoUc@JE;*YY>qgrbs_E{%Fn;*Z!@V8;Cb?VS zZ;HEFPL_M1wXP~orIv@N*$>ogKQ-Iq2+T86{Ld-t;;$05m=giqlC=x5n3AxRX_C9STzO1JwL$YP+494JG|R z0^yNB-&5bc>B`HqV{U=5WWm$z(`&7Z-zLD_GP5J^h;{M*;g_tnpiw#vaPQkS?rPp1 z!b*r_7G?NBBpSFcCn5A=-Xyn;OYc$sP3R_ZPHRP~!0PDz`a9)hMTgD;<(BnZPpj7I zE8}^ua;DU7>*B@nf`1df>*9yw4S<0H$Iir1G#@cw9WD!bRd*ZCrC%VC1rqw|nR=-N zjSm|oO@J)z6u@`sBJ~%4SJqoa{v0L+heYZnCyteyDS(*qIh=WI*2T>rjybbhoB_M4 z69zG-J4Hs-J`p9W2!J!}m^085bnI=Mc4CpUDs1b^MWUpDZuZX4GJAw?l&Or{29(qz)#peNEe{1us66&0UIp@)A@ zimZ^%s>lEp>2)}d5_2`&;i?P==r3-BV{tGTueuHmB6+)Jxo|x=i@rscI(cjakoY$~ zZPoLqedBH3{HIR)*g7#>X|)-K5l3JmEtIhbj}DA@#u2#ih$Ap*r#F8p-XrQm^!Syr zkr-1eaR|HxSGi5#tIQ+z&6h*poK{t`79YCoM$-r9iwNVO00gotKga*93OP{&S(>a>6YVnZmj6lnn#Tj)&Khf2lkI^MC(*Nwyc`y%A*lX6%(9+b>yTl5HikH>jkS^lqd2u>*Qz z$>XMCUxRLoF}uuP6a$66xX@a6Uctgs>F#gfZx8nl_?zV30)JE7o5BfjTM(NKF0$6S zvQ=srriR~BL!|%Ib~{$mLXSdy=uub!<(2cH123FU`1a4>=Rf10$Ih2ZvhwevtawwtP?= zljTYsteJ%au8d?5H1d`9nVpep9Y6gf(7$)h5(rhpbcTns|1=5YnR<^^Sc>^_xPVfs zbod=ie_PpuK_z6d(&>!fnowl z%>|7LYnN*{W6uf7Kr%+wHb>xA*i>7zvK(t2=Cv{z+2zv_#p{XOAQa`@OcUaqc{^uK zaQPY}E%?`v>!tp-h6w_Ta7YkpPvAC&!!?}ZgL_8Mgn;ZEJUP$@NkR*ggj?vYOAUb9 z_rN0dBIn zd}D!@d4CbKY`#U=nIz2KXtch=@_~r1Df!*Hg&5d11S3@}xNbQc!x=gCN>c)Neu`tm z7#kfzU&Cr~$f*??J(_%5_!&IA?pCQy|D%)qyv!(k&QhiNj7s?rpo-LRcr=HuaY;!K z$^ttCR4EJ(UB77{K)8I3nw_>~LV$pXpE-^!-~`szE&1pO#z9u43m4%JA^6pm@0oO16zu7=_h5>yTI7i+; z5bkn66cyiaE!_zBRM)!`8pouY(b}=(H&qq+%W^d^DP(g`je=+VEa&sXGiSxGoulQ3 z_)W?cM~;$-D3xU;1jFM(DI!gS95{54q}@m_qe|NuOIkVn&Rmh}qS;k5^|HYvOKVvl z%Irh3vkyhvIeGnGiq2mNVtOe1U*Ey*?(tMfyJz#yBTYGbK0qL5qF?W|3TV+lqV-Q8 z0geA7)~|f=h)YXS7vFnrt8?>{#*t5d$#T@<*v%$N#r=%>RuD!cl%f zw*yuPBOh`g@%!*d#I`{D?ke72c7n{<6Yl0vH=zFk$tmg2UsxaQuBX=ACQ@sNUcofU zEP0qK4oGo{3A^Nh&TD}!|BJAgX0qco@5m$5txL1$4JRB~+kub??b$K-2-$)i<|8h) z!DEz6-bSnUIG3|Qha1iGO};`4NY($_N;Ll_e}Y9hn4mfB#{2qMoPk@+;eOh(~X1^ z98zNJpf7)meSWP=YD~uZ)H0uv?CbGp<X~THn?%8k3_||k$Ul;Q=l&#$&C7z2Th7!89 z^CLhv0N;+s((TaARP1J;{8M;Q|Jh;h+Vt8!mhgA$&f*^}h>kCimYhgQpV05DbvE6K z7ev$CS7@4Rkv1In0BhZCX=K3r8SQ&L+&^HW1K8*ra*lHLP2Nn;KxQ+|O$DxI!S+h{f0 zt&6Fk7RZNal55sXa)%w}U9=9Mz;BPTsBLv$X06L%`&l|!#>h%|hOC5SQG@;mVfA;FX^5yLQ@44f2qiH<%B?rf{9Gopuc=R2f%4o`X+Qdkjg#Z zcQ}ioK=d&bH{m(WJ6&}-?zpVej;!4@WFa4e-qZ&!pP+DRtU?^e)ixQwsqK-W*18LA zfqAg!)&8^Nz3YH|U1uo_jQf=I=acx`hID)GY4;|$w~-~;Ph-`m7x}fYk0-%Shy6Rm zGYIuIy+d>s){>jL1=!|A3)_c!`gXK?w!!b{JkunuOna?6V*s+5uvN?@FhWr3eC>|B zU5`ABz4odL7Ibq33e4e4U^iWe`u(6*1hcvj)-Pj#Z-WzLOPRf#UKqH!rNDct$LvcN zA!xmQR$uehK%d70*Yyi5Xvu4@c=1E@wT1ieKPfr&YXsqe_o7d)@3bJ_Sl;~uXmLZh zFZ}AZ@^2O0F*4sCjzceJ6YNU3=CBqu$c`IG)$H$DW7Vfe`+~yuh1I%!A*lI(YuOch zIT^^l8)I6Nf(l{dFO(GN87``yq&z8#Emvv^e1N_z*B)S29y^L-1wAq-%IIQYIkhxs^&QFR60 z`j#S)t6b(r2WHc&rmCi#;{~hnQ+R-upWXutw1QL^wt(=r&7{coV)}Jvn6;(_es>w@FUF^2ZKgOQ!eKfiHa6}|=is*Sfu3>fF82@I z^djM#y!%a_N%_<71hlkgqO$H@ma9OO9{38k2|^nUnEC8Z+N^nP{_4Ytu2`cG^Lo zG2eDIH9c#-?PG0464*MBcpv711_lORFX{+(J^kAVa`-`43OwcCLib3}Ft6*7Zb0$f z1+bIvDqR;Nzhl=y>Pj4RWnJg`>14^<3a!0hX@L)5m?73K3x$8R^U)~YM55=2g&e&BLl>`FLe3-xf4*yI`ILpBSaE*40nN3xn z3XVsP`)xT}(VJ5%>(Gnigt{2;`~EKfjhK^hSGCB=n1u1YA8{!JYxPsa0T9!-P2FP1 z&)sOPnIe4YxzdL5?mA)Lid54;9?6K6yC%4`h3T$wIYZ8Jr%mNQ*MR_2oY$#xQqY#@s=aWxPj z`;yk?@^?e^GP5|V0V7IL6(gN6bsb8a*sA-cwn(2c=Oc7OH5dXCuKlLH}hq3krI)W8afWte}aE< zvMuyeC()_1c6Xqogzs|t?D44;kLdQhavK?7;6r+KH;f6RiiT8iNGoATs)e$6+)w_2A3*@oA9m$czMVAM4E{H`$K zulQ5<7E@xSW6>rPEW3&>dH2Jb{R$7jROMRfpSXj!M>pOckG-UAk2KyMyS~-7M>=ee z*XRuqgvE@6Coc|SPWy%bAM%snVP@H z$v7atC}-doj{Z8vu2hDmG2}!|QJe@1<)S;M;y_68o{G0VxfZ>=_aKu49;rR>guS|KcCu6n^)5;svn&h>%!4w_Axq(8yS+stIu8k7W(tnA5^}8B` zG*vxsun~R$y-TkJTFURL*4|aBB|pY~mzz<{?U}3FRWALY~t>;o> zun;#U7a0uA>54-e;vPKGC;aME=P7b<4%pf0nj+G(|7NVq z{|3DQMIHt^zt8C}PM6@|>K1v6e4xC6;0O4@;T)%bLb@#0a89=rqua+xqMlbx@bpc=7)7dmeJ-UEs-e`i?UF-9kw$YLe$-tx?%M z_s+mZy{9djYnkfyfN*m(^cp|3IPeFxIB&0Y$(bQ2BEuf8G%vY2#nC~PJ-(b>H6i`?M}Qs4Zg;ElHuzW@O4@++#NpN z?=BKWoF&tG&ZG|pb2S{^GiJ|7_++O~cz+z*Me` z_U{b!Pdotox6&>8C+>gE&HX#W{afbN`nP#jk>m+fVr4ZEC4ucLX3%%j6mR~UTLl>u z#g8)_{yV0-{9`MX5lX8ne=bIK=T-~i2Ne5mOmq2en(pw8h2#GFN+7LClM5&eGmw(L z7*nb9bKvdDyBkAls6>R(8g{;%B3Ry)Lk{y!_`I{p8>NlCC(>_tW*F<&%F!pT!C&s6 z*>j@36u*vx^P|t+aO3PH&cX(l1-1KU;P<{Xd-&CbUt#VNUoS6W*@W${|ZCMYL8wZxU2fy;B z=)vPpin{+PY;mb}|KsJxfu+tW=YgfJovCdKjjr$xF4ansL@&bC5ihdiqxAioS01r{ zhnJsa{~n$hxqm}5Bld6eOl|*Oq<7UWBMEu`mPYR1Lz}hzyCQP`y1(cByW*_-cl=#) z|4vyz`*&s;?B8RJuz!UJCFz5E&0BIf-u!%*Ng?gxLQsF$bKDa+r-VmCCe(tyBa1(l4oukFfRO|9pGmyG2e z?4jkqbj%;JE^#Jk_Jc~9OyCkB)>`1GPn6sQaq>B#7p@R;XHaBIDsLtW{Vp8O$A=jK zh8jsH)!n(Wh_Jea?fW(F#2adiqxgD{o;*ZIgn`698KX_gTZJgAT0YmbxmuQ0uQ|}F zm5vwM+!S)ZjED1acM0fZ37+#7UCYuT=DLSR!fzH&FXw7qD2#W{4-bN$lRRnsGm3#h z_}ycfwrC#6f$rbC0tKoouYpx*Ea}-Fgujy`+(qzr6bLomxgh2ZAi%oG^Q5RY`l~|% zd@ekYF6BHTE-}7_c3E@2lo}>3U7sv%hL94FlG4ax-Og*qay<||dYS2$)3=F;M1i`E z7NsywlcPu}l1pL~yM|;C7joY(L|ERvzkCUYJNw3n!~Mom?Qoay;eL3Nurs?ra6Mnx z=k~Rd&{7t0v@iXf{2G;bWK&I}g~}$RGyhndjL7Hs2KT)YotciEd2vjH-EV0yx-EA}Q)dDe?2x~pF zQYqOhs2P8;}V0jjbnl+^zwa|RQZki;!`IC-$4rB(|&C3I&edOBfah{)O z)OgNw%yZW5VV?7x&U2>6r{$&~X-AorK-W^!K{LGIsd zB#}}^@W|?F28ypVrwD?dU^a>{K=8}@Gr`x7huzc((a)L|LG&-47D4m}Ow))y>o4um z`pd4V5&Fy4sS*0is;NSMxnQb+=s%|s{U6sw68%ZLViNr+#ggb(%p#({^gfVnlhz1= zuT4|O4^kEv!7H=BJ}cQ*R(*UniXX~u??~!dKJ9MA*YTcC@{C1if!i+1Ely@v`xLvi zZbuMg;w#r=VeJl1$*an^k`U#Tna;yHG|m(@ZF@JG$?Z_{j7j9WRzC)x(6xh`LDT>d z&&lNHWH~vWfj!ofwYXA@nfZJZY*ou>-l|EwRgb+G?Xe!aR@IU1P8Wva7Wr}F~s7Ik2*Ss>#7i6CA8*T>VG_~`(N!a_AB+V$3@QJP=|5s zzl#|AmSz}x&%B7SpL`*D?Bg4J5}zR#@fqfA?`-gi>kNZuw`chp=|FZEysiIX{~sC` zyZ^ng|E}DK{^xe+|FZhX{;&C}v;G&Y?a=>sK8)S}4*4t9CTrbk9zhT6_j|*DCDzel5lz9sEFy##)ClNF%$(ANsl@J{BIqz{ua#zrYe66d7}aQ~Qa^|1H3L01TtKS30y2rEXfVV9}`$j{bI|rysDYvQ0(6Pd8a> zZa{tCpBsLduHXAVam}95a6KrmUqq&Jlha#Sn&3$(_B%=n7UdyZcAsa6{;*?k?S^m` zJmRDEaR;n5WRVV}WWi%J{~q*wCL9DB4GtBdr zAsj^lz5YP%5_LN~)ba^F^sr|Ep;VcbL}G|AJ{9H6mhK?F*x))%}rAFISMF z{Cx{gYIfA5UiC@rNzILz)K2g*XV$fLf=_oA`i`+Ov&NX##K(XkM*XRU^`{&4_-Ww+ zFBJ75`oyvN#Oh5crfYjF*j1np7ZAiE7QAjzHs`6T@XxJ|un?gz=dH{%S*ux#wx?lQ zG{S``h{W3&)S0vSVEb^07uVtkp4xKuts=kIGfYDrK^LZ3G=^`J#z_T z3@Wl^%9ra7VYKh7Lhuw5fcas6Qq&U)`^RiJpwz%mKwt=ui&6kZkU`44N)_vV@q0N%nyj01@u zTSuFe(ri@mR<72Lunmszcc1eSw$Tx`A!-?(%s}EFGscSdlTa2&`QQVLkIg@@peUkW zYu}MGP^q4+KFggE`5}`z5W56>Ypu=@%BfvxOBSJ`$-+FEE>deLF==2yj$Vf=3;9fr zF~PX^46P0qCwDLzN;4GTD%*U$NtrM#BHZ!?pGNBJ9pa_uzt6GI?|&9MUixm)=Kp=x z8nX`6sQ0xP{mgJLrB*c6Q*5~oRJx%K)P3uUr1?Be%drg%9J(6UBIS>_A0_ ztnA2|X2+(X|Izv+b-6yz4~tx%r-m8VXVwE}U7wcEVSQd7%Inje*C%Un7whxwdp!63 zHpO0_4@H}!&9T?#&+kR7kJ5bh^;zH0>G}lfXnpFcVy=(>t^ZCl3ae1 z@|R?ysU+N22k_r}zG(d&lRp_;8#$;6zn(_w2=E1`(p zmSN}TvqpANB2ecKuR!YDdlgL;8VayNcu^C&GvRZw53y_jV?dn0aa_Zy_n^~4#FGR~ z57cgayi_r+MXqwYjZK0pM8If&L^r7`#DrO6PAul zL0h-BO9$QRH;h{vC#nkv-Hgb+PW-FF$R8&P{^-Q%!aY2v2h7qFSvX6FRtoPb@~~d) zU)m6ZkChLM;$w&3AwG7&oJc;_{<`F2Woj(@j3v50-dt*4-mZ;E3m zEJcCD<4tf3w`4{L*`HT*aSRi1pzb7)pRR3ejjAMOJdJS3cD=0;FFa&J8a3jTW+YxV zNxWz-5$6t1Xsq$@1ya_mq**&SJL1?W>;EBVZTDI6HLOe8O;PjrRYd;N z24j7}A5WYyR%0^|v$r?EEc!2xs4w{1!(GhcCvPz^JF&jC>uPLIz7;{Jepr7_gsOf` zr-aJ)HW8|KDk5j>@z>;xDTW#2{3PhgUDIRMH>)Vr>*HYARu&@l_|jfMt`qq7FGo}@ z!7846ab-ov1S{QsiTd%Yo!c$LHAerrasO*JC5c~Goi6itK$=~2YV^&Ck6LS9;`OP* zLzmZNt@#zc`zK*0;R8#Snv{$|9G@nd-u$26 z{n@MzdF5^jX!A`J}S;m%J*_{7M*&eX31X96zJ>Q zE2*!Z+p6QSo&t0T=4ZgA2D?0TDZ$Vsi#LCg=+YBwqq{`!dHG-`Tf_i>3i{nE5y@`L zqfV13cH^+1!)1O7{Iz*fVAJH(hcCp0U=zw6(54%Ip%TxOXW%`V^hlDmu8+BTtGhM4 zd*PfU)$`@TImxQ$3rC=!XSlhO`a@LPB$E|h3snZ7Qc?~e;&!eGy-k^Loyk~&5Ha%h zc0f}3``?X&3O{`o{b)v1{Xhy+p3Jh%Ge4=Sy;}7Yh>W5*JusQ^Z<^>jdYFl(N5(FL z{`rj5tU9lfbo%9v^4R@4BcT2j$Lya?7jV!2xvP#StMqE~mnPUUld z@NMSjo^c>=&%A#r@%EuE5C{B0*3DP2V1u1>`L-Z9itmiex3_>m2~a*Q%BfdoYq?DS z!L40XtbXOCE_@-OEF+sm`^-+Z&wQ-gXQZ)XwE_ALM!Qgq_A-aJveM+f$Q8KsYYGH^ zNtjmzSb5+H?fcupQ{E&zYkl_mC|9R>d_*eyF+5p@r zK}6Z6$@$su^qq7CQatx#1oDvrk{eyVRs=Nf{|8mg*&3dM@)x^$mvIowhbshL9e1Wr zh9i(VZ0Z<#u;Dc_jD=ojNJL;S_{cbVLBoI;a#jj{3VjzfF?CuPtzVj|p&uxrK z$&Du3UH*F<;q&zJQoEf#Sn{FW{(+Y0A3aGJ-EJ%P-$znX$!qw8wS)zBA@HuUnb69& zU&)=Ms1a|bfoVYnjTHA9PLe<597hy}%cg1hTQ!S;s49=Qo>66!P}vzhzssFW*%Hr* zOplboebIiMdU4++CVk27wp;7QgXCRa>hg~Pc0IS`|Fd^3a8Z?Mf4GV$&M0bQVzEXW zmJyisF^lAYpl5KPQ7lQ_q*TI68(;=e6fqd|G>$u7Yt>Y|mA36#tESl&rlFK2(q&6( zKf8#>of3?`L{Vnn=e?ZEFf(BJ_4|Fl-?zV3&dhn|J@50J_wro+&+`b?t?0dySdA@` zWyrUOaAkFu9>NQqLMib6Ge%nb*d1(vXboeG8N}}rqkT%4!Jdu&-c0?LXfp7}(9Fx^ z>z&}8_P<&^rTL64-G|!&ex*D0=iluk<$%7vZlA#~Q5p<Kd$1Wa>^?ji?cN=NzJQqBc`EL2C(3sL6A>28&U-85)CKXRsH9Wr8z%+g*6Sjh8HH zvOHx*#3;v*nmG@Eh;q=ZQwg7ZDd6H6jv>3rx7*OSa6TVGH#((esomW9(CFv0K7H{Y zCEpNs&#HvLJzkyR>^@6|p9X;c}wYyvJL2I+S1xJYN7%>8yR z8lk>$VWttgbniS zZ21Nm+G&GCTh-*pVXJDxiHIA-JyK|UgvQrZ%iy+0a0Dzm{~@B-k%L67mTe$vCDZK* zZ39IAJ4p1ue2~5zAy5DA0TI+d?7u_LyD2c9?HpK0Bk+tgwPpm(#91h2;w%KDP*F5o z#llrAUFA+Gw94s!!3#TH^mhV2(V>(ty0N|^y)N&(U$DNP+<4>H_Xk0;`~=uOwIfJ8 zNGyP+S;z|epvf!&jJ-dEFEnglYy04)1Cg~lLCOcE^Q~5q^6Xb`=om)h8HwUS^ZTmzLbL1pOD@i={7jGmc z3WI_vg|(DI6Dz~(egnP6(>EyyT%O~Hzz90{vHN@zcz!c!GjyMC0^i##OPSDDxJe?= zBqva-B(UWbZv^Uv98Ur{W|6oB2)sN{LEtNs{SY{u4t~~N-voxyHYt036ZqXGkw6X+ zc>i9JK+ccBLM;+Vwb6WRD)@XeHWdWqiR3fOs^_-$(F<}ztLL`X((cQC<^%r$hXhGk zvM++*KQ?!T|9A=T9|M&5kHwwvA1^BLAFq4Ge{A-P|9Jj-@E^@``jAA^n>(cXtZ!Km z&iSieUdv*Gpg7ZNcis9V$c6^F+0aN1oR~Oe!imC~nwkByt=l{2{8w zKZRAjF^lfnL|8OiV$ow_)+yLl?%au3G^@XYMH9+AS+s4Vf<>Rc=8Z+uH_?0|B7>y7 zYcg&Bz&eEq<9tV_{1^Y5{0X7_DeQ&$)9b}9_!GVZ@h3e}!JmXhp8ToUpy1EGJ>K{; z`o(VX=Y_Rh@#k$1{`5Qqs3=!ho>RU21&KKXsfRHYLPaDu0t^>a@x353^#?0wH@Egx% z`o?c0ZS{`dn96y@Zy2kU_zm;J-tim3t8OTM5$FUwrtzb_aU+y)HkGJvc)jRrynJz>*)r_BF^KvvD>{PJwg=EBXks2|>4X2?ueRM8 z1oJNw0vg^YLGBg^+-?6S+Jr)&kWGz|#IllHTB~10qS)LB1&IEe33Q)ZPKN~r)OM`} zKB_?j%%zELb6kUj*4-rDAvb`;JCG`Z*ng&>`3_BJvowQ7SOWR&`}N1+9+CZVoQJ+5 z*|e6(ZT#+LTyd8G1vXS;pa9ky6G?FuwC&{31Q%vn;-*BwMZ#4he;oWXSKPRMM7d|V z3{X<%Lq@v!P{w(_3I55&(0BCDLE8MFlm6X8|GrEuiunPuB1LFJ$)&GPLkAK|2ZCKY zXzAsUG;WqWqob0JMRRXDiLoitq|+FiqG-4R&ABKZuJBzwTqfWg}Od(DHJpDP$rc zxTKwdFV*0-Bo3F%t5`O#AP)Ldm@6hU)k+d+>1UJP$m?MqWpDPJN7O1oKCtESmZ#zHV9ypa>(S}hzlda6SHUTT(Ao8s`MCaHL;v5@jblmR72G*Ih3^3=I1etT>zAf%pa12KAJCgTjbjQDyX{7$GK*_(Q zOC#y_l9=iC_%}#s`8EWEmQgE2p(P&)EpxZYjJ3Rm*s#AZCx&_W>)WE5z099Q_0tYN z`uT6`KM7xYBkilSv>kfhaqszS(Twaxa}z=v!2FG;BJUA;Kb+KFUvtb8EIz{(QEoyZGTQ@L`X@7%f3C#t-eC z@L}y+e2jDAC695QT8_tgWukJNr)@V1A130PJK@7V+lmh0*8&yzuvblfkWJq`$M9i; zw{(FIJNTReAJ%J2ckp3n*ZIJQ&79_e58GhJTst~JiFVpvc|G{BOP=_!QxgAbMgGOp zEPH4?ldsaNg?N-)U(!eOSN0!3? z*H2{0yg-9EPV-Ejp=J`2AC8O*7qxO_{;EEtI;~`sc@!T~N069C(FSCRDKXd$Xyoxut zH_wUQe5iH0{H;GdyU1dFC=Xo*&zkGBj>qn8SQ~K0Yv7F6V!M-puP4J7N_JrZh~h}7 zmssvHX5C{=<(Xxvs)K!)_|zm^as1#G3yBjWT}V|eI?}4I3KYVFYrbBr6zvw+6F-2~ zk6AAzd#6X7V@Ok#q%6uq+6Bjz3vRgY?0lc<8muNGjuo_kP?H8&cq8Nsodo$pr^Vz5 zwPnq;%!hqi49%V{g3Uq3(SwY`fsA7UQ(n&bPul&}k6I$_{~EdVI^x<=qH;XK%-P=` zO;QO<+etCOSdx;hCt*;11yMD6{+aC1XzxF!*HU$M!vk;{fUyoXzZLJ{T~CASN8#;R zqma*=7AcgD$?h)VGklIe*>n8EVf@FgcpJZlj^FTteEc*{Dexir_&+-8fBe6{QR81! z|qhdg#Bl@{gnM-^CD{}@&zlt@vd)j20Tn-|%;}qJ5 z2DL$*nZj}zW*|b?zLtp9IdVFbvet|zt&gCUO~D* zc%^IYTogJowZv*wQ4_^EVDhGiiuG_*LQZXmyabMLyo5cgn)I(1Wq12T48-GXb;U7& z$}3OOTLzRb(5ftICwHu7BVty9TR8T03+)i;FV92%_)q6GyS@5HWcH6s{_G#1xI#tq z-T_SN5=|a}Sz}l=v?`Lv$W}$Dd{uCc`)*H?A=Jpi5C+j=T7|S66Nmn<&xiCuB%NkH zLG?I7_OvIf1lLdSBGVR$sLg4#ss=wE^8TiwG(6 zd{iFtjDP!W@nzw~Hy&ShyJ!8R4!kjHAbzMpUD+blPpTL0WCdsH={%2C1Q9*88mWq7 zTLrnQ&87G$nl!(Z9BZ#TeM5F0qHR_RB-jj(IQth1Z5DnKq@-S@+VIHlV`n>2%%KWBB6DKLPEKmNX2$8F5T9O680pbz<2m?k$QpD5BL)?B zLH;23M~)!(6Fu*5Aou%UBKP&4_e=R8elzD|Pl>dU5 z8$|=ezt;fR4MOK@W%qd*-&ARQEd_`_Pq{nGAE^r8j#Cl@H^q-s3A%F^SVg@4F~Tc| zza9_>>Ev8dz)sGW-bM7Gaqb2PiYb+jQ?OA@{8oG+J_JKq2?KrUKxSg(^ zxR&nWG`<$fM=yp_q+#g}ZgWccPWAN95(Z6?F25=QuMlbFSK9C;hG=3HhK>QCk zfMmO)%Yx8HzOAeILH37ho$B|JV+>ci$I@aNq)PyB1(fpDeXOoJii@C53UZfU8L6(^ zg+7&ExnEuB#K09S6hkpS(t{Bym|O|9j!Rjh!{)U=Hr64m5tN<2NZYEdZYFj@FsY(ox_2CGKJd2dGtaAbe zGm}a>;@^VB8Tt}d#sU%x)&TzvjT=f}aYF@S+)#lSH&hS{ zQByBV`G`lbe8h!fK4SQZrT|(O#x z>pI={{wKNzBIPp&4wZP^g+c z6%s&eg|X;1Y{Q-b?ZT^h3Mpm@Jzvhs)GiomNw*hO9)P zmNXj18tGXhJq}Jra^w^aHRN!8dBHm?w$4&0rmg<;@Au^V5h=&|N$Jl&V!GE;y3ue7 zaY?p#TEBZ`s#KF;|5uZO{#-^{ zE~Y;pk(Dph4pGu?W{u1u{UxYj3D7^p7yUC8^hbKP^QiZSCHAsLixYDo2E6FTYrssv zp$Rcwt6o#nxvulCoZq&u{Lb&ZuYAn!4`+Cp-(q~P7N9A*NNc+MdE+TIr(Q5eVXodG zdluoU26GkcPN;`0tuQXi2T!wtuA5 zimpqA10hQ?c>S!DxbWxbNtMa5Jmh93zz{+Lkl&fGb}?5#WsKm6=N?* zu(m5v%sXL!i-HBnk7=DxFv+LzAF}`({(U%wS?Ud^3`LO1A2kg73D+;Y+FQM1K@de6 zObeoJt!0y9#-=Ts7Beorve7!(D8d}|noRzbP!&l$|F}4TyH3iAL7yg$axZnEy(K~$ zmdQqKWC1{Sy%xGX*#{>{546TPS<_5Mj$7)Ebx*tHe{`O2C#7=8NO63>r4W6d88a5Y z-}K7wEcsZ!d|aw;lN#H(%eTaWqE5v~i4-I34aaNMmLEi_44B9>$&*~6jJTr9(tbSK4(gA{UO&pV+?xYTvx^>rb&epn1v-YmsUxeQX@|uF;O>o8j>HL6AoVyIOVcmd&8`R>fDQ_x*S>iP*CR z9?AvdqU`QkhRne6Oh(;l^`>_jrLNhyOr!h}28TJo*JCpI&pn?+@*iAvyX8;e*i+cl zM;svh)Z>==Fqr8(`pP1roSdU9z!l6nN&<{%IylbJT!WaspH`v}*k$mzoY;PZrS{dz6qlel@p^={! za^^L=Gx^&x`O+{0pN%$}R6FKBiPE8rjSPYadcq!w=$!&e39A0t1! zHH(jFM6cH1{s8tbU29nir@L7ExX~WdYSevEJSodQys;uV6$X>%w0xLlAJxd&N3~}1 zUkD!+!$|Hjppj(qGtfv%(Z2J6YZo`H9`A@p4UYd%_bkv+RoBi;G7>d96B;l!X$?Bs zM8PHyAft&)WP~Y`$^S|rq;1x)ag12D+2|$W=1ixIPEJdP53(O(wc$r?b z9eGoYcjDx{u_PtF1t**VeEK-c|1yO*aH|V5&;zd}_k;F2p1^CEYm;5q!G`Edqk1lQ z!w3dj(OSPQmINcH{@x}u!-7vJ-UjKC{y}nNRA9`)PgFwu}9wVv! z)cqwcLQ;FU_`CNBB((#Q`VmQM>m-sw`gDOLKuG@#J+&QB0MN$fK|c*sl}PIGvPe4g zv+G{$Ckx3iBa+%~E~HK_g${`60oxg6*ji7Ad9;etplo377ndMk+dCfw*@zj2YQ^~t zQ2n|@H6G+mL-_@4u(kM`AbTC+xq{$($-(fvh}Rc_{+k^F+pph4D&jH_eLKb{)eeSn zI=}h^3`#_Gz(Vzd_avgax8{7P7SX?EJ_x@#79T&r$JGtEe>XGneKbDO@R5p-5%_Si z@B8bABlF|#8qVbN{nwC3r{nrH zhwFicX^bmJ&m*qv1at}8FWVVa@N`n{A+gM<9&Q=!N=xW;-9x_hr>UI z<_wpA_MILA|70cE{f~9%O9*243BNsF!OLMh?gSEEro>w@K21Nu?g#g}J;rrB2YI%n zcn%ki(l7FERr$;lZ!kH~ag989sv8(=h zp}##VHj(|cS+PBr&qz-uf{aC+sT0|IzN7m1=zq=zLt!cZ0bRo1xE-^5+jI*H_25DP!$gvIgp2(ZIQ1}ejDJbrVQzhd z3gCrc#vy$w%yfE2^hey!%^^yljt!=04{)1lqKDWvm-yLp;Z5km8??g;>8m?%78tp5 zZs0Qp0^fKS0{^T9eCi;;SDgd+0YF4cF%97j0K9n}KE_mG|dZ(yu<}D!usN8nSHPaY-f5=EKm|+wxnqj2h zsDw|ZcviK@`_5*cTr_^GxRV-bO+TGBfc*Cco)a`&NmQVq3t%ls)Wk5h5Co#8eRKN}K(1#?$~IcYB)G@Waz=9@s*;yzaQJ8g?W8RR7k7 z$r_ofEwfP9KLh4!H&|dGT^}KSG9SeC`DVMt8q)hIMKp^adk9c}=R-qO;>Pr$Nztza zjv0OzTKJ`a|0?S|Rn*2L;doo#99S+CIw&C3D32o_gCglx+73c>EbnhH6B=2QLdHB-$iK(4`XxHK z_Epo`7&69IYyOWt&AC|i&nSYwE^~pp-OuXtg8jpRaNBw3LSA!uD&IuS&WJvHCN2um(bIfp5%9q(eEbX_ zPb?bF#%bei!#Hd^V6BmuU#UvwSJJKgN_eGwQP8vdZJ&c1R~bB@CBTDX3V9Gr9uJBU zK{6OW(Gm1bCd+PtgC+ifHIK(QQy_@>YBAGa)@^lt4L8m(Jk;+FZ(Hf8AE!hvdjej} zKg189KMVut*UhDi!>>%!vCeOVCqJX6e)m1tDj!+&flP@LQH)U!AP^#vPX%JSoUibdp^SobI?&ho)Av$XJ{TET z!m2(avf^EMe*osc(#1ev5hx{ImO}mCGtD@^MdJRSg~blj+iqf*w@QwMlyLEV(=i_A z3TzqRDs!m_WQkpCwk==@aROFCoTV%w4*Q9!&%?NQmSIY-$S}+OUr?yao`I>JG6shp zf4j;4Tb_=M+uyt={JhiV?^6u%?|fe&M!Nh7jl>e#Cz_%5FIaKtLk@c|j+$c|mBk0L zOBQNId7X-#tOJ8jr2+I4!wkTPJbJ_D;bi zR;$6d#QfvL!5AcX*KiqxXSl}vR(t4HfESZ%jfa1$SVR%NW#C(e%j8ohZ%K8i2;L zk77Pp9*YkIfwjWlN?^{P&VKW)7t(liewx`og!7>mD}JFIm0qJyfeBrKPBC_$jOEF= zY;`n9t0jHw#9+Mafr0`MZ)Qx&FR@bAX_kK)Gf|T@O@W{vUuni^6!RB;S_;YmHQLOW zcr7V`1>i#WlW>2%i7D^HR{jI@Ycb_5vI2;V2ff_0ZgQu%@VxhM6^yJWm3Kh0bOl%2 zhbHq%Z-2IoKJ?D|-QDkT&ASU;O!rACg(qi|6dn(N6b8937uw15EB9;I@_J~w7F%xb zlad(tGf83z{DXTN(Ne@IBDc%r1LlPBObi3;*2bvz*-QW{_!fK);-0c!w=uCp9AW;8 z2v<{FwIL!vF(>2)_i_Ea(_z=o&e2RiW6Ghg?gjl^^$zLhtuC&g-z}B;xz{1Hm93#} zKtD7882c_UVHx|$S^9aygfH--5YNK7g{3TTaK&`?9L~zxhcZ$ruk{+jau?||#qEFb z?;z^=x9@QE{J)8#=GaCR*E_1XedT_0GpFw+crjxqBxm%@BF@-*3vfm;Uym`tso(v) zX!3Jxvgw3miE-`35;wLBmf%eWV+o$0ATNtu<4cFHU5~cN~rgb}M>pF>jt8JLk9O*O2`DzW9PwKQ{GWApg;0 zqJ9L^jfI2i#+px=ZY*TFkrW~MCkCiOsQ|fsl`gd4GX-&8?%JGI7Gtk1?dDBIN8-`? zb7?`eU(M6Pemyh7N&&-j^1ke1imuhg6kw-|DZouGUV6gCOHp7>mUNaAB<9hKyVEuO zLyhy5CTtl0ZqF);W8sNdT0+KLXDm5n-0f8T-A$buPs9S7zu5hyEJbBKuH}@YvL4rP z%28RLUCMJ**5{S-9F_I(@J@yoXyjdjzsE-2CHQ-6{olrs&=nFi%d@hzYjbr^C)LDrK*kadF$V{f1^c5Kvu zLses=2H5*=ZULD?|5z)@v5U#E$xl7kx|pfd>SCH>lZzK8axs%i1ek5&`CisiblH2T z>yWENe3fU#>C@<+0NgKj;|_OWe5R2F_}`EC&qVyc?ED(|=l&1aID6c*Kh1>w^@eb9 zr9zQm=Rbh>Y}epoI7qY~1cg>3 zbgOK`WoPvvUNMfsCylI;2ze(hHG46K)x-FCr*P3YcWL@=_y)bk`c89_lfl@^g_Q#O zjI7(wp2vmZC*P3&Z%t3bAd6ZEw7GE>*@tD|a9A31GrwN*b^4EvV6kzyh=Vz>WcHD` zS%Z&9@KK46g|pEC;V|dnhdc2xYxV^X%uJ);g4WQw6N&!ISA8!?`{I?0rG3%E?Fw%a z3t`SlVs=C?w<{bNQmnVDxyRLTztgkgv5T1fkwJgo9?EU!{)v8PeTt^HMyDkaP4d;Q z7%blzA^)DoFAeFRg>v6Vm6!?-_@wGzhA>`bh3}|~nI+jt%$`ZHStZEibVF)3BHodd zsL^{l0lZ0!0N4@wWusYY+WNQ>Ohkit93{`B`ezA)rBo9;q6iNF6RHEsNM?=cCJB0=Leh8L;mRF9_(B}6=IrCoFWy_ z!&E@sOpx%O%w#)eHU{fk^o5btoQcWY=kdv^|EOm*ZeGibqKg!C_HIFdx{hc@>T_QRELkr^j&UaXb8SSxw4 zR`O!)H{(ScCz|{W5s?^;pq~Oh&>!O+B2{9v7XHpV?BwwW&tAv?`f`ACbt%*9z$!P9dEQ| z{GP0Z{9}pMLOI#j{l7EgcDd*oAcU>9V++*6%nV?yVSS6fc*ZUUk7&65;bWo3*FWuS znGnKl$wnJ(eR0(XEUw<@BxRYRbeV+J4j0XzFse8|LV0L$NzFVVD2?i%G^&Hrs18b_ zntW;Xd|eU;k6aes_$QQw42{cz8gCU>e4;I9n7%V@m29JrF|ybb?0Fy6*D#@qPD zcpKjsZ*y6gR4TzLm0*=huu3IZpccuI4hEOeYtJa$u!-)cc;Fz)hI=?&|^c2^aZ;x@cd0G+JE?%g%3>~hS!wppI<)=$LZm( z1|CD9eV8Hrr>WKzw*}l=`U3ZkF6Z7+D%indIdi*M{kM|{Rv}8}ir>+<07KJAj3&#a z+Q}99tb?(kl+FGpz)F_g-G}ejn#UF ze#DfbPm>MS#^R5QDG*waN&#X#Jls`|<0xOCs9IvES|X@g;-?zvV2fV^f*fJ%mzRtY zT1br4Jov-AQlYaH1*izd3q?>P6+w+u1T|6-)C5HQ?N(1S`UhqjsXDip!o{DB)%p3C zXT{~59@!{nm7=7J?;vRdP2XzvttWbnJSgdb1;6&MH$~8@MGVCv#zrPN7%V4=v4AEL zUBk4%0_IG-yA;I!4t$j3V>&!aSXf!hfg7h}-e+ zV$zX_f0jCAxC<(sk9D#1csAJz7e8==g?|sne;&vG9K!#rCdYr5`RF>r|Ffn|9=sxc z)||J_6qz=3=15{N;K~mm065dVV0?$@%g8zboPQlzZA){M{|0KDU`CCJ|jE-4*0N8EdZ} zaV3QvTcz7h{`!na0Ozs#`t%x+sck6v)ok&P<>awE$P!w>AbFUlX_jK7j%-oFec4M! zDMq6YQ@Bil|Cf2OdSFg$9M4lp=^rsh)o>?WI}uZnn3-Q37Ws+iu=sQ(e_t$T6R&d6 za-hV43D5LS=CuZ{ufV{t;FBID-j3%(-Az+HZxl@cOFgqh?+dgZNe+14h?j&v_Grea z4{o~EaVva%#ciH9QZG^coweiOhZQAH0-cI7u_ML*mzs64k(l$Y)jT};5EW3=_r#tu ze}w*Vb6yF?pB72Pt-o3j;bV+|BmCcB#fA=&WgOEy=zAz7TFN_ zf08N3kI*f8C8A~|jAwo|Mv!~QAnh*%fA)poe}2rj4S#kb{1d+s{5cnbe|Pq`4S!A| z{Po%AfS+1|)LxER@f&Y-yfvEL$i4q2;5gC$bSrlX#V?{Ffi^c%eTeV9`N~QMCD;I% zM{R@;A{SB@Sem1p)?*V@J>c{r4=)VZ~7YUFLDEFs&eeh|_h+84Ob(Vl-_chR}NXXB^42LB$ux^nG#;D_(${y%ZoAKz4! z<&!jpw6wew+ERYETCoMC1*ta0N>UPig;Wbxr{XZ;x*&o(7Mc`9hNdJf4K)}YcKwBm zGrBnboY7&Cj=MvDV4q zd+xdC-TVDU4M4x|<*r|(Ux~JF{WeDTt=}|tMEwk}^sV2cngQsS_zU&3MfI)UR&C$< zm8c@>ch8o-^?O!50R5(Q{WASFYWmjiKvduQ*&^5%pU;2vA%7Tt7lE>+GN_$g0%+FW zRG_LymOg3t#50_HNBUEa;t>#^ceLUYw)R$kxBj2gz5j=wzrDwKl5avN{{bS4O&F7d zD}O3an^n@N?Pp~vDW|9FvtPJ*xqBf$)F!OBE7fw@oK`T2&6@S>GkO{+ixB;`zd9m~h*ZQo5d6(h{Z^-o zpkIsJw|=*d9JqcI#iM@9dNXqG_urzD`@DZk$`#yyjw%v3lYWN^<=x!uozbHjI-_xFMYD%@hBE8|rDN;8k>gilE}SeQRGRb3*5c z{`lQ0%0ls*oOvK3cJBBW$Km?9q}Hz$5n~k*Z$%Nm+=wFPg^T#`)Nne7R+0`bIbVzG z;yw+LjL#1P;w_7af83*gZ0YQ~{R|p$1^r`AXQcKswrBh$y|hqa#O@wZxs!W(l4g{q(<@;aA{4-@Y_p|9zsr{(mL+e==hK@9Dp*M{@uD#?c=BJM$56 zjys<~=QuVc%sJk1eRu!;xwBvYoj2@C{r49sU0os9-}|$#_l*v{e)IsY zw?yP#Ac%{(x*~UDq5B)r-6gs|BC-=OejAU!Pj$(W*%CsQRy{Se-=$TL^lX7){Aek{ zHhu1J``iEqt0>mpnJOBJQ|-5eLS!;5N{+u-OGugH6r{`)1t}B0%u4l2qiZ7oR<0d7 zP=2%uQ#bs~OiZmR?_clKQF3PlOuInq*?Nv}8nx?W@Ar)jyKjH_t2&)wh}~ExY7Mis z_S`yAhv=c%bz+=hcAPx}?1W}YRiJ7Kz7`BNJC)#TGvHfBpYXLGbfZ0C`u$Vy__5h7 zv=77F6F=6TjkvLBeQ5|QG@iD|3ftxo)J=Boogk60tuQTjb{Y~vLw}=;aky#D#f6%N zyMp9kKL@O+lU{ha4R_O2_sWPZ79HNXG(+9$jRT;{kOcpU_U`#U{WCg8~CN$u- zovC$&dVeyyTYMmcF$?acG%WGcd?coQD>iVGCZGz~zLtRweU_Zvv#-8Y- zJE~RE#MzR}NvTp6dHsI@r4#i2SDD;z#wv0@AcyRK?@zuhJN{4PyAS1CKdTS<;(M2G zXHdSCqC#}*NxU}zm=HHy+;=JP0;eRs6q-yP{H-GR`BMLMPMEPNU7Sw!6XGJ@RU2HRo_${CgMkMf{IYRpzxyhft>Na6p`fxgL>e%TJT)(F+5Y0l(uUJX5UV}xV z7J1ou++5_iq_v9{_W@JGsX=#m65B2A<0j|Vf<^t6$q8cq zsyeTkDpa3ivgX)yKBNw{xIcDW(%F~dMHcsIQ^Ogk^WifpR^w??_5w^mQy$grM#>+Frv_qo04O)NHn&^7wxA!9doO10`Ju9a@o1>HhPj;)ky2Gyb z8eOtImiQ)k2WE{A>|!5WpNeb9qw6Q}y}{T|YOU!Owj)^C>K=Ea=sqN7?!oQ>oo~PN zkfuWpxS6`g1F*_S5w0yn=r?SoOK1lbH0yQ^Yt}l}l-c@6qnhszrdIhHD`M6``xP}7 zcazdEOwO;MRkT?RdxaVY6f!k_p~Z%-gF^e2hH7#igF=T08paaSOM#WNunp`V04a3 zI`AR*7Pcjxwv~pc%_>Ici=w69TIl{vF%Q9pS!zqPvhP?ITgD+`+Z3u_RFJ?x+yJj1$~H3{4Q%coZ4h$_oj1aKF{vs7RWHl1}VPQY(V=9HQ0! z93F#-302RmEg2=#jSJn4zG<{R-AeMcqI@MN-#(CU2R%TP3cWF%z=CB2L0u>}6Wn!? z;b3`*xz?P1o7Me=)qU9NZdHU_uLU8iKZqzKHUzlLLwG`m3*9@ri3)eQt=4>XP*nF% zGDjN#cYom!!yGW|UlH2u!N$>2_Vlx|v~)UA&$*%~!}h{qvr1aInGP*uht}hvh3wF8 z*r648Xf7O*K1@9)OS|!-IhC!?eGh+Z!;iP|;|=_HB{ghqOf6=e&a1;>-))q@Gpc-t zFAX66x=Rzv-^?~}v+)A~E1N*uHQ9XVh@Uu#99be8AIz?O_RrA(FhI}0ZQ5h8&qs^$ zF8_z%D*d~~YS|v=MK3W(VN_O#p_LutCFv=FAs9b!h1IHT7_-Z1*&@Tw>@-%!3+uMf z!tK@RDgK$Yd;>ZWba|qm(_jdTj!yb>>seXYreIm{Wk|Igb7%n$xOM#2Ae9lc!c>f4 z-76X{+9uNSCz`ollupok4PG|9A}BPa)puOkB#!oJ5e?^s4VxIcd|b8(4KWHok`{Rj z4Q+z+bvRYfq8&V`P;T&l1m6BcCfRUIg4gUiXfL5cRlLwOMV?Z%#r=V)!Ka0hsMYGZ ze#58&EN+blcXp`aZcD8-S6u|23`aYx<~plkPeq=k_Sde_vhFOkBnGM+yehwESQV-9{;@#8l55amX;KVk2hBw^b$wb9X)YCk0! z_LYxp(F&9NM+5ae8>mkjiWlx`z`gR4W?aukdb@nKdn5I&>Jxyq2fsV5&sxG!QS^Lj z$zD-rQ%8lT;M`)-QA)1f3AnOKOQH zmBb*wyQs`;>bkfJg!#$kOHg;?pP$m|hpy0w>zDQl8$Ki7lc+O$W-(s9ui@Jc7C+(7 zkKtzkI2x|zDDHG}|0L{^SJ2Kbc`)=LtT2$#cFNkEKj?Wrev`HMHJq%)5) zjq%I90~=kem^@G{B8ab7+ntjdC5@407ESE>}xaK&}iX*YDLRR{~!Ii*k+T`L|>y zoY9Ptndu(NxW~Uni zni-j9^{Rlya~b(`vNVV*mD`PhTCXrrD@x5z3Mv&wKOLf8eP@_@6T@bjOur6o$ofc( zD5kVy|8Ao7iEF^?Pt&7+Ts{asEA1z6{5KgGe%SLXn0}c|zq{_9N&0!lYBWL7isv`i zQWGO!Bn&mG58HF`dRMCr2E^zbs7@;8Rk8F-eDh%wuj*ZOSXEGdVap7@K6msAi7)S^ zxCOV15`ohKN8UvHRZyLg#Z5`?yovZ5#Y%(3dKe#Wn>6CGtS|)6(>e36m0>8fC0OfX zas5Xk$M;5VCJhX%LiKA=4300Ay(z1o*&#F1T=zY2wXds|QQ0PteWoXJDqF;lR-=%q z$X+^(ItM4{oFQy%!h8yLmv&dX%?jF2`m^E~o=u1Pofp;iNwf~R#eoC0nl*3Fa+m>s zC#=niVzYIGSB6^rCi=(j=7~T0mQvThJabafbkzc9em=0gUqGo^#NtI-AO*AQU!DxJzU8SDiu_`*+0Eqcj1oU4nq6zC~Qpx9g3W=k)l zDsnXnkew&~yVn)r+MYg%IlDAPT86*<v)>%FW8cvtGZBf*|;?AQjh7D#k!0tldt8md#z_ZDZ?=vxyC8 zo{n-Y-$;)@jn4eVKf>d%6Yq1j*PllJt#t*dR^;+Joxq#(OdaAUAwD)dCuqsDu<>VL zP&<^{78=kZuRn{&LErK|1Lhvny=}lVwGD1r>!x<8ydII#@(_QHR$S7tK=;K~9MTIt z(KqEo@1I-FdjDkB`(Jh_j->u4bGP0<7|UN(9u^0bFDT&U-Qnd?{_`-&1#KG$RTj!_7v z)%}!Mr!Z@=`$#2G6ie96Y#gd?U!4&^$pZ(o?o-}l$%l(x<+cz9UJFl`*8KA)ymCH^ zDd}YyJ!HzZw2Fp3!iG*ZiO>!;IWJaL4#H5(554Cb%!@oZnemtBDwUfkX65j+a94|` zc!$Z^IkMty__mq7zo6fLfZuKKEvDjWsCRnh82C)H)xpuv;Am_`75vTIq>oK!KCd;Ul zxvSXo-%2w$J+_0I%M;~1Kj|M^FNL#{kFg}rVt*W+Vf#PZ0%97Pg|*L; z5{Gcm3?DGLN}iiBO0&&{38{XO7w3;g1&y0<&DdUG8F%P1j=8qL(5)8Lop}5rc{cWZ z{~C?oeJSvd;(Z^c?|ZS|d;g`_uW(F<9EOkhIHlLgt1Ei!7uK%RhNOxzVOT2%nJ$ET z_EgGcYLn4oHW4&RMt!EE9tv9{?T@E8M9Dq{LlL!A-4xWvwFN^*a76Rh>O~wPh)m(^R10g*YuH?B0YTK!J?0TBc3GHyij73Hk=w-~Z$0tpZVGo5>!;w~0@CyGCWtfuhA&*V2c=8qSjO z!G_azzI(%=7lt2hH?yu6gzrW62~V_GZ-(yMYUR+Al-QSE2di>^@Lo(B_JfSX@PM#g zO8N(B&A_Xtr;$gNc<{#e??15u3^s}zObRtvN?wS;mQDpFYZfylS@HOi6(I&Y^$$0VZ1$OwLObC(Tj&Z^5AY;cL#yLCDOl0Wx-ll(d23rp7|( zC4u}da||YDBg9CTVk$O+D_HWQEHihu0KQ2##;|;Fs86E?2mR+OYH_ysa65)t*wt!p zB3m+AnTxo5WamP%<$V9N5aL<}vy0#$6(P3V9cs%Dazku6ehSz!@4+xz>MBBP`S0KM zYD=)7)zJ96#oaAv0t;H*&C<2$;YL)jp|^)%MhA@;YLtKxH!0(T+@)CZ2c!==JvdSr zG1b?57~wm3q2KvMp*oa5y0i=@U{Fu-VsPg$w3fpB(3nfZ>Ig^fL>Qet(aoF8DuqQb zWqvcuRh>N%Skx;w^7TIl1y2p-Z>Pl?9bMP0NQck#6#{&w*>b%2!#3Gp1plwGPk@ki z$gnDvzY%`suSoE$X)!uvb;VHpY18?yh5tqf9XR(lhaCqM3g3JLK7q+yYTMgO3L1_*Ip>H*NdEAegUoD%VN>* zt||w|Gz7hLe(_No$S!WsYG4z{vTQmEDoU$Vi-Ojl*eV|otDA^q69f{d5Qrcs)max8EP^1) zeD|Dl@62pofPWBX@7y_a=iGD8J@-7{F$2^=Qd5BkZURvNG#bLPD(vq(#)W2AdM3nL z7J1M=6YXkP)oh|2m0a^Z+$MmyLJ726Kk(mv(S@MHJ38Z%@HZ}oepiu+ib&YQNSMiv zP9~F!GNU0d~&IX$(ncE~^ ziyV=vHo=+A#H7la-R{dIuO}0T#Op~jxyGO`80+0n^3O|%#JvX{;fFmHJQSf!Pai2$ zGPg*5ocX}sDcyA~en=mwR0@pjF9l{NL(Xi}GCX|blqyoWNq!HT|5OxND$RNZX;}vE zynzn>jDsCOhJ?2y1M?RtrdMhey*8Qjegzgk<6EZtJAF;``|N~kgMM7 z$v3%ebc6DXyxe7ihv*Z`QPz;y8_M{+28t~XA@S$7Rb=3C2Sw98?^|es>po+s^1T*S z(ZG2?pF!4hZb4Ju)Qk)b4V(lVK5>X}g4?UL`XMvbUtfGg#Y9u2W@L+epfpXJnMVxOgk8J(KN~#mY=@r zIuUVV!bQx8zS3ZsT_KiP0{arB&-$**%(%Sr^~ov8MEl@LNk`nwEp zX8cb?zf)H@8_{2Un9zUgx-RIi<>+@hNWtsq0sR|H$5jpE8?=fIJ))n!U&%eCs@hq8 zm9Un=t*V?1UMYh;+fHVsOtz%9aycAv1O8nD9lRO?xOj~U|DvDH(i~htAbJQKId~pM zyBdT8qCioR1CIb=D)T;NQH&e++B)~FM#guu3d{3X85ZJj_TUqv`z7FYXey4#r|61B)5UH7Xi^ z8GneOW9%zYRo^fU5OZO?WqcRjB9IkH(BCK!v{K_tr2-8xQ2qe8-@vLP71}lLbGAr+onIz6pkfez|Zw(B#Xf!P=9Y01d ziKh@zS8aktW11`DCQ-_0cD_-B>9U?jg>(8`;ugPBV>~yofeM0M{t26*rGM*fi*M98 zkH(G$sgtz=9ez(KV@V}A#v~aAml9rL(HGK%#HyPBES1H344hSn$w|zig1G zBz-Hd>Q$mD{^6(014F)(A-}9w9HFtbs3g$MCyF_LWN9$=)|t z%1C!X?mozf_*^c}a`zLD#@amxh_#o$)QPo2Z8Sf2?{!;k|Nc@@Pv71keYan)Ew}xV zL}}615EWiw3%ox+zu2Oxa{T~w2c5A$8{9$5-YPUHQ{C8f6E)olO_|g*mYSxprn#~* zf*J=?<8{z4ftt+JG#r{vxv(kPj!p5<^cgjEP}8>?Sko?Q3Q^M$)+8(S)b=*D?SO9U zsOhiNv;~@;rlvY-dKH=$Q`4i=v=W;BKuu-Tv4iBLy)3BXdnkVlgQUucNK@#k;5K3d7$YEQGSkt9T6~v@?FAF(=3jXSWcSDg}C% zxjo^%mkNc7vJuC(N4e5X?s{Yp7bRVRCzh}WPAwN>Kld>AUs-LYElGk&7)TzwetJcC zK0}#IhVDR0fj`Fo#YJ{s57v^CG3G$|;v-TyTt#4NPJ^$?wCbQ_o%W3Y%C7g#mBYhS zlD;GytgJBwCqiQL%R!}I091G%Bs*lPV>NEb`@ifrDzb^B}a4CbGJ^^c=bU0-J5Rj45Ph(QOFS;H57u{1Pe zZxa%{c@OSKB^TE8jtp`5`%X|cN2BP9UpC#B1a@nOFL^>N`cM9dM*UqUrkLu}iLSuQ zg8a8e8x+!Y!x??8cM^T26Ma2*!k~~&=|F=&6Pv9oPdJCAF-#a7Om-r znEIn8&3-(ypSFZNl>Zt%^BImK7Pb`Nc=v|T_yom8E0MO|4Q9ej484{tZk9(zNC7ep zu}5xZ{~ou2Y95OujAGyQ^qy?tgnrHHD8=syD7*j|um2GnvGzk!!i;-otAe4vq(Hkx9$H`RHAgf3r-2B-1OY+A7=O?IP#_xR-Zg9GUaV z&>IR;Y5NCimEL{##52mceIJn33zC0iyz{<}>3TF(B|W~1~iq5acZ zN3lDCL(*dozeT7f9R8vN42FSoQY)U5s#|y^mLQ!MP@*Gk(Dd8`Oq>RXM@N8HY|*N| z{8_8uB8o+{Qhf-hq(JH2KdYGI@F^If)Fv3w4Q-4OO?ZyvyLP@eg}6voW%yR1pTWo; z@jAQj6T9!jnD2%fAgy#X9H(9d$0L1Y+8130>mR-*C48HOs&#ZXdaP0Af0qyctBM>5 ziej^P2JD0+|Fwer7g5Sr0i(MQs@OK!p_2E(PJ@~W&piaQ|1M4?I|^N`Pk-BqOP&5; ztac@+9d;h%@^&z$CJ%R3(8?n6dOW0M330jmN--%f?aD^^qR%YuYrBoP0ST@&#oO(jYNrTR^eKsJO1&`P2pSD;RmxIza zz@ymCaAR!(PrnRrQ0_c%Or>|D7CT@vY)otvRlFc*h#SweeNpaA1X)2enu=hOQ4C>9 z>eJnjU=ta$q4PFV2KpbPOr5oxZD(v)ReYEzo2KziPC+ri?hA@!BCv!Hu(KQZ7C&Rb z@X=q91)U+M{c(YujSqZDUQ>xxIpf`Zvvx=7^J`t{x4@Qx4yQtpt~C^rCi|}UoW=b= za~I`|AMY-aI2Du6lPI=j&uz0VJ>M5?FCni#HLeZ~_G=AB9Ku zp}50eRquACh$R#b8aYHa>#x<)+xim>kdIGo(3f9J#Vpj|LEMhu6rSyDk}6ho&%V)4 zvJr5_q*IT02V0L^owv#0A|c9HGPXTH&4^_n{Yg{O*J5zH>NL>lfx(wUjRw!1gKfXcQ~0>V>?Vbtjl%Aof;t#TINr* z^0BSrzXdZpY|`0xR!|^Eyh}%tju>`+m;qv}_j|KDu4>YFcJyMxqP3dm6=Uf>=&iTd~#yM;6!=^>l z^gJ}Vsp(;AS_(~bSd(21O|J<)mU4@AW3r{7>THJl>qxx4DTuNqh^w+Lp&Qtfd?B{9 zguO>uBwvs%p-ofrs;av`a;R|pd5Ux?*Zs5hS(l#byjll|8I)841z-|8I&nX29;|igUYp%LFHP>ASh8}o9Bcpcyb=( zB`Gh3t8%!4${TO-Lfjk32cj~;wCkn>QNX zHCJ|xq1y!4C$^5f|KChHr zlGSZiDFk1!&nxxjy&2+eLM0_iU*q?cvy)M!(*zs%EGKvovHnhP-V<7XN%{9dV}D6_ zllbQ|@n9AA|Ixa8l(jM4Jvd(Xy_g=1(c+y{x4IPX<8iVB_{3Vb(nO%Ewl&uG2 z5MlRKq}qLtLI^?6Nb%2N)H9#ae@Uh{ud#{n3t-16Lt@6mUNI}poA+W9A8>h^^6e+k zVFamx*f`j>ccfkO#Nh!CPGtwSfkPlKWW(+#Ij3SKU8#+WopL=?vaTT}{0HQl`X4Tw zU+ZSRwjfu32}OVU^Gh-7k+OPfl#i04s$lJY`IX8G?Rd9l3I*yw@$Sg$UE_;Poz}0z zFH!zd$SyI-;m^0pOnS3CcK6%@2wii}U?TzV8gQV^YhA#Dz?Gf5j;Sd61j+G!3_D-# zL;i#JC2Qd!CU=&)3gNQB(39J{&@rgg^JH|jufs#fA!+Ph$l@n_w)a96AmI8C-tuj7t4-wfFk7C(nx{(BsOsVXEB{I1>JaAvaO zifxj48;BwYrZM((8n#|0;m^jnM2KLVD^J6Oa;)73v5gkU%<~((-H+X7_=EfDj=&U^ zZPfEK?A|lx`RNc$$R>fmq`-TajW~$fyKfx6T|{%r)PqsXzcJ|`?0@hli~ZrAvv+~# zEb1o=-m}+8z7t?(3ZMB})ry^9=E5}LEQ`4a81lePR>WtWOKEvK`rQaPV`+V014JA#w^Tp7SqpS}y5@glYUcjQQ2X zXft7cl}Wpgsmk8>@slWstD5oZzcm8uOQXbTkRY(S4~#qz_mGcm#!UsZ8K>gFF11u3 zT)}1xJF*S-;Q_EC+h89a06Vg61K*5sQ|7*)nBol$GyJ+6xybo$4|36WJ$u*^e$JRK z-aypf9<;l|JrL&b3A5-n`R6gJ*b}VzwlP4z6+PsMoU$cmMHlyyKlEB-{_a#g(IeV_-W2(672ChR6soHK zY!;j4dl!-axi|Q$H)!xT?9t%YTnc>a62%;ge?5K_X2Mz%L|s)en+<2GwdNmYa>t|i zy5ck@Bhr0_VP~eb<|+Ec>*qT2tu<74tk}tZIjuG1YEoRv@0VI@N~xus{VKQC+=0JV zRMGq8DwI6)K&Q4*uBFPDG&=VEIV|9*0Xn{9=$IoqvWud8kk2`^KN>noq7%C)aw;X*#dWW^ zT_SF?i=t8`mu^oMx68zBc2QKW45!;7o_>}`+-4W(Ij@|_>^?;a?789)tu{!-lq){V|INCBJE8Q<*tGh_4j#v)r*X7?~SrEz2QV)OSV!T6K`RJmyx zdoH4M%70=pgZfHl-#V0u5EqI^uOn{qDuOSG1nk*$7I z4{S9_^4k=o| z0n8!|%sdXpf?%f9)A<9(vOoi}c76c|GQ|L-Wf}h}Wn2u9AGc_qGf@L^p9VsGO$Sk@ zfe23|5XlH)iw@$%E&<}6w*-iH4Iu8&K)f>1h>=Hh5N~K89(`C~qtXCks0QM96OA8| zt%G<#1M!!6VieaKKpgOK5Ip}1htm(?9NVnH8Lh#o@CrE5^*Wpre-abZK7l~=M-b}) zggX&4W3cnX&n16K)50Yt0BPkQ;TD}dZ-pfEAG}D3VthkhfR0qe=YxNud>fwh;|1fh z*PR#kb(e19Xyt~A!`yHIES?0;EH#oSsSQjNM*sWm*1E^y&_PrhyWJ7ERh^z2vMx#M zM-~Wj15KWNn}23Vxy|ngozRLu*EBzVZ|%x-KiBWV9-!sg2;@z@UmV&h8;+?$$!6Wi zAAkzWW>P(G;zq+Y{FFm!;9%TY9dcv}>dwue-ESP@;JQ{!GZ+hjL}dM0@kU5K$i6Yq zAN@$^aW?8@eAFQ`*^{ai=PUU)@nB+ZD@P^qChp@{%k5q=H^y$_51@<@sK(zE z_~+XX_R|TcaNgGNQKG2eJ(obAXN&zjDtsDAXP@yoe#ZW+4kfoTs_I%;bo?ka6Dcmk zrbAgOB*|eX{e9DY?Tk23eh~J%^VT{u?RriN%J$PlC?( z(XYNnG;ZLp^zoR@HQc@y;;Z3sOw48}pI!h|$N(?rp0Ii=3!*_igay}h0wE9# zfw+->B1AvvAsCZ@BmrTr-mB`KnI!!4+xK9!e0O!kVhk zrV8?5!ipx@LY+5$r|-3{Y2@C|W%0Ei0^`XH2!`_R>bXWO?DXYG1+^`WFM!aKk>u}P z8_nBj))*7ONG>8w`4`Z0&GHMM1q9y`;=dAHE*q$<)3 z>NgLwg1+mM(-;L4pp*rMLF_JiV!C*H1NG}J5pT0#IOCmBy!*^TH$}mcs+)i-C%Uu6Eyg}an`5|YKeu#LJ0197QSCt1I9VL zaRv#2@u#y4(k>%|G)>73(N5<$MWvh`#FVpRJyBVWr_O}q=VCZple>QQ%otAJlHVFK zrjnN*Kq=s@jTl8uR9=Qx_3vw1jj&a`jJFVmargt9P+4GA2;<%|0?6gmjAQ8Q zkE%nD@M`t}DSZN#KfydRSEE0eL9o1#q6f|Q!fP;(hds3l$R8*&J5#?h!mni8TH?IhFa*(7dNxo3XLC|fQjXQWqzJFC6r_tc+n0^Q;M&u`CUPcPqjoA8-1uNp zK$OcXk-8Zb(E3|RPf-`KgZj!HtwFy$0=6ndc{SV(bX|mE$}8}VTg*4svNvW#yn)Vj zH5hr+H2oBnWIX?SUX*oe$51~vysN?3bL;yk&5KHuK5$1^A4i#lS4TV7r}ja22>0Lt zbEm1y`id4h)h4QiK|wod&6KC5+obegU=8t^%CvOEy>7dSJ5!#S&IKG4^;C2~2Glt` zpq^!-c1EI}Dy2tbnGTU?p!$>B!(fl+!*EYucRjeXdf;C39;u@&40wBWByhUEOhQ8< zel|g$L(xwM^e>p`pUjOwKU+$l_#TUIIDR^j530lAPY;8?=FisyKc@%$<_%Q83gLJ4 ziT_oMy;wp|!>DICwxR%9@uJy^m2)B{i4tVWg&T}+D9{_L!rM_0){cW~ucIA^phr_~ z+Yre?IaNJ4sQx_mK{B3@A$n&d2Q|%(=!0Y_z4~1Px>I*XKzD{gzw>&aPfh57`>A&$ zaaU+PJAlY9gD7?n9B)$WDUtkhdn9&`lpgc0!9OWwdbSo0J|ztN)9+jl__QA2|G2&< z|Fl>3$^YHRKU5qnFE{vSZCS`aI^S%|V=qQ<(Q4$PwDrbPQ-<+>D#MqWvTzdvb+r1Y z>*1yH-n>+|4k{aLG^$L$qerU(i@SmlT4i+)i*dc_g*8eu<{~z+NFwDTp zSdcLgSJ3qb?exy&-DP|U21N}_u_#~$uApMII0%Fi3IRm{5E~XQgxcWL0MxwHBp=iB z@{(Z5Lq#ty$%%9*^Shh#cfbmkl|l67Awm!pORQ3%RZ{ud?>=c)K@TMqxyU`LSi42{ zfxL#E4+rKE_0#^l=g@A3X`M!USo=_WWY&hOnI2J2RkAOh97ENKgZivltwA&D7E`xe zyIO`2Lf0oygIBa?hSQ;-1}9$7ogmy2t$xLa%!SQE%|F#tnO7bL69v$sDJZec25ixQ ze@tm3OWc9Au%U4im>>h*mIP55+UA#!u>F(2f*lzB$}ivNm!Gl0i4+mH?r(!o?S*&J zq%1tI4z|CY%9*x>@|1d~lwJsh(*T78eSLyn_erY}Zx+Y*2>gbT0!*wJb=(JYZ$eud zfaEghZ3t#NVn-YMJF@^^F(Yl28C6J4%_d@FM;rX=lG4w-gL49}6m{tOL<2)1WVG+l z!DYi>C&EX8QJ1KlI>)-n#=6bHy3@(J6T_d8=aN}>r&y>Km&Q03Li_56*0iF?#xa%8 z#&!xEEHaYQ5{i@r4M}F39$1*d3R7rdfek%R`(b~m!Q3DEFeGBHWyNncGyzsTa)C17 ztg?h$27iy2VdoUcYTpcn!SmivAT}A1m|+YJB!kI;Lueq3Ch`%E?s60GBb?pkrU=q@ z4`EA>H~3lpu4{P>%r0`1X{f`4`T<;G2_>Q!C88K5@H!y26rtXPmtj9Cy%A9LRECjb z7;OxrgJR5}>Gp8$1paq;d6iupJR0R{H+8rHsNL17bQ0WBa83aMS-}c}qJn@NyO|*Y)V^cpjq8uXvCxidpPn!jN%zws?9N0jSJVikr+n zwoT(Rw`qLlHVu)B#=Sq9te>~(K|>sr((hXh>-cay%qumvw15Bj7*3xwoNkSjG2foB z@>7iRXPf2EcEVcBhlCDKxX`hh?lLR16^77}Wg&3ZKLY|Pmp^Kh* zNpF_0__v>+Ni&EY4Ii0eN8p`HC`GTOu@yJH)*1}By84Wt74BcTreB1ArOAH~!m||T zQ9uv#D6Flpg&!!yV;h=h*pO%pcbAn+k~s#n1P1*}ztD!!Rg7nONh3U0=?U)6ufN(G zz;3gX^{h@BbO1qshXAajNcJWmI~9dmCIizrEMaFBgwzygJGGsv4WhFrlmBKwe;nfF zdUiN8mC09zyyaj`j{*DT^R;xGYry#DnmF}qT!jX`4dDI2U3vIqVh)zQh_Zx|3PwbSo81oD;}pH zb@j6sKMRbc@)rcDyT5%Yn1z**F9zC+{WNO$-t~mRpO2^GjmPn}^^NfHMq}AV-}@LD zZ_Rhm@y4_9mT(Q@jSG!8o5j$7a|aorn_&YVh|!V_&P2Z*Y5ZNhA5I=V!aaM#|JR0_ z@ATy1exp;2k@}~Lshn<^4xCYA6cWNZ7DntPW5ix!BX-~GY}dedN!Rb*7^Y;C8`O7B zuESx*W_ak$vcRBAY=8eCFLwmWAzG=vij3w7KQR55O#P;OZrYJ8KHX;eN85`JGyi1x z+8Bb@U@`~84~8Kdf>(S4hTxoJHq^uG`Ns_Pj0-pz+UWGw`JQRGv}dJZmDr3nV`$&; zkYT$~wiV9U^<}?35!^B?GE?b8{_&iC^INBbVfkagKB~|tu;ru6+E*N7Jn_BKY;YyYG7>B*GK*k~etpK05&q%zM1W;aMDYTvW4H?8`MgjUUK z3|i^)H<SzMJsv`Iv-WW?gl{Z`aWjCr zymr3xsEO-NQH>kqSA`Ct^B^Q`B$!e={O;QM@9Qg|Xc>MLSFmFsU zLAhQ!K2B7l@B6fb^D1#AUb$UswMi$)y}`GALhg-<`@kpHd$oYWi%$--Y%Sp?jEYmV zRwq6-plvfgw$W89AJnv=uHEuJsd*fkZoeS!EAjv7mG@`?8@~L&_O0;j6qWPI$GzHV zQsy`0cKU`bP-gr)TEL0V-TlVL@LYVUi%hWHy!Ks!Yo~l(Iyug(jNR;&8?;k4QiXTa z*jIgWl~>bAImgCL7&TVXPC4lpuedJARa(_h*FJeSDN>1BAvYOsiK{rdLu+*q_yqUI z#yfE4#&LqC5BJB`f*G*(wT)0|_ofm~wA6X*n}R;sx)stlO6MI5*29dU9qUiXRr2{F zj<>YIM4}zH@|If2?8vK+c7tc2c07u2Jm%U377JrYaa-pvBAURa_*g-%^U3=JdArbf z+OPiVxX}5f5UgI*?eP!U?@#=k5ZEHh0ip35e=Hnff{94cr)2@yd8@t>e~>{NNCAmf zYfj-^gjttsfIOav4>TuI*hZ7D`rwbK`Z^o;qbPW_ZmAACU)TMSMv#k7moZ;O%r~G6KKV)s zw`70*1T$Fy`zjP0C3-t~gsdE^(!qc9b{cKn2>NB@7ogb-$kb|IIu=!pTgrI*ZlYQo zZgCT~p0j)rk>JLO>ffK3Vh1hrEr=+SgXEe4+Czxx2B&s}>&X z{7O&-3uHyj7*d&$NG6U`R?nhf!jNF%1z&9AczIfB7OB@!v>w(MUY&+&@)+_{2pcN6?hf>D2T+!YpwmsRB;q?g=nX4THH*yf#YKj!Eu1r zdh_BFz%hJm6D7nTNX|=`!ZK>bJM+(%^Il!I z{4!n|120}C{#Y;habkXNndk=}k%{Wdd&!SumS0hR+zj?j)mO8x-^PXKC&VOz^b`d2 zE1SJ^8M;+=+lqe8yN~AG3o#YcXJa6KvEV+E8!yObMfLd@!TtT*hk3~Od;&bb8;iLb zYZB*|tNe1EAa@B=|CQ@$S`7IhjsJ8G{R3#?u@%eFfB1=o5dZBS8vl*nN`+f5(px$7 z*1&}r|Lva3bOibxfuNEiVj96ga^L-8dRe7_c#;-4b*Xp$#(yAvELWk=9p8u1=hrf} z{HF`R|NU+xMmD__54SSuEuP+LF9Q0Ex%(RF)3NNw)5jShe~VPMPAglKerOperHL5G zMXv~ci>?MV0t4nxghw%gA}BCJK?(U)6jMU((n3l|GPb_qxv`wCSaoI(kD0A(%*CD8 zKj@}Tp9#FAFTz{Aw6lvkrAgH`nlwf=AByHIMj9}w+F?B3Mjv~&8}}1_cgaW1sad9O z3M24Y8mC*WG)S43##z}TO)%4}{BlJk@E+RJ@}<4Cr%jg?g0F4-Rz>)4qHaS}9pE3z zpXi`T_|slGhdG^~776jA+-LGIMv?k&G31X!xwpfluD%pw+Lw0Pr6hc*iC6j)m848B zIY*sXH{wWj;e(f|p`sHBkkiJDRb zMLYsUB(Nex)k-uJPrJ~0;4!7Rh8~E<6HR7P2WC*;)&#fYYKV)f=?BixGEo!Lh#(7P zR#4fOxlxA0T6rsUeF)mN8u**SQ&~||heG|Dl(o6Hsx}j7K=m`8>Srm)9DA1F*jx3I zkDc#sO{DQJ>HQa8g7}y8)*5>25xBJ~@ft^|SbS}x^c%L=Q2wa73V*z6@<;xU;g1I* z`6K6SPyXP;`J+eYvfb41&ZYf9x)$OuwTCkdcE<;##EIeT64tcl!hrJR(0ekpSlOZmJh4>=&sA%srIs@`)g{)b;# z!t;+78z!w!y`0Lq4sQWFZ+))N8r;dfFmtrUFlAM4vG10%tjc67Ty4r^8(ia*$#HNc z{Zg0(^IyJ#yVi>A$w!2(-G(s+e(BmPOWhxWy(oPJsW`r#LcLQ#yS&=og_ zW;K^8<8e)syUF;;{$p7DPvtjRy!uon-+4HcKku-;v=xs4i<$W?FO2LGU~3j4k%(?B zH-@GRe2@WxJOUUn5)U)77t^za$p$ctjLdQkOc!aYNng_JN7T3&UbR|y)l;e0{C7Ag zNSKNHTo4Jp#g36COwk}mRK0|eCruUIm2)3}rjn^iL&qjk`n?1E&qm_QYtV>u~{A0ynkvl0``l>fmD(e~{^V|%wBU6N`4UySgdhCNlO z+gfB>JO=tZ??J)}pYI?-!FLx-D%LBC$Q<-u5Bbe;W%+Hh=UU{ugiw4To@H+>Vwof`^8=Bz zXBVNQtv`B}3fZ@@bly{e#5pupKcs%)EntbAm1V5oaK6_>qtud#XdT9l%dMpGI3T=* zkl65u8c%Lca`5hU-Y&M&fDZ1)yd-4BcD?Hll-3bd!82GNsf)J|Wu9C}75S5R*_uSA zC`sRs?8tD!3K~Dq zuzsOrmk>ZiA|@n2dWY7m>;2SQ_7+|5mQ{EC?dhQ&u1;rW@&SG%B7}gP;X|A-LLi7F zU^4e!RrhpHPbblJe?Q|i-LI=qbzZ#aY%)EVYV7^Q87zxI0QU_xQ#_<$j_*+Wv2# z?SI*w%C*=pu2-+Q=4srr>v^%lh55ZlSat@_6Z_~&tc^l)`EY+cu_av?I7CF`w z=0)DtG@DGxBu@O~Kq56=7+8!r$>)f7k0y{z|8s z(X;J1h$glec>p?%YttK0@DA^S#*-Dh`3bH_7h);#&WQjPx6}mqz=17OK zK!4c*p4$Vu={+9X$D8MqYCOE!$L5(%5<~qH`c{Ou@s>;F=9q)$Lm#2i&FOA8lB6s( zkbOCwedN)}j&wX5rZm~SIPI7CP7+B=*vbL1*3bHaw6SWrc&R@F6R7 zaG`AU>-t))kG}M92gih2PbceZ=R&hB9Md9&FJgsOW*_V8tZBUU&E`1A0BAs$zcjKQ z3CMxK#xXmkMh7c&!b_i2BOR#7^Ky*DdLX|}AaHO@t0awP1&M(-?KP2;AO20^m z1$rQGam+3$av3nd>_Qe^b5@gJOlnz}tY_ifj=Kac3k5nBt{UC2RLjCNJqy2C z{@j3;g+e_GPtIENUs@Js>RIsE-YC(sV9~Mw%|ZA$;On&heEbz(6Grv}A(eIu$Fu<> ztgurGTbX?UWXJ!yKTOzx|75^BIp$+vhZXiqjdrFH$)x#r+&zIX^)WCG%?^0tfE`@T zXq2Q&n0BO!yxhFKn{c)hxTj5E7su?TOi2+pvkN&}E()ml8` zJoKJ0g$m8yf^EJXTXkd2*UL8nUvdkR8h?PTy%pQDbk*YD{Q`KQ;)bT~!gdbbr?n>H zDEu5de5#ROj-5=xqPXMlzC??1>5KZ)NB=j67L}_ns%*}VuW3<}^hH&?^WM9(sA;;Q zn%4bx5-BQMU()%BFC3>OIrJrMDCqfwmXxC}$vUpyLQC@MN}AF3NhbwWpfBq4=MNmC zMa|R~)mQc6m9!|EzNq_eeKkso%2rAW2&kB>+*SEsVQaD@9kwJ87E5N5QaBr4G5cy7 zpG{sp3!9Q1dBbJ|6(rL%UJS38#v195KYr#FY)5wF659~85t&AE!Yc;!)r_sb`34)2 z9ofYO1n^{<$QXFV?6O8~zw>?_I}SZNPrvVYO2^J5Jv)zo)sxh*W6`tIzNl`4j-5Om zJ2$V}woJ#)Og%eY$0iTz*vZkeEk@z=|>R&=6Sn|`etTa?@%$$5E<|TtZ34hD9d*^`3 zM&H+oi%LYl3xhn&II}K*VM_5**OkX%0#_om;EYu`jduenVKzm}HNpH{yjWCwr4o3i zX4}~$%uk*=ExUnbGzLpztCwajiQP-9q`GMB8f*Y#tBY2WhaXlKJw_hv&h6Gpc*5XZ z_0}7g)|;w}ZdPa)E3|i}Xy>PBbAdLZtslkzys3!#pRap_T2rT@|9Hic#oyL{9J92 z%c&PRhp#a=Yr~LJ#Enjk%QmMukxNrf z|xWg})UE_kej5nAg;XR-^O$zDTea@_Z;p*+bsX`W=L6uvaglicwaV7~Y07usvP%o{b#-@0r# zM{<1igF|^BOx-(1_CGxGh~B?E!CqvFFFyLc{mb}Nich7gr@44?x~KVnA5f~i!eA6> zHlY)le;eJ%=s^bAS@^fnk9_LT$B+Z>KwolcWLSJbjemNM4WMm2@GB;6Mt0v&+dPOfBGu(i2mue`%#aMiobG@`hPG;X9M1^Sl5@#@Ek6o8i1Jv9eYkG zx#KEIx7dK1BPWB!`C)YFqR$s&O@GLX)28y`BW`|18}AIZkzo;)QCZ21Q+OO7BP-(? za8Tamq6DdgVuDnGtbp?N@&f$S4*FLW^5QLSdKDq*9lY>SyuqQk)SLaKCRz1lW<)&F z9eDqY8VQ?e!UggCcF;~3zG~`a z=jcquHShdh;_=2H#k_|mAud&BZ!lld$PsLbnFJ3Mrns*AQ4?Gxm)Rx<1N)baC$;jY z&g-?M8qc+8J^nIucIzS9*?&Si`{AD{Ui0#$>0WbLMP9ppsO@rV?;XlNJD~Vy-=hB6 zo0*h z*MmU{R!?EjS=>}2&eO&Ru078?H@!x}W3@Rqk?@4lp{x?I;w|i(C7x3-w%sHIaY>_{ zdW-WfP;c=z>Mbrct-2FiOF4RrQKMQy7du-)T;-vgEaaggbd!xdtPI`cAP#pgR$TEn>L^bY(T(KPFnATTFb%i%U3DeDlDGWc;Eh$l3;HZ+&#^}=hcTc9=T~aCIHV2brFIKi z=zKSxq9csZ1rFR@HljF}Hn3Os{naYclrgRo18jT$Ck!hj*V^+=I z+do?G9-@CV7*qfqAD>po$1>IaU*N6K_KUyVO;<>Sy>x^mH{~kVTsCvwiFC*T`%5~U z-DxeFqX>z#}KJ2rvu)Im<*4 zWq~{K5xx9SL9@|9(Qw#iW&Wqj{6C`QKb*Kb6s+T*N!CqqZl5Z2oa+E#OWir1e*1_1 zdN5gnbp_7tKjMTYayrP<$JrzGKf>2Oc+Co@q?0z!p#2PecMZN%Xp&*FKe5kRwFUK4 z1$Nvi+Mx^?sQ^6_Eh7WBZxK-;7Y9IvjPF-eNc{YriUOHuuoX;hwH4aS@8s>6UW4-v zAy)|MFXXpzAuvBf^IVCa@U@`HggzcLwAA<0+AcrG9Osz90Mivfc4kq-v; zxvQQ`JVa*cBbDiE;(Q-sX}zShrrKlh;SDV94N}?*iOye25n2-D4W=Wnlt!lDOKAI= zRQ2n`F977c;R{TM1I62$IM0WiC!)nn%Kh}6u}`6IU^tXBtHi_ufHL^KQSOy~zB3(V zFdZe7Hm~ZL?gh~L1(yKLSAgb=vnSl7R~xNZ6d7s$xj+-U{mHScX@`ZH#T&8+n z|EF^UF0@w{O(-RCtlmh!p1==7T|c=Ebo0N{QMj5H|LRBk_*~-?^k(wCc!k~i|2ENm z!G-djtPAMwlX>!P|J06<19;%i(*?w{MSYN(k9bK4N(_%_Wrp2`&u!uOq5 z4#Izxo3f>n+y@OeJ`(tT!nB(vLf$Y8(9}!tS{< z4$gJXipSP18&hx>XJSKkHniNrhSu2F5bIz=^Iavvv7q=431$+N9$RLPMjkH=n3!ns z4*(fo?~LM%8n~z z1BqrJNM#rs=xIjUet0?P&m$RbB^i!$p0LFRR(uBeE$oRSO)R#jCl2`yV18$r*q+Kg zm>&RGsLhW6>V}s}eqoYdk@Hi`@1Q02dCzA^5`~9-klh8$?hF(AymB{Y7l}&uYqN_W zZ6~}`vO|kBdgOj*%ob&>J%dCfF>6mB3ho@FvsQLo0U}Byu`1;>*dwDytj-9e8P#(Z zQO8F0oWdkuLy}RIdr6Y7v4-U&7`-AIA$7%$>G=|Y#l{dpRGx(-V=DKMBqy-m{eF_f z&(NA^f+XX5x{&!8{9=-?Aj!DOPe_uZ*c#*{Wek;d%myu>S<@7t5tvCMAW5(hC`qar zD$b}4>UTh`XsBZ|)-ebTu?H0Tt%N?{4BMdo5^6<49h$KYk^Tg!E=nIJvRX(Q>HXTO zf?6_TEn$KKq(aJQg)rZxLTDO{n)aE00ZW^3Bqj8lZ z*0&laE~t(cMT9faBWq6qZ->izwUdlTZ!%aO8+ zP_~(gUh=f~;>F_3iEP$tNA$42w_BW+jYMA%qGq$F!`D+RPMg4H-IEtR%=aD_b8o=! z$H@0VGtq0FCf~_oG55!8*3Di5M0EI&=m;S?V@6!XqQk>x-8RVxoCecmLrkbQHE{ff za8N=xgV#Xfj35ySH4q7@;CMrDsGT+7f+K({Gp;$%?iz&m86nhwTVe!GgQ?sQ6B#{J zJijN}+pxYsN~nodSWndv+Dv3bP+N(hQW&4DC&UIYaj;ThZo+u@I*>jvEW3QYY}R|2 zX-4(IIOl8Om@j<$*sM2SLW*>Zz7CE#=KBc1;nZJ;3ye$Vh;J{Tc@;nEfRN$ScY$LL z`67S;M-HR@g{}qPX^uJU>jwnUOaw$CNX4jFS`4t@*sNlCe>f~%nOMlEt^zum2}p$! z&xE2P_|gCYF&0$raRk$IudyUl5Edo_glcA}a4_1E4vuPrsF)m#K_#gMii!`1%Z#c@ zSuZM7Jo%UbHD%hUcqe7zRWVM+5hv3M0@%VH`#_pn{J_&;?*Y&NSs9)cLkZvuG5cAq z2t0c{P4<%j9-wnbp0cGt2*QBoebFKOi*8$lY|XwMi<1h2|+)?3XZ2qVm-8P+3+BZ>$W+j|6Qv`|`Vo{u1m_cK+5 zYS7CHqNJvg+#@k#KTOTqKqy_A>O!^sRc&!}C~bkJoT@D1!zqg|4HTlmltNXFXq)Oa zJuz=pwP-PCsztPYRegxzfHU>9Mg1LmV?v*pi zq|h$x#1j6Wvn!8}s=oGOW|o#n2{4SCHUlbgBA z_xC;L{(k44^PBrSrzVnIOY|kdk91i&$rR`qyvc5s-XsP>2In~5%9BJBW$=v?tUO2z zqzwM?AZz~^11*DtJk&Y_&;l`ouk2~VR~}{UE1M!~gPd8G9y0}c21%z{`pOsx8br;u z5*4kBLD1<|f?^m`~P=RJ#bQ87TLawTF*LAt-E#*45Qy1%4OR>;})a5yEvv^3N{nv#0 zv87Pj6p${?CEHCNkJoG#j}X)3kuH;~WzfJgOS(|qEWCjO=R&$r@s@$Yxhh?#gq9C| zboq3721QsrKfpHWLJe*C%-5#6ba6ZpH+d?KVz<;dE7pdim!(adwc+kfCFsY_9dEUhq1|pF&vDH#4Ad7PSr0Yqgp0 zHe}yVx&%M14dLsl7eRD+bJ34k3}STQco6$nRB=4;1;+zh&qrALx)%&%`bR52UU%rU zQGMxVqxzcFe1>U?S+`U!3tyMqGTl^lv+{MpC(~_Jyrr*OrHhqd;p>7orpq(P+SmQb zAk|PSUsv zQ4c{FfS(`58{#4Hh*+I2p2+;ujmGC2!eM!@_iVVa;iUEhsg_j=^GoB~rvfifDZXNJ zuAGE#FhzWiZ>KngU6oG!4f*0{!kyK#og?m=>x!znGPmPw=h6P-JEz-bJ98@TsJcAY zHvzs>U0$9HpA;9Iam#F{$F^^_^F|}=+36gyx5@^4A9UgFLrzci_prMPcJH(~JvF=G z(2PVpbQ}(av@77y=d+#X_Q2uUgYa+z9R886^z7cNUVRKs*$)S}CC~29)N4<`fx}u` zp4~_AiU@2E4xH3l^6Wl^S460-HE$!LwKgLD<2E8&Ya_C?HX>VVBl16PBdWDFqFQSs z$_hV9!)46sWVp*IE?!7>&{=ZfdN|D8;>vR9CnLH;m*MmjN?G6*mk8hG zCnjt4#RSnFi)Tu4e~2l8&9J$&@nz#ijC*w_Zic-En_}PRBN1g3y%GTzEQOs)eF?%F zNq9l~f35W4J75KPX)yLT%S&wXk&hZ^;Z3|C`o_`zxM_Si1r96klMPm1jn36xjn36x zjn1XF&G6mWTo1H;q6?8dNgLmuE<|=ElPw{#zaX;1RkDx3PI-Qok!Mvg@tlE2yhtz@ z``)q=o62(l^Bl9YT?A8NiC`*ieD}l>!TC%uj|i5GFcF-DH0mZ92_`YYOgyssLn7GK zK(H4R9MC?3TRRiM3flPI?o0$9Wr8z_;MZOg!O=*=Z6a9wM>6V!DJ>lnF&rIf@x-g{gFo5eMW*OR}jIzc;rDQxNnJ0@M;wijA>!?hp^a~egLuX<&+f!?nwjT!(472wz{vB$a^iW8h{Pr%&za>q&#la}mU(t+ zAI~!#iD!s5zWp7E=k+S$d7}z>zI!k7^r$=!!_G4K>O>>aOeT7ei5_1FL_hjKC;BE6 z-M~aE7PgD%Z<*+$Omrd>{hEn>Lqt2=Yf@+hD)fF6&o`D4&n?VzfeY6+8+bm$JpaLm zv*B<%I_TjJ#PbMkeA_z^&%Mm^6XH2zn2G0Fb{d9%*zo5uDBhpTi@y?-Rj327-?<-$-!N5+b+~j|^mjrMKt=r!v9E+DGs~COC}=rZB-5 znBa>?g98mq<| z3Dz$nf|Kz`fC;`4qZ7Q72-*kh1pglk)sSEg5VXHf_cnGtZQ@?0TWtSZ5I3>U2a(`v zx0+#L0eqLwj6-g>ah`;@S$L*o4>HO#jIw}Hau{VEp-j@i4VF-Tt%prOaSSw?fyOXUG6UVoKz9+)_CYG0NTd^ILOJ&|p~N#v zPezGkl&e&qHTK%mh_X~eIR@Y5eHliS8bj2ArOem)$LWyCNSVp-JMJVT}&TZ^@2~qxAL#aiS zQ)xz&j~V536rnWGCa#uIY8YiVp-dd0>i1s~>GvfQ&U1{jg>kkr&RWKKm2qApoG6XW zACb)iCX~5&CY9zYlSd|>4L3gcU2BWv@wN3qTK&b-dVOUi4Ih{|$PDaWC%s-pspN8RBJcSQ!4{;A7wAI)%oo#AfE zaEIMBYMmA=m%N4&98%Gh0;PbmuwsWmh1RfKG`_Io4{u8sPx!@a0dcdodXLsDO5C1! zD1fD*jf-E!Z2_^?FV^Whj--pBO!13MaeJm%jkUOxBbX#R8<98C7ph-{OP;;woxuaq zO7TyE?zRmZeA!d_JBAmDJvj8nUqr+NE%-{J!xD@>5`-j zxB_f@%%4&A)m)jYI#G}!!?n1|kTK`EXyE{@dA#9VOb9pOrKo{yv#B4i}hZU>&U-UP^(PH)sWVKuwXFjY?Xls14QE_>xi>yxzuzzpE)_ zM`=+Mm+HnQGQCf&hOc?i?z#{>KZ*+Bi(h)N3{Mej&&$ zN%!EmyE`ByjSfgpj&=mZqjG$TQcQ8CBU4OsWr|P4`$g!u(W9Z`jCPRbwFUE8bPtR- zO1%q>y{?DDincRLYVvRM7k`ARw&nMLug;bIsQxAIa+dT~)F-Iw%R=?Vq59S->Kljo zF`DUboLPU4o9b^}3;i{H2>L5+YD0hHTG!viJ}vcEKl-Nn3*f3R?5*N)z5h~&VJ)VL z2k55x#fw@;uA?>Dc#)!=M^HOGRI7mJkLUcQ&Ga)~*AFhLk!h7u*D>%}-cmmsTj=ML zji8@7-&*R&FYZ$GGrpyM=7lj^Qn9aZGU>-JjT)XQ%^FVn+33^i>au=jqJI2h^zckE zeK_~80M_n=-jylV>-tF*_Zw}2sG3AplGg9uxDpOe40dx(2*z~ATpBBPL~ypBLd;*i zVFcJ^dHtCtiXP|SI;cXyyKg~9LA)}%EYw2~uY%zF;WT+}sEJbKQ0gAAYo*Ha@gh?? zhV57hPg0ZS9>n^_cyZm^O|-1ONUhi+1QU9of(V5x7c)fYPW3;`FOSz=IMe)Et@Smg z)+s9nCc_Q%sq|NV6^)C^D1&tZy3kI*!n_=cVz~ZLGg{e3T3G+WNbGI{v2Eoe@cI7m zndaBGi&|c}Mh)+w{QBCau-2HQAgRhypO?*_pYo?L(&U=arWJ2;&qPz&uQL~oz5?b4 zSj*0VQ!mb3%gY4Qxjw+k6Ok;&SBhAi$RbLRAbgP~y3jeud--Y@S42-2#M8z(5zIl8 z8zTglP)-5N>^mHD_u}paF{n4jngGwQUkUCC`RSqGhP4&)Kp(s4rL|t0{FgNt7{xtJ zR9wZrlSwpxm)}_h3AtqF2u=$nle%vc#4HEZr@bZ8_*7TjmtWyjeuCS>84u+53QvcN zJYabbMYK5U!XWjmz_Qcfowf*fg_bo7$BX>jFrXdeoDrsF(eYX)3`5oqb(FrMxHi?w zcW&`M2oqneoc!}Z0!7wO`GNRLx7+u#0fqz&`URKC^_)~{C%D>&9!nz2yw zd|=;OkRBvIkynb_Hw^LUofpPPp`5V>eMtd0XFEtz7YZ7nI_X5SR+V{E;!qg>r&(q` zHUVz`sk@N2Q;<5#UXLR3L=ZU=^Xp(f8yIN-t*j>(!qqS!j$DF~Qp<@Qg7&+5({lJt zUD9oG_m7%zWv-KVt;StZA2pdq(dP-KQM7~0BkvWYu?|d+)7lzg^uOn5{&!KdHpJ9g z+Q~|#aC}D-TrMX&QHkW8)A$2>eGgn#IyGq~f7{V(EiQC)$@iir zx1?oEnd%?sPow(OgY%PSuUOU5HkubTzhm%z%hBexrDXA_F9vgkj5nqw!QJy?bfAa8v-4+xVftYp z8>Ux`rafq%o(V(p;`20VbDqqMqu4ht5k$|w6?-hxVn-~LAP0xBg|bDkg;I|2a0P26 z=D6sNrYRPyTCrGExSVa#MzlC}jC!j4+(LudQtM)(2=dWEY`N+! zEmyrF?N>@ykQEzHtyr#0%6D$Gb<6cY6R2s>DIUdiGFh%(KhrH&?$8#NtKNv-!g77p zTeDmhd^65{%a*I--y6dE^=q`y(NN;OEz6~3XuLjvE!Qhbha{DiK5u2bGWC=*n(?}E z2N*B!NfvvfX1spUTM>J3nY?(2LG0$%i<658;ZFrI53E-!BLv^XvNdi8ml*xPnQ;Az z9j*w)%#G|xHf?_guxSH7Xli9G{7*fs*TR=Ij=b7-{=F&sTOheEw1_yLsuU)2an@2S zS0TAd>hj|``5@LT<@`ObYgq?VTuP#`LEy@4?|wEMdexlYFPZSE@`VJ}YX-2r589hT zc?aUl7ivCD}I;)Gxx zrYTh7G<;tsG1Qxjy$9`=dti>rJ#yFMO_W3-MFGf#2TxhZsis;>FO81J-st^dsXGAo zAmH6Te_}w23`i3aAwY`zXPQT=UlT zFhf#(AsCi&0sfgc)a+MQ#+jao-&-bXr2F@TUVBchEC+)oAPEj0Mk57jz9S%|ftqR| z(2*OS`X-DMQyr9QX_OK|8XHe$O`4F*nQtX9QBrOq$eJvFfLHLz8bRg#2Q$kjo83uM z{Z*wlo|FY-kQb=^Q@?l#YrtZ_^SOMVMKgv`^lmrnQ51UN=Hn+`d$$AtJ+km7-GIba zTJg8m%KMi7hgM(tO!NB6%EJsEzIW>tm3gPT#$D&WV3^PgxhU9B>)#6D%77B*1XMqd zQ>)?|U_dh)=hU#inRk!#nV%`~CWQ70)i`NZ=r3OEh{pc!ETI5BToLf@nm;Lk1sySd zR1N6TCpGhs5e~eP>x!AWk9xZK;Nz$y!OPS&q za_oS!;Y_hFPep_#iPI}DHRALrRyp?`L;|%+o-u{Mwa0*pSB^3Xc?(hrm1@?O}+&ikQi>{myE!u)<^xGx_NxF)6PgCL3TQ zpUjF-syR`b(4gJ@CPe!G^Grjy*k|vd+3*~ia0qpmrw};oKwlE~@heh_--M64bt&mK zy@xi-F@0Ot7NZ9HU*pkhZ9m_pne%rSUyjbVg8>Ugqp3jexgR~WZv=w&9b40EfnaRa zR!oSwj|yk@x^x1by*~sZY@CtXnAO{2ct7rHB`wXoaBKBr0EQ3}1@G}C;M3k8#@g9^ zu7(`$ieGQ{2eZJM)-CbT48#$%{ty-%D)@u5yj$0F&+fc0b33Jqb?KNC>9h3Ul&z^n zS9&h!QoIfG@1}Y_%iDq|Ldk`K;YFSS;HY~qF6)Ikd-_}yg1-q1-XjHZ&hmgWTy%Lr zUNoLd4vG5wgb^p-i+|kkr>r@D=<>1PEgXPgp)@8ElQj9zH(uI3C~U>+i!S$EU=Iq3 zp(EfLg%0er*JD_*y*2q!bl?;MzihV<-UIdr1Rn(^ZpmG&ud4}T(3J>TW+CgQ@bN-DDB9AAm~8NHt`>!j=ob#Sh!be6-@pc?Zt!MH2q=f4zb zk>4BassoE!iHAd7m3v-@cLUR^?}4Ms`lxBu^UpxoYW>+mO;j&gz1Bg)KX;-} zaagI)M#*QPH`dDi|JJ0J?oyt!SXdOVOXl3*LAwK)MoA4}c6EaGX%{j7^HXdnl2t=7 zhz*7JHf1bNW&0_FsKik=IxzVASn}C0?aoAZEREc;fM~-Iz*){yBq^o25%~M~mt;dG zY$h8r5jOPuFc>svIsb07vMxVCe(G5kI7^w5M+dAc1aXc~e@wnLic30YEA^acHnVt} zi%nd(MoAvdS#y^y)^t2akRrkTaL9e9{Y3DT{moM*KirFN^#|m-gYNCWkMvLzS=9d@ zmQK^d%Y$~R*w^<~)J8{g;X>U6$ssTLCFdRgKia+oKC0?!d}bgaEOCZSgGh-OC0Lh) zMKUZh0~2@yFB+BBD6~y0V(cevgbBooW^g8u=lF1{Xi=$J#qXm^Ew)I*q9%aZa7hBP z7?%hNZx~~PN(hN&{`Z`7?|W~OP_6&AzsgMByt|!y?zv|_`Dot*9fl)vJK!H{a_|>l77%$Dl&s{z7CVfhg?ZO{nSZ++yUe;;prW-EJO<*`hd|w$SDx4Eke@n z^8e0iDY^v#25`I{)!qKA%ZsvceLH`0I;ORaq>I%BB0chA`vBZbKC>{)%UW|h7Hk5e zD~V)E{dOxc@fk#Ig;3G$vFXq5x5Z}zdR8Pjb*}uX>xsV_Z|F~(IV;u5>AwP}R(dE|dZtwvsD7_*ZtYqG$}5TSmz$F-Y0=!CCCTV#juykX@tWbVZ%A zUvORz448=i35@_B#$;7sf0DWsEh)&3d6ktJ>`Wax4_P9?mqk;&p=lY~m^2_P^e6}F zet>mlP)1}IXp*YQcxWM|$1c)mRFl5LVlm}i1xldZTu(bD(&pB1ZAd*=ltC+3u&wAK znj&&-Ksp6nA`)t^KqS-^oHdftiS^@dJRQ>od)8-#&O@?4YI@6attOnfoG45oWEX}8 z+N*c4BVak#@U`D!Is1$ajKP{$3Jli9WStBZMw7LJV~7S7lGYsMWJ&1%eRu^F>sy3d zzm4#j?N2+E!DjcKEihe9=9-PUN!p*r0A(6Ul^wJ?@T0?Xyx*6;=d>c zzBv3{^%X#WovQ1vk0k0OE|2T2Ay^S8Oof#+g5{jbJ!|C|%DGz7ZzY8lq(q6%fG4?F zbbfb=?gJ4+DQ>+`sOFn2P5 zJ2Du>nV5#ztl2kT8l|(wuc&=rd?zkj^jxWV`^#QUf4Me<(nBX-xzSU^GETO(-d5 zkeIT>%B>V;C?M5sH`f5gqtJ3c9);C?C*o?wRf$@3*559-WhVyMsPr4%73@r$zTs=Q zrHaOd*=y2V#uVJI$|!PZjX(Y3u5~JsP(YxU8n@j{Pn1zYm*j(t7szggfU=Wgn!X4r@DS zplxJ6JQM~5!5J}e`I(uPof&*bHS>;MlKXXx{L^Stmq~0>*WOQ?n!)qyK4Ype^JS80 zQvn7A9A*$m4x6k~oYdY99UQWjxI@O@56yHKn|y1EvB~2B53=wvXrM{$!8W{hGi~_( z_zhpR8(qfKb>=-EFSdNCzT-=O(1vH3Hr#J9Z8+^d+i*Fwk?;N@xFzPNrOH?&1xvjgD7RUS9Knbh6+KX+f^U5mhnU%30-ptRiL@{`{{@& zC+AEx7$IQ-QxksG%+7u)$CL^)rku?&oqc&WLz6pJ5}MHK$zz*MXMbO!2~9X-&2h$* z-dH9rCNj{d%FG9^!2<2=E|QP4fLytFN@MiC^YQvG=$#XJvz_0naK>A^#QnL~@V_jJ zyC(?=N$VOND8(vu_=EoR1F-Lgrq#f0=faI&quJmi`RyY?_A&e&{CEZokkMpspd!l~ z+eh+QPHB^U?H>^FHX_N)7MEeRaT#VCmmz#j$FJ#tFhF?2InDz`FUq0K)IKv79qNr$ z8@CnBDaU!ju71GygL$Eq-?D%Do+bX#+3suT{%+)!7({lW{J7SR0;@nBUIK!hCc^AB zg}C--it*!NFraJc5wZmfuGnuTdZ8!7`09h}@#BFqXwjxoiyGddIIhJ5E`0S#i5lki z<;aEd=g2Rpso?z!;|I&9HU%_T9{b3QX(w7@an)K1;)koJ;SN*NW-*+$g*V$`F}vdG zL$%WT?KG5zLoxZR#bg*~jq>8hdX~o8L~Xa|V|h-+;>_8(@ncoc`!zIHIW5b<+lcDu z65Yzqis=^Z>tZ@`1MtWVKX}vyZaUB-?GktdTy53O;(kufipea#{CuuBHq7G1hFLrX zexj|*Wn5NaIvXg93b+lQc@PH5&Cn~SE4i+~^fxW~NQHc)0vc%$AF0q7slXUXGVHXu z?CcjprKf^EG?HT{j+76t&<^Dm2Bt4CM#|?S<vKcr;66zDonsZ-e1|Lm4HiLHTnScku-ObbJ&YASvyO!%@bf zRzV4R!O1IM!UIkanEc@YPfjLefze?Ir^jVhZe!y1qbi)t#2VwmeVyoE!e0&m;Y)rQ zKORT=*G~#mGx}GT!(=?4tdhQkU9OX}$?CrXh#p$~R{+h!s`4v<2&;9n*lTnYN~<$I#zTS^i_z}CUl<+api{|Xzhb1wjDnnv_R82 ziMUTiX$CXHIWC=fp^@4C%!b+=%2%dIng0xnA8_Ob~y0kkred1Hz)T8k9sCot>kP9T85is?~S- zZuxvs+7@CiMi|azHF0h`L7_K#cLuOlM>3nVH(zgoxD39xnN87@>y$+`+I5Pjrj^R( z#VRDFPF5;`*~I;K*4WqnZy#>R)vG{ATz4s)Z3fkm>Luh(mqNE>gtg8Ypg(M~2M^lF zqcfMZNow*FFU{hY(d37Z!v?OrP}f}*+qd}!#KJCr*Uwz`$Eu=(j9)U_T){Tq#bi3< z!)T{Be9L-hvzI=GH0B7}U3fXuV$?kC(_Z;&XAG#W4E@ZDnhr>S(?239pl?-cXFTIb8vo3TF0v6GE zgo>aRg6)HS2p#9O*G{!)BVH%-HuWQ`gBHwH=GU|brpL~%A-(1z#!)V0=r=bspY0L* zr&SBuLA%L*$WbliM#${3gfQ(-%VFNy`JpfZW6+lbk4GX4XRpFKFX{BHT|l+HKeu{ zT4>;?VU+cxdllL;^KPE_4bIj7HO+Os*;@fE;ia`cb~^4(qWk3?y||ZtfAK3?O{m|% z#D`AeKg-rwICT`wo-OTSy3V`&;?opP<@rMW4)(dJr@4Patdi`V&N?`(K6Y5A5UE0C zqC@-3KseSLxzXa19A#dTSDfrUT^zyI^LyB@8z{E@4`SQ(r+PUsYQh`$vomm^`3!Ju z1N+0yYfT7u-eiVwpFMCc9C_;7 z@Akh~VfaU(EgB53VVzy5@}xPg(!N^qS4~x-=F z%ld)IKYiH(NgehGRPvMhpbtq=KMFj$T(ZB`C{CxZ(S3Fxb#=qhY=-GM%!Y2A8_4y_P%U6)b}0m zJnFX-$NntG{#u2Xd>wM^o=SEy`@z2JV|$eb@0n&A9!lfNN?mjdC`yWf1pCdahRSIS zVW$0a0)~AyXg6*nlCYjD&(w+AuzF#irEK|a=H(ysR#(6jymn7LEx)pt<<|f)VCQTm zUY>bu-9tTPa-WztRwIKk^a$5~RIDt#ULE9O|1t8hkI@w`6G8TW0fpsqM%2m|zvER- z1&){GfWM(TQ0tHOaVw|Lk@EdzFJok=2Ld}y2fyHp36Q^}1^pHZJd8O=noN)My8FST#btf}HM*Rwob!gb(a1Lzv>$u_x4CwEBtM_uCf8Y)5>9*m@A@7-E zV$We|9e|UC6uPSZJQh7KyKIq-Eu5{cAxAmMxYU*E^=jGz_TOztOFzj`-t+E1No)Qz z=i;L|$^m!aXvtzWktSI7TWs0c$^lvZsa1A1F8eD+wtC7IrOlRsBI`?E(!!Qr@M=r^ z5-|Xe!Vl%pU1^dR>T%YgwJh>Wl!f*g_fc7|w80l`>FJ&Y@q15ww||y>byJ*wf+x)d zGy%8^FmzQjI$+^-K^@w>ymk^6Hdu6@f*Tx?dMj|LD}M=&BJ62HJ1n3fBK2>8FO?CS z{;jY6ElL08(7&a^x5{IQ42^50>fQVl*GcN25t8b)qBBRJG7(>96sY`CFYU5)=A_in zfdOLm8sITi2?NwbghIK=*FL&X_qqoTnA@>MBptjN9U;C6%o-YH zn04OYTVhq7J~4~9L&AGJW$bT^p9Gek9r{zi5-Gi2N$xvU~>e!J9{KnlYMdm_rIF@x0V>WLSV;{EATv^m%q3twF~;4qedOX7iulN zy93&~gnVgVz0SaY6tD8NMM=EAUujcO64xtd=zd^X;6p~9VoyaF+#i1hn3y{78pNwo zsidH02GI<(C38P0+JTSAMV7~(^e6kW3tFb*eToM?us65oDPMb{C)YV8_OA{&-v3wY z`Tf9HfdK@W71}SqiN;XWLk2uuyMfM2$~pWhhn(mgkkJiqeTV(KUDw}-3=!MU_4Z+5 z0pa?5)Z;fw&W8K*?b{{}4Rn>1BuKH{(I1Q8tp+XW;uduIfF{5>z7J<1%+1}<-lNX0 zcL&=0FE0-Vx~}s5O$sG^S_1d^sL$YI)m}epCBnQ*H97G~AxeK$9?7UHY%N z{8x$pDyc!P72Tk_j%2(6Dq<~oQ#bn5? zPU_Y-{HlF^0}{)Xpw7Gj`pi$KKASDPAJCqOKHDuupZU6ZRDePy1&+3!`n3PC60{3{ z#l2)b=kcB^M9=l6o)7Ci10SZ4{yZ$E3mjRcq>>#^%bEvuN%=y6%_oyDo$m#6uxP38 zGvMR4r(*om=9U=$4t+o~&3BffkH&)Jlq({W7KbCGZcIqK5ApZX`%L)D9w*b|^SV85 zTZxa)tc-vBF+FaMe+&eR9Mr3Y+m`lOyJXQsV47yTpXo8 zJ#aiG6sY`AtW1-tNUS1+-@>82NxwFaAlf1n=|%0yTtwi~n@}c67)fimD1Hs=I2{4u z6(Yp?YHLJz>#g6mn8I7RTGDUrjfuMYXixI`J>s|Qs~_xsf0(b0i5y()LNKn4MaL$P zeQd!?Kj7-n-t6;l+!}eG^jwyQ-x@UkNk;u!bVJQE=HC=8A#dQ)+9L2Yk2bHdfMaEJ zx~|9sIpqL*Z1SHjJu2?+dtYoJ*5e)cg@QYv30qnQAOw0vXMykZDI2XRSNEMpD{%&B zs|MS*`3A>aZB_oFL>xVjCYRY3to2p!TngT-;cMRXRx6BeiZ&-hdC=sX>8cpNf%$TI30xtXyMoX?}M)~ zW_Om*4<;B2=B-4)DvWeP?j6HnEqx$(z`5JL_KQI@(iR?^^ekt3Q}|56JoydPZQpiL zqNi+On#jMw}EAl0Nkfk=4!kSB~>@->AsKWHPCvABMs|`5VxV z%=EN4Z>$=u=NZ`e8+$QaXp*z4JXgoALj83uDCKs==zrE6XS03v zHnRK`T>$=VcTBNpeHWaFiNR1Ew2NDw=P<1K1w)$aQ)H!@@vl=$+EMH$f5BTF6!@EV z4Dj3`hi**L?rCo!+u=4}=lhr{(W!=6gJ8PF^3;siQfo{je z))TEA!4?TopMzf@1yK#IZ#QHd3I(~3;6lS6S{9C;+($@;s_#d5{K}GVsgDY71<2wP ztKol(iRM}jCzD7gShdRE7B?a)xDw!35~B%Pl5&Uu_F}aOU z3&NMo7N{jX-wWYWs3B+vuF`!cN*i|o+vP3?R@iILu7^{PN{?}ep#K!&b$I|k?cd2a zzhnO{?)M+szXIX9s_)-b@6-NW_FQlKXAv3GzSsUe(D4IM-C-p`5K)>DXadQhz25Ki`Og!+2*&w8!q5ModIL(UFmik^pe#B2Ly($h=7G2tCQ<7Y)wo*oto%xyDF|>j zSU>iQiz(ti1I#_#eJj|dHit1%U&)~4sdjJg2M~Tt>FpN$(Fbev^cTxcwV2aiFn%%3 z6*yi3s_{XfC$oUY%Mu+fT;xbS$h~Im8-i(NCPzXv{s?DQ{H*7K9lWL8aeF&TN3O-; zw%vZ;Bpm`g#SUGd;HE=ihcZ7(LcEGB>|?wPo*$*Q?;;Kx`}`ZkLA}YQ`?fk8mQC0F zZ}oe!1_FinC3)l^qZtRD2JlsKWs218MjSEzDjgd*VF5JC;Q9)XvU5q8E)W8Au}Spz z>!QC%yTtv<2&T|R8#<*ursvTttth%lPa6_Ao3PXlzyT0qJV$h_AWpn81RR4Qu#DuV zN!kceN7c4zzq#|Ss+oPSjl7Ec1A59lhA>i!eH#cJbbcovY>(-~IrptdMlfu}5x|JK zLAO8W@?9ie81;Yef&TB0<`gC9o|VgC<<}E&F~oE5MZsT)UL1}Tn-Bq*EBjMe0Qt0<%q=_2Fe+ zStm3bctk?8%)>G#{p|pdnI`SU4Ybx2-Vu?Ty+9dK^>B%v<(i~WPfXFjg) zqCaSwNnrpnrCQB^mYCLOAf~*!X#WIA4>RedSr*NKE+Ps2>CqVW2;%S1ks;yhMtqnI z?`ibt6MEF~B75{6J$i>8oq$KX>CsMlbO0Xxl^$)PN0sbRSbK_|t)pjuf!E6D(JFfM zBs?nmP0!3VT)*DXQ#o*lkq(#i13x$7vkP@k0b)kMB%sc-k}W|^kPm>KOMBr7^2x~u z{ZRp?9E6m$*%+=4xi1X;mi^nJo5)--g|&JjMi#I(Oic61o3A zH>0%n(ieFq476Cd?4vQbr1W}>OX$qCt2+@H4@;GuGk}^IOsUf7J)_Ci-BM*of;8@Z zkj18h<{_8O1C6&ra}i>@r&aOkqhERfm?>Q{u10wmx&J8Rij^a*=-UrjVGHyEGuuaq^8_--xnI{TFJ5fOg z#?RAnT7C(KEqkuMoVMj2`hpcb(P7cY2~_;kUi{*KABH*7YaH zjrcl?jp$#hjmQ~PW}7zDzUC1&u8Sr%=~JaPjWMs6SnMxYxAgMym8<~<1K zu4Y||M$?8B{RC4Pjf6XLi`A4%3{*StAo?TL^Of)7@tXZOSwL`cVp>Wa4|tAz&|X}1sjW!;Y%0$(pL&pcA*LP zq!j3ItQZMb3UET%_QB3<^f*(=<`VT{C=(~r^;~0+Zlm~=cZB!Cy2oh7hdEWRx0+@i zq6V35F!`IwD}K+=EVQpQc?pbz35+kDap_=m9q0~5Nge*HK#_3!wt87jxMgNG zliP>Y!_!vk{MiDxW#>r209sA{W1nAWa_5=B=AhlmCqS6D_flbDz>Qfnr{L}&bI@-Rv4u2iQepM{#=KdGESDlUZv#*Be zy&P4t%8cFzZiMg^kFqFjHb#Go@Hi3QZzX#H<}dID&N@mihv4u_!ONZV*rw)0Fs4fNTNXsAs3w@8+inF)G-*o`Up=wXd}Vy zun_1xUgdoVEzcH*IlD}@#Uk^;i$~exQQp;l7i{g(6kC9o3vU!jL#sZ!7Ao1&Yd-8w zQb99aXRd2EOTKE!YuV*4m#h+p?M#H$~48=|ZiyF+1h zOAI_Ede|KfwV%_51@~vZ9-sccVV_UoVsJV?l^Oh$nyn3N$F@T#skVGo2V9cpv*ktK zo@CK3^H5SzkYl1#+0)a>Y|#!6EqVkk`X6(NlB%Otyn|#Emz;u(wpWqA)MQBSLwZ+> zJvg8bH(+z?A$X>Ud8iB13b$vX{oW5Vu?PQb<5d+JqZuF`ZQ-GNkXIQa_pm$-e1p`L zOH)AN178AkkP&|Qxw@x!fQ`oHu+bWy<^t_6&D=Gn5Dd=n3&G@9Y$l7tFqhmubkS@v zdu+o$DX;*FEg-o@Q}3baL#{cqKauWaROLyVV=*@ibMyBcGP-VFO&u(^SwuPuq4O8H zN=Q`FcDGTGO&-wTO&CAt0=Z$hw`zjL&^U<{+F%9;O+{Gb)#v^^xw>CcneLZVX7Wqw zymt!2kG0VAu%{%rhSeJn2d3Xvw+8(u?7^S&%(U%>)(`E9>qLz6_IszG*v28K-3b@6 zuGvO|;yPW;RS-F^iyR0Y7(636yp&}$C*<%tk1SgtLm*78o*(bW6D`_dm53Wj=U_g5 zvzD6?$7>@$ZZYQ<)w3}3{2&gD3)_u$OE2UcRVOa+D)YZ=^(vk(+XK_@g`VueD;VqQ z4bA^j)AoG?{SAbe1N46yLb*i_3}6T3pRTwA^7tHaKz_Qf`vJkU8R8Gb4$!bbPU5*q z;M3m#sB7WO)+R1elgCAZM==E}Sj^nd7lVoWxg5A3H=9yeTi}X|R!CAz?(=WdQCcFn zu=L3Q{|k#5!yAt0VGe~e`C^p1?u&u-_lNb*peC8rB&|R+`Dt%W{?tE9#K*HXS5TXY z*NQe{dba6R{@vYE&^XZ%=O1{Oh~wji|NgW5Xow`#DV#WBqTSw3IxqnD0P(rU1^?t? zGW73wgLltpn@cMyqGSCeO1c!zj{J!|IDtFgr0aAsgAs|b7IO#bFy7eAn5I5J{jA2D zR0f|6JV4ywo&nNamJ#2wPS4k{-eRl_d}3VYT+pz9yD0!4zClDFl=&JA^|TyIVLf-l z`%81-TP|mnpXK>$)P%$R*xr9NJPXQ~ zHywZmZpG_-fS5(sL4KnI*4w93skhP8+n(Q_qqk|j_Ev?*#Ww!3j@f(UigOIK|IKa#0Wksn-fP0E_?6x=0TFzkwwUT4>oFKSK{5MND}qa~G*&^75ZzQElLRIToaKpzq5|Qc_zO$bw-)wjP6FolToXz9)FKMs!B#Rlb z-s77%eeCKbypz~uzofoglO9FT`q#k{Zp(Y z*=*tL5hfh}!)??ko0H01omA$Td(TC|P5bk5dRyi9d@jTZ=7D2=zQ}A2>TGiU*vu&- zBr#&3C}12Vy)VgxZY!f=EQHm$k{qyhT97U!KJ}ES5s+ z$(Oi{7};`OFho1`_*tV81bIF~GBtpLwG7|yuH1&5tRUwma{)H(SJFz*=CA=a1Qr8AG8#WltQB> zJRdatn3M)>==jgzf|vyMkJx03wr5h@A^7xDLxN7PFeGS+JBV^-STDhV=~YF-NSSz^ zc3z*u%_NpZ*gbd7=G07xzLa5wi@x_RC2H}K)s)dkyrhoWFp%NEKYl^)+!+7cvopq9 zgtM^rD1YayIWth;9)|_fTBrD(7GHmf;<};(%B>c?zDWh?MSvLMWbbFJW5T7kPvQFM zrzTRN5po8B%(B#XV0!Z|5OR{V5sfWWUj(>%R5GXuFU+58lu2TLPwHYI&z%^@(Kj!e zse}C0*L#3mO|U?tk-X96)ad_GjYj_78twa*H99_l8eL3{9@}JW?!4X_Jr0dtnGh#E z-95!M=Qecs|AKH4g-Ei0KcPa0l%Gy1(Oc0)$w~c z$BQj-aX!2pBL(5k7g-joxm&))$oW~8AytS(rNL~Pq#`8u$qDEi;&S><9 zUFQJgH~~liV-&y`Q~``TaCwt{s{$A!Pg+cOebLQQpflA6bl}-eHtf#KII4f|9%IZ!&GQdATVEK%{O^RFm_0Zw3GvkEN`dbWyeRti zL%5_ro0o)(+26s&{vsnTKil~?8e`wobL`OYYchitV>cNM&pC4@ZhP-rofWsjB```E zA7u;|nYS7sYuRy*724xg7~R?gT}pihirIWP!nyi|G50Q%bdr#UL;e^l#xa22Qb+wdf!!FTx8O_tD826({?6Pa z@lrN>iN}|)Hv_F!2FFsW7)ozC#G50byK8PCveByNAP(KcWP;!E+hwSKis^PqAlInU ziu+eU1s46SVR3II(){7ITr6bwoxP1?uQ`m@hWnxZUoS6~I3cm&naN~-X}Xe-HI0yU zV7-B?uJT@JQK)0QFpKHWRrN3M(`^z&{tIy&=@UOJk|8bSPEe6#jjjAj)*n_-}- z_E*mGL4DDYZQmn)9u!+C+h3~is)bf2&P(>}8VHXLwD-R+S8{sN(n|(-l?o$ztz-F>BqIl^&Pr!KvTqwUh1BScC+*uB14pgV$IxL? zuS|63+dX|zw5>0nBYwH5>wCcO*Czc%w={%Rp0v?;iDv01u%;lM{&a8+zsmw?aptFG zffRWGwPC;>t=;?+IzG?nFBbLZ!O79NyoJrDKbmYPPpFSkZIi~M+?%Rx#;$yqL90~h zbsi*8B00ZYF$DDWqa|fOqOVX>?EIST>A}n6v>^xl1`4NXh(Z~PI&aYbEWr&KPn8Tp<1yBF ztUJ)^ciXpB7~xgGLuJJd0$=qQA5cyB5lqj?r*|1mZ|kR~>HYEVVtS?kq~2nNw!Ui^laAXkB|9(5+xG;BRF=-D~ z!u~0K-w?xnhYPfP2BpUV>o3OymO*uc z>A(3KD%nIyF5pk0(V?+%jf&$NIeRo(1C5^JjizwMaP>@cqrTl5^^!#$qwfHI834a5 zZSadNy(U%1OyHm$$N=p?R^(3ej+yGiCiji258I<4tPn?4@thxr5sMJE!^oVemoT>~xi)rxBFtrsM%zQ4a?3`(<+4Y>;4{HJdCqnHMAy)oxlCPk&D# z-!j}93}UR$CLTIQ4xLwi83$ageaiF~$w?F+gyJg>o!kM$RX*D82~%#Qw&)aikaz9pAq zMAYo;U=w2~OPh)=L`ySU*;J@@=RkcSWg)pj&%)_JY6l)Otk;OhVM36#p3N<69-WuOVeaSad&S(J zyxbjgWggw_9e2#Dd@YSTE;~P3mI?Jeuba#!eN0wraehzT6OHM$bMn#i=UuO|S9er4 zck`il+-Et?50_0b^t&RFad{HgL(RK48sl~9K@}L<$W3JLdx7cMBl7xG;&EyxWxTAM zFe>MUYz&Ffm$Cajy5)sl@;mM9{LcCU6}tapia}z^x&KBDH&ND$q~lx%Rc3bmfq&4o z3Z$3qeJtI7f`2lkK!qz-Tl5+H(Jqzy`TvZxY(YJr8N^U%f4Z?Hre}Ci#Y{L+^ZY{R zUk3=n7M%(DpD5^mE{>B>x4sZZ@TJXycCXr7j(qoZil;%7l-7B&OtJ94*q#VK-_3vi&}vTaDSAs7 z^5|qFffzxOFbb>AE)LsEms`z&ndGDa{$J(Mm|ha;;3KBC-Z5B32E zZxFs?hqcc!M7%0Um;3vuMsga!Z_g$1trOYaej=TM5{YA~D7RfS? zhd>$v%L-Zr?Ig04&*|%trGt5$IY{Zk4*8sDp)7JoN;1(>My%33NUgGoTsBsf!^$>8<}!6}|rW zW<$fl^@fHWt$W=<+KgYH(&9^yj_K$FL z^pa4@C*q$~9F$hgL1{Itz~}19Y90m=$t$#+m+dC`$1UU^H7VvKRi)VtX#xLr7HU$n zK}b~7{hWudSTgl{RxjHqCw){6n(dk#`6lLe{jp8D-_<&J%#(xHFno&vw=qNGNRiGn zS$%!PXK#_{S^hQR?H<9E$Jl;}5K{S8{Vvd2wgYd&hP@U?ju(_P92_h;QBn-KP{Sf- zQ4=7n@aSh?ue3u-g1K&gKZjdvRu(*=!|y4uwbk)H-;A5{S_c5Py95OQxxI8u-RrQ+ z{|2ywvpGaUC?hVgA;5E@**tu&bW|hwun@Qan*8qjI?e{%ow<}8d!{laMXa{eOy#jb znMz?ATT^GlLdNt{WmKgYCg9U&LSzYk{{WlF1ZKc@G2QsSjGBa*z~?F*P56DIgD~M| zBl3pT_gjuXtmpaC0`?7Xnm>KM=JI^y;(S%ThVz9Qvzt_7p08}4uX3KREj(XE)GCzV(W5koT|Z#Tspx4;NLiP^4hjf+OVTY$2bVk88<%|x^(eJ^{>ben*KGf zYYg9tGth70_>)?WN2xQ%5}p)jPO3)?xq>G`pw#J!gTI<61b;15qM}Zqofzp;qyDKL zKZWnZum={RO&o;RD5qNUQ1Le2Nwp3_GPd@NZ;L_BoPBZfbGB_;162AEH)U zyu;ch!;x*Z!Hf8mAvV+`*cCIvX2Fh7x@ThR(s&+K|DHj*WdDQ~VdFe5&W6anhrxws z>Ddq;cFdeuc3RJdNU6{!TDy#$2w@gdHbjgL&h210i+ffLHK|`e1R{5j6G9e5-R{6| zqOR?y;8q`)@eV=)by@>xH1UOi{Y_xmx;Z zbZbqr(Ae+WqEk@awlN%wi{>oj>f(AmehVgiACoJaC!B6wl5Lq96j!&w1Q4In@+ndO z9Ll}eClpR-T?>(I!~`PSio{r0xJEWLMmCZWFtsx{iRC~X;tU|01ITs@h|3xx+i1r` zG;OpboYzRWZ7T)ghR+4U?PS8ua0eb0ggX-toKk~?E9xf*XI;AlbtxiIHsxpNIn`g( z+oVo^N2gu3M!Q0wT|W(c>*`iqy0XK##x&8Wv9q=$1!d9x|J#dguD{b8h^$#!8Y7tJ zxBrg``XUoFOUvP>lVW2!ks_EVX*5iV#uzC`JVRfmhjWk=1F%oiffT<0Qrrw^ODd7# zd3ux8qKbQ>85Rccr+GyG;v}ya(=jJhlSGh zgw3FIEjcKeGXA#uXB~{at-%bS!R&d324m;Jq|jhyy&y<4h6iJp2Q&P{`B>DZatQ2S zRvHOCo_xy-5?L%i+eiRN!l^Vy8wku%gLMz|x@%#&W}mMPM|Ch8_EtF8D0*nNQoiq8 z@X9J3bKgo#RspL3Jrrze@kRFVH36OVYk0n{o(gH^)-qqM>5NoJ z{|}-<8rM3GsNla@P+xlA=y(wgGuGV45Gn&*h?Brsyvue$BpY_=s`iVdy@@=@%EAi^X|%jJ69dgOE;;V z{*xFgPjZP_@frBPbtZ<&BZlg*TrgCSILbyGHE=^L(5ZcnI(B0~Qa|8^og@T4Gu zZ!Hm_K=M`U0-fu34H2P$h*0#3zN+m+gEwnp@G0%n;GyL|fd--<8yZ;VqaT4_W&2TS z3LiTldbzlhLCzO6NOJy*%Aait1C>-s-;-|TlB@4I*T{nqDo8sydaN7^0H{oZ`t7g7 z7^7XsDp;*SY34&FE0~&ggDCkswETc@q^vhd*)n5|XDa7heNVea9-ufyP%^^PMB{U@ z@k>tSf|@VdZ{2Pss~lSU+M)P!I7Ik4FQHPWxp%_p*2|}6)sTHt>dH~DG>!b^=}ubm zD50MP5NDkmQ%?mtEMqz-DgxY^D-+^*!Sn z`7Ja}Il#h&puOht!CpgV;$&Cjmm%JdTiL75#4c$Vl3Lfw^gLztd_R_F=-MIViyc?& z8bFDfiEveXIRdOkc4PcwpA*c|yIo3sCIqZp1Us7Yv0G_$2^CW3GRVcT-5MCmATrjn zBc6_sf$D7d*Yktv-V067-UjB4XOrQ_QSi|-ESw?UYd!t(f6wjVVd6dV>~-R`*<**# zp6kN5f_^7HfA2{Yua~tXA1{k9(fs(qN5VersuTOZ196ffYUf0Zq1|H4#zbIRL|r%_s?d+Nm+J();rlpasMJ6RHQlPZ3uH46FT89|m|ecXDUA1w>= zW-ZB8uwkT0osvlYTFy#!D|7974g@~lG{ufLv>@RKaDVs-4HXwH_Jiq20LPr$HT?cwVC1c%qt2*_ zy5XM4IS}|W&v??grwQyUze2;k3k>(79e8Xm`pwq_;J&wervKqjB5vildSN}|ugp&haVSYwj`BfLyF=qsOzS%#l9zPi33dOH498LknR;+BU1>_5 zH=%i9ytjk{cb0xXS#Q_xCsX4%r~#qqf|L)k3Nt`n<1GCcGT>tT2IRjzVWq1+EjJk4 zVM4_w^N%Lq#=siNhl^>M&BPQY4L`?OdMV!Ob9Dry*wGHN)%Q#MSmdxIkp0frpMS9R zviffA2p8xJ9Clafu5a*vSLqL_)+JF3u93f1WSGWB9U(6rFEGB`cd0YYrG`I|%7`+KR2Ng}0MgGa&4|i3wGnxm>NI==`A0kdn5t(rxM6-b zntKzY8mbH*Wa00*OdA`2xAXsY{$9u5Q{o6hAL>yn4#LV<%K$l*q+LQLTr=%fDV*|K zGe*{$8NiMymdm`U@?Kxhi?W$17-2{9Mk(gP&6IU16_}n=c}GRcmMK8lMX+ed004Gt zWdS8a%X9fF8ZnvYJI(l3Y(WFjD#&80KKd%a6>r3H=vV{E3Fp~d%0hdlGA+fWOh`r8 zJn(c!?f~(*boQB5iP!CHx zygTqfjCadR9zqUY4f%rsxX4#3Ih&k0m}k>>XGg{%H1r+%4BZONN@`!6n0U{$up($<$zhVcUnY&d$oad$ z7V)4>)Vrg-iRpG!Uev485TtDBxCCIe8<%h<;gUh(yZYGLuVR^m@h7J*YV|F*XfTw4 z1ZUq7lx7g|r(6Wgg;nnc_;N6{*<9dy6$eWrsGB*0Sjm5XXz{cyC+*O}YK6 zpl_l3uWf&lwy?~tHN|X9Xxx$g9&a6WF$(x8zQ8r2%2P=+A4F2^{%A9kw2Vng^W|2W z)KdoxQ&xp=}ai8WoEj~Q8KxzODRTY({g75%^{_j?6o{$ zh)E6hrU^_>lvIY&t?;NxOjp(wr)#&F%>$ti%n*|^vRAJM%1rsUy8Zn-ix2D|>l}IL zd3&aR^nRD$^A{5&-Ts0KEdk4d06?7W|#8&2;Diz#!A=5(8N*z6aGc!>Rdud7W3Ywg4>!F}|;1rkLv#x4(DoOh^{V zi8SgVxUt_3G2c5gM}AGgjeBN7B;Z>pD0{z)PluMVDb&j>UXG_Wb!RXf6U+XJE%^4% zCU}ePcKWy0#A)mIn}tv7H&Jx-!%RFe5WGc2Lrv;GGQN@)&C)HnT8?`)IatHXr2h(8 z4%Xnq4U7}v=lT((SfRcIW<;IaPsWQ5bhng_dCANE!9BaX6|#S;N0xJqIikk+?xFKP z5Z-QDTjzf^k#XUTfLo2+>=PCl-Gd>U_~1Zhy5sjubVMnG`h(bF59m zClpL?EhWf?B1ZvOh&GuiG$K#z6513EzfBzY8YUQ~C>5t@+l$&1*?EdOEtjXrE)4^d z-fClkj%~t@iFWyhhH9n}1UlzrDn?@Cp}5V{D}<(sjajUbz6F zpXy)ztWn4Q$24eHdOVQO5t?&wa~z)k=XTY{utkCY zf&z8M0&mI%`n4!f1O-+a3p^(mxb(bSfFyTMO>#qg|JR<7zC{ebK*szQ!n(WPAgt?2 zSl8*ox)whDxS+0oMhNODV+~TM9;MK*LQM+QvJ@%{%2KGdJwaX9T2P;Pj?WAzsMQfc zql})4_Hx@`vBeG*?*Nq2Wg*<^08mPog(>LfMf#z&Y>+ty_#bnt=RJOt{Nt7u=?!B! z4>i?a?BE5uU)QYzQUBMDlnConz>Zx|FL~Wx8ld}h<#ScqLr(pn&j!#YK8^9&>dh_j z*)WuwxArZ3byKT>8k_0*tIaUx7jz1ViJ!9dp> z;DgD5o;NuIIrXJu4i_LmVe)0VJgKIOYM({J54rT++1P%~Ria(bO#WpD$dSJ5`(m99 zY&Hn(C;ud^vsa#z*Vz>nfY8P7qL{%QOaiXboe*p!_RlDw`nr{qcpZ5iUf>{ev+2NZ z#=Q0Z$u@P$x@Z(aAj>}IJJdAP5>}_8*0mnax31_;w|@g1TVZ{lTDVBcWXJI;m{IH$ zWRhZHbiGN8@9j}W4FPGf>RDYwU|Oil3>rcL!&JJIT`uKlELZ7la2Li7O%3#Xc#1On zSo0LceM~3=ld#I}Q~eJgQ=!6@%cL9TeN&W-V``}Ja_kfo+K1F@<7f~JZ2*|hQgX=` zbbf(XYnH5hXPc!v3bAmqH04{!|222g(&@?t)8vBS5}-TVXR!{B{sQP3j}G*+`cVbz zI-n0cIKMAoO*@S>ZG3JBHk98nbPq10`0j{kL(1T&C=Zs@cB}6W_<@s`>b=pRcha~c z@F!~V>SuRw05@OV4U)img#4cAGstfnQtTZ|f+oLB30Eb*ZBGgL?H_625gYPIe!j*d zCgzcyOJyFx2CgK(u^&eH-8(-P-_n41rzFUqSgH&1&{hJnF8m+CxGTOiXp3LGBrVK~ z&lq>i$xz@CV}Y%5fxS`z#Ba1iiJ`_4OXLzOpSilVfB8Iix$Zsi{|+1K8zI+skD)%q zT<|=h!SHoDCp&CI{7N+$KgK5L#*aphTfsa^{_!@qf3h8N={ZXyX6wrc9j~1qN+TVt zWvA(r+3GtR7t3uoxK^x>9;IQl$K)YogZkwk__}l@iyv~lo@_$_1(8!`NZ6I8@yyXD z1kcPIK|DjI2mqkXSg7YOU0p8cFU1t6fhmF+PQ=qCi!$9JIO2LJke`G{knjyoe^-n8 zP&p->$a5(}>8kE7OXzkK;|ZRj>85Rf)T6F}oTtS*8!4!gVSmM%m{39vidw3VY_*Fv zwBMVgOf9X3Hd^1m#L$9j;qX{iDjHkv(=fK{#Mm%@@{;z3m(9bw>uL6*Al$QXPZ%Nk z-xV%_`srtRpkrtwE1V++3bCc?yC*WNcU5_03MDs9tOy9iQU6T6et)`a9OugX)@HuZA4tw4i>x z{{N#}Q;ohYdp=Azsc$R_N7b?>16z>oQm{ooFR?prm*W8c@-^m)-6&HtIM0as+T)kW zf9i$e6+g!*p`LY2jOXn{)@mGdhsnzlQ zhl#1Y@h&;}5=>=c9_Iz?B*yQP=MwS(Q3UoZ!Bxkfgy*`r{O-nxI>aa45N0$+_&h{2 z5DPksjj;I4m*CWN(_`e+RL7S>#awrttxJ-n&ImpJ1<~AKY-ZJ`!qjszQpHPi$KEG+eDvwai5?LN&zPN zG)(FfNZ9>J>;{~YY?m4E3(^yAwh{-L_(sXX zcc2l*kSajEI!iE0o?y3?kK@X9`EBY~CBQ_ZKnl5(v{v=sdmGj7{}*d-0^d}X{tqW@ zQv$RkK*6$U!Ky_OTQ(b^Lkk6O;07u(S^*VNv2G(v3dmYbi)1cgGKz}IjG)d8D&wFs z42wz&$fjZ`iY)#V5%7k9Q$?YGkoQ^6x%Z|mi1U9xA4s#@vp?rK&v};b(;`0awV4cC zmIw*|dn)$4DArk+RqA6-EwjaSD+9Wf709zux7=Q>C|&=(wO`W+cYc{wU;FRQ+`{}+ zo+X;iC#qzZIG~`@f4|SMkx&O)?_MB9HRSlI=Rli2RZLq4YiaGzD@1m?`5&R}IkrIw z@>hW~iLO7Dr_eg~tM%CQQ{VC$vhuf6$=d!BFN|C`r?uefI|&mzLzG+;ZYoe0E4@q6 z9On)OY%JnB#bA%Jz_<6y3H+tlJrN-;4&mb${GDG*3|uu z?_;tDfxMR=HV!2mar6rLPSHMCE%3SZ{beEz^$gfJ&#jh=EmP+i_>#sf3%NC${TK8O z89eyo&A32i1ADuLWGaoz^Pwwbe7&oDPBUH>dfLNMZz%!wS6bv@{q3&~p#YBaGk7`7 z&pij@RA}Sxk;v*>A89Z@n3*uilC%h4P**S=5lE*ag!S|yBg>jhQz%d=^+m5BMR5&E z@JOM{-3JkL;qMd%(8YI*pNsFXN<=nwPr-T-AKN_zVX`I_(K%Gs^ta%mVii*ibnPic z`okd$4F{hH3vZAE_WHgLmIXUtO#AW6d9}7Wg#(WWM6DIR0|(+6ND1uJ34y%Z9+W$E ztp4U~>rNeO&G@5>NyEzYfs13t`8wPgw`*CZKt(O$8?8DYyCA^9GD{K(9>DTWJb-N? z0wruS-ScINME#n-@pX*n=tYnlRbK?*&^}5K&LM_P*~vp z$YGIdNqruChczuv?nyB0uVjC_u8E+1>ln7y8$+crhLTS4_MbJ$R(VxM1)K3cVlj$f zF^U6u+a4hK2^K@4{Wr_H9*QEIM2#>g;hm+w`=an4$WM-2jMXyb<5s zm9~k; zP9_^s3_>sOVDguLCyCsom%;&Lyho8BW>lK#&;9lPFAflTk36mf1GrH#fT;!pm})S9 zsRjd>YA}GQ%tLB~{duh2;;#ywMW-(P^^h4#3)H_zPFAgaW2-l7_=DcMoiOeuTF4`? zW)a&&Q$!K;JZJ=Z1z)hE)3A@z#^MX25Upkm=$5PJ37Kx0@Q<=g!T*wBK$F183&q7_ zv4D}4ZY>Kl-9j8oPhx9uh7_xk8uEuFbXrclPuxr1p+kM+K|)mbDY)I~B{ z0-fB{<_xMsUQr@e=nn+RaCKzT=p8;fA$@*=GD07SiU&L6Yg(#iaUH*q$Iw` zPf=Oq)B74J(jJTS7DWVj;KXbxOD%4!$ak+|{F5jm@Pchu$|4UoD1u?`n2*s~$E&Y$ ze9^kSN32-I`}1TqT^hD*rm8Wj8G~J!D(bj_>-fWuvW~CrZKU^Iu}GmPBCyVW+hYKi2UlQAax0 zG4eB6$H{RQ??E3deM@`~4!tK!uO4?PGyUUIs3UbxoL2Ak>2jw1;~JT^^;l%z7e}ly zS2yXhNI_#o=3|k6h$12t$=9uAkrwrfkp8k5%S;w!L`JrLE9B_*-P1@jS1mR0e?&O} zw_3JUmV2eKa>tiIQ_lDzKBLHEjTKpoMLyphx4(YuCP&n-u_8}lkyql2tT&1@ZLG*h zEb^ErB2ryG`?KuW?y-#&>AVE-)BDDkxyLB;%Gkzk3Hb@e$<$MxOp}e1X|j=sVR9Cw zIb!wyabbJNva;&z1PccYv5y$DLA_P{`7lG+-?D`1DqE-m&`zNDeTmbLjTIp&B|?8U zfgp_D6A?cv4fuVy>wWEYCb<#B5HNmpH z1Ev9m2rM9Dps6^}teUuiwl@a)r!l{NP{eB(!}?1j8_Ay%jmu9yu5n(dB(s_AxrzM9EHv^FaVtr_+&0f9nIOoxZhU z5AT<$lBj1v%tBSM-=FJRH8L?)cBZ@k+VXAwc4fKU!= zB11`!4@X<%RNlFflv*OxZSNf4tn|shcdhD$_~Q9x=Q~g81+TNGc8A~mDUJ94!xuQix<8e2)<0@vOF zV3cKj!`+dX_49}k$77M}>!+|H`spgh=0-T#bvW_R$zpfxqw(R2{j(hU7srnyAh#Q8 zdE}PkvFP^t^RvRlU(V+F$%3A_C|thyDVyH*dy0Slm&jh94(}%yKSl2|I6)C2G-DAM zUFzy~74(yvvcQs!mAan_e=PrmbbiPh0uRLV(dw8aH!iGoB@?NN~wxYvpeFS z)H(PE=8;1RT6KEl~wwm9sKI&XM$)eg2ZGpp5&MRL|2#J_4*xkU^2gU4 zi^)J?y@mL|VULcNZT&$0{rE^Mkk|9~sB3O*z^n<=VK~}RfBYei;MhtQ(B|?dwuF*l z8vYh#z>;5aRXLr93?G=9P9G@;o#U!o^KI)=u@7&YtVKnZ{|X69qXf$hg`olE6iqd8 z2odNT;al4qHi^JyH$z(h>p|UDt#F*ceF_A%;2AUdjqv=!EQ7^P)RHx8{{tnvyPLN) zW*Wq8JT1DElWBk~#`cfY>b6KVZFb@x;fwKw9z9iy7>_Q&6rdn6WBfQ)LIFl@rF7FW zO$y?T>d)lhL#Z7z%S~&Zmf9whr$|As120Tb3Qo~eKhqSIx@59jf@_X;0I4B0F-d?f z<(%}gO+rr({1oFPQ)rKic8Z@Sga#q^CKQ!mrqIKQPUj#Q?^I4^5I0jn2`*dg6z0RN zI;8=HX)CQiZGSdqjHXXZeW49a+ly_i)3)+tgK7JHgJ~Ox7M3*fPoeHtx&iZ zbLs|Ycb=tdYsvWue!~1CX!xAq1`c!*4!1cDAh6O@A(t@ZvQQuFG``RWt8fe>ZHB8?W*x*L!z+!J~s}lT54Q@2~ zCoJbCLGB9ro#z|o^I}f@gw}0ZVJ(5vA{aS_Ib=d#P4^gNp_tSHVW-J594+TB7>-v# zB;F?cLtFY|`2TxyZTe4Xcmmx@PDI$#A~l!r`MYEX4MBWbi{P6$N*X;v{vKQ+WE0Y#QsSSru&QkymZ1C5*#KFpNao;4+#z&2cK z4|JIP2PPMw9IUjM$%h`yV$60rHaYxRhzA+#*pj_hfB38OF+I5(64Ew*Qcg`Y9e3sR z=LZNVwC0BnlRUk617-5e7joSN@-o2rIOGC}8M=@tf&5)({=U@2#|>NU^TGFw{FgEx zCTkWQbI!uO>da<~@zaR?7U*N4yt9)KNnkUBL&~kEJI0@m3H-O1t75&~Y8buA?yATU z>RRdmh}t?WFiH2o3ZR2@w)-X$6DoW?u1@h$`3RehVRxZbZ(wroZ| zskjPvE1|UZN@#=~c5{sq0(!1G-(RWvK2Hgy^iV=x_cy;zLnUx4GMR_W|Q7@Sg7c&ClbERLq?|G0dTM9SEbD74?T_w&-qA9P`hr%v#;w9cwOsyp2)v5?uuluXRFtxZdE+H{GCj{ylQ>j1IJ^g zC^i!h2->|>K$w(bLVvvTnV6-GMm%_K9CRTM9$Tct*-OYj^O|{n7K>!mYUVV?M?Krj z_0%LrNcuFr&=$+wgWCJv18nPlN9<}-F|lBnkUE^2^DzE3J<0$7)@aP~^V;zPbudX559RR0lw*N{pLtMd{bck=IE{P&CT(>$a~Oe=2r5L91+)x^^Y1q z-$wYEGmPI+Mrg5)^`H*_fqYw(#5X$TDCbbN>Dd)>+zJoS!@6fZF`Jq~W;WTJz>2ej zjLFQ>+wt%3h~M)$6J5xmx}k<-!HlvESFUCoPMGsjUJlQ+Hpkr9>U#!W%zvxH`Cs+l z$}sZRo=-N8z+!#6`uVUNm zyVa0{e#Dm8XquI)vBH^X5H-5GS8}7xAQ*F zVShCGEOdlXBUZ2~tXc}9C-k0uNC;~KlX~wkAe+Gqc3o^Y+yj?cap)UBpgr@&FO8t* zDiS?ck?6VQQJWcEqG(UL1^xo(T@TdVHw#Ygr_s#H>k}4n8R>S5=b(Q7dqguI6bc|k zu^1WlMtZh}pB*tkAmoW>vw6?n*hB7A(TG84OV^XnAkP48j$5V|*!Yytgztb5LDZ0A zMMZ(FV9hn8pC2AI3z|cH@c_j;pS{l&YRzNcLptm~>NLc>acBG6KETHH2WI_5C;l?d zKv?5%r3!Pc>e=9L6FDh#^UDNY%`z+OyYLiMLrJYw3EbtWnmmYtNo*1&LAZER{)MkW zh+bKMXjmKd)m~$+%A~Ot zG4c{ug#taucYH&-kpK#=fS8o|^Yd(2lB=9cLpB1HEEyk;33wX&e`{4xFL17% z{!Wpnv8>3Mf}N+o;t^F4wkptoeW803DEQdM@lD@MeoPftSs}}gK`feb0qo9kPTP2? zL%l!#T~C|7C0WF<2yeBmam{gE9LHUn*X=3XMUPW)9L{Hi5<6>ea^*x$Di`$b)x{lYbO z=0)@mroZ=l;ySnARnB>)pJ!;Jr|8T=tK#43j95?bOa8X-0A+pBCPCw^pj_lnf(VK@ zzo_>7YIe~rZL!+H$V_Fi{)CA(0E&!)?hZ+Jt-9%hX1MiQ=GDbyV&OuNOF9>!NS0)fww24B_JWmx2*&Np4)=C9P#Z%nyUtX-~15{xRjib{Vk6GN1Pq4T=_ERHZk z{}t-=y<>n)|6Cy{GM9w5FCC^Zn;WNSS>UmDDf;BcADcgJyoh{WZfi_F7t*GXPIFD^ z;U6n$y7O=1>CWYpv=U%0OMi-g&k(;WtSdkuSCBRxVmWe+<(T##Ln3W#p4a4FO#bW} z`xW`~zRXG%K3_89yH;D#H*voNSv#ccj3|NA8B;qTYZ1fq*h!0xqIqRuda6OwZ> z+M5-KXwK)fPON;GH>P#W8{6&+?(&}6=dC&eMGxAChLT#6LUBJ0;|9jKbQYAI9#h&? z4GoReyQA8x(9zvh@vJ*0K)5BCiUZZ8OI zOMq&x^xr-xxT_$r-Om1V@cUK%LU_H#|2ufS&Yuep-Qe#5ul@bq5MT4m-Tusiva@6T zm&5A}M9(}k%ijv#&-SO_?`ONaDy9<2?*oAeogd~dBYER4`ykhF|LYTIDvuFc31gd;rE+etCE0R>YDqnhu0MUHG|Mw z=P}GTR94q?N;IS94h#Zq=6c;O95VTFU{6}F1OXwUnC zdo26fXa6u9`35Kt2G`s_4qj9IV+IAQareN7&ZUk)!41(N*l~W_9|q`e4xgP<>GKVP zLduUofi3xC27LTK_?XKdTf)az;bUjlQ)rlluhdY!9q%gr3+Ii@9EcgKifKF><#<}) zc$)Hf@Cofc>v;B<;~D9OmHXBQJE!vncFx92|56P`FsB0|^B#y~pSwVPmSb#7k2rfl z?nOexkiQ>b{@%s3pDq&e(F*IH4W;%!BDMUEyI_Zg6gx``AxCLXV%{yz9*da)RDR4Q z$c1yZMU&Ma-O+$SmH!>Voz&2fSU8%)L~ntZj`tv|>$Inx8yq?8&K84N)L-+{c_TlG!S5RPvhc_Vq*48geF*Ht4; z;jmzmlX5~;M(#o-OXwC@{~FhmEfY95X+E~9cHOSTwj(4mvjcDEnxUaIH+CjpWmWz{ zp)NE!bw6}U;LDuhDPhc_LIf~^dR0~;LN{-PZXQe;798V-ZvL|m0TT?1Ue5nI zRKzz8bq)!pxhY=b9hARg8yTPKtI3@$4Ij&a*?0ijG}}Ti6=9iDwiLQC(W)(wHvpR& zANHrHTAEug9g1_(TG^6>*_CXOqVq9n|Jdelrv#=sZKakZ)lY0%WYww*LvvW1*1?aW zPPEu5v29^8N59Nr;7%XvS@@Dr$U&LK67fvcn&E^`L*A23H$;aoz>CIyGr$IByCAUPYpCqbDNCYPHZ~G5 zh4PDrkLd1U$E_C-k$>WbxV^Ugm-xMg`>UGwR}WKuS|;utB>DtaBVd)yRdGgyWUdyw zPlh~K3!KFArF`CSWMP~;gW0}DqDlTqc(rjvNiV*#H%VDA{cU9%)iX@ zP55D!X>azhoc6K5x3*QUcGwwjGqmf;nJVxv#j|@>q2YNU);F=<`Yy0GwDcj_(5aD@ zhD6-h@2+H$&MKbGe>mEVmbV)&5A!70SEbD7S3~mn)_a zcoa2C%xi=U*;e#%|G-O9o3q_|k}HR}v!X$pL%Ij>@B78?(+s0d$T4E8unpins>HZQ zWxsL466n4#Zl>&3M;${{blf?|GGP-QloPi3*0`0aKSu?xi?NOm>-#^sz$~rcS>o-$ zaeSe?CbFdd>L-^nOJTk5-)R~?yY2$h)Pa9rd0oS4`tmcFrj8A!sp;##d7ApnwoH?^ zL{8JoBdpUDa{TuW%t6>m@A{PG>qf4$cdc^2i3-9R0^XG6n|a=t5gD-}YEMdaChnet}pYX!D--DGAf zyTysS>r{(1e&%C{|MoX#h}}eN$7@#nw;Kk+#2Jbrf-)4772p7CTj}Nc&!4eIkwU0Z zO1R7tQ$Wr}!LRY29%9Hd{cm-Ke1gd)1y`q7P?+w^$slhxYtVaNAs&53xN>Z@3w%#F zpU{it5vxi%s~+anjek26!yPuJUhHHF#v7#I?#Q=B1LD^cQ_QVADg*729+;@_%MQoj zVpm?nVi3khb?;@FJxmF71IdR+nE+p`GK z+=u{HVF|VjAY3Z=>*nQ4An!uHtlbN3Eyni0coo~qrnXwh35ceV{5iUS)wfv*GM^5H z!*OMw=A4u(f)Yo#Ims!dU1VqQ$^t7;YiFZ`PH0e(g*ICQdTg9R8voV=z|&IC)s~~L z-T7MKcqwcL^LQfrUw#vV-6F}<+eD)I@WEF4FUYEX zCwvuIAd+^(-GvMT>te(Hz=6h&hdaWA&V2*-;EUhE|JfKQGaF-MW@o7(hbr)u2wP9AohtGq zs-Z%*u%Y$GwU}de@FAJEq(pqK7N2EmS_TAkgi%Zo2HjnH!gF}OQONef1XJiFhpLA~ zc5dptYr$?Cr}Ca=^Up9-8VIKg{q$eietJzK2Dp%;Xf5!m8>~h($*1ml1^85mGiX{Y zdLmV%$oh-Nt8Fc9hdUI5Z08$^a?x~`6c2#rD4EKq8O3(YxW^=`PlwhgE6P4x!(($T zIA?{hk>Y=7h+Vp_S;k(7?j3{=_!k=e$g3M2{mV~SP;lZ#fA7*0F(Y-kNn4zp2pf(L zu-@>)V#XOp%243^+1oyWsgaQ>+AQ|&@FqImXfRw z%oCV;cyCQgCRE!WP>m7FJN>25($i%TzTc_;eAiC~mr+CldpZ5hL>F^~heJLO{a~qO z6@I?kTm|ot2Af;tV`{*4Vx&Le4|-1i@tEE%pYC`}dSu`1Z2JF1cATm&N#Ol%5epBk z5)9$tfLLIg=yIJH0!MvMavIqD+Vm_l?>q=@602XEo?+blwCULr2i&!4MEbminS^~7 zJovwd@#8zx-%T2e?@(}@RHDD#g~R!BDD@Aw5-zVP^%yu>+H??MC*{Lco^Tp!1#hYo zYz#-Mf7F3%sS!>ZjXpHDb1Y`&*DZfZ{6^Cd@YqV{2+Pj+aE!R&A}h}oxIPJDPNmN$ zJKi}yn#^ReM6BQbJCET0>7@*`87a1c%>sD?u44TM+Tfh}vo~2#tOht&+pVeAty$1z zBITGp{uv{1purFIqM5YI8`>-XbMAryD$-Y-aQ>0{xxl6}D;J47h@_{_3i9pg$_Q0~ z4Y?=|XDG29rb2N-fW5u=HAHS25B7rcam#CKP6 z+zI(vp%BRaq;KOBDX$)(;pd_}C2P-?wNEf=pJ3EJAxqJUoCxn;aykIQZC4U*;X;*H z1fLD;eGsePC#gGWhpMG~>ho0jzeE4JGpK*9q0oq&llbgr#q)z}!3JZfTE7!`smNBf z{36wJbCKUMD5o-dlcMDVk>9Og%D7X{9g3L~MqcuAx~T>zU4X!6JhiBVUIew}qWlCk z=9)D^ukX&r8vpiNYjl+lKz*q86ff_3THXQZT79hS&W(7_ndS{t=3>coCH852Vx@TF|eGNX5 zwv^XB>wj4H38!$~(~Wg6K1J)E1nVBAg@4f&zwk#QQCxM7Ppm0zhE6PhKt;|y_-+jF zuPhlq0PBZ?A1;98orFB4ap?IIoMujD61#gfc|7 zI}8=~5?3ayox&f_$Bf*Z7Eg+KHZ%5H(F)u+6l_9o{Ud|(;3=L^&-F*K`qu{+3Xdc+ zEmgjd28yN3TrZB?h%XP#7sywfdI-<^oRc{*_QHnS_n@5pgK`cH$~hi&DS@gCV|inh zggzSjqDj1f=BAs=<1n>$GlZbP9ZmBFwzwJSFh=Pq-F$DI{W|*O*hnlM$!_f>=p3Y5 za-XTfaR#k-gm)+H;doN!&+}*AjCn3=Nk!noPU!UZW+(Q5psIkR@5cD)j)?!+;khG3 zH@XnZYDr9hS_lp+F5@~G-$rr@1zn_+w25R~b=G8DD3&c05#I?oIl%<YfBh>;{;`I%l@dyPDq$rr7CD3j4QWhM`n9KHmJTm80?Yq@=s0S4Igf~> z>yPx86j~YoWU2g8PRnRxUe};6RM()bMhmV%`(>@vG)S)0IoWi>PA(Ua zh&-am<|OWiTo<`9(#2d@)4yOP1eUPlI|@ek|KWe`tQSp?&`(0bzCaf_KRotwd^mEs z02-0x8JV`-9ZcpXQ>AM~{oOA&akRg^9yC2()eV+dRFu@X<*PP?(OPFJ#zqWM01+!~}GYSx%S3L9Ujw=*3C5Tk=GR-iR~BG+>}=PyeKc zP4E5HF_3>hR4{oaO^i^*$w7pYM&t4p4G*dx*5XTDAkWsGLY;?e>W8{M@&@C&H#AuI zp>8e-PidsW-f$k#%f3TVgL!lw!g*ZUj`C}_lDU$k1}U0hev?wI@9&Nixll}GYwUm; zOsl5YMsl6{lx}}^bC;>XYW;8>o~Gimg_ki&R_yNBUgkp$tDbF>nyF&e@X9;}HTC7< zIwL0&{T+LJ+=KibkA8W~NapJe?)9=5S0~JnV->?$Q=}e7gCFTt(ng?-x$AZ{xJ~W4 z*IRWk(Q0jG=yJHB^Um#TpQ^M9z~Q@>?YmpCIbh7G_Dln7=5&FTBA$g2jr1 zsvc8TJ#DUDjuKdt(`bv~`!3P#ue0dF@R82Iiy(V%@EEl>_9%*D4thTSBa;=RS zPmO$YaD2G5)Cb4u1nj9aOj8ykr`=44rwA37Dm08Z%z0AoVP(X#_w_ZhYv?7zkHjP- z3`yqLAt$YIoB5uBHq2HOTF6yn>Tb>({rTh`@xnvM@%1(&sVe1E+CZ-`6NNvKUspD&HW&{->N1L8s5RaqKXNVjj<&!Ar_@iJbd@tad2V@)zZFG4 zD}nR&(k5m7uN@!uZ^9YLHQY3dah8hkzUS}-tH+1Ep4wSU2fJ3KG${z2o--%e7b>zx z`>W*eNx|W`zR!Evn?aF%!zrY@ToKM=egOtT>@$pZ*@HrNyj&1C+iuEYcvlVYnofBd z-mRza=0QW(m%0snPuN+LU;^OVyItia7-8O84qIGO@U1Zu#+uKA^+bHr7S>gEtwMdp z&8CB{#lPX2gnIrBkoKyXDlHPPmz ziV=oE&#u{bxK{OY2hPu#<4|H7qCHWQI8-?nGf^D4MniXL^@8B_ed7GN7@T4$fz9g! z=i5zv0~$$z|9og7zE4f*ZKhN9G+oV%#(;91KrO=m;-lGZ&~qs?X?=bf)NmxQA!A;e zGy0WTs#w3ROSD0!%=l%#?B&!bo-byPff2Q|j);qorjR#+#+^Rxd^#i5uv=d?#=r^A5lFkr^V zX*X3DV?JPxIb9#u8Qs^vRyen-wTID#jb3D1rd;46yXf4-{nu7A{at4IuT_e9-D9%| zwLo6FATJ72t6~2spdw6b@234pv)&!&J8>}2_W?2AShN6r?)F)wO>CgxiPJRWEeZlv zumw*u6~#?>kvTC%debg6;m}kS+JEcOPejb+H!_4-ZZ=V33H!1j0FD_yh2&IylLY6n z6DYN#)9X1?TA)hEkl;!o)xo9tG~o+9iK-<36=oQZw8;=Q1wS60Yw3j4A6HtpTpW!= z1&w@b(8$l7teefcW|4UpILY;;&I|0fWfmVci+y8bVmGA<#z4?$wv6`j2CC9k8HX6# zZc>{>_u=AUkRE6EQblN^^x^Po9O>nkC{VVhNe7=WH<7bV?|w2C zn^%~5qnsW^dxv98*JA8xG}CZlA!Humb{6{-Z?9$<)JSi$CchQNGL<1Vpg)-2M3wwb z+U8-)kz0cP`p=AxTx+vxURD~ekBh`rVg)50r?$(t`7?0K8v0k@MEX*=?hrosU=*4f z{%$`de!m)jPmNpM3odnCy``4vY{XJuKg?Wefp0KSuJ@mNS=aj#+!2zK9$pcd6Q+Fi-U$IKUFUu?;@YhFR|6 zTF0Ftn~r11SK2sxGuS8c+ty1Mz!H-f+Cn!7qKK8?0+ zAur+teP8Ps!7nAt5Hi0Jv^J80)=Zzm5^Q(^Hatxa%qG9VU+(E)W85*0VM92$iW>hQ zMVszqxD~>N6iTx^Opue=Ab{;ZWhY|#)3c5VLeEO}3FJo7^4Xz5Y=m0`J>g3#o-dCsf>c`orIZqsrWpRj0Tt#pT_H3|` z9}H7TR&*oV*X(QxHdnPK(WbE9SibaPez=O}loN-!}mrhPH>hn+NC zC!={{>ybHuL8`nO;xcZ5C)D6J{ZG>lkse^05Dxj7;ARS*$}d0ZDu0HZZYWA=B;H?O zev;-~4QFB(Gz)dYvqR*-=?nj7xYwZb5?f_5Sy?3Yz6o7>5dQ5})cnHvy^&f8@IJxI`S_%TXriLU zgV2Jv>jAH)dU8j^&(1=o@dNu8?mQZ!$Yr6I);Oe7(^ zN*++SzspX`{ry1~V}I8r^ZqVtLZBCRSNXTXk~y!5`3t(Rwp-EHrhhh_T`=`zHY4he zMk!6vQrlOP%V7ul)2U-Mdmicz-aWMrAqi7bNylFty=?k4tXoTsd`bn6(w|Pd@J~=d z=ty@UZ)F1N(w+M8%P4Du5=_U=*pk`q=}b2L2HoPlK41=GS!N`of2;VAo{X_QAZjS<ViKY zXiR8{f`)+6{`QI+sbzdpKRNwyERgr9T~O9SY8vhWnp5v^8T*&wHzLl7Age%#cqW_Q=1DhU({&ph5lTuEGmc1mAQ_<9bY* zEy49$wu~2HkuY_RZNjo-3H*)TBd?FR0Vw~S6f(<2x-~?aONZsEa#@z^vq&G#RD=!O z{I~&QPDKKh>4vO|V8`3$yp9J6K5HxO0d$c33DH55PlygmtQF6&R{Z@mQSnONg`wGG zg<)61!RPVvMf=sT%asesU-$|Ls)(i#SXi|;Sfd6H;s}fE%!cQGmTFqqvp=b@*uE@@e;$_&oO(0fXKj9p%*qj`eDz6*c&co-mnDGwF;Vvjb7b1t5!QndFYk zj-nbJYY%ReL+}RH<wYA`oi;b z<<`Mc(RBGv(I%zqU$nO3hNm+i#qX_{`FHdv*V47fBe$S zBXGGv8pLAyG5CmUj~`G!>ME}g^Ak?yMuH24rC}0Wpa*0`yC}hIoHwSV&FMI2WW$JU zl}W*2=(GQVt7a3)0GLo);3RQoFOWNcPU^%d&I2EX{NR@kAS_)r@h~iv;wHdWw44&c zeoJ}MrFZFJ({HU}oSIsSek?pUR~~ZMfoMB8are~e3tI6Zx592ob}GCs3^xw{o;tG= zBhsa-1P6oH+Rb|&pKmFa%`mJ3Gevw}|EBaXb3UrI$Z6bJ=|p(tm$_))z}U2v)PcxK z0%djUk(S)a17;^9i|99jMik4>&@&%DW})6&+?czPrX~k7p^r3pI6?;-rr;Ye3HP;? zY` z{wVw(7W|UP%tKz*nLOK((+31fB=N=c{gVYt z6y)v6tJ*^HVkHK7bXvZpoZV=t>C^fne>fDA&vJe+f2v%q$h9JkH!WRYdIr)@GF)mZ zqq$XCY|0q(S8!cW&AK;)9wS>|BMY)!7FXP1-buSMgCZjJ@6hr)@ovyk4 z+OadGLS#iV(rSn{W&`Y#)aYg$K;AL@1MOdi`Hy6i@?k7#w7pZdZNwjUAd66>tIIEA@6+zte&b@JfOV@i5uD77G)32jhwu z#Od2{7H+1mH>gph^9m|Z0l{C`RiVaE0ztk@{sA@ zuux=ZOCyIcj=33?3lmY%M&fV2^njpWA?s_SvJoG(4bvG#-b{PI5GU${x1G@mfeYfP zo*A?pY2x@I{T7^GpSKm~SK1luhf{1n&Fchd<4m%3f3-2CPVV1~2`GAwJZ12Enud-* zf1>{>%uSbBS$?)b|B>Bi3Aa3R6Or*%n~046e!$$u`U?+nhM4jlb`v-r_{N-pR&jyd zL240nG`2&ctc(w zY<11m(~!j^dbOE#b!x~lsEttUCJKOOhA7-YnPcC}tQ2|p=x41N2MJJj1D*s|`JdBp ztoB5ig60zBot3SbaIp9KKPDfEMV7WSSJUuIlqn(SHDRG|g#~ZVr;W-8dt)C(b5#Ld z1Rs7|4G3mFimDnX{11GdZ(RXa*SiruQ5(8LdY;Yj6OKAM=meBYpY`i;FJfCX_?hst0e@j%={Gfj^ z9u5TP9oDJ;ancbE1xn`lv6|A2R?eUb>#NZ3dOfwSz?Uv@kjKWT| znRGZ7IeR|F=*!D3B031>Wh9t8;it&c;(#e@G|?b>kF9b1W(g%%WYWr&X_7F};I}Wb zgfcHNPC}W+5(;*S@uiwN1OUQLc?m(Eko&JH-0X z?_>FQucu~Cq8hC6Y0oJ1yHEUHM87vxJ=Ly1_5TqyMjLp1J@|uS4B|B!WTgF%h;t+F zu^UkidwHX4)qbVxK0Nd1ev*iLp`Ga2Ivd}_cNvkGaHVQCD5o-~GV%+ZqFePJA{OaL zoH1cKUuGs67A;|7X2oY}_YaWk_r8Jti2IYHsSBz0l)m&n7GuyuRuh)!32JDdom6g+a(WWE)g{eI$6)Q&GP#;TOwnuP^A3bX&h?tR;bK|B8qRKdhF9WIOAsQEOoLH{k$H5MomozenfrU*4m0`0~9LS1)RA2mwC2DNQ3E187??QYR4yAOpXKv)-J{IT z@Eg4B--etCrkqpWPN#dVNLNs_$1<9M<4CF~eH$@?_w+HwLW&-{nU`L_38d+$22=CI zI+~g%*U{7@?y)S@$$O|Wf8R@;g%7{5bY;;aFdKbk2O@{*t|{5;OJA6M(_08h&zJ$s zpAS5~9hcpU^v{_`V*0A&<1zj1WR@$$os48KCamoSgT&j|ca7b~LMyFm z%sx_$ImJ+8PRT&wBrHSSnhMu!)YqyWhi@(2x%Njrq!=Y8+$no)Ik{ifjXh*`Om<3C z#u^^%Tls!hML{ChiVEBD!an5qVU4K!CQ_);Dck9@HB>k3uS>4{kZ`%@-o3}F=8$80 zb52NzN0y#Cwt*%D>r58Og_F5^s6$2#NdalBh0di;*wXPTBbm?n9sO*2yA{lQYDLfL zgalJ-vj(?{J5Z?KXt)X1)dI7rs|)0P8J)}Nu>5tpo^2O=YO>RaiVu#g(@8sc+T=M|Erm zUSC&=I9pRuBOk(jJw~uqBR>$F?}0ZROycZ>f#>*-mpUmOaZ;XtAWnYPABdBmAG~Dw zdERf7pRY)U#@jz&p@n&Iv=DRfiabBsB0mp#;8*46t@Y&Rxk+*I^Sn6uxjlB`^YK!C zzQlPulx*3vw~vpTzh&d&NXAwEF3G?>uxmJp1?6-z;vIPl?8rOd(s&Y%j8DIri$dNG zA6|byPPB$@@Ikto_GC-EAi>s@p@m+p$SEz`@ZN2J7KI#nFoXJ@QF7b*eTK0(I3&Zc zWe1031@c;cXQ+x4p)wwl4)^n4j>Y76q{%_e=&1Bai&(t0X>0`-4K{VxyL4KAMt|hS zcq<9I4E;V6&&+`0bUz#RN9fw-2io=FhE8Wn9rAtlN)-%WAG-2sf z=9Y_;$<`Ofl|ePwtul%fCvbwP`ubx6tkK^_8d|S(Q|t9u0`oO|T7Pn+As*u+EF)G_ z&R%A?Mg(ukFr!{?0TO%bkfEhgL>FO(PM@a1iMS&lFNz?WCx1?0n*@cnc6@@L#>Xc`u5Mh1@ zSz_*%f>% zYxF22{a)YT&{Jg(BMS)-z=`oMCz<}2nDif+a*m1rR~38X!;!C|v6#LaHqmPI#L<_3 zqsR0u@KN7zn&^8SzF&neZ=XJ9LeH4q{Ok^_pV)WIl84HSCnj)!lV4uQ|BdkTXEext zpiQEbT;!v9@uOTz))(Cc$9FT1>Ns{6%04qQ({1R|j(Gw#yXjcfEVi?}vh;HS`fo!2 z>(B0$o;wf6yXsl;`>nUf=l7#SGZ}M*QL2P3$pjBh{$QHj8b7mA%oOF_Adk1AbXCjG zK&eTv+Q5c%!>!MVMxmULD+T;4ltTxC1s#N@q}V|9#rrz>WU)shN;k>pfU1{{fO9$k zSM(P!AJw@&BEFOTx8ONpe;9F5+w{!D9ya|yuOMerGnGKzn_nRzHka`UVQHEE=>#7F zOKg@yppdhTj}F@!HgzT5UoewU~g^ zt(Q}K@X@?3MczU&WJ|JLdX!nRyjAMEzS5|83HB4mczsfb zuRs99Hbw9U=0sH6cYK6q0))q97p@l6xYeAR!cz zd*TFq2QTioMdE^0wECXHOm}Gjhm($Tn1OgvH0ba;%G%L)1I0%zF~NRxC2st&U(bI$ z$jFZ!Qh=mRCr$38R2@hHiMLZ{6c5v2i;b~670RgTmQ4%&Qq>`mJDVH-Xt!uQ`kI{I zB|N_cX8z1Qf_c;mD<6jxc~Y-_D_|>yUDK(}TZkEna5c&bws8F5v>;!b*t7I!lIiR@W}8z-`l`CAFbfA!9R$&)`+G0fIjRdclZCr#z$mZ^-NRndO!tTa_i+2YgE zDt(^q{v+({IRlwRwc)cn-RT$D9OH2LZ;{@-;Hf(yNugTKvXd+L6Vv_DCk*y$NLEQMBH>-@Fi+ zv_uk7wWQ5nPn|ys@>Mga3D4OKe_O0#6IKD8>-{cO5stQ8oyx2zt{PWdHAW@bej?YG zu@Ydcy%%slI<9VEt)pSD>Q(oZs4jnexU^=qE3SQmOPTk#1#b~`jX`gE;#EB*ubOP| zs>uegnr!f@$p){QZ1Aed2CtfIfsMTe-e54G65D|7 z@0tx?_Ns;%+=*L1g3o?{&vu1p|H;obC8C4b-hj_vC7(z7gCaT>c@v9V14UlsBFzZ7 zF)YhmXKf>D&H$8r8%qLRr7q!;DQHZ#!79tLuDG(%BP6M9w8l?7YsSC0al{#6OZ^kE zeoX&9mg`Rx)pm*R5zKM(5P_d3wG6-mQ+%@B0CXX`Z4B3Jr1RcOpvqh=xhTSo`pf}NROWB*T6@qj37`7%96j}{`BY%t zA{*DCIqoXKGq}^;_(#+cW-IJiILs6v>S=0?Wi6z8OcpMtVM>CN1yJiaqpt@$TeVUDMsQm`_!DidJh6eY z=*2!Z_?xfdkZZwHK69}b^=+9RLCEFE{1?@lmn;R@%$S}gEf78>|2 z6YM6`v0N6^EEfx7V^Q3)Rm1&#`AHMMAB03D7lT-YLKyV|Tyneg;fmFWs4QO)y^M93pj?(L z!`1y=<=;~L{<%=M^2z>D2Kj{Ht2=*}v(isz75oLv6OX``L^Jyq+3Y#UOHg_$9G)h#K6Zd;fD9 z!=YustSslqK}Q|+=D2j;%iqj5ci@Vh76O3wmEbOHf6du??QiK-ul)~6@t^3`Zgu*! zhuuVz6%}!S%NSW>XC!UhvIP7W%*^x!H~4}dd4qLc1TX%YLIR=Dh@RQ~OpNj4EB!fm z|97MPZ!mYh3wM6bc1!0^R9iY9KXk6K2f{FfIyHyh%V1cNug_RVr#apnM|)`bIO`tL z91HpDXRTkees!SSKX0G1^uWt^cW>+y+#3tF)3_P?VUWw+D--tnjqnEU*YIwto8BT1 znVLawk%>&rrnksNrsmUIWFu3H=q>V*sblFaGLotA;$A7LZ~31x1AoQjCl3KXDdVIB zHh&&soKIkk^TNy$&IPr{7u>Fb7+r$t|Il&$yookGGW$%-LL2yKBTs$b$MO{4pZgvW zSw-Erfzy$rXK?r{2Ew8yD3>xpAtsZ8>7I)8k}b^d-N^6Lg%%7;XjlTpWs&2F@=-yF z$jQ?e5<$>_kJ(7NTvR^TYMzgl9GE%V;C_^du-b@Q^dc!E)0`suf1*8l8TsGakHti= zKbFJpz!S5#v8WT)I}D)1bmf*F@v_dB*>G@P+d$Uo*2a?jVNNO#{fh&c==s^y*Rm~V z=J`(sh$Ndr_KQomN%YxabDVgPQcqpN<1evW#?Lwu`_w_u+SI3K!=O9bU8__le0#RD z>nY6Ph*>qBx|~7}KQi<9DV=u$duYBIb|t3s!`{ICAy5Yg)B#TZ?R1rI;&*OWIj7DI z)MW_wu0UPBf3lK?)at*(IDhi+{3~q*gMG8IzinNLkyey+G%&v_4#n0qHFBk@AxG!O z2iOV-s(|v7`j+*#>AgQYYUU@sExsaj$9Vz1X=456+STw)bL%&04N5(K2)=P!zwzyZ zZ(PPVL?7S6{BNo3jJm8FzLgnv_3}+pVLSbz3Ort)#a8+Z)U}x0AJ)dR2-jwe6BZ}M zt~_z}1$b!c{jfAsM>n!8E1L{3mt~_+aH0J77R+CYb^gAY8aIFW>tX(Wu95SnKXi}= z^n$?u9(~Xl(~6C9OoLhXU?1_plT)vLDi4=Zs{N~13MV# zRD=8BsPN&A+u=okubpb}JG~FN@c4U(lx4R#E%(!ESKwWn@Ze6WS|?Be6v3Zhug!eC zG#yz>u@ac=w7KT;Rlg7Xi?*llRc)|Sga6pg0<}oie zutL^&s|>j?tsquS`N1f(Ki|@@*sB+Kr#JoPSWHiX7siJ=&@d}=J>UY$@um0JaO_vm z3y^E(MjnczH(sCP7Wz_+YO>MkkqU2`YM5TD7)>pR zcmfN#t z&t#vg@FQ=m3XayClU_KSgH`%iGa)=Pg;YDVU88N~6_j2>H`_T_oQ!#% zT32Wx9U+g$$f&nmY&wOnatJ?*p!C{JFvcBqiq>&6EOa>b1yFEHAyO0E1dx67Rq@3{ zCx7WVHF>nE*?n3{9ZiJS^W)?JfxO>+h~8=Lp<1tM{h58oVw5~*vU7MarP>>sWGDZy z-_tc`fLrlYO>L$Ghd8x4jFfYB77ebL{B7#3wzTNBT950kmv$_?+xR5&{LVD@N3p@bMhTFc_kzjt`%OGn^nd8&avc1}vY$xq8LQ>LFU>Rm+!$z%ULT@R^fDmAymS{+P z0sDyHLJ?o6YO){p65TU~YniQw<9eyuBboUke(1x=!+k;BTXi^TcyP?M&On}0iChmJ z?079+$6x#$8Q+!YRx&)8d9633*dtv8(?k8e$@XB#ddgl{-zNByu$TN7&hEJo*DF}t z_{v6<^YQp{0zY(2a-;a6c;44qGojXl2c_76f^{-Npni%|F6<3fsv?g}0m7ei)vT4- zYH=cv4Ad9gpxOl3uY5))HYZ7SW2IDU*_0(BQpnMM)jKqmG3XTU6pBAw0yTO zxKrQUmi0Ddt&eRpp+}|pQT9@}E?5$>mRWj@)iNi|PseKi)snDG5=y&=<)c1KS8h}% ztCt=TKZYZtDb{)w_mt?&KM6kHmpPc|V^H}ae+i+ojx!V14ajO(rA$U7{Uu~i*@&z! zOkw!_b%~t4s)*a#0rg?`G+UgIU0DMoiqnktc;ukf=EKH&*;vqBz2Vri^()?C`F&l5u#0yVR~5 zQ0+I?TXifE$#5F%&keK3F{3k=FaN@g&o^M9YdQbu407bdlRHK{eHx{vRz3S%f88L5 z86C%H?Uok2p$Ya2wcg-`A($v&TVXF8qlyB8fK3s zf%srYVhQySnKLG+!L3pEkYK;&!-9`=a1IM*cJKvHdp$qQX@&r=wg~CQJ=tbN~A7IKU^bdY%$T; zg!-G=x+RuahK>gWj}y~A_C-w=c4rQ4-a9Bs`7kXL`tk_&W$%>xe8I21Ro_DUBRe>U zX#F}2365+IZ2Qk^=c2cHOHze#Plsq}9foO1&Goj`=$qHqN0}e*b$f%irkma2XCs*9 z)R<1aaF@8h^@TTjAAHGy7xRHDcd>li0sgANw4TF)GjV#mb?}D#nRYdFH``CVo)fdD zVn(I8&l8FMq*NV&9o(&_s?F@_#Q5gDQ{Zk!BZBFMDxlA>a6Mr}>(}5x^olB=(uQd% z9aJr;C)v*k${$DbFfi1iaibxRH*&h~T1|Xciac&cRp@DW^Xm~6NEmut$4PC_nRC?)pm3BE+1#<~4 z1>q%-_xDwE3BL=*3fm=7zmePU!J+8kCD=ey6piM4(R98#{VzHz%) z*BN462lBc`UOrD8d`huc#jRMQSVb5N)*MukRt~JBRfKb-xe7n)6J?Dy;_V_ANd~orn=&O4 z+DeRXYw;zv^&B$2aY(ceH^T6y+;RbCcf~ujEk5RLk%;uIFW+*3ZSi;97QwB8gb!~& zCh*ty!#jO9zU;)8kMU*8_TNIOr{DYyl={fI#_UI(lPvxp%*qx|^&CVqnTm?SNS)B_jRo` z?cagA9IToy>PvC&3_V!DRjFX_TOCuj$9-_l8elwCGZxiYC9}=UozC$F&Sqj!^>K&EYcdT z6p9~8?ioLgrvD7g+k)2E9HKY)JiA+L?hOt|F|@5WyM(opZ31YTGns1HS^<0%;hD* z!9k&|+O?K;UtNE1mHs3sh0?k!fiq6m{IG$K7B~a@ z`+gA*Ba;wpwbT!1DH;YS;PX9!@+?!%!w3?*p|oB~Xhh5x>etH`nq!AX#{1y2JX42- zGU4-maOXpX1AOX^pJMoFg8W3kl_m~z&vA7fi7Oy0keHr4e^_=b++s6}y_|+s zXySmbH~WHhG{~J)t&UgUD2U^A4Axz-&3}awIGs}3VqF6JhR zlkPqnbi2jK$%kbsZDk1;lhv%w(gTREAYenDq%B4$9q?3#6Y%I-^kniLC-$C4C z5rgsBoiqDkhoA>ZnRKbu6T(A6X@ileD6aSGyjv*sf!9@dT8VAJ^f|%P1*En2?m8H~ zj2*evV87NtT_{XMK>>rK&k!)4TsRk?+21 z3GbB7r{NxzslZ*(sdTLp`l+2$9#iZ;D8VoA>{7Lk?P1~I3|+Wc^9WUFnURZ0!t7}836X?&uvCg-#C1i@tkP^+l2c-gHr zG>~)BC;axl(XX=ev-t#}_v=k??Y@frGyTA^rc8$+^fZ-`aIpeLqyQ<5Q7K-MD50=D zEM!`Hx_<}qdi;&n{Q=6dp41-M7yD1HC1oVu+IhtXrpvxi2P3^Htq11L)BpQEEdJ5= zFHx50{PLx(e7j$ZU*HS2^be3GEa|IcqF+nD`e=`O0wHBU*l1N?&$FU#ljs)e*vA(d zZTEThxE9PLU*XI?c=RU#2Xrl1McV9c6Mdma?W!l@nmd`U^oQXZ)DOO#li<|~JE1Rj zC%9^ycFi45il8w#ANNuGs<`QXhen+%K%l z3A-P>LNxb>^YOy2vbr&0m$EL300h%NOrNn1^*{JB5nmoz_ZvN^We#Z^p1!>;In>^} zm>p_mVjPj;2~&cJ93A5RvG;Jy{MG9=GKm%m`3Tz9r?fq0eJEW>TPRzH9Ag#>|6xw5 zlPElOpN#w%8y_}&b$5N!$EJUOS)7AJOr5=*4 z2o_y`jA4EBo`&O_W}qB|9A6%X-e-y4mly#$oAe*0e?9lVHTJ)|=s!Q7y5zW}|4%O+ z5HC?H1||;W%HW-`yP_})a?T_pXamHsEh(?9ZEJuV;P zVk6O8rPv43^`P2jW-U;IG8LnUHwFssk79PMwNl;}bj9Aw)Za%?zl2@U#m!g7cnhQ! zf4aGvBht+Zek;veQ>p5^TN6Dz_CkG{UtysK+;zITo5^9t#mN1s*2k<5#gqG^FEmQ- z&m8&DbWA_;6%dQPO&qcJe!)U4_rH8mVvif#=~gtjrx(>H_6CD{?DK|$v(kF)(MD-~ z&tXf~ufwhnPK%@S)kiH|f8($9=sZKLmCAX$a>Yqih~Wwp7H_iP?C4#^~HENjvXJ4bU62`_zi;oA8kng2do(vjT}=l;o*B?A22YRDq{3i znGMfG(q{VCt(7*U|DJ;WWoGaLg8pSn^J**o@A-eG{}q;0>-ugt)Bkhv^e=S=tYFYr zxS6b%U5xg%_=nxiAFJL^-QbJlnLo=CAK6P}-r)vu16JG-T*D?K%Fof_;Wis^) z68%RuM%CoCkEMK&{MdkpGJgtoKL+nCi7%Zlobx7nT`WIm)ZOV(8FER$sWG~|4|Btq7 zfotkY^9ckDzHV$q;|jl`=CJ4NghH9^{10Yi{9L~pG+ z?sRt7K5T8>-8$C#sC|Gaf_AH7$HzGB`Y83LQO8HCDC(W_edpXqLPF5rZhyaGl6%j0 zzVAH0|2f}-onw;seA7CPW%Pf4l3_l2+xF>AHh!ElW!Iq$zzBFLZ*T_z#04jL5nv0m9+k00kIXtrVr0a)T_=} zZ(;$Xx4>^fF8|a&Xhi_Uk3-2fN|n#VXWr|$4+1jD{)dxI5cJSW%Fi*1y}~hW53FWG z0R5sM`Zh4nm+8+mIrVfp=M$#_{1@!7 zHK-0$M9+X2EOc$ASFS2}$52`&klHw#F87|XHm|{&?=dt?_1GGW`Q#4)&HH)xWpoAE z5wbXt_IKlHUU1&oCfQ?cUaQ{!YdJacbqc8w@8%I6;GnC45`a_v#dLmWz-c)~bK$Cu zEKXR;WN#Lka)x%?^9g}=BVODSKH5!mUm`5SAiga7s^lAG9 zu+mOq%trbCtowdo^Ls|@iAO=cG9C|ki||AAT*N^l7FYR zKyNOlYb6hH|JqZVA%4C$O(#D32rz&T{{lSlY{!~Kbv!F%R%-b#%A{3Qj#H)7tIXYJ z)%sT1jc}ev3GZdq`Q}Jnu>X56kbkbqD__4A7-20Ezyx^4#@iAk1~7s!saO3e3W&|X z?B)>5Exopuh_h_gIT|zIdvtUmHUHiSOQ08<>VWAX8p$uzgz<@n8!gZwApYB{BlBOV z-0c$jQ(#=UnjO7&j-uG>{KMHg2&7{^iDiTdMNs?5{PiXzpLmZ2Vj_ii{|9AK`}|Th!yM%Kd+a%#e--Nd zQ+4E`4qEYn+h;(Ro1#&M!3r@m*91}T9wSAkn#Jy8QQ@=5FD1z@C1HHMd&rCA=cyL) z)EL4-NEPgCRe<(aAVu;&>>~eMSNP8#(?$LVh2?+f{}cbyZgqkG*R#6F|G#8~Hf`XYb@Zr-cQ&Mu`F$In z+ZW2u3gu^o?0$(ppGlv`2<#5l!dEt6T;jKozI`|ggYrh5{DLgsoA8U{Uf$zI$eroI z>;tRn6=V~D>BJrZf(nu1r+SQ;Jsb%h-jF%j;OI++28@iJxVDm(75 zfOlT+&DE}FePDqd+9Dmq_?mV0C1m5Sys>J?r8y20?~RYkngC%T><{{%DH1AgeDQk5 z`wp@^#iz30`}wC--e~-e|IRUy{CZ+2{t5#;pjL>NR6bs(hQIN`Mt}bCVLE!m@T<`n zL(htFLAF+=L6kV@h4DJ^qeNJcW8S4d{S|)tePS5(9^z+Lgz@rx2d}Mh{4Z4YKZwEZ zi9+js`@J+3b$s$n2wjxsDKq(dh&^Yuv7Hd2XAHW=*Pk^I=+hqzHta+4yk+_+WN$k| zWA(t^M#{SPi|KW6@=kv9e?ge(Z}M*y2bY6=yzkX6=&xyvKMRZLJNMZiq#cP$%n{rf zGan+8>4Fz`MhhFU=wDPGaewBj#4o_~-rN7(yzJM?uut{f)p)6;uKf`4Codn+C@ji$#; zUl-EwJl@2ossl>6d)7b(ugdFC-Qr7Zb+ivjB534cU(jB-uU9mqvFk-$p zE0*_`OAy%fe;1Iker>9^XVesLo|Kn)X<<16s@o8H>2Q?}t!FY1mHv*~S_5owTLnG& zClyj=p}eGddXAOq$v=m3Nh{^(|3W^V&h-pim+KxT(%*ZmiNaUQIJrz=9e>4hYj$` zs{tF}UafwI(Yu`O`qDUVo35z74q(O8e>evUT+s8P`n|>?H)xL&IzEpsjrHibCi3u~ z=)8>_j#+Aa{w<0;vNJvY?vm`kA~S7Tf3RGuY^K36 zxBj-TkbSiwX$m)SACXw_4-@|@TE*{74g{p~$@ z8aBcwFq@zfW?O)_bZxx*ir73*!zr91Y7GlYZf z-uSdRS(lP__I|9RDQg6sY7;JJ*Mx?PgFN)E2|7Q~SyEddS77=$7w8ZdITwv~c~Fck zzbx(ehrmg_Gm1>=^VKwKidDYuSp3yUq96RyiU;;q$Zz5tbM`fsO~3|rwc>y`>2ZD; zCP!g696yxfMczr}vXy5Sr>sRme_8i397h}%w_9P&qnVcD_@qt~ z-%*w>h)CkH#baSFPI_|;!S|oEMq0SVYo!rm(EJ?6Ll4%6I=VhgjZ@Z#?W`G^*gA2N zT}g_X9Dr~o*@i}yWHA_KpbLm>&~;ElKz>msAQQ|cYHj^b_c~9P+r07iO%rt4(vTJ+ zcHYetZG6rq&hiJV!~(sZJDN&~zKrfxdB!|XpVX_q5k@4}>n0;Nhmy+(O|FR0`yb3P9e?6*DlL(W z^!ms{Yl<9o}U`M6$@LeNOTLlp~Y6Fzk)mFz$G_Jj0oXcj(mKhN3r2gL8IdWWse zWaX?~eNOVN#1s|rCl9gOF6fln)@f=hfZAR~&U$UR$@+Ddj?D!~j#!bQ%jQ<=ec6=Y zitB8+{F^S)=;dgM@2J3zmss@`n(8x1^@8si`r?*$B<;xUbl9Sf?2TVW1#=8wRM%># zPA63Ti!gt{c9t9lk^xhywqzh|OKyfhWY>;?uhW!4^?BX|J=SESODZKe-feh2kLDDX zQ-K`Q+}W$y3_fS3KBR8&HaEj|UwaYY+eEWA1m&Tsdab9RDpn8oxZJbh5Wn%{0!Ex!ruWa0y=vd_T3>X zJaST?a1tHdJ}Z~s4L@Z4xC>@dH2$H4t6jGgu2g=amfv0b)ZAVBSdo*ATVdO0f%lwb zt;tG*I6j$IxaGaT19WRv3ZMDSg0tc*?>USBVPVULE%_*Ndq~Ueu6%ETN#WK4++r3p zGP3gTklkYDKZaZ{y(vl4ynW+rnTI(i*eZy7YUTUmowby)q^>iDYTt&tWULT5y4X%R z5(rBRE5wn&gx3IVXRVURlB-kKchZ!*+SR5!CdSo5{L|Vl;_cBdbPaFMyc$x01O06i z)!+K7_^v6yo<7jdUbd%~?dw&0d&GD5Co_CkL-WJ9PB`R9l!7iV+9F zbAuz{xsGs77aGnv`Y`x4`uZh_q8tT);K8qq=GuGF_VVsx!n84bRiX7VkTc54@nsp# z`f*VJ&N{k?;j9r9XQBVad;+yb212dl4`l1ar7vrs7QmrCn+en!CI&#Q#U%>VDkf0t zzg-k+6>Fi^%L@={HE9jwSyzvJo^h}{xHj|+9oprzY^j^o6eIQb>SPCvND(DSFA??=W@+vY{YPpfW* z$4}eo{ClH^GXG>4DVuc4jdPLBzcvPobb5xLhR15beU%c(@MH)A0k|pa0~t5P&v-74 zYJWe*z)O8>o=HhsP0f8ITRP}#MjgD@kZ03$)PI%el%K{howBJrDamb(t1s) zGSN3;P)8+1En1>HrMi$(U4DUSsZRq7ReD@Mxa#LsviX$kGk??S=joW-eRk4Bk6ueV z$K5DMEx!J=$mQo5C*8>R%h{YsPl{NI^0*~++CnyWBPnx+g1sfp47D7F2w9%EJkJax z0ec_BA;qK%OkMsI^IOk0Pvo`*GeBtloTqP2~E0|8|G@OiBJ_~_0C(yuAI zdvJKl?H5meyux}ssVFxEYlAWUPTFC!b}_!^$yj(k!NON~ zZrb+l4U=rRs|f@i&+w;QEKMKs^aRkNuZec;pU$(z1u~3gS7hq!_pDx?nJcGfkaNf5kB>7M6_B*(dw#7qI9mP zq>!Twn1}>9a@^ljb-9db$Z`Tq*|}^T+i{O+cXX!WAtJ;3G0>JBDr(L3B&^28d9wo_+})kI({1(`ajg4QeJIg^31H6PH$T*8z1R0YOIn^W^S`^HP`9HeM5?k2lI?@?e z6%n|yAX7;yQD>}ro>)L5M-wi zpeWn79O1l=+(dksN*2ULr$pat6w$)LfH@MPRYqJ%81A=6;GW{y!wk>na@!K}5oW)_ z`ghK25dW01RD4G)6^CJIQv{X@kR@wKmc;#V0W3AD_?om|JjK_k1bf?ilSV8Z&}c}} z`;TG%ν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�+_iJOmh-f|HH;KkmndIh&6?Vw6 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

ftP1N<1DIZuT|)&P7yqOfkShxbxcTWjVhVwuYm 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≤9jbox%gK0?+kl?_V2y+&WwJr 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�`WjaqZ6|SRc;+yQtN!;<7@d69rL|7BcWK@U zHf-&vg-#~;0divh!Ya=Kh9pe}&fmxTkjidrzW|&7H81 zDfZ@ltnS2zORBATU)a92zZUv3P@$4+<~l3Byb=uS?eZ(V;i5cC&Db^Xa@7pNx>wcq zywjUSC?8zcSJHRKazGS*z14|fSplC6fsD$Lo!Gf6&mSGN5i9Fg-odtuoP_3bltn

r*^7mncJp`ZfAw_~Y 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 d%}DFZ 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

DTsl{S&#;n& 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≻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 c!!T!&}nytHo#IY?c3vCASv1xxn|(FAkn? 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�<<*!)~!7!(I{svwgQZ*yxfN+oN;n;FkbcSv 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

stpO_UZtx0PD}&4OEBUNC7HE0N}i8h&E; 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

F)0 z40Pk{?#E!*-5Iw?Vlb`#i(wHnuiJe`!oQoK@#Q&3O+TmJKd^L^0rwkBb_oI}Crxhj z)MFkqm)=7w!_ePtAFeEKBZhQIXR*ggKHvPas_!4bk_K5njxPaWD5{+68fZr&ZncEX zOF<|jCz3%8Bx{1}$0x9Gh048R_fm^?Febb#*6|)1i24P`O;OJ}?rLQas;gIUh6+>B ziYn|dI4b>yxLf(6gl=P*tboO$B+cDhDL1EhO{;Dz=Yp_DHsgUYEVy5#>=gbXKYfby z`8(b-x<3f+aJU2)$D=cHjkRKeH|+&}bCe35=}`-U{T;{7I0)8k(ybGp5i60{ir^h? ztVXY0K0|A`%gCUX?nseTT(MTW>P8FG;(oxXu{S-1za~C&_EUJ(wy1H^WVu7dga#hh zyBhe64 zq!^@4v&b3hUe3vl1ykU)$<-CiLL)y+B8u_B5OFYP-<(IFx;Uko1|21WUWV~OGu7S&?8mNqpU!bknS9L(So2XcmaP~U! zD{%{El*lHO?+K0&4Ai3oG;aB>%Pp%Qih>m)gS^RZIQ+FR86>P3jY~g}Eyp01N$l6H zGq>uFK(C%l91-esS6;S3xBY=DWRTf+N0)x4teST`i)XlON?U~t=8owo3e&QrA)7F+ z&PU|LqjH#5vSdyXikza&9UP|cDYMW94&sjLH@ln`x-NZD=74Ip(3epvk|&L<5*6Z; z)Uo^b#VM0Zt&HL{a38}-lKn53|K(mtd{O}~>PI>m-XGg<{T0y`&MgiT8&U85B8-w`SG!M z(xEhgxg``=YS9lyb`e;=tPaFHvP!9EqLf1iMeok}Jb8|YE$)xohl^B6upkgb0v}}U#mFa}f zZ3x5a=E9a*LLVkK3aS54F3tQ4s+~%=emDgiQE=M7K3HZ<;wvt9a9>BLvxOON)G_9_ za`30pym}S=-wqztf)0)yYmf*VN{w#zHO#D!G4V;Q>cS8TT1>Et5VMX);y#S=ewEjT zpK&);mvMR=jreoTo>*3?;Iv)|ESjT{etxL)nMXYshr}-S|DZ1wKV?`3cUO(6)KE0e zQe>+T*lml@EoA{#K16&2{`TW0LLA-`D;)e}3wYy`{$sH__RWb4((rQ}oVL(*`Z4&g z(ha5Lf^T1To`AN7#Y45+9F6ew&DQS>IMNP%to~2Y8Wd-1&VVK9%P=z~9!|3lTS;pz zYNN*lNz!d`LBm%jxta0g6N!H>On%#e%?D zg?n1@H%xqyhYmT{V6>hSCpiD3=*q*PdfRZjtwNGy8A{fqO(aZ62&p7nOofCp6@K

fBn;mCAV zE)8jPIf=@LnYt+vj_yd5{Wm&9vuo5Lw9xPUK~L4=V)X=E-$Ja~MAApuo9_ zn!Fwc2dqJn{t~oi0(#G$jjS*)gH0a6-;5L*#B+Ng5kpckCh3%hP%G;7MF#$m4svmI zS2bW%`FbkW^&sn{4k|f@PnKy#;^{(W8#i=(=AD5fkmfkftCO$z31e(`2%&Yb$x+fh z8To=hi7s$;)%yo0*gPU?#1rk#;3hYZXFU*Pnyh*hGpQ)rDFR*sDNR{p?7xlJE$CkL!+z36==C`6tvK=o0cRn3pg}+Gytj1{pKY;G-SUZgh%q6j{%M`Gx2l}1+u>>^gXc=GcgLTcFScV zp{p{9$W|OgUi(?Si?OKw6_a6!Q!Abj&iz{H)kik}*tB@+$F731Hwg&-J*1IVdy+_S2WLerGx zHE6p}1dO9w&K}s09QpEhqj8%%B1RoAi{kvUKfrGDo6b(yy9EvioF=-$CD~k8PA;# zHkT7G`#Bt1qjhGq74kGYJ`4p_AdPm*O-qiYR57CIYLr_mV#(oFObz#}#BG2-_k+~p zp@#;Ijs~VMMHP*+T5hfvsGYs&D%~;3bR36eQg1;(>I``gWEVHG_rP)Y_x*nVH02ZJ zq;r1wN*kERwM`s=i4z^2cQ5~Rh&V5oZ?7e-`pcvYVUNoV9B9R!db8xH0pbK-*UpDG zmM)6Yu+uGA&&Xj)Tyn=jes~5O-F~}af}8ATp^i(KoE1vS-GwJ>W)rWZRUxDT@p^uN z)I7JSFT~h;LEZ_`{B@B*xrP($yEVO;Dqhd)Wl~nT$!-BHbxiM3%vES_XN&l7zOHuz z^d)7G_N7)JJNcJ$U`pn$CBj=}vP0SxH-2ZyiWgv~g1eU?%mzO7K&fO3_jW~tcO3fM zx+{E61-|rY17ocP#OchifSbsP5cs6mW)@imhhY0y8$jyBqo`S_UVURA=fTk}dHA?u zSTBAaH2W?~1Ub5$5nX%n!_KjpX;R*8aw1^3z{Km^$9Bd?Yf2XbvemA&gn= zH(*f&pABSRo1)AEy*Shc^uE~jeTSYH8_ zUmvKv=)I~ddrkCyjDRo0uKThbd9a;$#Vvyx7T zw!46g>O?%kZJ&Z(_r$FArB~SzE0Tp_B|jZ!z2n?|Lkc<7kM#OlHWAVcuMfkR^c~)J;^WPd5(o z*WXZD{ub3St(Y2UFWjLi)V>ib39!PT63n4UMZU0?L^`kdBCdHTRL|Z#o$8wGK|P;{ z$R$*3s7s@a*m4G)XFt$XC&vIq;HDQ8nb6%))a*fBOWff+!qw`v(_<*y;j!dSd~$Z? zaZw_^Y)0<|>CP%Oe%7{PlD}Y~kk5Iv50B?Zx*s&e9}g67@@8@b`S*DS4>nqI$utSs zb2uIUwN*GdVZOv~$T(@p?d%J)aip`h5z={}p}$^&xXiK|QIiyo$BB{Db}d^os}7I| z`%mrqg!LEU`86=@$%Zl9Cd@WLc^C6v@VD_qPP-{GG{G&{d?AEb)-F5cw+cPW-i>Ks zx_$qKJ`r7oTC@bJiK1iY)+yWYc*fw$V>UA|@*EGHjR$luewwXgW^u2fq+42w+1{P8 zw2b3mJ~T{?K`kZwtSKu?-^%VVD>!ywppKUE()U-Fx#m)KtLN7j`)$31ud6#qKXHJov!>+f2DBe0**=K;ck}qL z-7CQ_U3Pc_@0;AWr8uKb0%q>I;=ae6@&OI>m1d^ zmpPmYA8S+ySo-TG@QJZO!BS)WUO@$($V?&!#{bZiY9=+csN*_jS%7!l-Vo4~mDrE8 zgb+=tb>tC?Q}F7)2%NFf>94|bl;mEH?Ia&;x+We1-qwuie8LPNe!`q6vm=~-y6#Pg zAG6c)+fK6xwVC$bH(B*Dn0tu$aw%hN2dQP3Ml4JFXg};ENxYtPHUd4y{j!fZv4a5O z+2eGH5%RA>^g*7?%J__M8SRLQfSXIk{5%=ZWX!?cz_j!7Clt|$jDJRhK;Us;1mn|2 zLbLA=lq!u=?WVvf?%P))|Is5ReWtP*5px_C9k-K~)em4p5XQwCsXQH4TM>((jRKDP zg%zKvCI8M{%6N?hikQ>yZo($MCD;r-3irBr{0T{LdQ&U*)iyRILDQk>>bX1Jey5}# z0;s4H*Nm)m4{F{xJeJWg6OTS8r1eb`71<3;8rLRM1UjK?Y+Bb$fiSK3r0l!G9uyky zHfWzoUfa+L3`ZD)Txig;8VNu0Vz5e^3ny0X%G^dH51X!+OOx~fm)%S`9}^Yw6AE4- zt6Fvt>E?AW{bA->Jp0W#9W2Fd(W;FcaSK;k0=+Uc(6tE}1R7dC5B;#rinmZl(rI{C zeKZa=ieK^*)j_uwKB3m^`bIofH5WR>Yo|5v$#-#Cqx6U*3sFO`JM>^8UW!z+mfFB8 zakL3hL9Nj!C1bS^M(-4k%-*J?tIK-Cn=PRkJ8tJ|HIeNp=&pH zw$fDh;02O>yBIoFxO*1H#y5J8>=;M(+&1S2Jb`$s$c2_5I^4Ng1)Tx{N>xGE>^QL5 z)Zx_7@$Y_I+Ys2{rA|E__hvI0Iqmck)x^Y;h$3V}&wb|i_O{0Q)$qf;LTkRs9lf1is6($863Ql7UyGJo>LhfOr5XsI;E1Go@ z-SG~J@ODS|ZvQ=FX*rffvs+dpE(S_f6TkRdP*ZOZ5qZ(wzoDm{4@bz^>%llO>6iWE z`of`)XI`J`sZP-h8fOy1!2a76B;8@%oA(|vUVog2sTTnUu8s$tP;3Jq% zapyKt#f|Z6$lJ>0eB_e-Rord-AAxy|j&vO#+lu=$M5o3kop!qkxoT(gz+y{Wi0z45 zq=4%-2`d}J>T>g<%mQ7N4R{8@6Jk+15deP7hJs9oBK&(!XF9|ylk+(b6aVn1=M4Tm zV^?`QR&Fqf$@pF`(HrPF$ea~03Bikvjn*D7p+$;1dhIX(oF}#Xn4aJVh-vfGa=X}M zOw#BC-{Sj?cTC5U2xP$C9f;=qR!xVJPQ}x}*d#=4d1U(C$M47!lXLc0wCw9f@0Of1 zP}jiLnko6lr96HeeWFADre~%sDQj~N-fHHot^G+YmW5ZG;48HDxkIR6>THt*aW!V7 z0asOf$IHbx7$2~{vmr~DnlO%To6O;Mxr7raxN^6k9r9@C;(}c>pD<42T#bV-jo|L@ zS^*XHhZPOM2P<2a5k-B0%$*G1-+T`ZWbsoq^xk+?-3c9WQUN)Qb^L&TDA*YSnBsr* z)_1`%QEYTa$ z;6nIvHAi=v3_0Sj#^L);KcT4gqb-3_zXwQ_&yx0MTm&k+0w?+j!2A~~)DK=XfW0-P z7xhT`LU|zClt~yV(T}vPcX$wa`&BB83PJEF>CPx7KK3qBtT|6cKmE-_u8$yfDj(-BCohL50srw0DP+9 zZ`2yeGR(Jd`6lrOCV6@5>8EV$Jtwuu0^X)e;AoQ6O+;=-16wa_37b`GAW;T<%jG5C zj(|>h!dG;o@mDPw$3u{oWlPSsGK^L7trE&4pGwZ7k9kbMdtMOA8w7UKgD#)pg%;)l z=eXPuIg+gQn8hx8P5iE=2;#d+x6UHovI>}c8?tfT?I1RmKHbv8`6a@}@KwtaM9M}CMzO;!#$iB;uXK-VEWbRFH07ZrWGvV;`N&@ybi>0cG zj40J2R2}I%x45Z?HqpQVH5k~Fj`qR-_X%G;lrP)$CdTgGo38imH%nI&zF&?1m+sXo z+vFf!xI6I%oZnRJ9mNLSiy2sHBKrLuw^1#LJd_EurL!8&&Eu$sAd9SqZ-_L#qc-dq zTq$S6$BHE-8-16l1>m4IpkfO#Dzb|*0Ux{whG`{XBG!W*0FFth0sMVYHjVi3v+NDv z?V6a}1E|_BXo6?{ABF;7mnWAe2~qL?>6@}zp723wKsRbSdHj;VgD!BWn%kYVa~!{V z(g^kH$tdv4Z0j6g?^}YjHgdfwr=GId@S@c;#cd4mfopd*qefK^fI|}uK4;u)f>US0 z1n#Sj!^`B_?Rnx0#xWz9GhIkjGH>oIYo33)h`xG>X}@DX_gI`AL-q;<0xSY^XtR8`R+m zb)wvxD5x?q_btmkHh3aNVYB-W_iRWT7hLc|7egWh?No898zTXC>HD#}`le?<)V-Q;N=Zyfbc- zfHc|<1U6H}qm6EE8bT!nzJ*2~A{ENYvNw<#n^{8SgAf6wd_VBf;zZC5S-*-mfnlfPEB42k zSsl)MTFfG}O;){N5f1RnwoO}H)=tEja5%GsVf#83GO^zmNuFHBtS^Q>fT5s^_0Ze%qA@IFEd;0;fp=Ma%V2$#Sq1@fTfim*``2>Lc}Wm(S7e3L{_bk@abgTV%~+DtO$&2mbIFC_5`Oj=n)Z zl7?)S$BsvCl}9grfKQ=*PkSS^q&IaubfBQ)Rp|qwM&!zMI{et~gTQf$3Tjy!3;$j! z=4s_1-z+d&sZw|4N)WN;X_DWlS`=g2+$fD~JO;~@V^50Jrk36V$87Y5^x#6~H9E?m|1kFs~B%06@O2dDR2GpVHHQH-V z`3^Sl>@pvn(5^F=U77KlA(o5oHjZtlUGGR4mk@yD_uTdiwSv9?ov3O2*-J>#V;$j4 z_OWVY&fXWSc?f9<0(hnz-5*^%s{Z&`xcSL_K;`H|ZjpEG(6({ByVWS+G5*?iiq3BB zO1y%;v2n0sH9&bN#X_Hb2+jTRACQ3ED7>sKaLnJBItk;bUY&c5jPH_X@+EM0^eYj! zY8Z7tX&W_o<|LqzyCsrR7DxQ3X45}LB$^Ljg`2lwims*g|ZLc)CJtpy8@k$ zfwhc;SHK#3b3uzi1mXa-(umP(I^Q!_Fk#zTN{tsqR>)tj))vSm;g2tih9DCLF9^#? z({f)ef@A3!>cpQyNi=ADgMs2~?&4!dHTxYkFIsM*q0aP~q>v3_`0OrdM;_*Ylnn*t zILX8o3;{a^fymL`Ft|-eHDy5VqHf85pPqIm_Xjv!&pv!{OwxZa>)ngQ>$vWTCs*zq z!g{dYl+7z2pTaSohBq3?>T!q<%-#uE=_fOdici$>9o{Dt^F4yKI!WtJTUYGfhOiXn z!O0I>&X}Jw}wr@|GLC?N72QALWoL-K4q^oT5T{Y zw5!Pc?`dZHFa`IN-kO`k-bl?H`uVB*{u6rowFS9KIr=&V!`~l5)DJwc3}_QUmARFR zM%6^Gx69ai7H#-waspKHIu|XNgnfogiVN@%{kieKW|Pg9gTDVrbZVVc4xs zD7JJPu)Lue5G;aQsIJ(;_4dHJ1&mREd=B|T0lUFB{)3?T!q0)j_Q`kdr|tW6#L)D9 zWv0!Wdq3}Fn!}cMhwKhDwJi87E^Pbbn8oUq{jewgna+Uo@O9lTUX-0!rW0F1wxr(t z+0!q>lrW3iN85x z@F}{oa>vD3>@I`sOX`JwcWmDr|1W#sQu|J^QOgs~c|&QR4;9u^dzHt8)w*3-dX-dL zoJpz7$E4vU&$HGc2kz_W-2U;vC+)B~=FazPZ=B3T{N8SJ1qgci!h_nX<#SeL!KKdf zJ_iB6XI9$}oaa@fgqubuw!FHNc*RwbRe?}YF(7Wy^MXX87gFN<7hJuZEuMRwN_ok~fc z+dsPA*jYy;e0`m8Tg%D*$=iqJqw~(T=gZWb@=uziS>FC4HJ73p>b)a9 z34dB!Q|QNzeT|FoDWrd&wZ}bC%F|yxl!rYOae0$Y&4K8yN!>ydjWokAa-Vz;F5FK) zxoFc|vb5h%lr-8t{AHh%);*DSkN68ON*{gK1f7&~=YotWw4N?Q$o4Bl3?@V{WlK{Qgfw$6*8Ys zTsg0@)R#7GC-2`E*AlyXMdyc_Ht36n8ltw z?_3tn<4VqdIxR+V$h&mtxx~9IB0}dAbDX2?^KcJW3ucb`1u~`#Z**DD<`wRKG+eCp z?g!tIR|1aQnbIxP9xggR;AXH_M>%HA%* zRJV83^JEoXiH2n6Mw{qcy=UBhd@$Pnbp5B1-onL@H(mPSPTo~%zB!W@st@&@PuZNY zbu(FXr_7jl*kon)!R>k}7q%R1x012=HfaAjJL3DBkg@U4OO0n6ZigMbbHH6TU4`~( z!a3)Qskg_;znY4tc4Y9#6^HiXzg-RzyrY^~x6yJxHh$KR8miZ5eO#!velTU|rO>8R z`IS8n{d;U5MBNRv-qhlt{cLgHWupt0BF0S*L!9R1($!RTB-dZue?D73w6`Gi=?yuW zvZh*ygT+DN9`U>9hg3f9U@cujr%sICtPg7PzZQR3%&_Gjp;Jx0rR>^SJJSxQ>!dwm zbA`DP@1m^fw|@}N4{zHZ`y?xJ%iGJ8V1ci)%uaE@xr)#f)=a#{&HLd#f5LEy~a zg*c+!Mjow9|MDi`Ti}&f8s@8KMz~pP0SA3( zk>Uz_4i}cncl~;D3rlf*|8jm`MbrMNk*F+f_seb*=^8UBCbut&gl1oQ-QM+O%jk;B z^9bp`srdO@66}f4J%^0ao(nrEzA8MXB7X7tsjqQA{y5!QjH~*wOZhifCIinUJKD*gnf3)+DKrvlhg`(Vk(AStLeAi5l=yvK+`Lut{h0#y{d=g|Im-5s_3ayPm(3nc=oVQ$)%?ko|ByPi zL%QUMcj`*mt&+3yK1aU`!`Ida%ZChAE*u#SejbX|RXcv}-cZ{Wj{w~Jy#4+A;%VQE zdQRid*!fS^z8;Y6f0dJae(X{2zw5bY&T5_1y`tR@+S`}Rya{zXZtZ2}WS1@mjZgW1 zwR>|3E}voGPx7(37yQ3=ZX!*a8 z9Artw6$2j(>*{$&T*xbhX z_+opiu(4ATxTo!y%O;vm0}#nvT9*Kj#|9E$Fp zr0OIBZ$3jbxeJPO4zt8|NY#S!fEDNV+Y`nMKM~h$D3unwL%agkW+bA!p0$nao|G(W zGD6!5=YGCq7PV!I>7`b>mj0x_sa=GcEHN^+EwmA5pxaIt#CTMgw5^(mQ?K z6fVx}Caf$y&tRf8jvUngQ88w&1KV;oJ)ei$+{NqWnhKyCR>`z~>Ju@H;XFZSJ z7|jPy>SpMe!a8ebd+puQ_(EfJ*o)!(n)bt;#CTSja9n0>J+23rpT2qkxx+Gyv{jH z60#C&wyXq^t%U`|Hi&TMbI|ripi{&YB%Bab`%fbq`Du6EI+lGii9CK(p&qfMyP)U= z^{L?|oW>is(UWb<7WE(QwwL_^py*X*@t@2%v)OUb=Gt0;l<7K7n1%fF?FH<@re+yt=yb8C zQ?awU==bZxN_Wo7jR9ks=&2L0(RtMx_fi}*rfgeQ)6JGiD>fV<`Xku!n$aW4DP;ZH z6tE|aG0pA>I>$v^w+K}1Y7Jpez8e1N6sfv64oZE!Q0k|kA%Upb79z~3y$m$)eM&hF z`RJwsT)cifRD6o_`FHYfM*HVSy}0rhB^-$su$zEUj>fE`qm3VDv}0;Q1{E!VJ2>^6 z&DWYMDzEq{L3=i5yi2fimHV-|7kp?Z!MDERk8oZJrt{auCDwz{MG3(7=@}iR+Rxf9 zViU9L0Iunso-!X)`lI94v}9M$K<&SJN`m;q*|OfDBmamz3BBfcC^~uAW|U_DySdKsL*}tC@f^K~xt?_$Q_h=! zLV@wb(3*4JuE|)5oCYBX3f{2Qsz+8&a_yY)8So_CnFBmbYw400>I*T522{1l27xi;6~xS`1~C|Fm0jqEfy zICg95c}5?(Li^64^T5g-Q{t7T+FSLb$g+@-bsaa>QMl-zX7k5-25tFIh+I8|eGpEb z5F}4RWc57x-JR&BPBn*6tV0?~SY>&5{? zAV$15@g>5=wzt~R@pgm2ym*|%{f3@0ZvMM(Y+A$^Y*pd zDlYvt{^=toWvUl?t5rN(FORZ(eG*k(ZvzgQyPEV2YJMDAI#;6b%~YtoXa92P6_)Wd zdu)s{MmxE(jK-7rHEoctdJqz{?JH}suuXivbdmD~b#Qubc)J&Fm82qj) zN3glJf%gO9x%~k`Hui>4hyijP@7kk|jFS?v+e6w~_)*?V<_vE>Z43gaw=(U`jDY8F zu4-?YBu}n&g|#(w=gp%l$zzrFgG&6|dJq*d(r~Q&{ZGN`K&p|%GMP3>AIxlfc0wnJ zt0oN^Z}__sf47qNQsasPM=+?rVk=1CWOMR>B4|}{DYyp$+9queePg(;0KMB606naK zgaW5>YjKeh*JyT)eCnzk`WP)wc8*pw22p=!TtB&Tfs;B0Wp#z9PZimvdiPqPbqJJs ze(t~1`#tx0802ha$eg4Jp3`-qG0zZcZkhx#F_JnfjPxp<84tOm(O9FanDUsuwM!BP ze?!UR`lm%E#n|nPXHolsTOsM_dSvJb1^wx^VqRIO#{)l+g0!B;l}0gW5honWw9tRd}IL-xgta}Z@aY%4K-KR*YEe+tR?C$5`v zM)|XlRwo#m32cqVTdtA9c21*eBiD}B)7I0cZIiE?@&ykAqk{h6+Vx>=8N;1=r>5){ z&W5sHBDM9&K#wG?8~8Z9C=!SKRakk%w{BrNei`6fZFYCBT;Pt1z6TC7&*#L}bNb{~ z63jVHb7+-X?Un6X?(bS{PN}I`%WNy)>P$RSQUGsGx>|H|WbxK=_s)ET5C`3&)Aji0 zx_{QLi=dDGWy{y&Z?2vUn=6@$%me@1-HB;n&+-T}=zZ95Z-sg}9SNl5Ch#y1>u<`D z!b|ZhH7Cyg>^#SDiv|uO;orvJ)d`~vx@@0Stvg2x$aL3}lH-A|48bjkUATCh3Fl$_ z?6h3e7X<%Z|AAUPDq(JQD0>#R*TAho3!@u5%`JtAb(lc7w^F}1aDt!z0hODPm*Z^F zUUE$5KTjU@{abKo6}8ixb9Q)#^LTzCg4qxdi%dqLPyNYr6~Ximm2WcI5GynSDEG|_ zTg^`~%%S%OS}`j#Q=C_4<&yyR{yKv6@{o2Wu~9=yQOW&8>c60LH`Ra-r2aL}N8+d8 zKJArN&O!`}@bT7~W;DW=Y(?)~D?U=PfE7jyz#KRuoeF;OGQI%@tsgar8Kf0CR{zi$ zNCKMcs2>X$Qg_;Bv0PauXmDg=TRlh@`hq^xjL)rlc(9i|B@U@YYI{ng#?rT=B=|M)%WB_(XJn)C zug)(~PJAc7p77F=fUCBhL7shdLI^ACk-H~#h7OVlkL}z-e~8wD)*PK{A@KArl)`yV z%BB?1p<%kkMiUmAY(bT%4}TyYSLf)9D?JqM2exC*NhKOF%>Mn}}grjq{bBj0>b zo2BLET{Mk9=I@)-OtxgPE$#uf=n`0@KI0X);=e{t=57kvJcJBCLVRT7naOhs!3!3y1HW8zgV%QR3)kx_Z?Awt0Vk(*{+)S0jnvk%s_sHp!e^LR zSrRW~+gbKI9c1dul5NJ#*zAc*|0atevU9Mf@D%#}_Xt>&+{{BrcBPZNibsd{pyTO~ zqfX{7mN&HN%=q8(O;cEW@{?&yjVaywI1+v|C^C*tE|x@CLB@@UykJr1fnd@Os(LEe zjtbx0Op2X;j;J?7co&Cup~=#uG&Hyealozp6P>N8+0q`Y|YTTad0E#dy` zhyl*8BJ3RXE;MmS1=uL}o1dyF+dsM0baquM^f1OlU^DLja=_G5!d*zxy{Nm<8rdgf z{}uunV>2WP#6tv0-vdF47F~6Mcr~d%Jlc+Cam~LXOfXw_mgkxh#mrD^AL0~n$vGWU zca}s4xH@MfIeY49tXr%K@1yojSXVM`e|;?J&O;#G09T*!>!&hgQRy_!aB>60;c@1H z`tUD2K}>qY090Y(O}!XRJDEE`8<;@kz~Nt#@QGARj=2Ik|KIGMYM{#I6Z-x2zew4x zT}kJr(H&Srzwuj@5RFH08a+$O zmM=-XeLNm;7+_e`>U=jNfyo`fCovHHI!zuv!Hr z|Kf;e!&#CC&>tTgA(vSU%+3$Bl8HcpjWO}op+WGd>*=9bD#5^000~n8ES?oV2`^(k z1)~zlNXtKiGzqvf@;uIt&MSpo%WuL4sxRsI*dZX1_DeRFE(fP4qx8fHnA*|c#}rbm zF!908xeX+^k-sEf%__rqjK_qS{i?z$LnZsaBI~kA~B$V@o#k7Fgi;xO>f zf&;6~gd7&!KQ+fb(umZ4KM$XpGllXR<^Y3 z36rN(hS3q~WFR0U8Mybzr8e)4Y~4kjRckD@6l}HQCa>JcKRyMpgj0}#o0LE9w{PXU zdl90wcCC0e)am6Vqa6T$LJEJ8~uSga^@}+hLz&C zx2)UqF3g2Qi$^&4qX)0vLvm4e!^w1Kk|i7=GhOwM{+KT`RQjhyZ>)hc0`^BSJVa#4 z^s~)+M#NIFdaU3noj`}A4{$t{BGwG2(9+G|w-AUa3<5jq$Ss^8xv2^6GWJ)T;8PP7 zdHms>i!fNM@Eo<1G%Eh#QsD;e8U+zGqS=n)jM)qRRA+y5UI>DIXPtT~8VNYwgTJsJ zKRD@M@)7y|flvE@woh>oRGF`Uhmpgj269K|Xr{|B=Samh{a82TrtUANGdrIN9lLJU zp}4)xXPeMQPpnjZ@67IW!sF$8&i*ot?~7wcr=KRQtN56`fjuoV49Nl%Eb7@+$odhOLbI1&C z)&u02P9_J4fqbqOH2F<(TXj=Fx8~K+JQp3QNh9%B9N8E=INT<7c3^3!`rJQUXIkw> z9<55$|7)aN5kxg@SQ3{&3Z`4RCU&(rn?$i+LNtQ>L7r3`lk`RV&2K1@8u^s`Sb%)? z^6?S|doyytYZY7|1B&ezf1CvRJ=zt51hoY>;u`3XIGK6jv>`gze2Q`_0^Wc8*zP=X zghAGfoq1?4vvlA_UzzdT1K5yt(eD(T5u*YtHZlAH`K@%=xx2U#-ok+F7J*;FlSX^u z1gzg7__sW%NrCbUR2<_9!oJ{Ljr3;cV7}LJ{0Hi%CwbFGtB~7qn3Mk*ErI*^Jb^4b z{cGe-Jzvgi*K@)7n-Rqm=IDAs)P-%R7{LYj9);WT!UL z^ep>KjC?J~-L8O6VGWB8I^MWe{d3b|yg_5K+%x1IqcnH@bqg{ZB2eJHRS})!OVv7T z#x!6ptfNVXLmEUAuxSrP7Rf$O^^VuN#_0GZPV1&smvp7DqOMuPhgR7a!KUvyCMjAUZa{Ns=eLx z?%u%fO7BhxVKXr#8|%!s12M|y%T;dQH8pkl&-Xe(*yntArB&8eSEI)Hd3EQ+z$enK zLDLefH%TKgmS*QPuGFotu1oFeah=uI_OaQbdA%cg9vk?jCbfOry$!}%M)YK9sPkk;u{_n2clfG?Ix@yJA zESrl(Zua`pS-t6f6M@8?ge<~m4ZrudD}++tn3#LEsEPf%-7lJ$Ex)tgnQ-&!e_Fin z-bKZq|Lu4kZ1WY_9{$_C*T&Mp-*)o>+syOf4ht?(rm3^$-1c-!9P^IOBC!%s{?EmeFhE zk*~|gEPiEY%da{wcD4G52-4gdM;4 znZ~#32k-X-nJGh(OOAmjZv0G5$!(K)ZP$MHYzGwf?d8#D@!DqkW>*U9993ngDaqE; z)g4o-kG`7fE9|_5{-{AX=ZR!vaq~G}aU)-7JSo;*8p~Zm)SIcuT>xVl$+kt%M zpO--TE9CV17@tfd=JAggN-Ymv9~U(rEUSO=>}u3b!5z6f1A?XH(6f! zMyr3;>sT)pudIgDz7xY2I~YSb@19YqzWI44qf7NhwMe__r++jN>qT{MFyH@t@FNMc zvrXeKuKdFJdw+7@WF0(xVb5OorR;M!jkdx*aD9{H%|4Uy*`6f%6_$GOyKhV-D#2|f zYgx|u{D*P}r%O_KcQ0kW%*x%Ph|hVMdt{r|l=Z0(p6>&UJC3}PZ6lD6Nyn(Acy`1d zaZYZ|kWXvUHf{0y^1I=cx?)|iIbyJo)IY3x-q*RwNZJ>aD;a(m^=&eR_~L2CpvS8N zSIkQCHL~7YvNqiz@3A}P8?%4kf(^!yI4NIX<}!R?ak!~Jk7lWS07lzXr!fEXJ$td* z&T>7tPw&}bht<`O7VO}m+~AY@7eoGzi@ghKOT*2>j5(6=*BxP@14Wc7<$)Qtw~sv{k5ej7^dJ=!cg@CvLw z*Nie-vw!mdLRIvUDn9klt{{9y9L^LI9L3TSkJ4~89CEQ)oLLZXL$Ck)F}?v%eS6`< zW$=rViVw&j!*?09~et>}SJM`1;j5W)T8SgT1_{~lKCiokzz99FY zM8sf_ocNh|!y{N$P@Vqc=e#}t?&wcjxpCstIDxzS&6lm_Uv+}jmZ>o*3_8xYV&ReC z^~|RxwBR}EPsA=Rz9-ZM`^X%*Q(izqF2mF=+hq|!gVP!0YOba?MUS2ViG9Y6>^O*$ zVIi}FCavmd?nrh#DAP7AR?d89j^RDe=Cq%3hrhutQ87-ySYWfx0%ev5o|<03s=?r_ zDY5x=0mANni&Y_$xGQjWF~)K}cw*jlQ>5K4o^~sn?Yj>(yO1HlyCol~^%i3ig_Gdo z0#_(TA-wCR=!+(>bmh*+HZS?Zgrkf#YY{=&u1w;Us0igW;CBfol=sZw5zosai(GrO zS=%r26|rhZq)YJ!Mz6#De`k2#h~%Q@JF?uYXt6&R3UvgKe&FAoGw6chFw<4B9l3C7 z8@6v^W-nGxPe=egXJFe&a*L^GueX!j8B_>Q_xT1^Yh0^T{5>gHiP{?UdHi&=X zR`JJugd_xA9uMK0*)+wOl`UEke^n0~>*8|G6xfD6TCXnb|J{+WZNY9yrx(?T(Hs%y zC!l^PWelMgNY7=)-q9QXZ)?pd$H0hHiWnD4n8IUdG9b2 zw^lKyv&-d-y?G_}u*pn7S8#Zh=&JYX@e@3P#-EmkA9PRke5&pAa|>wn!pQwuB=y5OmZU~oYF^D}n2mC5NefH@*Ne!-Z;F%r0 z(|>Mlg9zT^rp?>8`r~B8Gw>H~hu2rOn7HMmTfBv0JGAW#zf8K*G(>R54Py+xw<$xb z?&3MLvY%IuCa$fol{uKs+xfSxfzPUqznmH z-G6&$J-pU*6*fAJ2UtuddfpOr%va^qjUyQx?;v1TXTSuUb1+f^k$ai#Ww+5w}puyx*Xsf**y7ga4FvK*A1Z!YD46Ml6>VdUg69M7uGWM^hZ96U8o z{-}bCkDpYz@RzKzmJK|aZnsxsd6PdZm%f5eUG&5ayRNmQ&l#{{)gQDwsKu}V`Fv1t zP%Rs;FjVzs#|8NttSkjSV@*36R@%xZ;^Ch+p@^j3i1mJBWA2OmNH@F00O9;IT5A8@*d8 zp4MyN=!d*+CNM1k&ZZ`U>`AAHdk5QE`s*uM%p=UDYu~_=fil@|Z}tE#fxT5JG`leG z`+KLvULmpQ<9uH=o{*ndB=>pDU-HMJ!->%X1yeAg94t!!8sd4JVzk4EmrA~%52nZ> zKJS2Izdm4*Z_#uBxJ1}oi%XZ-u&7m^FU}6&Wt}QKP=;pQ5B>`3EH}ts1Cp#~_#D8qL!Fxe zlbQJI=P@3e&#~1Aoo%O9*QSL9W%tU^F8u7k$cZ1{KFHdkbGwniz3&N?#JAj`ILc4# z#6ll)C{~n*eV78Tb=rN*XS$gk9R$jmB0RQjl^uJETg>pve+uOqp;x@2`TrjObz%X%MBw(&?}Fh!XXA4c!1Z1eFBk^ zpN9a0Q`2KyYWCUK8)j?P&hX84@;pqqBnS-+EyY2++(pt3E5HfZXybr(xmp3w}kM4H?yO~30;>W4Ye7i81=cG*B=JO|Z#jYdM zJ>c6*bSejTsSfS8jO`Y*QkyG=x?#^wtG}SntoZ12#oSPSn|Lj}H)$UmiOPf{4zl!C zB}m#f$n;X%R^K*|qjlvgEnLy#;ycUNCGQ>A-&?BtxsO;Cxm_X5sM)3jX<7}Md{;j} zZBM_m-?#bN_ul;;vXU;^Oy>C6ss-FxQVlyC$vo>A5s^#d=Fx_eH|z1eR3?!PQHkHj zoyew%?Bm?c`S*V4Ozg+ZpN}9M+m)#`gyw%)@Q``Y2d0WfoIvYTg-{yiD5V-Wq5n~I z=J8N{Zye8FNyxrVQdG)PN|sEKRA`c~EoDR{#1N8gZj>Z@lBA5N$TlR|XUM)QMb@#8 zeasAIyL0bvey`X4>)vzkx%WBGIp@C4d7jUko&5S&(Vprh@q^rb2Plr++_4s}ecm(R zk6|e;G~4=;U+lc+PT5^f8o+_CKq6^=cZV`D8K{$exLJK;-q}DR_844$!iF zfADtcPgp~x&lhlE*5OSNNhQE_?TvZA0mQ|Dd2%R<2&%4;PA099+?cVUfqzL?5nY!b zXyb&`QecMWDy2UMku+66ltkSeeI%D)s&IQZ+ltT8{Zc#9XsmQgMGieQn9BTilr?1)5q{dqYL20 zhdu(X=|ImykXNxa@c`Gu&mVar@a$*q5;!(9p_q4v`6+^czW~e@;fROF68aoZGSoK7 z&^S$`R+41@&Nuh&Ci3c{<65&nYdn$6_86~dXNs}a2cDwn}xB7s1w4xJ(h;-d*BfBj4eHy^D^?O~9dA zA*lRU5Y%ax^<%PW(N36Mvv_)-{n=i4@$<@oJ;dR#Mjd{ZhnXc@xZz=VALtu=z&=TL zW)11stCoeo*e0#zCQT;)T$Xla8mgTffQIB=@br3;$?>oYT(dF&URFy*h*n1|rP-d6 zSknoMK$aqPIgK)agE&&^I~KpAJtJws5=YB)EY^!?M!o?1e+6xR<=i=~`T_nC=Y+f) zIq~AMFlB)CuVN>cenJIO`M9-z4{7LSHJY}x!HGY0F=xA*w@jR%gKajE`woL8Hr3e4 zO$S;EOQ>!z^4lClhAu=LRVE@>3!0w}zWqqg(_%(sNHxA!>;6f=Wk9h{)7(xN98 zAs3;7|E|5j0W!m9(b)*If9T{_0c`){Pr}7y#zdb=t!0sP?A-Um+xsNtmfFRLtzge= z#sK^8Oa23}@^TuBM$XY&v(g0>!_7?F{VPb9xo}gO)cjirv#@tXJBl;>8XZxhYASc3 zzxtmtQff0zRhQ&=V|Rqt6*)lJt&X_cg?Q*GT9{2d@&USL5NxQ3UKvZb0e%_PvNsr! zg}gL?+X`IYiL6-Z~5bU4b z+vp2q&vErt5p)dB(kKZR$y6H&+;tD3TFB3S-OMV_aRK^It!=xrTt2vAD;IZ$Pt$})dhg4vbpzoGsxwR{; zD;_bj$c>+rQ=A32Ak#s2F8sTx&3UM5L6-a;d+@4gQ{QbOk|J!EJq!Z$KL{(;cxZRTn$Ek?UP}J-ic0X={{g1OXSHb z*WGKvN>Z%|+iUNhHV?4woA&>?#(KZRx(h2hlh))DG7 zV|nnZHNhs6Z!?tFZ^UkadABZ&CCg*=I#9m?Q{Y+F^hpZ;M5yaq2=*|YBJSWOYME}> zsMZhuXfZ0M4V$Z(z7uA`J7E77O}eq%-ZNCy6=HQ@(Yte_Jcj*)ys7X~Zq+63$n>K= z7i*x@Xb&g#Q}xaZ4&$4i8hD3}0f59DU)ZeK%Y5~aDddD~#zm~fPnyPr>p?h`#s&E0 zfY^Vu_J!{;_Lv6xTD=lpar`7Wc*XAtDAF3FuE#M2F8fs}~{Fa}6r-NHt<1 zPUj!R-k+fHdr33yN9+J=>tf&rlMl^tci1|t4@LSEy#ldEkf6a*$uH&*>B`1u6RJvl z{ppWfmiz00SWW0#?b)z6yUy5H}ycjZ5liI@9>+?ye7_~2!M*!K>h%W47{w`(+1M0v{JLHKK{a(cPOn+{y+?+-+SvT3$JC*ZxW0t zZfwc{L?dQ=546h&R5L!?=f;e-djhL2HcR3pJ5ba6|C*Y<|D%jFycvbu(m8`bNHb-4 z6!-E!+cpx9AZ>H-8e4J^nV4kyw|iL0gYAeg$m!S2K_0^THb0a`=EyJ7bp`-MB&(Mh zTiVwx)(V;@^{|C@Tbw)dAqo21skwf86W!Or%l{-iHo6tbD52L5J2RA~fc|2%3hgv6 zxL~-{#O?vt-M10*xe-5Ai=8p3XZ!{2zmQT{j+G-guSw^;yI5&Q;b=|T%n!F3z)x3+ zRI@=R@-=5{@S*`e-{VHHs;qUIAnzS;PYxZoMTp2b{+u+=H&rDJeQd!k6_2PiqnHXC zWBCihh~N*{mXf{=+Wf&{bPulj zByADzfNRzRfp4H=Zp)OgX;#QG%tAW3?lm`WzN?CZNyj_<3voTT@}6cLC%xfo=rfx{ zgi!LS%vHsiEs_N39`-dAT35A6l4dR1Z}{zbgYt9Lef;adNX~-LQ;{suH5sWJF`r;w zqQwbHOl9z}6T5YHE0N;9qXj3t1E|?pp)jREku2p0jt1=rMIo-mOFp#7rg{={UnApr zNC!9X7#wA;-{H7{dLhgY)C^EFTFxU9k)O8?Y^ql!7N6lCrrQ$dZaA(+1bur(R}*9( z%dLRh5_^}QPhhAXGM94CpTk*z3rJmTkX^sMg%enPIQ<1@Yj&7t7kE(pl!ObgsdEm8 zpTf!xu3?y8eeOq2r;9#-!|k}FqgZxo`MkdP9^i^hD#D>6>L_-@gJFE1+m2d#2A#>y z0?K3HS>K;Td9Jx*6jxu6y;4WZBKWQ!D59d+Qm1`7MmvqSF*zwzP&onf$x zUD}!MNg_W8|)Th?-5|z&5V88d$ei8_YEI`Z-De+FUf6oURxeJ@URiFcQd~Q z^_U*J_c`v^9ku`;_Xt%KxMUJLO+K-msKzUt1jpX(D?K;gY~Eni&n_+oy6W3Y<@JA1Y%~z&RgGXlv*-4ZG7QmqQBZae zQ_d>)iY~aa2Y9!Gdv*zQ34tb6Ub3nVR79D2JmD2!gr5t(f&2ppq;{ZW9(Dr6t9>1i5!{*1`bk>k@WT>@?Dsba+5%vuT|^ zlL5Dz)RM>A-65rrwjD>FfC=T}8=Wi#Jw4M~bFBHZBioVpj;%_iqDu>j>Pxs6GOvf- zp*V(56hvx-!tA!&Z>2un&Zu>}{KxZ+SvJ`M8~JW~Pei1|8q!mg6Rxt5eQeqh@v|N! zYg~fq!=ajxdQ6#tcICOTeMYQnKR%o8S?Tv|ey<~%179~{BYp?MFZ%EiFBs&4g6Rz8 z4Yi^3WXDgE%-q=VWeN}WKHXj~(!s>7QvAvl$v`CxO3~$Ng*iI(fRjNR465k%&i6Vn z9#@379oUUDFh>F*$*ksg*xums-8E%+8wZablC6ZOVI(+Z{F#;JL5hvB}mD+y!(hb6l<^(ooJl) z+?{QyIAH0$i=D{>LjJt`m9?W7jxbdx5rw$TxNq>kQj5F)z=v!7VVQp}neV?@;(st8 zk(7#h|L>4=9#4C7|7C%5@Xj0_sNiIMl{?eiCkOjM;h^-TSmLc4)jOJrtes$%Zk4@R z94TxmwniRWlxoDCe}cFWLg>4dl-AF%R_n`n^vs@{qAGT9A!6giT?LqvWC0{3jSOHu~^~NKV(? z;3c_P;^}j^Yep=G>Jz|5#tf1F)CTAI!wMiFj$#FxB;mt#l59yR{##12CnFMaEdr0tCYu6IRDx$ z9g{Gn50vry)=bh7y4GY&Fez@jYOmUY;|Xr~>4+Nmy2y<2bsvslD6sJH0i>WBOGk-h z(+o{=?kj5GX7~MZ;vC(Xx5C4|;}+HKN21U_vG-PU-uKpT^lQt5V$Ts-_)l1^P*ELl zQOORtutKSbV}>8U6;be|uU)8_!F^W%7vwcFjvAHmt-*KlpAX{lfW%Z-2%a26f$js2%mo*!X%vQAZ0 zP`3hA&^?Q(!^vVi*3lwe_Ip`@SD*RO-=q5g@7siM znFXYZ{BBy{v7V5mxqrwwXM_59l2N7mL~;-4cWBdAhKMnbsOmMnu0=+)YY ztv4m;D+BF&He#gCLzV$q$=0en*0vK>?lSk85qy10p3{k4O3%6U=pQR5%D3WiM-0)g zbn<*8_#;?2mdhPx)vkyVlS5RQY_aPLqrnj)^+2%doX#V~JPnCRPN?2z30(ZlKeVDW zF6_Qw%7G7hA6Z;gZQCi7>W<)*Y+Yiux@jg-GB4!xo^D*hU2x2=%kr5XRO-ZqsNNTLBrsfR2;*Txo zzj}<64!EH;dLNz&pBIGGYax8F;;STiE~!46{f+Vja2WiB9MayshC^0I+W=JgTBt?I zn{3*)(SB$jS8a8Poww*b`8H}E7PWeUT#GUd2-=EF6n%!*1*40eAjMYENz6Ge=k#M& z&l(^u1t&T*!>If41PAIBp2j}w#MSSTKxFQPqE5Z$rh(tyxN&^+o=?GL2VFVcn^lkf zXBPR2iLL$kC}?jP(PwE0mo6Q(ja$K3Y+|sr*_>S0c z{JmA>V$Y7}8$ue}?SYytUveCHDuPIKnu#{8L2FQ4YbQMEnu8o6T}lU@n4opiF5bOO z?%tN23+dyBP&sMHD5{!~eB|b%D72I4ay|i*iu>Mks&PPT0C~`jko&^xV||Xd)3p>L zF}W`5WALT2syxdSBBsDH=V?)~jCGl%TMEG+`gyw)2iz$*Tzb9IG&Rv~w+4|Nad2+f z#fbYw;{-wUBB{V=0CP_u(qQ1%FkzrhIuE}~aHB;v1%K~iJIPSezC@R8jaOe!HZo!_ zI?hMN{IbN$F3#?u1*oe;9@rksrK>~zqcx4E?74j4gP9Ax5qEO$8`(FqI8dK>_-4ksgM2<0$&O6vD?Wosa2!9%~>3gxnD}Z(C8{{E)gmfsX6IngMLrb}k zy;u|x4Ir!Aqt=Xu)}Yl{?&IoY$fJ)khebk;&D*m|R{X#F#m};%R|ZMHZCT+4mj(foQv}(ObAg#>(TSrtQizT+x-H(itl;aef{(TP zPXj5I&E$O1jU}SoAc|3EL3zsRZ$82q(OLtqj-K~AnxuVi!Eq6ML)J`V9{E{Udf}GF zapIw~5iV6_b3B0b(=luC>6=wpJ8c1BnzwER-=OMbA(5|s!(mP^E^g!RpRLj5(K>l} z;ZfMI+-Nnp=G$4_E$g0f_xFNM^H(3l#64GNM*8RG|*dUudR z$ps*YDoHs_I45{mZFqByC`SIEbBQ)sQg?N3IF&o-vjirxG|1Jt<%$iJx)%+8HGvn5 z_Xz!B4K2=S>xGeQ?k58sznK$Fgm=BLe#ZwI?V$5Lr4=O-vHL;ZGokP?k-Sr)D_Yjv?s z+&%MXbw-J5cb~WfHc#OW_wkYPcziuA`~?_rAVMV=aT5PPtPY#c>#@6 ztUa8Sind{DAArLS5ZOMt@Ng&dyFBhjqdUs$QSx-V9gU(E!7%#0etC}cMWZ0i4_({3 zF?a;>y^0*KDZK;HKkg*H4;pZM<&#|j?6gBxNry*ipMdGsXLE7SCz+k*bIETExX+W6 z^+z(dpJoG(tfy%wBzZ}kF2r*Ny65AHkhjV35orGUTb)`$mN)RUTg#}7X15~hDwl$O zz}@-5&FF!Ht9Bjq;wULukm=6CFG2PrtR};2aN)@ih~@MO$a_yCavNA4n+~fetM}H? zHy0EwRHT=tXe|ZJLX(aA(fpYQgC!sJpU!W{2z#s<{OLUT&r4 z68R)GRD+p#G`X$2d{$Rcq1>*Rb)?NbuVz{FLZm=-gOBZ`a*ONLXHUMB@3_;^x#Xr~ z&?~yv()OcXv-jyR%M4{n+vReHq7hBoZ+&i;Diqd?7A7vJLnjBFJPMP%q>mfLPoC+y zqvxc#t);gd{}y#;Nm)qXSgXTXPN-!e?RCP)Nqxq(Z~dKDSCw1S9;2+Z6#kB+*LQv_7tUK=*?Xq{IzRS|=jT&@y;B-_ zY2z2`1b|x2EW0BKj2rSp`q+}dx9>VD{+#ULe7@~n7hsmUOU|ZW7mR7sy{e%WnCtD$ zU;2!H`_rYQ%{ogd7b(cK!S1K2%>$ti9zJ*4$vf1v%BI5Jxj%HXGZ<}{$5f1d*qitC z*9VQtf`cj~4d=Cg*Th^=x;gKxcKz!T`W!uRIB$NZ!=>fp*9xEbB;@>;%JiXIv)=Ut zFhlq3S{2jkD^R{9gtblBDV10oEqHUw$>YHO1@nMnar}*F`BT?&d;`wxKE=JHj}E?c zcHC>&S=stFdvg0PF$%l29@snA_4Y;C4`I`2#~klKw_`&(2R)>IEX?NTJOACZzqYvZ z9NMh5YDl^J2)guqD$60!<9*+~Kg`{K?*DShe5csVG_%p$4h+4w>Z?Cu6eww@6^fBN zb2P12Y@fujSLM1N3VO!QdwP2qJ$mjMdyC~K>v`14>-v4+)uMet_fF2)u`Kpq z@^H5u(hFDUQDJm`oxJv%Yos(NZ|v0Md}GQqFU$s&D!+5@$t0CVqxnvG!2h9`T$%~q5t$^A6_$J+ z40gf>_vCfs9LSupxA;#igHaEz$=sadf7!$GFH?MMBxs;w!pw>T!q@LYBuZ&5&>EsG z^nPV^A98krjE>$Z>L=^?&dt{aZ>6r3v)!AKhYy#oKfDBOQY2|^*yY*XDF|Y=Ge^y+ z{#h*o`*_C;DfDX8&8`0yD+MCBm|aDGkcIaT7UFz?;9`L#ky{roja`cwMdk@^QB-B) zOh!_3Y3-k|kHossxHs_X@n>CGg#&4WEVfrmfik^yHMTBWg>mT6w#cmbFiNgp`f z5OeW)#$NA&Yl4(q`ifE+_mtzu8DCwJN<9AD3Bgh9X`C3FmoA^#EYmS)7DEV=`T;QH zmCrxN)m@K-5u)i(D&5So@Zje!T9SF^L;h=|6<|S%*{|zF6a}g;~h&~ij zj?I=`s9T?=*~pUHT|OoXqk6mGzrTT*9CIU5Fd~- z5a&Ul`E|!yEafLHTsTPL19CD=hNl0Auqq$JO(uMcWR<498YZ-0-s*T^+0?N7(et3H zlrCw1kEPOQDh_E+6Kz4CP)ehN9mHJ=gKWo}H;l!8!Lx!_G zdXacD(wbf4TKD&zbJ-GVHwd%+6l0Ne%*5_u!0Ik*GOug6(&im^98~u9Ee+JhqK<<$H742zIg;I zaCU!(sbg(9WcS}T>N4cW)7B_J0U~=vfe{~*Id+s9Nxo!H`{Um*T*tr z$q0f7{cncL%VoIuN3Yi$&SnIAouoZL+9zavxYZ`KF{DlsOBxffP2tu-mT3$P6iqIJo67q1uYOD#M@sdV@f0awj;5_!e#eFer5Sr7WB&^`Sq!&OLvVHFbmf*M_ z)sZ@1V;wTn>zUrW_Od35K97;pw_L3DbCi*S^!%cMGW7^fvN!{YHKT{bDE(H0zS&i0 z_dO1RniPaY_d_4@Uw7CGfTG;soipKzM^p2KnLe`%*-x07c4c6o{bFOf<*bf8;*s(U zLnVG5&j-bcEl5hhi(#uIS6eksKaCm0eW@5_`h0nKrnwsGv-{|EnV&k==`_bSarh2| z1YM{Q8er48ME{k37R&JF0rJk@;F?%CiJ$)ThXai{&I-7s0T(&fl}I3G_0d>uv~#5~eRE8!W_JcGK1s|c^z2Jpic{_t%PQC$BLuI|b_Dx4J?DuMjV-;K6G9RNvP zR*j%J@`EF7MJ_)>owhtYf+2It1UF|Dn99g^Nf{BF1|`hpZf z*tdyWUeUTc0vDEjcEdi)C4SwGyyJBa)c4F=7+|up+s+UgYz?uH&sm7gd&1{eOpIS> zuxJbN2Tu$a-1uwwo4IK1>aqb2*_J^Q{au6olf_zom!M{AZtam{#M6%Nz*X@5j{xPPCvOC43_iv>rQtU0a!x6k9d}aVyu@ zUJ6bT^z|wh={)$O&Wn3&_Esc~Q;EcHu}=FXbbYOjeLBXGFf8=h%W7WUHYl39DEJmZ zHzC4mmB2;%$ybWnF-!yBGT4E5pdZPNjQlRNiSl`!1C|Q=)RQVK6k%p-qL>g36_=Oueny~XkdET?**~!2oacy*Kz30 zXcf0j;BO}jlcL5@{X2grDbp)4QR`_+-d5kQe!s?9zt6gt6beh9fj0DrU^Urt{LFcb z*SrDu-=#93*6q~}_=yShoKFtVqh`vKVJn;Cu#8d(DsPABQt@rSrw8*??+;1o zB3}P3_#Mgpy5E)iC^ay$(j_DHjI$ysvX3p>5|W+M7SeZY$E>v;6dOl$jb&CW(^)}v z$I@|1VGDLIh^engDmkEz9Q11U0upn+vVRWr2zzgrfb_r%|LGT}9BpJ~s^ zM)NHUD`GF6gLLLwaUPXY=ioCwI`)L)tkAcgX~wE-ilqenw1G#>{!CjXUu*49et}*w zlPEwq#+k6vwh|jzQ4ak)nGar-Lptd#!=P+{>k2 z`C&{W?YR6RPRAZ8h0#ZdCz6PpulCiXMGLl5ZpD5|Bqej`k3=s)n$PLo!*UrN36$9T z_k7f_8xAkg;X;(~Pc&nhO+c2nP$kJrDuVO z=zMoWVStVZZh~$d6W8s9H!~9l)vzt1Aap*5-YpX&(73%c7ROKP&(MT_F2vt62S?Ne znTXC=(p&1mGeq#JVLidB;j$}7va0g0=?lP3^%(Icq5EW@W(!fn4M~lkTk`aC{TXD) zK2p^ckNc9289i)?e8^&ulUxs4AxRx{bO6WuDYbVzYd1_SZ`u9|OW7RV57o#OFzY(` zC;zsir2174>%`l$S3!rh46nY!wb)_BEhWA0eoFslpY&|slZV&mJ~>_u429p}A`==;-ZKim z>LHCpIlrzQ)zteV85K9<10f1U3F!SomlhX} zlp8tr7dRgBl)b#y{)opp*0)AUz$@(a-N~hyk#tbRZinr4XBVG$hns)On1f{Yr+TG+ zWHf$ZE=TR>E|;2N=SS~iI=?v=CmmZF`WpMZQ{AiU)|$9uMVcQ^q;+O<-ls@nCCaro4^zCju z*pKh?yz&rtLiDI;!R8$=haHvK-Qn5unz5MMYD4;uUOO14?K_cH^4ec9_|aa2@{TNp zah-JEvWC!n=Zi8TQMiAc(!V#{PJFw$Z8}nLQoiBa6(91P%+NKW?Tf!3Z~qQo>Dl+t zwBkU;6>997ir6y)Lcz<1C53c$o*kb$_^_L#m>G_=$QP8wV9gaMHhBfGo=#f+* zeK0zF>cE+5g-AkXfU2{Ivc*uH8a6xeRF7%(U}fQ&z-LxT^rHqrDt!3>eazT#H*K~% zI_1%%$7=EvGmKH7AOXY0A3`H+9EaQc)6ciOZc%Qs5v;j_69{ zTmGYeRcot?>p4(ekooTA_1_)^q4#_3e~%64d1ptK5OAPO^hiH4HqP1 z-c$}dhu;XNtZ=rFRR<5sO%ajp!*uhl5X2*?V~$pOsi4=$njRrS5lw1+9c4U3x!FGlbaq%JIEePJzs-TC-`r0a(^ zP1`8!JzbHdvk-D7ubr5)W(O}Hy#~e6-d23Mz(@FtB-maHVH{PMM?U-webKyG>#^Ox z=NXeFRt0D6tL6T-bNm7#>O^;#WZ&C7UetiT%Ya-iIzG*LTr-C=Pb(TDzzYvJsv{e} zOnV@cGIY5Y8q9XFxx>8&9z5AbYT!k!t-Q&BzM}gK;n+H!_%anq6r?aBqUgj2GdE%8 zSf4+TfQyvgj!{4PvIU+vb5e3vq><%hCCMrwBb=X7EvC8+Gc9HuYj66VZX?yogRnp! zqhS3er|+!pY3W%?6urFdNstM0_{5o3+z4ZEP#zx8e*wRWzYJdzHi(53jG7I0&T_)c zHL#h_vFM@jJ<3!a1xPu8YV}$emI5wc>WV*vG1K9;o8_qLR;W^ zw8l$P@Mp}~1fWuOPUMXE3i{m_G96Q&3&GZ;o~-{dfQ~ACpdNVv2n+kC?QYr}b)Q^BisT{WFp-HvY~F-00Fx z!soY|QqH75ooiYNBq?TFTLc_mxOSi&8m}@)8vwVpTFA4}&=FlzeWMJZhphe!G-*&u zz)Wm%2ezP=v%yh^f+WG^r&w$8256SlpDhqIn%cZI23)G7ByZX({Dm7$Bz*mcJ z#D?+(i3Fr5?WrE&J}6^(WzC|!>iB-_%MQ}OUAtQeBnjs4f4Nkba9`sD>R==CXLT-B z>dPiac@`fF-2$~rE`dmsACrwt@nVpA%~R#B63*(+(wCrrHYpADZx0jt7tIajNx{Mq z=#NW6Ov)NO-fYNeM`@qlF)LmoKn*=4Fz-U9bP>KqYj|UQslF%i#oJK*1Xx?>O{@u} zno$sBn0uJKFuYbJ=8`ai5$3dd7!5-zX~pKt#9qfOAj3`LCFMrQU;6}nL-J2%h?Fh1 zDdf7oZ3LrsjN=9l`%k1EIwCq>m+`PP^7EtqyFuK!GZDo2SGI(CJA2PR)KEO{0mKq- zqWXO}T)r*Dl?|3skGVkWa)p#Ph4eSgA8U6)D{=0|38W@O-`&Sw2EcEvLV?Y?8sC5= z;NBr`7@dMNjHvJ?R_nZun@Qf(OZ>^SiQui>CUVH7Z_pJJLROq>y#Ap618dSHrv_Pl z@n?0lf3%)sy(%PNbfE>xo@lVk;@Z!Xq8lUtFZYM}@E#;zGr&-+1aAht9}l9y;8!r_Vby=*Z!zA=&1mt1-di?!E>zG2h++`)hoJ?Q5% z5T*K84LEq!?{yrtl7W*)(DExN=VWe>&eV%0A`Z#XoN}{Ct0dcR>p)zl{oBLXAgzA? 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⪙7a9BVw}Zzi}Qp5vHAv(jk*7&f$}xde2dH8Lh_= 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�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%0A(p9TIR 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⁣@LM`89XMr?&S)m9u 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 Q3$!UOmIlzb+| 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

MtaL@A0&=$(Y#Nob)6B=p`CkdD$jsDKC}RS`sZ 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

A=w=Uqf&{FZ7&%p9u4=9Xr9 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

  • Rp8IuG-HPH7 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ð1w@WttZvr!Ttxx$ooBEF{ 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�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ℜ40~af}BjpRM^fJrw>NTwN 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≪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

    7%7AUqDvHwRKrR$L$9nA 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

    o5$QzQ>uAL3$bpLQ@ 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

    Jr$TgCj5{hs(EL%rLO=yu}!I)S_| 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℘x97Zz<$wz0ZNK@~#4Z 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'; + } +} diff --git a/files/plugin-CustomReports-5.5.0/Columns/CustomMetricHelper.php b/files/plugin-CustomReports-5.5.0/Columns/CustomMetricHelper.php new file mode 100644 index 0000000..df93df7 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Columns/CustomMetricHelper.php @@ -0,0 +1,112 @@ +addCustomMetricsToList($metrics); + + return $metrics; + } + + public function addCustomMetricsToList(MetricsList $metricsList) + { + if (Manager::getInstance()->isPluginActivated('Actions')) { + $dimensionMetricFactory = new DimensionMetricFactory(new \Piwik\Plugins\Actions\Columns\ClickedUrl()); + $metric1 = $dimensionMetricFactory->createMetric(ArchivedMetric::AGGREGATION_COUNT); + $metricsList->addMetric($metric1); + } + + if (Manager::getInstance()->isPluginActivated('Contents')) { + $contentInteractionDimension = new \Piwik\Plugins\Contents\Columns\ContentInteraction(); + $dimensionMetricFactory = new DimensionMetricFactory($contentInteractionDimension); + $metric2 = $dimensionMetricFactory->createMetric(ArchivedMetric::AGGREGATION_COUNT); + $metricsList->addMetric($metric2); + + // This is necessary to make sure that the result set isn't restricted to only rows with a value + // This also makes sure that the metric name is correct + $impressionDimension = new class () extends \Piwik\Plugins\Contents\Columns\ContentInteraction { + protected $nameSingular = 'Contents_ContentImpression'; + protected $namePlural = 'CustomReports_ContentImpressions'; + + public function getDbDiscriminator() + { + return null; + } + }; + $dimensionMetricFactory = new DimensionMetricFactory($impressionDimension); + $contentImporessionsTranslation = Piwik::translate('CustomReports_ContentImpressions'); + $metric3 = $dimensionMetricFactory->createCustomMetric('nb_content_impressions', $contentImporessionsTranslation, 'sum(case when %s IS NOT NULL then 0 else 1 end)'); + $metric3->setDocumentation(Piwik::translate('General_ComputedMetricCountDocumentation', $contentImporessionsTranslation)); + $metricsList->addMetric($metric3); + + $dimensionMetricFactory = new DimensionMetricFactory($contentInteractionDimension); + $metric4 = $dimensionMetricFactory->createComputedMetric($metric2->getName(), $metric3->getName(), ComputedMetric::AGGREGATION_RATE); + $metric4->setName($contentInteractionDimension->getMetricId() . '_' . ComputedMetric::AGGREGATION_RATE); + $metric4->setTranslatedName(Piwik::translate('General_ComputedMetricRate', $contentInteractionDimension->getName())); + $metricsList->addMetric($metric4); + } + + if (!Manager::getInstance()->isPluginActivated('Ecommerce')) { + return; + } + + $this->buildProductDimensionMetrics($metricsList, new \Piwik\Plugins\Ecommerce\Columns\ProductPrice(), 'General_Price'); + $this->buildProductDimensionMetrics($metricsList, new \Piwik\Plugins\Ecommerce\Columns\ProductQuantity(), 'General_Quantity'); + } + + protected function buildProductDimensionMetrics(MetricsList $metricsList, Dimension $dimension, string $baseProductSingular) + { + $dimensionMetricFactory = new DimensionMetricFactory($dimension); + + $metric1 = $dimensionMetricFactory->createMetric(ArchivedMetric::AGGREGATION_COUNT_WITH_NUMERIC_VALUE); + $metric1->setName('conversion_items_with_' . $dimension->getMetricId()); + $metric1->setTranslatedName(Piwik::translate('CustomReports_ProductsWithX', Piwik::translate($baseProductSingular))); + $metricsList->addMetric($metric1); + + $metric2 = $dimensionMetricFactory->createComputedMetric('sum_' . $dimension->getMetricId(), $metric1->getName(), ComputedMetric::AGGREGATION_AVG); + $metric2->setName(ComputedMetric::AGGREGATION_AVG . '_' . $dimension->getMetricId()); + $metric2->setTranslatedName(Piwik::translate('General_AverageX', $dimension->getName())); + $metricsList->addMetric($metric2); + + if ($dimension->getMetricId() === 'ecommerce_productprice') { + $productRevenueTranslation = Piwik::translate('General_ProductRevenue'); + $translatedName = Piwik::translate('General_ComputedMetricSum', $productRevenueTranslation); + $metric3 = $dimensionMetricFactory->createCustomMetric('sum_product_revenue', $translatedName, 'sum(case when %s > 0 then `price` * `quantity` else 0 end)'); + $metric3->setDocumentation(Piwik::translate('General_ComputedMetricSumDocumentation', $productRevenueTranslation)); + $metricsList->addMetric($metric3); + + $metric4 = $dimensionMetricFactory->createComputedMetric($metric3->getName(), 'conversion_items_with_ecommerce_productprice', ComputedMetric::AGGREGATION_AVG); + $metric4->setName('avg_product_revenue'); + $metric4->setTranslatedName(Piwik::translate('General_AverageX', $productRevenueTranslation)); + $productWithPriceTranslation = Piwik::translate('CustomReports_ProductsWithX', Piwik::translate('General_Price')); + $metric4->setDocumentation(Piwik::translate('General_ComputedMetricAverageDocumentation', [$productRevenueTranslation, $productWithPriceTranslation])); + $metricsList->addMetric($metric4); + } + } +} diff --git a/files/plugin-CustomReports-5.5.0/Columns/ProductCategory.php b/files/plugin-CustomReports-5.5.0/Columns/ProductCategory.php new file mode 100644 index 0000000..3ced25e --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Columns/ProductCategory.php @@ -0,0 +1,33 @@ +setName('customreports:archive'); + $this->setDescription('Let\'s you trigger custom reports archiving for given site and date range'); + $this->addRequiredValueOption('idsites', null, 'The ids of the sites you want to archive custom reports for', 'all'); + $this->addRequiredValueOption('date', null, 'The date or date range you want to archive custom reports for'); + $this->addRequiredValueOption('idreport', null, 'If set, only a specific report will be archived'); + $this->addNoValueOption('disable-segments', null, 'Disables archiving of pre-archived segments'); + $this->addRequiredValueOption('periods', null, 'Specify which periods should be archived. A comma separated list will archive multiple periods', 'all'); + $this->addRequiredValueOption( + 'segment', + null, + 'List of segments to invalidate report data for. This can be the segment string itself, the segment name from the UI or the ID of the segment.' + . ' If specifying the segment definition, make sure it is encoded properly (it should be the same as the segment parameter in the URL.', + null + ); + } + + public function isEnabled() + { + // Archives can't be overwritten in Matomo before 3.0.3 + return version_compare(Version::VERSION, '3.0.3', '>='); + } + + /** + * @return int + */ + protected function doExecute(): int + { + $input = $this->getInput(); + $output = $this->getOutput(); + $idSites = Site::getIdSitesFromIdSitesString($input->getOption('idsites')); + $date = $input->getOption('date'); + $idReport = $input->getOption('idreport'); + $segmentOption = $input->getOption('segment'); + if (!is_array($segmentOption) && !empty($segmentOption)) { + $segmentOption = explode(',', $segmentOption); + } + $segmentOptionValues = !$segmentOption ? [] : array_map('trim', $segmentOption); + $segmentOptionValues = array_unique($segmentOptionValues); + + Period::checkDateFormat($date); + + if (Period::isMultiplePeriod($date, 'day')) { + $period = Period\Factory::build('range', $date); + $datesToComplete = $this->getDaysFromPeriod($period); + } else { + $datesToComplete = [$date]; + } + + $periods = $this->getPeriodsToArchive($datesToComplete, $input->getOption('periods')); + + foreach ($idSites as $idSite) { + $siteName = Site::getNameFor($idSite); + $output->writeln('Starting to archive custom reports for Site ' . $siteName); + + // Check if the report even exists for the site + $reports = StaticContainer::get(CustomReportsModel::class)->getAllCustomReportsForSite($idSite); + $reportIds = count($reports) ? array_column($reports, 'idcustomreport') : []; + if (!empty($idReport) && !in_array($idReport, $reportIds)) { + $output->writeln("Report {$idReport} not found for Site {$siteName}"); + continue; + } + + if ($input->getOption('disable-segments')) { + $segments = ['']; // Only archive data without segments + } elseif (count($segmentOptionValues)) { + $segments = $this->getSegmentsToProcess([$idSite], $segmentOptionValues); // Only archive the specified segments + } else { + $segments = ArchiveProcessor\Rules::getSegmentsToProcess([$idSite]); + array_unshift($segments, ''); // Archive data without segment as well as all segments + } + + foreach ($segments as $segment) { + if ('' !== $segment) { + $output->writeln('Archiving segment ' . $segment); + } + + // Check if the segment is valid before progressing any further + try { + StaticContainer::getContainer()->make(Segment::class, ['segmentCondition' => $segment, 'idSites' => [$idSite]]); + } catch (\Exception $e) { + $errorMsg = $e->getMessage(); + if (strpos($errorMsg, 'is not a supported segment') !== false || preg_match('/The segment condition \'.*\' is not valid\./', $errorMsg)) { + // eg a plugin was uninstalled etc + $output->writeln('The segment is not supported. The associated plugin was likely disabled.'); + continue; + } + throw $e; + } + + $this->initProgressBar(count($periods)); + + $periodsNotArchived = []; + foreach ($periods as $period) { + if (!$this->archiveCustomReports($idSite, $period, $reports, $segment, $idReport)) { + $periodsNotArchived[] = $period instanceof Day ? $period->toString() : $period->getRangeString(); + } + $this->advanceProgressBar(); + } + + $this->finishProgressBar(); + $output->writeln(''); + + if (!empty($periodsNotArchived)) { + $output->writeln('Archiving has been skipped for following periods, as a full archiving has not yet been done: "' . implode('", "', $periodsNotArchived) . '"'); + } + } + } + + return self::SUCCESS; + } + + /** + * @param Period $period + * @return array + */ + protected function getDaysFromPeriod(Period $period) + { + $dates = []; + + if ($period instanceof Day) { + return [$period->getDateStart()->toString()]; + } + + $subperiods = $period->getSubperiods(); + + foreach ($subperiods as $subperiod) { + if ($subperiod instanceof Day) { + if ($subperiod->getDateStart()->isLater(Date::today())) { + continue; // discard days in the future + } + $dates[] = $subperiod->getDateStart()->toString(); + } else { + $dates = array_merge($dates, $this->getDaysFromPeriod($subperiod)); + } + } + + return $dates; + } + + /** + * @param array $dates + * @return Period[] + */ + protected function getPeriodsToArchive($dates, $periods) + { + $days = $weeks = $months = $years = []; + + sort($dates); + + if (empty($periods) || $periods === 'all') { + $periods = array('day', 'week', 'month', 'year'); + } else { + $periods = Common::mb_strtolower($periods); + $periods = explode(',', $periods); + } + + foreach ($dates as $date) { + $date = Date::factory($date); + if (in_array('day', $periods)) { + $day = new Day($date); + $days[$day->toString()] = $day; + } + if (in_array('week', $periods)) { + $week = new Period\Week($date); + $weeks[$week->getRangeString()] = $week; + } + if (in_array('month', $periods)) { + $month = new Period\Month($date); + $months[$month->getRangeString()] = $month; + } + if (in_array('year', $periods)) { + $year = new Period\Year($date); + $years[$year->getRangeString()] = $year; + } + } + + return $days + $weeks + $months + $years; + } + + /** + * Runs the Archiving for CustomReports plugin if an archive for the given period already exists + * + * @param int $idSite + * @param \Piwik\Period $period + * @return bool + * @throws \Piwik\Exception\UnexpectedWebsiteFoundException + */ + protected function archiveCustomReports($idSite, $period, array $reports, $segmentCondition = '', $idReport = null) + { + $_GET['idSite'] = $idSite; + + $parameters = new Parameters(new Site($idSite), $period, new Segment($segmentCondition, [$idSite])); + $parameters->setRequestedPlugin('CustomReports'); + + $result = ArchiveSelector::getArchiveIdAndVisits($parameters, $period->getDateStart()->getDateStartUTC(), false); + $idArchive = $result ? array_shift($result) : null; + + if (empty($idArchive)) { + return false; // ignore periods if full archiving hadn't run before + } + + if (is_array($idArchive)) { + // there might now be multiple archives + $idArchive = array_shift($idArchive); + } + + $archiveWriter = new ArchiveWriter($parameters); + $archiveWriter->idArchive = $idArchive; + + $logAggregator = new LogAggregator($parameters); + if (method_exists($logAggregator, 'allowUsageSegmentCache')) { + $logAggregator->allowUsageSegmentCache(); + } + $archiveProcessor = new ArchiveProcessor($parameters, $archiveWriter, $logAggregator); + + $archiveProcessor->setNumberOfVisits(1, 1); + + foreach ($reports as $report) { + if ($idReport && isset($report['idcustomreport']) && $report['idcustomreport'] != $idReport) { + continue; + } + + $recordBuilder = StaticContainer::getContainer()->make(CustomReport::class, ['report' => $report]); + + if ($period instanceof Day) { + $recordBuilder->buildFromLogs($archiveProcessor); + } else { + $recordBuilder->buildForNonDayPeriod($archiveProcessor); + } + + $recordBuilder->finalize($archiveProcessor); + + DataTableManager::getInstance()->deleteAll(); + } + + return true; + } + + /** + * @param array $idSites + * @param array $segmentOptionValues + * + * @return array + */ + protected function getSegmentsToProcess(array $idSites, array $segmentOptionValues): array + { + $result = []; + + foreach ($segmentOptionValues as $segmentOptionValue) { + $segmentDefinition = $this->findSegment($segmentOptionValue, $idSites); + + if (empty($segmentDefinition)) { + continue; + } + + $result[] = $segmentDefinition; + } + + return $result; + } + + /** + * Find a segment based on ID, name, or definition. + * + * This method was copied from plugins/CoreAdminHome/Commands/InvalidateReportData.php + * + * @param array $idSites + */ + private function findSegment(string $segmentOptionValue, array $idSites) + { + $logger = StaticContainer::get(LoggerInterface::class); + $allSegments = $this->getAllSegments($idSites); + + foreach ($allSegments as $segment) { + if ( + !empty($segment['enable_only_idsite']) + && !in_array($segment['enable_only_idsite'], $idSites) + ) { + continue; + } + + if ($segmentOptionValue == $segment['idsegment']) { + $logger->debug("Matching '$segmentOptionValue' by idsegment with segment {segment}.", ['segment' => json_encode($segment)]); + return $segment['definition']; + } + + if (strtolower($segmentOptionValue) == strtolower($segment['name'])) { + $logger->debug("Matching '$segmentOptionValue' by name with segment {segment}.", ['segment' => json_encode($segment)]); + return $segment['definition']; + } + + if ( + $segment['definition'] == $segmentOptionValue + || $segment['definition'] == urldecode($segmentOptionValue) + ) { + $logger->debug("Matching '{value}' by definition with segment {segment}.", ['value' => $segmentOptionValue, 'segment' => json_encode($segment)]); + return $segment['definition']; + } + } + + $logger->warning("'$segmentOptionValue' did not match any stored segment, but invalidating it anyway."); + return $segmentOptionValue; + } + + /** + * Get all the segments applicable to a specific collection of sites. + * + * This method was copied from plugins/CoreAdminHome/Commands/InvalidateReportData.php + * + * @param array $idSites + * + * @return array + */ + private function getAllSegments(array $idSites): array + { + $segmentsByDefinition = []; + + if ([] === $idSites) { + $idSites = [false]; + } + + foreach ($idSites as $idSite) { + // Check if we've looked up the segments for this site before making the API call. + $siteSegments = $this->segmentsBySite[$idSite] ?? []; + if (empty($siteSegments)) { + $siteSegments = API::getInstance()->getAll($idSite); + $this->segmentsBySite[$idSite] = $siteSegments; + } + + $siteSegmentsByDefinition = array_combine( + array_column($siteSegments, 'definition'), + $siteSegments + ); + + $segmentsByDefinition = array_merge( + $segmentsByDefinition, + $siteSegmentsByDefinition + ); + } + + return array_values($segmentsByDefinition); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Commands/GenerateReports.php b/files/plugin-CustomReports-5.5.0/Commands/GenerateReports.php new file mode 100644 index 0000000..cc0c980 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Commands/GenerateReports.php @@ -0,0 +1,95 @@ +setName('customreports:generate-reports'); + $this->setDescription('GenerateReports'); + $this->addRequiredValueOption('idsite', null, 'The id of the site you want to add custom reports to', '1'); + } + + public function isEnabled() + { + return Development::isEnabled(); + } + + /** + * @return int + */ + protected function doExecute(): int + { + $input = $this->getInput(); + $idsite = $input->getOption('idsite'); + + if (empty($idsite) || !is_numeric($idsite)) { + throw new InvalidArgumentException('The idSite must be set and numeric'); + } + + $idsite = (int) $idsite; + + if (!$this->confirmChange($idsite)) { + $this->getOutput()->writeln('Not created any report'); + return self::FAILURE; + } + + $usedNames = []; + $dimensions = API::getInstance()->getAvailableDimensions(1); + foreach ($dimensions as $dimension) { + foreach ($dimension['dimensions'] as $dim) { + $name = $dim['name']; + if (in_array($name, $usedNames)) { + $name = $dimension['category'] . ' ' . $name; + } + $usedNames[] = $name; + + API::getInstance()->addCustomReport(1, $name, Table::ID, ['nb_uniq_visitors'], false, [$dim['uniqueId']]); + } + } + + $metrics = API::getInstance()->getAvailableMetrics(1); + $allMetr = array(); + foreach ($metrics as $metric) { + foreach ($metric['metrics'] as $met) { + $allMetr[] = $met['uniqueId']; + } + } + + API::getInstance()->addCustomReport(1, 'visit all metrics', Table::ID, $allMetr, false, ["DevicesDetection.BrowserName"]); + API::getInstance()->addCustomReport(1, 'action all metrics', Table::ID, $allMetr, false, ["Actions.PageUrl"]); + API::getInstance()->addCustomReport(1, 'media all metrics', Table::ID, $allMetr, false, ["MediaAnalytics.MediaLength"]); + API::getInstance()->addCustomReport(1, 'conversion all metrics', Table::ID, $allMetr, false, ["Goals.Revenue"]); + + return self::SUCCESS; + } + + private function confirmChange($idsite): bool + { + return $this->askForConfirmation( + 'Are you sure you want to generate lots of custom reports for idSite ' . $idsite . '? (y/N)', + false + ); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Configuration.php b/files/plugin-CustomReports-5.5.0/Configuration.php new file mode 100644 index 0000000..c659060 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Configuration.php @@ -0,0 +1,361 @@ +getConfig(); + + $reports = $config->CustomReports; + if (empty($reports)) { + $reports = array(); + } + + // we make sure to set a value only if none has been configured yet, eg in common config. + if (empty($reports[self::KEY_VALIDATE_REPORT_CONTENT_ALL_WEBSITES])) { + $reports[self::KEY_VALIDATE_REPORT_CONTENT_ALL_WEBSITES] = self::DEFAULT_VALIDATE_REPORT_CONTENT_ALL_WEBSITES; + } + if (empty($reports[self::KEY_ALWAYS_SHOW_UNIQUE_VISITORS])) { + $reports[self::KEY_ALWAYS_SHOW_UNIQUE_VISITORS] = self::DEFAULT_ALWAYS_SHOW_UNIQUE_VISITORS; + } + if (empty($reports[self::KEY_MAX_EXECUTION_TIME])) { + $reports[self::KEY_MAX_EXECUTION_TIME] = self::DEFAULT_MAX_EXECUTION_TIME; + } + if (empty($reports[self::KEY_DISABLED_DIMENSIONS])) { + $reports[self::KEY_DISABLED_DIMENSIONS] = self::DEFAULT_DISABLED_DIMENSIONS; + } + if (empty($reports[self::KEY_EVOLUTION_UNIQUE_FORCE_AGGREGATION])) { + $reports[self::KEY_EVOLUTION_UNIQUE_FORCE_AGGREGATION] = self::DEFAULT_EVOLUTION_UNIQUE_FORCE_AGGREGATION; + } + if (empty($reports[self::KEY_MAX_DIMENSIONS])) { + $reports[self::KEY_MAX_DIMENSIONS] = self::DEFAULT_MAX_DIMENSIONS; + } + if (empty($reports[self::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS_DEFAULT])) { + $reports[self::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS_DEFAULT] = self::DEFAULT_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS_DEFAULT; + } + if (empty($reports[self::KEY_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS_DEFAULT])) { + $reports[self::KEY_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS_DEFAULT] = self::DEFAULT_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS_DEFAULT; + } + for ($i = 1; $i <= $reports[self::KEY_MAX_DIMENSIONS]; $i++) { + if (empty($reports[self::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS . $i])) { + $reports[self::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS . $i] = $reports[self::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS_DEFAULT]; + $reports[self::KEY_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS . $i] = $reports[self::KEY_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS_DEFAULT]; + } + } + if (empty($reports[self::KEY_PREVIEW_REPORT_ITERATIONS])) { + $reports[self::KEY_PREVIEW_REPORT_ITERATIONS] = self::DEFAULT_PREVIEW_REPORT_ITERATIONS; + } + if (empty($reports[self::KEY_PREVIEW_REPORT_MIN_ROWS_REQUIRED])) { + $reports[self::KEY_PREVIEW_REPORT_MIN_ROWS_REQUIRED] = self::DEFAULT_PREVIEW_REPORT_MIN_ROWS_REQUIRED; + } + + $config->CustomReports = $reports; + + $config->forceSave(); + } + + public function uninstall() + { + $config = $this->getConfig(); + $config->CustomReports = array(); + $config->forceSave(); + } + + /** + * @return array + */ + public function getDisabledDimensions() + { + $value = $this->getConfigValue(self::KEY_DISABLED_DIMENSIONS, self::KEY_DISABLED_DIMENSIONS); + if (is_string($value)) { + $value = trim($value); + } + + if (empty($value) || !is_string($value)) { + return array(); + } + $values = explode(',', $value); + $values = array_map('trim', $values); + + return $values; + } + + /** + * @return int + */ + public function getMaxExecutionTime() + { + $value = $this->getConfigValue(self::KEY_MAX_EXECUTION_TIME, self::DEFAULT_MAX_EXECUTION_TIME); + + if ($value === false || $value === '' || $value === null || !is_numeric($value)) { + $value = self::DEFAULT_MAX_EXECUTION_TIME; + } + + return (int) $value; + } + + /** + * For some periods we may want to rather aggregate unique metrics from reports rather than raw data as it can be quite + * resource intensive to aggregate the data from raw data. It's not used in GetCustomReport::supportsUniqueMetric() + * because then the metric might disappear in the report vs in this case if it is mentioned here we just want to + * change how it is calculated. Can reduce load on DB quite a bit. + * @param string $periodLabel + * @return bool + */ + public function forceAggregateUniqueMetricsFromReportsInsteadOfRawDataInEvolutionReport($periodLabel) + { + $value = $this->getConfigValue(self::KEY_EVOLUTION_UNIQUE_FORCE_AGGREGATION, self::DEFAULT_EVOLUTION_UNIQUE_FORCE_AGGREGATION); + + if (empty($value)) { + return false; + } + + $periodsToSkip = explode(',', $value); + $periodsToSkip = array_map('trim', $periodsToSkip); + $periodsToSkip = array_map('strtolower', $periodsToSkip); + $periodLabel = strtolower($periodLabel); + + return in_array($periodLabel, $periodsToSkip); + } + + /** + * @param int $noOfDimensions + * @return int + */ + public function getArchiveMaxRowsInMainTable(?int $noOfDimensions = 3): int + { + $defaultValue = $this->getArchiveMaxRowsDefault(); + $value = $this->getConfigValue(self::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS . $noOfDimensions, $defaultValue); + + if ($value === false || $value === '' || $value === null) { + $value = $defaultValue; + } + + return (int) $value; + } + + /** + * @param int $noOfDimensions + * @return int + */ + public function getArchiveMaxRowsInSubTable(?int $noOfDimensions = 3): int + { + $defaultValue = $this->getArchiveMaxRowsSubTableDefault(); + $value = $this->getConfigValue(self::KEY_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS . $noOfDimensions, $defaultValue); + + if ($value === false || $value === '' || $value === null) { + $value = $defaultValue; + } + + return (int) $value; + } + + /** + * @return int + */ + public function getArchiveMaxRowsDefault() + { + $value = $this->getConfigValue(self::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS_DEFAULT, self::DEFAULT_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS_DEFAULT); + + if ($value === false || $value === '' || $value === null) { + $value = self::DEFAULT_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS_DEFAULT; + } + + return (int) $value; + } + + /** + * @return int + */ + public function getArchiveMaxRowsSubTableDefault() + { + $value = $this->getConfigValue(self::KEY_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS_DEFAULT, self::DEFAULT_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS_DEFAULT); + + if ($value === false || $value === '' || $value === null) { + $value = self::DEFAULT_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS_DEFAULT; + } + + return (int) $value; + } + + /** + * @return int + */ + public function shouldAlwaysShowUniqueVisitors() + { + $value = $this->getConfigValue(self::KEY_ALWAYS_SHOW_UNIQUE_VISITORS, self::DEFAULT_ALWAYS_SHOW_UNIQUE_VISITORS); + + if ($value === false || $value === '' || $value === null) { + $value = self::DEFAULT_ALWAYS_SHOW_UNIQUE_VISITORS; + } + + return !empty($value); + } + + /** + * @return int + */ + public function shouldValidateReportContentWhenAllSites() + { + $value = $this->getConfigValue(self::KEY_VALIDATE_REPORT_CONTENT_ALL_WEBSITES, self::DEFAULT_VALIDATE_REPORT_CONTENT_ALL_WEBSITES); + + if ($value === false || $value === '' || $value === null) { + $value = self::DEFAULT_VALIDATE_REPORT_CONTENT_ALL_WEBSITES; + } + + return (bool) $value; + } + + /** + * @return int|string|null + */ + public function getReArchiveReportsInPastLastNMonths() + { + $config = $this->getConfig(); + $reArchiveLastN = null; + if (isset($config->CustomReports[self::KEY_REARCHIVE_REPORTS_IN_PAST_LAST_N_MONTHS])) { + $reArchiveLastN = $config->CustomReports[self::KEY_REARCHIVE_REPORTS_IN_PAST_LAST_N_MONTHS]; + } elseif (isset($config->General['rearchive_reports_in_past_last_n_months'])) { + $reArchiveLastN = $config->General['rearchive_reports_in_past_last_n_months']; + } + + if (!is_null($reArchiveLastN) && !is_numeric($reArchiveLastN)) { + $reArchiveLastN = (int)str_replace('last', '', $reArchiveLastN); + } + + if ($reArchiveLastN < 0) { + $reArchiveLastN = null; + } + + return $reArchiveLastN; + } + + /** + * @return array + */ + public function getPreviewReportIterations() + { + $config = $this->getConfig(); + $iterations = !empty($config->CustomReports[self::KEY_PREVIEW_REPORT_ITERATIONS]) ? $config->CustomReports[self::KEY_PREVIEW_REPORT_ITERATIONS] : self::DEFAULT_PREVIEW_REPORT_ITERATIONS; + $minimumRowsRequired = $this->getPreviewReportMinRowsRequired(); + $iterationValues = explode(',', $iterations); + $allowedIterations = []; + $count = count($iterationValues); + $maxDateAllowed = new \DateTime('-1 day'); + + foreach ($iterationValues as $iterationKey => $iterationValue) { + $iterationValue = trim($iterationValue); + if ($count === ($iterationKey + 1)) { + $minimumRowsRequired = 0; + } + $dateTimeObject = new \DateTime($iterationValue); + + if (empty($iterationValue) || (stripos($iterationValue, 'second') === false && stripos($iterationValue, 'hour') === false && stripos($iterationValue, 'minute') === false && stripos($iterationValue, 'day') === false)) { + throw new \Exception(Piwik::translate('CustomReports_PreviewReportInvalidTimeFrameValues')); + } elseif ($dateTimeObject->getTimestamp() < $maxDateAllowed->getTimestamp()) { + throw new \Exception(Piwik::translate('CustomReports_PreviewReportExceedsMaximumTimeFrameValueAllowed')); + } + + $allowedIterations[] = ['startDate' => $iterationValue, 'minRowsRequired' => $minimumRowsRequired]; + } + + return $allowedIterations; + } + + /** + * @return int + */ + public function getPreviewReportMinRowsRequired() + { + $config = $this->getConfig(); + $minRows = !empty($config->CustomReports[self::KEY_PREVIEW_REPORT_MIN_ROWS_REQUIRED]) ? $config->CustomReports[self::KEY_PREVIEW_REPORT_MIN_ROWS_REQUIRED] : self::DEFAULT_PREVIEW_REPORT_MIN_ROWS_REQUIRED; + + if (empty($minRows) || !is_numeric($minRows) || $minRows < 1) { + $minRows = self::DEFAULT_PREVIEW_REPORT_MIN_ROWS_REQUIRED; + } + + return ((int) $minRows); + } + + /** + * If a valid int value is configured, that will be returned. If not, the setting default will be returned. + * + * @return int + */ + public function getMaxDimensions(): int + { + $config = $this->getConfig(); + if (!isset($config->CustomReports[self::KEY_MAX_DIMENSIONS])) { + return self::DEFAULT_MAX_DIMENSIONS; + } + + $maxDimensions = $config->CustomReports[self::KEY_MAX_DIMENSIONS]; + if ( + empty($maxDimensions) || intval($maxDimensions) < 1 + || (is_string($maxDimensions) && !ctype_digit($maxDimensions)) + ) { + return self::DEFAULT_MAX_DIMENSIONS; + } + + return intval($maxDimensions); + } + + private function getConfig() + { + return Config::getInstance(); + } + + private function getConfigValue($name, $default) + { + $config = $this->getConfig(); + $attribution = $config->CustomReports; + if (isset($attribution[$name])) { + return $attribution[$name]; + } + return $default; + } +} diff --git a/files/plugin-CustomReports-5.5.0/Controller.php b/files/plugin-CustomReports-5.5.0/Controller.php new file mode 100644 index 0000000..6577fe3 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Controller.php @@ -0,0 +1,457 @@ +validator = $validator; + + parent::__construct(); + } + + /** + * Manage custom reports in the admin area. + * @return string + */ + public function manage() + { + $idSite = Common::getRequestVar('idSite'); + + if (strtolower($idSite) === 'all') { + // prevent fatal error... redirect to a specific site as it is not possible to manage for all sites + $this->validator->checkHasSomeWritePermission(); + $this->redirectToIndex('CustomReports', 'manage'); + exit; + } + + $this->checkSitePermission(); + $this->validator->checkWritePermission($this->idSite); + + $configuration = StaticContainer::get(Configuration::class); + + return $this->renderTemplate('manage', [ + 'browserArchivingDisabled' => !ArchiveProcessor\Rules::isBrowserTriggerEnabled(), + 'reArchiveLastN' => $configuration->getReArchiveReportsInPastLastNMonths(), + 'maxDimensions' => $configuration->getMaxDimensions(), + 'isCloud' => \Piwik\Plugin\Manager::getInstance()->isPluginLoaded('Cloud'), + ]); + } + + /** + * Preview a custom reports report. Only supports table visualization so far. + * @return string + * @throws \Exception + */ + public function previewReport() + { + $this->checkSitePermission(); + $this->validator->checkWritePermission($this->idSite); + + $report = null; + Piwik::postEvent('CustomReports.buildPreviewReport', array(&$report)); + + /** @var array|null $report the event handler populates the report by reference */ + if (empty($report) || !is_array($report)) { + throw new \Exception(Piwik::translate('CustomReports_ErrorReportDoesNotExist')); + } + + $date = Common::getRequestVar('date', null, 'string'); + $period = defined('PIWIK_TEST_MODE') && PIWIK_TEST_MODE ? 'day' : 'range'; + $configuration = StaticContainer::get(Configuration::class); + try { + $iterations = $configuration->getPreviewReportIterations(); + } catch (\Exception $e) { + $message = $e->getMessage(); + $view = Factory::build(); + $view->setDataTable(new DataTable()); + $view->config->show_header_message = '
    ' . $message . '
    '; + $view->config->no_data_message = ' '; + return $view->render(); + } + + try { + // only for UI tests + if (StaticContainer::get('test.vars.previewDate')) { + $date = StaticContainer::get('test.vars.previewDate'); + $period = 'day'; + } + } catch (\Exception $e) { + // ignore any possible error + } + // for now we only support day period as weekly or monthly doesn't really work and would take way too long + // so it can also not be misused to fetch not yet archived reports + + $site = new Site($this->idSite); + if ($period === 'day') { + $iterations = [ + ['startDate' => '-1 day', 'minRowsRequired' => 0], + ]; + } + + $startDateObj = null; + $endDateObj = null; + $dataTable = new DataTable(); + $periodObject = null; + $timezone = $site->getTimezone(); + + foreach ($iterations as $iteration) { + $periodObject = null; + if ($period === 'range') { + // hack for PeriodFactory::build('range'); to work, as it throws an error for same day, our archives are date based i.e 2024-02-01, sending 2 same dates will create an issue + // Since we are sending $startDateObj and $endDateObj, start and end date will be overwritten with the help of CustomLogAggregator for range period + $date = date('Y-m-d', strtotime('-1 day')) . ',' . date('Y-m-d'); + $startDateObj = new \DateTime($iteration['startDate'], new \DateTimeZone($timezone)); + $endDateObj = new \DateTime('now', new \DateTimeZone($timezone)); + } + try { + $dataTable = $this->getReportDataTable($report, $date, $site, $period, $periodObject, $startDateObj, $endDateObj); + } catch (\Exception $e) { + $message = $e->getMessage(); + if (stripos($message, 'be joined for segmentation') !== false) { + $faqLink = Url::addCampaignParametersToMatomoLink('https://matomo.org/faq/custom-reports/how-to-resolve-errors-when-using-different-dimension-combinations-in-matomo/'); + $message = Piwik::translate('CustomReports_NoSegmentationJoinExceptionMessage', ['
    ', '']); + $type = ReportType::factory($report['report_type']); + $view = Factory::build($type->getDefaultViewDataTable(), 'CustomReports.getCustomReport', 'CustomReports.previewReport', true); + $view->setDataTable(new DataTable()); + $view->config->show_header_message = '
    ' . $message . '
    '; + $view->config->no_data_message = ' '; + return $view->render(); + } + + throw $e; + } + + $count = $dataTable->getRowsCount(); + if ($count >= $iteration['minRowsRequired']) { + break; + } + } + + $idSubTable = Request::fromRequest()->getIntegerParameter('idSubtable', 0); + if (!empty($idSubTable)) { + $row = $dataTable->getRowFromIdSubDataTable($idSubTable); + if ($row !== false) { + $dataTable = $row->getSubTable(); + } else { + $searchResult = $this->searchDescendentsForSubtable($dataTable, $idSubTable); + if ($searchResult !== null) { + $dataTable = $searchResult; + } + } + } + + $showFooterMessage = true; + + if ($report['report_type'] === Table::ID) { + $factory = StaticContainer::get('Piwik\Columns\DimensionsProvider'); + if (empty($idSubTable)) { + $dimension = $factory->factory(reset($report['dimensions'])); + } else { + $showFooterMessage = false; // do not show message again for subtables + $firstRow = $dataTable ? $dataTable->getFirstRow() : false; + $level = $firstRow ? $firstRow->getColumn('level') : 0; + if (!empty($level) && !empty($report['dimensions'][$level - 1])) { + $dimension = $factory->factory($report['dimensions'][$level - 1]); + } + } + if (!empty($dimension)) { + $dataTable->filter('Piwik\Plugins\CustomReports\DataTable\Filter\ReportTypeTableFilter', [$this->idSite, $dimension, array()]); + } + } + + $type = ReportType::factory($report['report_type']); + $view = Factory::build($type->getDefaultViewDataTable(), 'CustomReports.getCustomReport', 'CustomReports.previewReport', true); + $view->setDataTable($dataTable); + + $reportInstance = ReportsProvider::factory('CustomReports', 'getCustomReport'); + if (!$reportInstance) { + // user has not configured any custom reports yet, we need to configure manually otherwise it won't work + // because reports are cached + $reportInstance = new GetCustomReport(); + $reportInstance->initCustomReport($report); + + $subtable = $reportInstance->getActionToLoadSubTables(); + if (!empty($subtable)) { + $view->config->subtable_controller_action = $subtable; + } + + $metrics = $reportInstance->getMetrics(); + if (!empty($metrics)) { + $view->config->addTranslations($metrics); + } + + $processedMetrics = $reportInstance->getProcessedMetrics(); + if (!empty($processedMetrics)) { + $view->config->addTranslations($processedMetrics); + } + + $view->config->title = $reportInstance->getName(); + $reportInstance->configureView($view); + } + + // make sure any action will be correctly forwarded + if (property_exists($view->config, 'disable_row_evolution')) { + $view->config->disable_row_evolution = true; + } + $view->config->custom_parameters['module'] = 'CustomReports'; + $view->config->custom_parameters['action'] = 'previewReport'; + $view->config->subtable_controller_action = 'previewReport'; + + if ($showFooterMessage) { + $dateString = $periodObject->getLocalizedLongString(); + if (!empty($startDateObj) && !empty($endDateObj) && $period === 'range') { + $dateString = $startDateObj->format('M d Y h:i:s A T') . ' - ' . $endDateObj->format('M d Y h:i:s A T'); + } + $view->config->show_footer_message = Piwik::translate('CustomReports_PreviewDate', $dateString); + } + + $view->config->show_flatten_table = false; + $view->config->show_pivot_by_subtable = false; + $view->config->show_insights = false; + $view->config->show_pie_chart = false; + $view->config->show_bar_chart = false; + $view->config->show_tag_cloud = false; + $view->config->show_all_views_icons = false; + $view->config->show_search = false; + $view->config->show_title = false; + $view->config->show_limit_control = false; + $view->config->show_export_as_image_icon = false; + $view->config->show_export_as_rss_feed = false; + $view->config->show_export = false; + $view->config->show_pagination_control = false; + $view->config->show_offset_information = false; + $view->requestConfig->filter_limit = 10; + $view->requestConfig->request_parameters_to_modify['report_type'] = $report['report_type']; + $view->requestConfig->request_parameters_to_modify['metrics'] = $report['metrics']; + $view->requestConfig->request_parameters_to_modify['totals'] = 0; + if (!empty($report['dimensions'])) { + $view->requestConfig->request_parameters_to_modify['dimensions'] = $report['dimensions']; + } + + return $view->render(); + } + + private function getReportDataTable(?array $report, string $date, Site $site, string $period, ?string &$periodObject, ?\DateTime $startDateObj, ?\DateTime $endDateObj): DataTable + { + if ($period === 'range') { + $periodObject = PeriodFactory::build('range', $date, $site->getTimezone()); + } else { + $periodObject = PeriodFactory::makePeriodFromQueryParams($site->getTimezone(), $period, $date); + } + $parameters = new ArchiveProcessor\Parameters($site, $periodObject, new Segment('', [$this->idSite])); + $archiveWriter = new ArchiveWriter($parameters); + $logAggregator = new CustomLogAggregator($parameters); + if ($startDateObj && $endDateObj && $period === 'range') { + $logAggregator->setDateStart(Date::factory($startDateObj->getTimestamp())); + $logAggregator->setDateEnd(Date::factory($endDateObj->getTimestamp())); + } + + $processor = new ArchiveProcessor($parameters, $archiveWriter, $logAggregator); + + $dataTable = null; + if (!empty($report)) { + $recordBuilder = new CustomReport($report, StaticContainer::get(DimensionsProvider::class), StaticContainer::get(Configuration::class)); + $dataTables = $recordBuilder->aggregate($processor); + $dataTable = reset($dataTables); + } + + if (!$dataTable) { + throw new \Exception('Invalid report information'); + } + + return $dataTable; + } + + private function searchDescendentsForSubtable(DataTable $dataTable, int $idSubtable): ?DataTable + { + foreach ($dataTable->getRows() as $row) { + $subTable = $row->getSubtable(); + if ($subTable) { + $row = $subTable->getRowFromIdSubDataTable($idSubtable); + if ($row) { + return $row->getSubtable(); + } + + // Recursively search further descendents + $searchResult = $this->searchDescendentsForSubtable($subTable, $idSubtable); + if ($searchResult !== null) { + return $searchResult; + } + } + } + + return null; + } + + /** + * Renders an evolution graph visualization. + * @return string|void + */ + public function getEvolutionGraph() + { + $this->checkSitePermission(); + $this->validator->checkReportViewPermission($this->idSite); + + $columns = Common::getRequestVar('columns', false); + if (false !== $columns) { + $columns = Piwik::getArrayFromApiParameter($columns); + } + + $report = new GetCustomReport(); + $documentation = $report->getDocumentation(); + + $selectableColumns = array_keys($report->getMetrics()); + + if (empty($columns) && !empty($selectableColumns) && count($selectableColumns) <= 4) { + // pre-select all columns when there are only 4 columns + $columns = $selectableColumns; + } elseif (empty($columns) && !empty($selectableColumns)) { + // pre-select only first column when there are more than 5 columns + $columns = array(reset($selectableColumns)); + } + + // Use getCustomReport as the controller action so that the apiMethod and currentControllerAction match + // This is important so that the stored viewDataTableParameters values for the report are used + $view = $this->getLastUnitGraphAcrossPlugins( + $this->pluginName, + 'getCustomReport', + $columns, + $selectableColumns, + $documentation, + 'CustomReports.getCustomReport' + ); + + if (empty($view->config->columns_to_display) && $report->getDefaultSortColumn()) { + $view->config->columns_to_display = array($report->getDefaultSortColumn()); + } + + return $this->renderView($view); + } + + /** + * Renders a KPI card for a single metric custom report (metric value, sparkline and + * comparison with the previous period). + * @return string + * @throws \Exception + */ + public function getSingleMetricView() + { + $this->checkSitePermission(); + $this->validator->checkReportViewPermission($this->idSite); + + $idCustomReport = Common::getRequestVar('idCustomReport', null, 'int'); + + $model = StaticContainer::get('Piwik\Plugins\CustomReports\Model\CustomReportsModel'); + $report = $model->getCustomReport($this->idSite, $idCustomReport); + + if (empty($report) || $report['report_type'] !== KpiCard::ID) { + throw new \Exception(Piwik::translate('CustomReports_ErrorReportDoesNotExist')); + } + + $metric = reset($report['metrics']); + + $reportMetadata = \Piwik\API\Request::processRequest('API.getMetadata', array( + 'idSite' => $this->idSite, + 'apiModule' => 'CustomReports', + 'apiAction' => 'getCustomReport', + 'apiParameters' => array('idCustomReport' => $idCustomReport), + )); + $reportMetadata = reset($reportMetadata); + + $metricTranslations = array(); + $metricDocumentations = array(); + if (!empty($reportMetadata)) { + $metricTranslations = array_merge( + !empty($reportMetadata['metrics']) ? $reportMetadata['metrics'] : array(), + !empty($reportMetadata['processedMetrics']) ? $reportMetadata['processedMetrics'] : array() + ); + if (!empty($reportMetadata['metricsDocumentation'])) { + $metricDocumentations = $reportMetadata['metricsDocumentation']; + } + } + + $output = '
    '; + + $isWidget = Common::getRequestVar('widget', 0, 'int'); + $showTitle = Common::getRequestVar('showtitle', 0, 'int'); + + if (!$isWidget && $showTitle) { + // on reporting pages (which request showtitle=1) the widget needs to render the same + // card and title markup as regular reports do (see _dataTable.twig); on dashboards + // and in widgetize the surrounding widget provides the chrome + $editUrl = ''; + if ($this->validator->canWrite($this->idSite)) { + $editUrl = 'index.php' . Url::getCurrentQueryStringWithParametersModified(array( + 'module' => 'CustomReports', + 'action' => 'manage' + )) . '#?idCustomReport=' . (int) $idCustomReport; + } + + $title = '

    '; + + $output = '
    ' . $title . $output . '
    '; + } + + return $output; + } + + private function getVueEntryValue($value) + { + return Common::sanitizeInputValue(json_encode($value)); + } +} diff --git a/files/plugin-CustomReports-5.5.0/CustomLogAggregator.php b/files/plugin-CustomReports-5.5.0/CustomLogAggregator.php new file mode 100644 index 0000000..4d06495 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/CustomLogAggregator.php @@ -0,0 +1,32 @@ +dateStart = $dateStart; + } + + public function setDateEnd($dateEnd) + { + $this->dateEnd = $dateEnd; + } +} diff --git a/files/plugin-CustomReports-5.5.0/CustomReports.php b/files/plugin-CustomReports-5.5.0/CustomReports.php new file mode 100644 index 0000000..f1cc2c9 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/CustomReports.php @@ -0,0 +1,432 @@ + 'getStylesheetFiles', + 'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys', + 'Report.addReports' => 'addCustomReports', + 'SitesManager.deleteSite.end' => 'onDeleteSite', + 'System.addSystemSummaryItems' => 'addSystemSummaryItems', + 'Category.addSubcategories' => 'addSubcategories', + 'CustomReports.buildPreviewReport' => 'buildPreviewReport', + 'API.addGlossaryItems' => 'addGlossaryItems', + 'API.getPagesComparisonsDisabledFor' => 'getPagesComparisonsDisabledFor', + 'Db.getTablesInstalled' => 'getTablesInstalled', + 'ScheduledReports.processReports' => 'processReports', + 'Archiver.addRecordBuilders' => 'addRecordBuilders', + 'Metric.addMetrics' => 'addMetrics', + ); + } + + public function addMetrics(MetricsList $metricsList) + { + StaticContainer::get(CustomMetricHelper::class)->addCustomMetricsToList($metricsList); + } + + public function addRecordBuilders(array &$recordBuilders): void + { + $idSite = \Piwik\Request::fromRequest()->getIntegerParameter('idSite', 0); + if (!$idSite) { + return; + } + + $reports = StaticContainer::get(CustomReportsModel::class)->getAllCustomReportsForSite($idSite); + foreach ($reports as $report) { + if ($report['status'] === CustomReportsModel::STATUS_ACTIVE) { + $recordBuilders[] = StaticContainer::getContainer()->make(CustomReport::class, ['report' => $report]); + } + } + } + + /** + * Register the new tables, so Matomo knows about them. + * + * @param array $allTablesInstalled + */ + public function getTablesInstalled(&$allTablesInstalled) + { + $allTablesInstalled[] = Common::prefixTable('custom_reports'); + } + + public function getPagesComparisonsDisabledFor(&$pages) + { + $pages[] = 'CustomReports_CustomReports.CustomReports_ManageReports'; + } + + public function buildPreviewReport(&$report) + { + $dimensions = Common::getRequestVar('dimensions', '', 'string'); + $metrics = Common::getRequestVar('metrics', '', 'string'); + $idSite = Common::getRequestVar('idSite', 0, 'string'); + if (empty($metrics)) { + // not for this plugin + return; + } + + if (!empty($dimensions)) { + $dimensions = array_unique(explode(',', $dimensions)); + $dimensionsCheck = new Dimensions($dimensions, $idSite); + $dimensionsCheck->check(); + } else { + $dimensions = array(); + } + + $metrics = array_unique(explode(',', $metrics)); + $metricsCheck = new Metrics($metrics, $idSite); + $metricsCheck->check(); + + $reportType = Common::getRequestVar('report_type', null, 'string'); + $segment = Request::getRawSegmentFromRequest(); + + $type = new ReportType($reportType); + $type->check(); + + $report = array( + 'idcustomreport' => 0, + 'report_type' => $reportType, + 'dimensions' => $dimensions, + 'metrics' => $metrics, + 'segment_filter' => $segment, + 'category' => array('id' => CustomReportsDao::DEFAULT_CATEGORY, + 'name' => Piwik::translate(CustomReportsDao::DEFAULT_CATEGORY), + 'order' => 999, + 'icon' => ''), + 'subcategory' => null, + 'name' => Piwik::translate('CustomReports_Preview'), + 'description' => null, + 'created_date' => Date::now()->getDatetime(), + 'updated_date' => Date::now()->getDatetime(), + 'revision' => 0, + ); + } + + public function addSystemSummaryItems(&$systemSummary) + { + $dao = $this->getDao(); + $numForms = $dao->getNumReportsTotal(); + + $systemSummary[] = new SystemSummary\Item($key = 'customreports', Piwik::translate('CustomReports_NCustomReports', $numForms), $value = null, array('module' => 'CustomReports', 'action' => 'manage'), self::MENU_ICON, $order = 8); + } + + public function install() + { + $dao = new CustomReportsDao(); + $dao->install(); + + $config = new Configuration(); + $config->install(); + } + + public function uninstall() + { + $dao = new CustomReportsDao(); + $dao->uninstall(); + + $config = new Configuration(); + $config->uninstall(); + } + + private function getModel() + { + return StaticContainer::get('Piwik\Plugins\CustomReports\Model\CustomReportsModel'); + } + + private function getDao() + { + return StaticContainer::get('Piwik\Plugins\CustomReports\Dao\CustomReportsDao'); + } + + public function onDeleteSite($idSite) + { + $model = $this->getModel(); + $model->deactivateReportsForSite($idSite); + } + + public function addCustomReports(&$instances) + { + $idSite = Common::getRequestVar('idSite', 0, 'int'); + + if (empty($idSite) || $idSite < 1) { + // fallback for eg API.getReportMetadata which uses idSites + $idSite = Common::getRequestVar('idSites', 0, 'int'); + + if (empty($idSite) || $idSite < 1) { + return; + } + } + + $reports = $this->getConfiguredReports($idSite); + + foreach ($reports as $report) { + $instance = new GetCustomReport(); + $instance->initCustomReport($report); + $instances[] = $instance; + } + } + + public function addSubcategories(&$subcategories) + { + $idSite = Common::getRequestVar('idSite', 0, 'int'); + + if (empty($idSite)) { + // fallback for eg API.getReportMetadata which uses idSites + $idSite = Common::getRequestVar('idSites', 0, 'int'); + + if (empty($idSite)) { + return; + } + } + + $reports = $this->getConfiguredReports($idSite, $skipCategoryMetadata = true); // skipping metadata since it will lead to infinite recursion + usort($reports, function ($a, $b) { + return strcasecmp($a['name'], $b['name']); + }); + + $addedNames = array(); + $addedCategories = array(); + + $order = 100; + + foreach ($reports as $report) { + if (!empty($report['category']) && $report['category'] === CustomReportsDao::DEFAULT_CATEGORY) { + // we presume this subcategory is added by different plugin. + if (!empty($report['subcategory']) && $report['idcustomreport'] != $report['subcategory']) { + // will be added with another custom report entry. Happens when assigning a custom report to another custom report page + continue; + } + + $subcategoryName = $report['name']; + $subcategoryId = $report['idcustomreport']; + $lowerName = strtolower($subcategoryName); + + if (in_array($lowerName, $addedNames)) { + continue; // this may happen when two custom reports exist where one has eg name "My report" and the other + // custom report chooses the same subcategory "My report" + } + + if (in_array($subcategoryId, $addedCategories)) { + continue; // this may happen when two custom reports exist where one has eg name "My report" and the other + // custom report chooses the same subcategory "My report" + } + + $addedNames[] = $lowerName; + $addedCategories[] = $subcategoryId; + + $subcategory = new Subcategory(); + $subcategory->setName($subcategoryName); + $subcategory->setCategoryId($report['category']); + $subcategory->setId($subcategoryId); + $subcategory->setOrder($order++); + $subcategories[] = $subcategory; + } + } + } + + public function getStylesheetFiles(&$stylesheets) + { + // TODO: Replace the duplicated DraggableList Vue and LESS files with the core component in Matomo 6. + $stylesheets[] = "plugins/CustomReports/vue/src/Reports/DraggableList.less"; + $stylesheets[] = "plugins/CustomReports/vue/src/Reports/Edit.less"; + $stylesheets[] = "plugins/CustomReports/vue/src/Reports/List.less"; + $stylesheets[] = "plugins/CustomReports/vue/src/KpiCardView/KpiCardView.less"; + } + + public function getClientSideTranslationKeys(&$result) + { + $result[] = 'General_Actions'; + $result[] = 'General_Name'; + $result[] = 'General_Id'; + $result[] = 'General_Yes'; + $result[] = 'General_No'; + $result[] = 'General_LoadingData'; + $result[] = 'General_Description'; + $result[] = 'General_Cancel'; + $result[] = 'General_Website'; + $result[] = 'General_Metrics'; + $result[] = 'General_Metric'; + $result[] = 'General_Search'; + $result[] = 'CoreUpdater_UpdateTitle'; + $result[] = 'CustomReports_AddMetric'; + $result[] = 'CustomReports_Type'; + $result[] = 'CustomReports_Category'; + $result[] = 'CustomReports_AddDimension'; + $result[] = 'CustomReports_ReportPage'; + $result[] = 'CustomReports_ReportCategory'; + $result[] = 'CustomReports_ReportCategoryHelp'; + $result[] = 'CustomReports_ReportSubcategory'; + $result[] = 'CustomReports_ReportSubcategoryHelp'; + $result[] = 'CustomReports_ReportType'; + $result[] = 'CustomReports_Dimensions'; + $result[] = 'CustomReports_PreviewReport'; + $result[] = 'CustomReports_Preview'; + $result[] = 'CustomReports_Filter'; + $result[] = 'CustomReports_WarningRequiresUnlock'; + $result[] = 'CustomReports_Unlock'; + $result[] = 'CustomReports_ConfirmUnlockReport'; + $result[] = 'CustomReports_WarningOnUpdateReportMightGetLost'; + $result[] = 'CustomReports_InfoReportIsLocked'; + $result[] = 'CustomReports_ReportContent'; + $result[] = 'CustomReports_AvailableAllWebsites'; + $result[] = 'CustomReports_ErrorMissingMetric'; + $result[] = 'CustomReports_ErrorMissingDimension'; + $result[] = 'CustomReports_ReportEditNotAllowedAllWebsitesUpdated'; + $result[] = 'CustomReports_RemoveMetric'; + $result[] = 'CustomReports_RemoveDimension'; + $result[] = 'CustomReports_ReportAvailableToAllWebsites'; + $result[] = 'CustomReports_ApplyTo'; + $result[] = 'CustomReports_ViewReportInfo'; + $result[] = 'CustomReports_CustomReportIntroduction'; + $result[] = 'CustomReports_NoCustomReportsFound'; + $result[] = 'CustomReports_ManageReports'; + $result[] = 'CustomReports_EditReport'; + $result[] = 'CustomReports_DeleteReportConfirm'; + $result[] = 'CustomReports_DeleteReportInfo'; + $result[] = 'CustomReports_CreateNewReport'; + $result[] = 'CustomReports_ErrorXNotProvided'; + $result[] = 'CustomReports_ReportCreated'; + $result[] = 'CustomReports_ReportUpdated'; + $result[] = 'CustomReports_UpdatingData'; + $result[] = 'CustomReports_FieldNamePlaceholder'; + $result[] = 'CustomReports_FieldDescriptionPlaceholder'; + $result[] = 'CustomReports_ReportNameHelpText'; + $result[] = 'CustomReports_ReportDescriptionHelpText'; + $result[] = 'CustomReports_ReportAllWebsitesHelp'; + $result[] = 'CustomReports_ReportDimensionsHelpNew'; + $result[] = 'CustomReports_ReportMetricsHelp'; + $result[] = 'CustomReports_ReportSingleMetricHelp'; + $result[] = 'CustomReports_ReportSegmentHelp'; + $result[] = 'CustomReports_WarningOnUpdateReportMightGetLostBrowserArchivingDisabled'; + $result[] = 'CustomReports_ConfirmUnlockReportBrowserArchivingDisabled'; + $result[] = 'CustomReports_WarningRequiresUnlockBrowserArchivingDisabled'; + $result[] = 'CustomReports_InfoReportIsLockedBrowserArchivingDisabled'; + $result[] = 'CustomReports_Dimension'; + $result[] = 'CustomReports_WarningProductRevenueMetricDependency'; + $result[] = 'CustomReports_OrderSubCategoryReports'; + $result[] = 'CustomReports_OrderSubCategoryReportsDescription'; + $result[] = 'CustomReports_WarningRegionDimensionDependency'; + $result[] = 'CustomReports_SelectMeasurablesMatchingSearch'; + $result[] = 'CustomReports_FindMeasurables'; + $result[] = 'CustomReports_ReportEditNotAllowedMultipleWebsitesAccessIssue'; + $result[] = 'CustomReports_ReportAvailableToMultipleWebsites'; + $result[] = 'CustomReports_NoMeasurableAssignedYet'; + $result[] = 'CustomReports_MatchingSearchNotFound'; + $result[] = 'CustomReports_MatchingSearchConfirmTitle'; + $result[] = 'CustomReports_MatchingSearchConfirmTitleAlreadyAdded'; + $result[] = 'CustomReports_MatchingSearchMatchedAdd'; + $result[] = 'CustomReports_MatchingSearchMatchedAlreadyAdded'; + $result[] = 'CustomReports_ReportAllWebsitesNonSuperUserHelp'; + $result[] = 'CustomReports_PauseReportInfo'; + $result[] = 'CustomReports_ResumeReportInfo'; + $result[] = 'CustomReports_PauseReportConfirm'; + $result[] = 'CustomReports_ResumeReportConfirm'; + $result[] = 'CustomReports_ResumedReport'; + $result[] = 'CustomReports_PausedReport'; + $result[] = 'CustomReports_ReportInPausedStateAdmin'; + $result[] = 'CustomReports_NoDataMessagePausedStateNonAdminUser'; + $result[] = 'CustomReports_ReportDimensionsHelpExtended'; + $result[] = 'CustomReports_QuotaReachedForX'; + $result[] = 'CustomReports_CustomReport'; + $result[] = 'CustomReports_CustomReports'; + } + + public function addGlossaryItems(&$glossaryItems) + { + /** @var Glossary $glossary */ + $glossary = StaticContainer::get(Glossary::class); + $glossaryItems['CustomReports'] = [ + 'title' => Piwik::translate('CustomReports_CustomReports'), + 'entries' => $glossary->getMetricsAndDimensions(), + ]; + } + + private function getConfiguredReports($idSite, $skipCategoryMetadata = false) + { + return Request::processRequest('CustomReports.getConfiguredReports', [ + 'idSite' => $idSite, + 'skipCategoryMetadata' => $skipCategoryMetadata ? '1' : '0', + 'filter_limit' => '-1', + ], $default = []); + } + + public function processReports(&$processedReports, $reportType, $outputType, $report) + { + foreach ($processedReports as &$processedReport) { + $metadata = &$processedReport['metadata']; + if ( + !empty($metadata['module']) && + $metadata['module'] === 'CustomReports' && + !empty($metadata['metrics']) && + count($metadata['metrics']) > 1 + ) { + //we limit the columns to show only first 3 metrics as too many metrics will break the graph + $columns = implode(',', array_slice(array_keys($metadata['metrics']), 0, 3)); + $metadata['imageGraphUrl'] .= '&columns=' . $columns; + $metadata['imageGraphEvolutionUrl'] .= '&columns=' . $columns; + } + } + } +} diff --git a/files/plugin-CustomReports-5.5.0/Dao/CustomReportsDao.php b/files/plugin-CustomReports-5.5.0/Dao/CustomReportsDao.php new file mode 100644 index 0000000..b302902 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Dao/CustomReportsDao.php @@ -0,0 +1,416 @@ +tablePrefixed = Common::prefixTable($this->table); + } + + private function getDb() + { + return Db::get(); + } + + public function install() + { + // revision is there to indirectly "invalidate" an existing archive for that custom report. + // revision is appended to the archive record name and when revision changes, it will notice that no archive + // exists yet and need to re-archive reports for it + DbHelper::createTable($this->table, " + `idcustomreport` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, + `idsite` int(11) NOT NULL, + `revision` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT 0, + `report_type` VARCHAR(10) NOT NULL DEFAULT '" . Table::ID . "', + `name` VARCHAR(" . Name::MAX_LENGTH . ") NOT NULL, + `description` VARCHAR(" . Description::MAX_LENGTH . ") NOT NULL DEFAULT '', + `category` VARCHAR(" . Category::MAX_LENGTH . ") NOT NULL DEFAULT '" . self::DEFAULT_CATEGORY . "', + `subcategory` VARCHAR(" . Subcategory::MAX_LENGTH . ") NOT NULL DEFAULT '', + `subcategory_order` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT 9999999, + `dimensions` TEXT NOT NULL, + `metrics` TEXT NOT NULL, + `segment_filter` TEXT NOT NULL DEFAULT '', + `created_date` DATETIME NOT NULL, + `updated_date` DATETIME NOT NULL, + `status` VARCHAR(10) NOT NULL DEFAULT '" . CustomReportsModel::STATUS_ACTIVE . "', + `multiple_idsites` VARCHAR(" . self::MULTIPLE_IDSITES_MAX_LENGTH . "), + PRIMARY KEY (`idcustomreport`), + UNIQUE unique_site_name (`idsite`, `name`)"); + } + + public function uninstall() + { + Db::query(sprintf('DROP TABLE IF EXISTS `%s`', $this->tablePrefixed)); + } + + /** + * Serializes website IDs for the `multiple_idsites` column, rejecting a value that exceeds the + * column length. + * + * @param int[]|string[] $multipleIdSites + * @return string + * @throws Exception when the serialized value exceeds the column length. + */ + public function serializeMultipleIdSites(array $multipleIdSites): string + { + $serialized = implode(',', $multipleIdSites); + + if (strlen($serialized) > self::MULTIPLE_IDSITES_MAX_LENGTH) { + throw new Exception(Piwik::translate('CustomReports_ErrorXTooLong', ['multipleIdSites', self::MULTIPLE_IDSITES_MAX_LENGTH])); + } + + return $serialized; + } + + public function addCustomReport($idSite, $name, $description, $reportType, $dimensions, $metrics, $segmentFilter, $categoryId, $subcategoryId, $status, $createdDate, $multipleIdSites) + { + $columns = array( + 'idsite' => $idSite, + 'name' => $name, + 'description' => $description, + 'report_type' => $reportType, + 'dimensions' => $dimensions, + 'metrics' => $metrics, + 'segment_filter' => $segmentFilter, + 'subcategory' => $subcategoryId, + 'category' => $categoryId, + 'status' => $status, + 'created_date' => $createdDate, + 'updated_date' => $createdDate, + 'multiple_idsites' => '' + ); + + if ($multipleIdSites) { + $columns['idsite'] = -1; + $columns['multiple_idsites'] = $this->serializeMultipleIdSites($multipleIdSites); + } + + $columns = $this->encodeFieldsWhereNeeded($columns); + + $bind = array_values($columns); + $placeholder = Common::getSqlStringFieldsArray($columns); + + $sql = sprintf( + 'INSERT INTO %s (`%s`) VALUES(%s)', + $this->tablePrefixed, + implode('`,`', array_keys($columns)), + $placeholder + ); + + $db = $this->getDb(); + + try { + $db->query($sql, $bind); + } catch (Exception $e) { + if ( + $e->getCode() == 23000 + || strpos($e->getMessage(), 'Duplicate entry') !== false + || strpos($e->getMessage(), ' 1062 ') !== false + ) { + throw new Exception(Piwik::translate('CustomReports_ErrorReportNameDuplicate')); + } + throw $e; + } + + $idCustomReport = $db->lastInsertId(); + + return (int) $idCustomReport; + } + + public function updateColumns($idSite, $idCustomReport, $columns) + { + $columns = $this->encodeFieldsWhereNeeded($columns); + + if (!empty($columns)) { + if (!isset($columns['updated_date'])) { + $columns['updated_date'] = $this->getCurrentTime(); + } + + $fields = array(); + $bind = array(); + foreach ($columns as $key => $value) { + $fields[] = ' ' . $key . ' = ?'; + $bind[] = $value; + } + $fields = implode(',', $fields); + + $query = sprintf('UPDATE %s SET %s WHERE idcustomreport = ? AND (idsite = ? or idsite = -1)', $this->tablePrefixed, $fields); + $bind[] = (int) $idCustomReport; + $bind[] = (int) $idSite; + + // we do not use $db->update() here as this method is as well used in Tracker mode and the tracker DB does not + // support "->update()". Therefore we use the query method where we know it works with tracker and regular DB + $this->getDb()->query($query, $bind); + } + } + + /** + * @return int + */ + public function getNumReportsTotal() + { + $sql = sprintf("SELECT COUNT(*) as numreports FROM %s WHERE `status` = ? or `status` = ?", $this->tablePrefixed); + return $this->getDb()->fetchOne($sql, array(CustomReportsModel::STATUS_ACTIVE, CustomReportsModel::STATUS_PAUSED)); + } + + /** + * @param int $idSite + * @param int $idCustomReport + */ + public function deleteCustomReport($idSite, $idCustomReport) + { + $query = sprintf('DELETE FROM %s WHERE (idsite = ? or idsite = 0) and idcustomreport = ?', $this->tablePrefixed); + $db = $this->getDb(); + $db->query($query, array($idSite, $idCustomReport)); + } + + /** + * @param int $idSite + */ + public function deleteCustomReports($idSite) + { + $query = sprintf('DELETE FROM %s WHERE (idsite = ? or idsite = 0) and (status = ? or `status` = ?)', $this->tablePrefixed); + $db = $this->getDb(); + $db->query($query, array($idSite, CustomReportsModel::STATUS_ACTIVE, CustomReportsModel::STATUS_PAUSED)); + } + + /** + * @param int $idSite + * @return array + */ + public function getCustomReports($idSite) + { + $query = sprintf('SELECT * FROM %s WHERE (idsite = ? or idsite = 0 or idsite = -1) and (status = ? or status = ?)', $this->tablePrefixed); + $db = $this->getDb(); + $rows = $db->fetchAll($query, array($idSite, CustomReportsModel::STATUS_ACTIVE, CustomReportsModel::STATUS_PAUSED)); + + return $this->enrichRecords($rows, $idSite); + } + + /** + * @return array + */ + public function getAllReports() + { + $table = $this->tablePrefixed; + $reports = $this->getDb()->fetchAll("SELECT * FROM $table"); + return $this->enrichRecords($reports, 'all'); + } + + /** + * @param int $idSite + * @param int $idCustomReport + * @return array|bool + */ + public function getCustomReport($idSite, $idCustomReport) + { + $query = sprintf('SELECT * FROM %s WHERE (idsite = ? or idsite = 0 or idsite = -1) and idcustomreport = ? and (status = ? or status = ?) LIMIT 1', $this->tablePrefixed); + $db = $this->getDb(); + $row = $db->fetchRow($query, array($idSite, $idCustomReport, CustomReportsModel::STATUS_ACTIVE, CustomReportsModel::STATUS_PAUSED)); + + return $this->enrichRecord($row, $idSite); + } + + public function getChildReports(int $idSite, int $idCustomReport): array + { + $query = sprintf('SELECT idcustomreport, name, subcategory_order FROM %s WHERE (idsite = ? or idsite = 0) and subcategory = ? and (status = ? or status = ?) order by subcategory_order ASC', $this->tablePrefixed); + $db = $this->getDb(); + + return $db->fetchAll($query, array($idSite, $idCustomReport, CustomReportsModel::STATUS_ACTIVE, CustomReportsModel::STATUS_PAUSED)); + } + + /** + * @param int $idCustomReport + * @return array|bool + */ + public function getCustomReportById($idCustomReport, $idSite) + { + $query = sprintf('SELECT * FROM %s WHERE idcustomreport = ? and (status = ? or status = ?) LIMIT 1', $this->tablePrefixed); + $db = $this->getDb(); + $row = $db->fetchRow($query, array($idCustomReport, CustomReportsModel::STATUS_ACTIVE, CustomReportsModel::STATUS_PAUSED)); + + return $this->enrichRecord($row, $idSite); + } + + public function updateReportOrder($idCustomReport, $subCategoryOrder, $idSite) + { + $bind = []; + $query = sprintf('UPDATE %s SET subcategory_order = ? WHERE idcustomreport = ? AND idsite = ?', $this->tablePrefixed); + $bind[] = (int) $subCategoryOrder; + $bind[] = (int) $idCustomReport; + $bind[] = (int) $idSite; + + // we do not use $db->update() here as this method is as well used in Tracker mode and the tracker DB does not + // support "->update()". Therefore we use the query method where we know it works with tracker and regular DB + $this->getDb()->query($query, $bind); + } + + public function getReportIds(array $idCustomReports): array + { + $idCustomReportsFilteredValues = $this->filterNonNumericValues($idCustomReports); + if (empty($idCustomReportsFilteredValues)) { + return []; + } + $query = sprintf('SELECT idcustomreport FROM %s WHERE idcustomreport in(' . implode(',', $idCustomReportsFilteredValues) . ') and (status = ? or status = ?)', $this->tablePrefixed); + + return $this->getDb()->fetchAll( + $query, + array(CustomReportsModel::STATUS_ACTIVE, CustomReportsModel::STATUS_PAUSED) + ); + } + + private function enrichRecords($records, $idSite) + { + if (empty($records)) { + return $records; + } + + $data = array(); + + foreach ($records as $record) { + if ($idSite === 'all' && !empty($record['multiple_idsites'])) { + $multipleIdSites = $record['multiple_idsites'] ? explode(',', $record['multiple_idsites']) : []; + foreach ($multipleIdSites as $multipleIdSite) { + $record['idsite'] = $multipleIdSite; + $data[] = $this->enrichRecord($record, $multipleIdSite); + } + } elseif ($record['idsite'] == -1) { + $multipleIdSites = $record['multiple_idsites'] ? explode(',', $record['multiple_idsites']) : []; + if (!in_array((int) $idSite, array_map('intval', $multipleIdSites), true)) { + continue; + } + $record['idsite'] = $idSite; + $data[] = $this->enrichRecord($record, $idSite); + } else { + $data[] = $this->enrichRecord($record, $record['idsite']); + } + } + + return $data; + } + + private function enrichRecord($record, $idSite) + { + if (empty($record)) { + return $record; + } + if ($record['idsite'] == -1) { + $multipleIdSites = $record['multiple_idsites'] ? explode(',', $record['multiple_idsites']) : []; + $isAllWebsitesRequest = Validator::isAllWebsitesRequest($idSite); + $allowAllWebsitesRequest = $isAllWebsitesRequest && Piwik::hasUserSuperUserAccess(); + if ($idSite != -1 && !$allowAllWebsitesRequest && !in_array((int) $idSite, array_map('intval', $multipleIdSites), true)) { + return []; + } + $record['idsite'] = $idSite; + } + + $record['idcustomreport'] = (int) $record['idcustomreport']; + $record['idsite'] = (int) $record['idsite']; + $record['revision'] = (int) $record['revision']; + $record['dimensions'] = $this->decodeField($record['dimensions']); + $record['metrics'] = $this->decodeField($record['metrics']); + $record['multiple_idsites'] = $record['multiple_idsites']; + + if (!empty($record['created_date']) && strpos($record['created_date'], '0000') !== false) { + $record['created_date'] = null; + } + + if (!empty($record['updated_date']) && strpos($record['updated_date'], '0000') !== false) { + $record['updated_date'] = null; + } + + if (empty($record['category'])) { + $record['category'] = self::DEFAULT_CATEGORY; + } + + return $record; + } + + private function encodeFieldsWhereNeeded($columns) + { + foreach ($columns as $column => $value) { + if (in_array($column, array('dimensions', 'metrics'))) { + $columns[$column] = $this->encodeField($value); + } + } + + return $columns; + } + + private function encodeField($field) + { + if (empty($field) || !is_array($field)) { + $field = array(); + } + + return json_encode($field); + } + + private function decodeField($field) + { + if (!empty($field)) { + $field = @json_decode($field, true); + } + + if (empty($field) || !is_array($field)) { + $field = array(); + } + + return $field; + } + + protected function getCurrentTime() + { + return Date::now()->getDatetime(); + } + + private function filterNonNumericValues(array $values): array + { + // allow only int values + return array_filter($values, function ($value) { + + return (is_int($value) || (is_string($value) && ctype_digit($value))); + }); + } +} diff --git a/files/plugin-CustomReports-5.5.0/DataTable/Filter/ReportTypeTableFilter.php b/files/plugin-CustomReports-5.5.0/DataTable/Filter/ReportTypeTableFilter.php new file mode 100644 index 0000000..7916fe8 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/DataTable/Filter/ReportTypeTableFilter.php @@ -0,0 +1,123 @@ +dimension = $dimension; + $this->dimensions = $nestedDimensions; + $this->idSite = $idSite; + $this->isFlat = $flat; + } + + /** + * @param DataTable $table + */ + public function filter($table) + { + $this->renameRowDimension($table, $this->dimension, $this->dimensions); + $table->setLabelsHaveChanged(); + } + + /** + * @param DataTable $table + * @param Dimension $dimension + * @param Dimension[] $dimension + */ + private function renameRowDimension($table, $dimension, $dimensions) + { + if (!$dimension) { + return; + } + + $formatter = new Formatter(); + + $nextDimension = null; + if (!empty($dimensions)) { + $nextDimension = array_shift($dimensions); + } + + foreach ($table->getRowsWithoutSummaryRow() as $row) { + $label = $row->getColumn('label'); + if ($label === Archiver::LABEL_NOT_DEFINED) { + $label = Piwik::translate('General_NotDefined', $dimension->getName()); + if ($dimension->getSegmentName() === 'regionCode') { + $label = $dimension->getName() . ' ' . Piwik::translate('General_Unknown'); + $row->setMetadata('segment', 'regionCode=='); + } elseif ($dimension->getSegmentName() === 'operatingSystemVersion') { + $label = $dimension->getName() . ' ' . Piwik::translate('General_Unknown'); + $row->setMetadata('segment', 'operatingSystemVersion=='); + } + } elseif ($dimension->getSegmentName() === 'regionCode') { + $label = !empty($label) ? $label : Piwik::translate('General_Unknown'); + $explodedValues = explode('|', $label); + if (count($explodedValues) == 2) { + $regionCode = $explodedValues[0]; + $countryCode = $explodedValues[1]; + $label = $regionCode . ', ' . $countryCode; + if (\Piwik\Plugin\Manager::getInstance()->isPluginActivated('UserCountry')) { + $label = \Piwik\Plugins\UserCountry\getRegionNameFromCodes($countryCode, $regionCode) . ', ' . \Piwik\Plugins\UserCountry\countryTranslate($countryCode); + $logo = \Piwik\Plugins\UserCountry\getFlagFromCode($countryCode); + if ($logo && !$this->isFlat) { + $row->setMetadata('logo', $logo); + } + } + $row->setMetadata('segment', 'countryCode==' . urlencode($countryCode) . ';regionCode==' . urlencode($regionCode)); + } + } elseif ($dimension->getSegmentName() === 'operatingSystemVersion') { + $label = !empty($label) ? $label : Piwik::translate('General_Unknown'); + $explodedValues = explode('|', $label); + if (count($explodedValues) == 2) { + $osVersion = trim($explodedValues[0]); + $os = trim($explodedValues[1]); + $label = $os . ': ' . $osVersion; + if (\Piwik\Plugin\Manager::getInstance()->isPluginActivated('DevicesDetection')) { + $label = \Piwik\Plugins\DevicesDetection\getOSFamilyFullName($os) . ': ' . (!empty($osVersion) ? $osVersion : Piwik::translate('General_Unknown')); + } + $row->setMetadata('segment', 'operatingSystemCode==' . urlencode($os) . ';operatingSystemVersion==' . urlencode($osVersion)); + } + } else { + $label = $dimension->formatValue($label, $this->idSite, $formatter); + } + + $row->setColumn('label', $label); + + $subtable = $row->getSubtable(); + if ($subtable) { + $this->renameRowDimension($subtable, $nextDimension, $dimensions); + } + } + } +} diff --git a/files/plugin-CustomReports-5.5.0/GetCustomReport.php b/files/plugin-CustomReports-5.5.0/GetCustomReport.php new file mode 100644 index 0000000..8b2a970 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/GetCustomReport.php @@ -0,0 +1,525 @@ +module = 'CustomReports'; + $this->action = 'getCustomReport'; + $this->order = 99; + + $this->actionToLoadSubTables = $this->action; + $request = Request::fromRequest(); + + $idSite = $request->getIntegerParameter('idSite', 0); + $idCustomReport = $request->getIntegerParameter('idCustomReport', 0); + $this->isFlat = $request->getIntegerParameter('flat', 0); + + if ( + !empty($idSite) + && ( Common::getRequestVar('actionToWidgetize', '', 'string') === 'previewReport' + || Common::getRequestVar('action', '', 'string') === 'previewReport') + && ( Common::getRequestVar('moduleToWidgetize', '', 'string') === 'CustomReports' + || Common::getRequestVar('module', '', 'string') === 'CustomReports') + ) { + $report = null; + Piwik::postEvent('CustomReports.buildPreviewReport', array(&$report)); + + $this->initCustomReport($report); + $this->doNotInitTwice = true; + } elseif (!empty($idCustomReport) && !empty($idSite)) { + // needed when this report is being rendered because viewDataTable would not find correct report. + $model = StaticContainer::get('Piwik\Plugins\CustomReports\Model\CustomReportsModel'); + $report = $model->getCustomReport($idSite, $idCustomReport); + if (!empty($report)) { + $this->initCustomReport($report); + } + } + } + + public function isEnabled() + { + if (!empty($this->dimension) && !$this->dimension->isAnonymousAllowed() && Piwik::isUserIsAnonymous()) { + return false; + } + return parent::isEnabled(); + } + + public function render() + { + if (!empty($this->dimension) && !$this->dimension->isAnonymousAllowed()) { + Piwik::checkUserIsNotAnonymous(); + } + return parent::render(); + } + + public function initCustomReport($report, DataTable\DataTableInterface $table = null) + { + if ($this->doNotInitTwice) { + return; + } + + $this->customReport = $report; + + $this->reportType = ReportType::factory($report['report_type']); + + $this->categoryId = $report['category']['id']; + $this->name = $report['name']; + $this->documentation = $report['description']; + $this->metrics = $report['metrics']; + $this->metricSemanticTypes = []; + $this->processedMetrics = array(); + + // TODO we may need to adjust defaultSortColumn if it was ignored by report builder eg if metric is actually + // not joinable anymore or does not exist anymore + $this->defaultSortColumn = reset($report['metrics']); + $this->order = 0; + + if (!empty($report['subcategory']['id'])) { + $this->subcategoryId = $report['subcategory']['id']; + if ($report['subcategory_order'] != 9999999) { + $this->order = $report['subcategory_order']; + } + } elseif (!empty($report['category']['id']) && $report['category']['id'] === CustomReportsDao::DEFAULT_CATEGORY) { + $this->subcategoryId = $report['idcustomreport']; + } else { + // when the category is not specified and does not go into the custom reports category, we use the report name + // as the category ID. Otherwise we may add eg for a reportId 19 a subcategory to Goals with the ID 19. + // when there a goal exists with ID 19 as well, we would accidentally put the report on the page of the goal. + $this->subcategoryId = $report['name']; + } + + $idSubtable = $this->getSelectedSubtableId(); + + $this->dimension = null; + if (empty($idSubtable) && !empty($report['dimensions'][0])) { + $this->dimension = $this->getDimensionInstance($report['dimensions'][0]); + } elseif (!empty($idSubtable)) { + $this->tryToSetDimensionBasedOnTable($table); + + if (empty($this->dimension) && isset($report['dimensions'][1])) { + // we assume second dimension + $this->dimension = $this->getDimensionInstance($report['dimensions'][1]); + } + } + + $factory = MetricsList::get(); + + $this->metricTranslations = array(); + $period = Common::getRequestVar('period', '', 'string'); + foreach ($report['metrics'] as $metric) { + $metricInstance = $factory->getMetric($metric); + if ( + !empty($metricInstance) && + ($metricInstance instanceof ProcessedMetric || $metricInstance instanceof ArchivedMetric) + ) { + if ($period != 'day' && stripos($metricInstance->getTranslatedName(), 'unique') === 0) { + $metricInstance->setDocumentation(Piwik::translate( + 'CustomReports_CommonUniqueMetricDescription', + array($metricInstance->getDocumentation(), ucwords($metricInstance->getTranslatedName()), str_ireplace('Unique ', '', ucwords($metricInstance->getTranslatedName()))) + )); + $metricInstance->setTranslatedName(Piwik::translate('CustomReports_CommonUniqueMetric', array($metricInstance->getTranslatedName()))); + } + $this->processedMetrics[] = $metricInstance; + $this->metricTranslations[$metric] = $metricInstance->getTranslatedName(); + } + + if ($metricInstance instanceof Plugin\Metric && method_exists($metricInstance, 'getSemanticType')) { + $this->metricSemanticTypes[$metric] = $metricInstance->getSemanticType(); + } else { + $this->metricSemanticTypes[$metric] = null; + } + } + if (!empty($report['idcustomreport'])) { + $this->parameters = array('idCustomReport' => $report['idcustomreport']); + } else { + $this->parameters = array(); + } + } + + private function getSelectedSubtableId() + { + return Common::getRequestVar('idSubtable', 0, 'int'); + } + + public function getMetrics() + { + return $this->metricTranslations; + } + + private function tryToSetDimensionBasedOnTable(DataTable\DataTableInterface $table = null) + { + if (!empty($table)) { + $level = $this->detectSubtableLevelOnTable($table); + if (!empty($level) && isset($this->customReport['dimensions'][$level - 1])) { + $this->dimension = $this->getDimensionInstance($this->customReport['dimensions'][$level - 1]); + } + } + } + + private function detectSubtableLevelOnTable(DataTable\DataTableInterface $table) + { + $row = $table->getFirstRow(); + + if ($row && $row instanceof DataTable\DataTableInterface) { + $row = $row->getFirstRow(); + } + + if ($row && $row instanceof DataTable\Row) { + $level = $row->getColumn('level'); + if (!empty($level)) { + return $level; + } + } + } + + public function getDimensionInstance($dimensionName) + { + $factory = StaticContainer::get('Piwik\Columns\DimensionsProvider'); + return $factory->factory($dimensionName); + } + + public function getDefaultTypeViewDataTable() + { + if ($this->reportType) { + return $this->reportType->getDefaultViewDataTable(); + } + + return parent::getDefaultTypeViewDataTable(); + } + + public function alwaysUseDefaultViewDataTable() + { + if ($this->reportType) { + return $this->reportType->alwaysUseDefaultViewDataTable(); + } + + return parent::alwaysUseDefaultViewDataTable(); + } + + public function configureWidgets(WidgetsList $widgetsList, ReportWidgetFactory $factory) + { + if ($this->categoryId && $this->subcategoryId && $this->reportType) { + $widget = $factory->createWidget(); + $widget->setAction($this->reportType->getRenderAction()); + $widgetsList->addWidgetConfig($widget); + } + } + + public function configureView(ViewDataTable $view) + { + $dimensionName = 'Label'; + + if (!empty($this->dimension)) { + $dimensionName = $this->dimension->getName(); + $view->config->addTranslations(array('label' => $dimensionName)); + } + + // The insights API is currently hardcoded to use 'nb_visits', and doesn't work + // if we don't have 'nb_visits' included. + if (!in_array('nb_visits', $this->metrics, true)) { + $view->config->show_insights = false; + } + + $view->config->show_flatten_table = true; + + $subdimension = $this->getSubtableDimension(); + if (!empty($subdimension)) { + $view->config->show_pivot_by_subtable = true; + $view->config->pivot_by_dimension = $subdimension->getId(); + $view->config->pivot_by_column = $this->metrics[0]; + } else { + $view->config->show_pivot_by_subtable = false; + } + + $metricsList = MetricsList::get(); + + foreach ($this->metrics as $metric) { + $metricInstance = $metricsList->getMetric($metric); + if (!empty($metricInstance) && $metricInstance->getDocumentation()) { + $view->config->metrics_documentation[$metricInstance->getName()] = $metricInstance->getDocumentation(); + } + if (!empty($metricInstance) && $metricInstance->getTranslatedName()) { + $view->config->addTranslation($metricInstance->getName(), $metricInstance->getTranslatedName()); + } + } + + $self = $this; + $report = $this->customReport; + $request = Request::fromRequest(); + $idSite = $request->getIntegerParameter('idSite', 0); + $view->config->filters[] = function (DataTable $table) use ($self, $view, $report, $metricsList, $idSite) { + // we fix the dimension based on the data table content. + $self->tryToSetDimensionBasedOnTable($table); + + $dimension = $self->getDimension(); + + if (!empty($dimension)) { + $view->config->addTranslations(array('label' => $dimension->getName())); + } + + // make urls clickable... + if ($dimension && $dimension->getType() === Dimension::TYPE_URL && (!$this->isFlat || (count($self->customReport['dimensions']) === 1))) { + $table->filter('ColumnCallbackAddMetadata', array('label', 'url', function ($label) { + if ($label === Archiver::LABEL_NOT_DEFINED) { + return false; + } + return $label; + })); + } + + if ($table->getRowsCount() === 0 && $table->getMetadata('period')) { + $period = $table->getMetadata('period'); + if ($period instanceof Period) { + /** @var Period $period */ + $reportStartDate = $period->getDateStart()->getTimestampUTC(); + + if ( + (!empty($report['created_date']) && $reportStartDate < Date::factory($report['created_date'])->getTimestamp()) + || (!empty($report['updated_date']) && $reportStartDate < Date::factory($report['updated_date'])->getTimestamp()) + ) { + $view->config->no_data_message = Piwik::translate('CoreHome_ThereIsNoDataForThisReport') . ' ' . Piwik::translate('CustomReports_NoDataNotArchivedYet'); + + if (!Plugin\Manager::getInstance()->isPluginActivated('Cloud')) { + $view->config->no_data_message .= ' ' . Piwik::translate( + 'CustomReports_NoDataNotArchivedYetReprocess', + ['', ''] + ); + } + } + } + } else { + $periodLabel = Common::getRequestVar('period', '', 'string'); + // report types reading numeric records (eg the KPI card sparkline) support unique + // metrics for the same periods as evolution graphs + $isEvolution = $view->isViewDataTableId(Evolution::ID) + || ($this->reportType && $this->reportType->usesNumericRecords()); + + if (!self::supportsUniqueMetric($periodLabel, $isEvolution)) { + $removed = array_intersect(self::$RAW_DATA_UNIQUE_METRICS, $view->config->columns_to_display); + $removed2 = array_intersect(self::$RAW_DATA_UNIQUE_METRICS, (property_exists($view->config, 'selectable_columns') && is_array($view->config->selectable_columns)) ? $view->config->selectable_columns : array()); + if (!empty($removed) || !empty($removed2)) { + $view->config->columns_to_display = array_diff($view->config->columns_to_display, self::$RAW_DATA_UNIQUE_METRICS); + + if ($isEvolution || $view->isViewDataTableId(Bar::ID) || $view->isViewDataTableId(Pie::ID)) { + $period = Common::getRequestVar('period', '', 'string'); + if (!GetCustomReport::supportsUniqueMetric($period, true)) { + /** @var Evolution $view */ + if (is_array($view->config->selectable_columns)) { + $view->config->selectable_columns = array_diff($view->config->selectable_columns, GetCustomReport::$RAW_DATA_UNIQUE_METRICS); + } + } + } + + $removedHumanReadable = array(); + foreach ($removed as $metricName) { + $foundMetric = $metricsList->getMetric($metricName); + if ($foundMetric) { + $removedHumanReadable[] = $foundMetric->getTranslatedName(); + } elseif (is_string($metricName)) { + $removedHumanReadable[] = $metricName; + } + } + + if (empty($view->config->columns_to_display)) { + $view->config->show_header_message = Piwik::translate('CustomReports_NoDataRemovedMetrics', implode(', ', $removedHumanReadable)); + } elseif ($view->config->columns_to_display == array('label')) { + $view->config->show_header_message = Piwik::translate('CustomReports_NoDataRemovedMetrics', implode(', ', $removedHumanReadable)); + $view->config->columns_to_display = array(); + $view->config->show_pagination_control = false; + $view->config->show_offset_information = false; + } else { + if (empty($view->config->show_footer_message)) { + $view->config->show_footer_message = ''; + } else { + $view->config->show_footer_message .= ' '; + } + $view->config->show_footer_message .= Piwik::translate('CustomReports_RemovedMetrics', implode(', ', $removedHumanReadable)); + } + } + } + } + if (!empty($report['status']) && $report['status'] === CustomReportsModel::STATUS_PAUSED) { + $url = Url::getCurrentQueryStringWithParametersModified(array( + 'module' => 'CustomReports', + 'action' => 'manage' + )); + $view->config->no_data_message = Piwik::translate('CustomReports_NoDataMessagePausedStateAdminUser', ['', '']); + $idSitesToCheck = !empty($report['multiple_idsites']) ? explode(',', $report['multiple_idsites']) : array($idSite); + foreach ($idSitesToCheck as $idSite) { + if (!$this->getValidator()->canWrite($idSite)) { + $view->config->no_data_message = Piwik::translate('CustomReports_NoDataMessagePausedStateNonAdminUser'); + break; + } + } + } + }; + + $idCustomReport = Common::getRequestVar('idCustomReport', 0, 'int'); + $idSubtable = $this->getSelectedSubtableId(); + + if (!empty($this->customReport['segment_filter']) && empty($idSubtable)) { + // we do not show it in subtable gain... + $segmentFormatter = StaticContainer::get('Piwik\Plugins\SegmentEditor\SegmentFormatter'); + + try { + $segmentDefinition = $segmentFormatter->getHumanReadable($this->customReport['segment_filter'], $idSite); + $view->config->show_footer_message = Piwik::translate('CustomReports_ReportHasFilterApplied', Common::sanitizeInputValue($segmentDefinition)); + } catch (\Exception $e) { + // may fail when a configured segment is no longer available + } + } + + $view->config->filters[] = function (DataTable $table) { + $table->filter('ReplaceSummaryRowLabel'); + $table->setLabelsHaveChanged(); + }; + + $view->config->show_table_all_columns = false; + $view->config->show_exclude_low_population = false; + + $pivotBy = Common::getRequestVar('pivotBy', false); + if (empty($pivotBy)) { + if ( + $view->isViewDataTableId(Pie::ID) + || $view->isViewDataTableId(Bar::ID) + ) { + /** @var Pie $view */ + $selectableColumns = array_values($this->metrics); + $view->config->selectable_columns = $selectableColumns; + $view->config->columns_to_display = array(reset($selectableColumns)); + } else { + $view->config->columns_to_display = array_merge(array('label'), $this->metrics); + } + } + + if (!empty($idCustomReport)) { + $view->config->report_id = 'CustomReports.getCustomReport_idCustomReport--' . $idCustomReport; + $view->requestConfig->request_parameters_to_modify['idCustomReport'] = $idCustomReport; + $view->requestConfig->request_parameters_to_modify['reportUniqueId'] = 'CustomReports_getCustomReport_idCustomReport--' . $idCustomReport; + + if ($this->getValidator()->canWrite($idSite)) { + $view->config->title_edit_entity_url = 'index.php' . Url::getCurrentQueryStringWithParametersModified(array( + 'module' => 'CustomReports', + 'action' => 'manage' + )) . '#?idCustomReport=' . (int)$idCustomReport; + } + } + + // Is this an evolution graph. If it is, we need to override the controller action so the right API call is made + if ($view->isViewDataTableId(Evolution::ID) && !in_array(Common::getRequestVar('action', '', 'string'), ['getMultiRowEvolutionPopover', 'getRowEvolutionPopover', 'getRowEvolutionGraph'])) { + $view->config->controllerAction = 'getEvolutionGraph'; + } + + if (!$this->isFlat && !empty($this->customReport['dimensions']) && is_array($this->customReport['dimensions']) && count($this->customReport['dimensions']) > 3) { + // add a css class to update the width of table for hierarchical, when dimensions are > 3 to resolve scrolling issue + $view->config->datatable_css_class = 'customReportsHigherDimensions'; + } + } + + public static function supportsUniqueMetric($period, $isEvolutionGraph) + { + $config = StaticContainer::get(Configuration::class); + if ($config->shouldAlwaysShowUniqueVisitors()) { + return true; + } + + if ($isEvolutionGraph) { + return SettingsPiwik::isUniqueVisitorsEnabled($period); + } + + return $period === 'day'; + } + + public function getSubtableDimension() + { + return $this->getSecondLeveltableDimension(); + } + + public function getSecondLeveltableDimension() + { + if (isset($this->customReport['dimensions'][1])) { + return $this->getDimensionInstance($this->customReport['dimensions'][1]); + } + } + + public function getThirdLeveltableDimension() + { + if (isset($this->customReport['dimensions'][2])) { + return $this->getDimensionInstance($this->customReport['dimensions'][2]); + } + } + + public function getNthLevelTableDimension(int $level): ?Dimension + { + if (isset($this->customReport['dimensions'][$level])) { + return $this->getDimensionInstance($this->customReport['dimensions'][$level]); + } + + return null; + } + + private function getValidator() + { + return StaticContainer::get('Piwik\Plugins\CustomReports\Input\Validator'); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Glossary.php b/files/plugin-CustomReports-5.5.0/Glossary.php new file mode 100644 index 0000000..d92794e --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Glossary.php @@ -0,0 +1,76 @@ +api = $api; + } + + public function getMetricsAndDimensions() + { + $result = []; + + $allDimensions = Request::processRequest('CustomReports.getAvailableDimensions'); + foreach ($allDimensions as $categoryId => $category) { + foreach ($category['dimensions'] as $dimension) { + $result[] = [ + 'name' => $dimension['name'], + 'subtitle' => 'CustomReports_Dimension', + 'documentation' => '', + 'id' => $dimension['uniqueId'], + ]; + } + } + + $allMetrics = Request::processRequest('CustomReports.getAvailableMetrics'); + foreach ($allMetrics as $categoryId => $category) { + foreach ($category['metrics'] as $metric) { + $result[] = [ + 'name' => $metric['name'], + 'subtitle' => 'General_Metric', + 'documentation' => Common::sanitizeInputValue($metric['description']), // uses |raw in twig template + 'id' => $metric['uniqueId'], + 'is_metric' => true, + ]; + } + } + + usort($result, function ($a, $b) { + return strcmp($this->cleanName($a['name']), $this->cleanName($b['name'])); + }); + + return $result; + } + + private function cleanName($name) + { + $name = preg_replace('/[\'"]/', '', $name); + $name = strtolower($name); + return $name; + } +} diff --git a/files/plugin-CustomReports-5.5.0/Input/Category.php b/files/plugin-CustomReports-5.5.0/Input/Category.php new file mode 100644 index 0000000..5ff0053 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Input/Category.php @@ -0,0 +1,51 @@ +category = $categoryId; + } + + public function check() + { + $title = 'CustomReports_ReportCategory'; + + if (empty($this->category)) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('CustomReports_ErrorXNotProvided', $title)); + } + + if (Common::mb_strlen($this->category) > static::MAX_LENGTH) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('CustomReports_ErrorXTooLong', array($title, static::MAX_LENGTH))); + } + } +} diff --git a/files/plugin-CustomReports-5.5.0/Input/Description.php b/files/plugin-CustomReports-5.5.0/Input/Description.php new file mode 100644 index 0000000..bcf3043 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Input/Description.php @@ -0,0 +1,49 @@ +description = $description; + } + + public function check() + { + if (empty($this->description)) { + // no description is valid + return; + } + + if (Common::mb_strlen($this->description) > self::MAX_LENGTH) { + $title = Piwik::translate('General_Description'); + throw new Exception(Piwik::translate('CustomReports_ErrorXTooLong', array($title, static::MAX_LENGTH))); + } + } +} diff --git a/files/plugin-CustomReports-5.5.0/Input/Dimensions.php b/files/plugin-CustomReports-5.5.0/Input/Dimensions.php new file mode 100644 index 0000000..9648fa8 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Input/Dimensions.php @@ -0,0 +1,99 @@ +dimensions = $dimensions; + $this->idSite = $idSite; + } + + public function check() + { + if (empty($this->dimensions)) { + return; // it may be empty + } + + $title = Piwik::translate('CustomReports_Dimensions'); + + if (!is_array($this->dimensions)) { + throw new Exception(Piwik::translate('CustomReports_ErrorNotAnArray', $title)); + } + + $validateDimensionsExist = true; + if (empty($this->idSite) || $this->idSite === 'all') { + $configuration = StaticContainer::get('Piwik\Plugins\CustomReports\Configuration'); + $validateDimensionsExist = $configuration->shouldValidateReportContentWhenAllSites(); + } + + $dimensionProvider = StaticContainer::get('Piwik\Columns\DimensionsProvider'); + $availableDimensions = $this->getAvailableDimensionsList(); + foreach ($this->dimensions as $index => $dimension) { + if (empty($dimension)) { + throw new Exception(Piwik::translate('CustomReports_ErrorArrayMissingItem', array($title, $index))); + } + + if ($validateDimensionsExist && !$dimensionProvider->factory($dimension)) { + throw new Exception(Piwik::translate('CustomReports_ErrorInvalidValueInArray', array($title, $index))); + } + + if ($validateDimensionsExist && !isset($availableDimensions[$dimension])) { + throw new Exception(Piwik::translate('CustomReports_ErrorInvalidDimension', array($dimension))); + } + } + + if (count($this->dimensions) !== count(array_unique($this->dimensions))) { + $title = Piwik::translate('CustomReports_Dimension'); + throw new Exception(Piwik::translate('CustomReports_ErrorDuplicateItem', $title)); + } + } + + private function getAvailableDimensionsList() + { + $dimensions = API::getInstance()->getAvailableDimensions($this->idSite); + $list = []; + + if (!empty($dimensions)) { + foreach ($dimensions as $values) { + if (!empty($values['dimensions'])) { + foreach ($values['dimensions'] as $dimension) { + $list[$dimension['uniqueId']] = $dimension['name']; + } + } + } + } + + return $list; + } +} diff --git a/files/plugin-CustomReports-5.5.0/Input/Metrics.php b/files/plugin-CustomReports-5.5.0/Input/Metrics.php new file mode 100644 index 0000000..12306f7 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Input/Metrics.php @@ -0,0 +1,76 @@ +metrics = $metrics; + $this->idSite = $idSite; + } + + public function check() + { + if (empty($this->metrics)) { + return; // it may be empty + } + + $title = Piwik::translate('General_Metrics'); + + if (!is_array($this->metrics)) { + throw new Exception(Piwik::translate('CustomReports_ErrorNotAnArray', $title)); + } + + $validateMetricsExist = true; + if (empty($this->idSite) || $this->idSite === 'all') { + $configuration = StaticContainer::get('Piwik\Plugins\CustomReports\Configuration'); + $validateMetricsExist = $configuration->shouldValidateReportContentWhenAllSites(); + } + + $metricsList = MetricsList::get(); + + foreach ($this->metrics as $index => $metric) { + if (empty($metric)) { + throw new Exception(Piwik::translate('CustomReports_ErrorArrayMissingItem', array($title, $index))); + } + if ($validateMetricsExist && !$metricsList->getMetric($metric)) { + throw new Exception(Piwik::translate('CustomReports_ErrorInvalidValueInArray', array($title, $index))); + } + } + + if (count($this->metrics) !== count(array_unique($this->metrics))) { + $title = Piwik::translate('General_Metric'); + throw new Exception(Piwik::translate('CustomReports_ErrorDuplicateItem', $title)); + } + } +} diff --git a/files/plugin-CustomReports-5.5.0/Input/Name.php b/files/plugin-CustomReports-5.5.0/Input/Name.php new file mode 100644 index 0000000..0aa2e91 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Input/Name.php @@ -0,0 +1,51 @@ +name = $name; + } + + public function check() + { + $title = 'CustomReports_ReportName'; + + if (empty($this->name)) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('CustomReports_ErrorXNotProvided', $title)); + } + + if (Common::mb_strlen($this->name) > static::MAX_LENGTH) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('CustomReports_ErrorXTooLong', array($title, static::MAX_LENGTH))); + } + } +} diff --git a/files/plugin-CustomReports-5.5.0/Input/ReportType.php b/files/plugin-CustomReports-5.5.0/Input/ReportType.php new file mode 100644 index 0000000..52656a1 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Input/ReportType.php @@ -0,0 +1,45 @@ +reportType = $reportType; + } + + public function check() + { + $title = 'CustomReports_ReportType'; + + if (empty($this->reportType)) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('CustomReports_ErrorXNotProvided', $title)); + } + + \Piwik\Plugins\CustomReports\ReportType\ReportType::factory($this->reportType); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Input/SegmentFilter.php b/files/plugin-CustomReports-5.5.0/Input/SegmentFilter.php new file mode 100644 index 0000000..ac96418 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Input/SegmentFilter.php @@ -0,0 +1,47 @@ +segment = $segmentFilter; + $this->idSites = $idSites; + } + + public function check() + { + if (empty($this->segment)) { + return; // it may be empty + } + + new Segment($this->segment, $this->idSites); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Input/Subcategory.php b/files/plugin-CustomReports-5.5.0/Input/Subcategory.php new file mode 100644 index 0000000..29c66dd --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Input/Subcategory.php @@ -0,0 +1,49 @@ +subcategory = $subcategoryId; + } + + public function check() + { + if (empty($this->subcategory)) { + return; // may be empty + } + $title = 'CustomReports_ReportSubcategory'; + + if (!empty($this->subcategory) && Common::mb_strlen($this->subcategory) > static::MAX_LENGTH) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('CustomReports_ErrorXTooLong', array($title, static::MAX_LENGTH))); + } + } +} diff --git a/files/plugin-CustomReports-5.5.0/Input/Validator.php b/files/plugin-CustomReports-5.5.0/Input/Validator.php new file mode 100644 index 0000000..b402715 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Input/Validator.php @@ -0,0 +1,122 @@ +supportsMethod('checkUserHasSomeWriteAccess')) { + // since Matomo 3.6.0 + Piwik::checkUserHasSomeWriteAccess(); + return; + } + + Piwik::checkUserHasSomeAdminAccess(); + } + + public function checkWritePermission($idSite) + { + if (self::isAllWebsitesRequest($idSite)) { + Piwik::checkUserHasSuperUserAccess(); + } else { + $this->checkSiteExists($idSite); + + if ($this->supportsMethod('checkUserHasWriteAccess')) { + // since Matomo 3.6.0 + Piwik::checkUserHasWriteAccess($idSite); + return; + } + + Piwik::checkUserHasAdminAccess($idSite); + } + } + + public function checkSitesDuplicationPermission($idSites) + { + if (count($idSites) < 1) { + throw new \Exception(Piwik::translate('General_Required', ['idSites'])); + } + + Piwik::checkUserHasWriteAccess($idSites); + // Check if any of the specified sites are rollups + $rollupSiteNames = []; + foreach ($idSites as $idSite) { + if (Site::getTypeFor($idSite) === 'rollup') { + $rollupSiteNames[] = Site::getNameFor($idSite); + } + } + + if (count($rollupSiteNames) > 0) { + throw new \Exception(Piwik::translate( + 'CustomReports_CustomReportDuplicationSiteTypeError', + ['\'' . implode('\', \'', $rollupSiteNames) . '\''] + )); + } + } + + public static function isAllWebsitesRequest($idSite) + { + return $idSite === 0 || $idSite === '0' || $idSite === 'all' || $idSite === false; + } + + public function checkReportViewPermission($idSite) + { + $this->checkSiteExists($idSite); + Piwik::checkUserHasViewAccess($idSite); + } + + public function checkSiteExists($idSite) + { + if (self::isAllWebsitesRequest($idSite)) { + return; + } + + new Site($idSite); + } + + public function canViewReport($idSite) + { + if (empty($idSite)) { + return false; + } + + return Piwik::isUserHasViewAccess($idSite); + } + + public function canWrite($idSite) + { + if (empty($idSite)) { + return false; + } + + if ($this->supportsMethod('isUserHasWriteAccess')) { + // since Matomo 3.6.0 + return Piwik::isUserHasWriteAccess($idSite); + } + + return Piwik::isUserHasAdminAccess($idSite); + } +} diff --git a/files/plugin-CustomReports-5.5.0/LICENSE b/files/plugin-CustomReports-5.5.0/LICENSE new file mode 100644 index 0000000..4686f35 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/LICENSE @@ -0,0 +1,49 @@ +InnoCraft License + +This InnoCraft End User License Agreement (the "InnoCraft EULA") is between you and InnoCraft Ltd (NZBN 6106769) ("InnoCraft"). If you are agreeing to this Agreement not as an individual but on behalf of your company, then "Customer" or "you" means your company, and you are binding your company to this Agreement. InnoCraft may modify this Agreement from time to time, subject to the terms in Section (xii) below. + +By clicking on the "Iโ€™ve read and accept the terms & conditions (https://shop.matomo.org/terms-conditions/)" (or similar button) that is presented to you at the time of your Order, or by using or accessing InnoCraft products, you indicate your assent to be bound by this Agreement. + + +InnoCraft EULA + +(i) InnoCraft is the licensor of the Plugin for Matomo Analytics (the "Software"). + +(ii) Subject to the terms and conditions of this Agreement, InnoCraft grants you a limited, worldwide, non-exclusive, non-transferable and non-sublicensable license to install and use the Software only on hardware systems owned, leased or controlled by you, during the applicable License Term. The term of each Software license ("License Term") will be specified in your Order. Your License Term will end upon any breach of this Agreement. + +(iii) Unless otherwise specified in your Order, for each Software license that you purchase, you may install one production instance of the Software in a Matomo Analytics instance owned or operated by you, and accessible via one URL ("Matomo instance"). Additional licenses must be purchased in order to deploy the Software in multiple Matomo instances, including when these multiple Matomo instances are hosted on a single hardware system. + +(iv) Licenses granted by InnoCraft are granted subject to the condition that you must ensure the maximum number of Authorized Users and Authorized Sites that are able to access and use the Software is equal to the number of User and Site Licenses for which the necessary fees have been paid to InnoCraft for the Subscription period. You may upgrade your license at any time on payment of the appropriate fees to InnoCraft in order to increase the maximum number of authorized users or sites. The number of User and Site Licenses granted to you is dependent on the fees paid by you. โ€œUser Licenseโ€ means a license granted under this EULA to you to permit an Authorized User to use the Software. โ€œAuthorized Userโ€ means a person who has an account in the Matomo instance and for which the necessary fees (โ€œSubscription feesโ€) have been paid to InnoCraft for the current license term. "Site License" means a license granted under this EULA to you to permit an Authorized Site to use the Matomo Marketplace Plugin. โ€œAuthorized Sitesโ€ means a website or a measurable within Matomo instance and for which the necessary fees (โ€œSubscription feesโ€) have been paid to InnoCraft for the current license term. These restrictions also apply if you install the Matomo Analytics Platform as part of your WordPress. + +(v) Piwik Analytics was renamed to Matomo Analytics in January 2018. The same terms and conditions as well as any restrictions or grants apply if you are using any version of Piwik. + +(vi) The Software requires a license key in order to operate, which will be delivered to the email addresses specified in your Order when we have received payment of the applicable fees. + +(vii) Any information that InnoCraft may collect from you or your device will be subject to InnoCraft Privacy Policy (https://www.innocraft.com/privacy). + +(viii) You are bound by the Matomo Marketplace Terms and Conditions (https://shop.matomo.org/terms-conditions/). + +(ix) You may not reverse engineer or disassemble or re-distribute the Software in whole or in part, or create any derivative works from or sublicense any rights in the Software, unless otherwise expressly authorized in writing by InnoCraft. + +(x) The Software is protected by copyright and other intellectual property laws and treaties. InnoCraft own all title, copyright and other intellectual property rights in the Software, and the Software is licensed to you directly by InnoCraft, not sold. + +(xi) The Software is provided under an "as is" basis and without any support or maintenance. Nothing in this Agreement shall require InnoCraft to provide you with support or fixes to any bug, failure, mis-performance or other defect in The Software. InnoCraft may provide you, from time to time, according to his sole discretion, with updates of the Software. You hereby warrant to keep the Software up-to-date and install all relevant updates. InnoCraft shall provide any update free of charge. + +(xii) The Software is provided "as is", and InnoCraft hereby disclaim all warranties, including but not limited to any implied warranties of title, non-infringement, merchantability or fitness for a particular purpose. InnoCraft shall not be liable or responsible in any way for any losses or damage of any kind, including lost profits or other indirect or consequential damages, relating to your use of or reliance upon the Software. + +(xiii) We may update or modify this Agreement from time to time, including the referenced Privacy Policy and the Matomo Marketplace Terms and Conditions. If a revision meaningfully reduces your rights, we will use reasonable efforts to notify you (by, for example, sending an email to the billing or technical contact you designate in the applicable Order). If we modify the Agreement during your License Term or Subscription Term, the modified version will be effective upon your next renewal of a License Term. + + +About InnoCraft Ltd + +At InnoCraft Ltd, we create innovating quality products to grow your business and to maximize your success. + +Our software products are built on top of Matomo Analytics: the leading open digital analytics platform used by more than one million websites worldwide. We are the creators and makers of the Matomo Analytics platform. + + +Contact + +Email: contact@innocraft.com +Contact form: https://www.innocraft.com/#contact +Website: https://www.innocraft.com/ +Buy our products: Premium Features for Matomo Analytics https://plugins.matomo.org/premium diff --git a/files/plugin-CustomReports-5.5.0/Menu.php b/files/plugin-CustomReports-5.5.0/Menu.php new file mode 100644 index 0000000..3052ef5 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Menu.php @@ -0,0 +1,45 @@ +validator = $validator; + + parent::__construct(); + } + + public function configureAdminMenu(MenuAdmin $menu) + { + $idSite = Common::getRequestVar('idSite', 0, 'int'); + + if ($this->validator->canWrite($idSite)) { + $menu->addMeasurableItem('CustomReports_CustomReports', $this->urlForAction('manage'), $orderId = 42); + } + } +} diff --git a/files/plugin-CustomReports-5.5.0/Model/CustomReportsModel.php b/files/plugin-CustomReports-5.5.0/Model/CustomReportsModel.php new file mode 100644 index 0000000..eec62f0 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Model/CustomReportsModel.php @@ -0,0 +1,559 @@ +dao = $dao; + } + + public function createCustomReport($idSite, $name, $description, $reportType, $dimensions, $metrics, $segmentFilter, $categoryId, $subcategoryId, $createdDate, $multipleIdSites) + { + $this->forceValuesAllowedByReportType($reportType, $dimensions, $metrics); + + $this->validateReportValues($idSite, $name, $description, $reportType, $dimensions, $metrics, $segmentFilter, $categoryId, $subcategoryId, [], $multipleIdSites); + + $status = self::STATUS_ACTIVE; + + $idCustomReport = $this->dao->addCustomReport($idSite, $name, $description, $reportType, $dimensions, $metrics, $segmentFilter, $categoryId, $subcategoryId, $status, $createdDate, $multipleIdSites); + + return $idCustomReport; + } + + /** + * Removes values a report type does not support: dimensions for types that don't need them and + * metrics exceeding the type's maximum (only the first ones are kept). + */ + private function forceValuesAllowedByReportType($reportType, &$dimensions, &$metrics) + { + try { + $type = \Piwik\Plugins\CustomReports\ReportType\ReportType::factory($reportType); + } catch (Exception $e) { + return; // an invalid report type will be reported by validateReportValues() + } + + if (!$type->needsDimensions()) { + $dimensions = array(); + } + + $maxMetrics = $type->getMaxMetrics(); + if ($maxMetrics !== null && is_array($metrics) && count($metrics) > $maxMetrics) { + $metrics = array_slice(array_values($metrics), 0, $maxMetrics); + } + } + + private function areMetricsEqual($metricNew, $metricOld) + { + if (!is_array($metricNew) || !is_array($metricOld)) { + return false; + } + + if (count($metricNew) > count($metricOld)) { + // there are now more metrics in the new version... + return false; + } + + if (array_diff($metricNew, $metricOld) === array_diff($metricOld, $metricNew)) { + return true; // they are still the same metrics + } + + if (array_diff($metricNew, $metricOld) === array()) { + return true; // the new metric contains still all of the old metrics so we do not need to invalidate reports with a new revision + } + + return false; + } + + public function updateCustomReport($idSite, $idCustomReport, $name, $description, $reportType, $dimensions, $metrics, $segmentFilter, $categoryId, $subcategoryId, $updatedDate, $subCategoryReportIds, $multipleIdSites) + { + $this->forceValuesAllowedByReportType($reportType, $dimensions, $metrics); + + $this->validateReportValues($idSite, $name, $description, $reportType, $dimensions, $metrics, $segmentFilter, $categoryId, $subcategoryId, $subCategoryReportIds, $multipleIdSites); + + $report = $this->getCustomReportById($idCustomReport, $idSite); + + $revision = $report['revision']; + + if ( + $report['dimensions'] !== $dimensions + || $reportType !== $report['report_type'] + || $segmentFilter !== $report['segment_filter'] + || !$this->areMetricsEqual($metrics, $report['metrics']) + ) { + // we do not need to create a new revision if metrics only has a different order as we would still have all the data + $revision++; + } + + $columns = array( + 'idsite' => $idSite, + 'name' => $name, + 'description' => $description, + 'report_type' => $reportType, + 'dimensions' => $dimensions, + 'metrics' => $metrics, + 'segment_filter' => $segmentFilter, + 'subcategory' => $subcategoryId, + 'category' => $categoryId, + 'updated_date' => $updatedDate, + 'revision' => $revision, + 'multiple_idsites' => '', + ); + if (!empty($multipleIdSites)) { + $columns['idsite'] = -1; + $columns['multiple_idsites'] = $this->dao->serializeMultipleIdSites($multipleIdSites); + } + // idsite might change when configuring a report so we cannot use $idSite but need to use the currently stored + // idsite in order to update the report! + + $this->updateReportColumns($report['idsite'], $idCustomReport, $columns); + + if (!empty($subCategoryReportIds)) { + $this->updateSubCategoryReportsOrder($subCategoryReportIds, $idSite); + } + } + + /** + * @param $idSite + * @param $idCustomReport + * @return array|false + * @throws \Exception + */ + public function getCustomReport($idSite, $idCustomReport) + { + $report = $this->dao->getCustomReport($idSite, $idCustomReport); + return $this->enrichReport($report, false, true); + } + + /** + * @param $idCustomReport + * @param $idSite + * @return array|false + * @throws \Exception + */ + public function getCustomReportById($idCustomReport, $idSite) + { + $report = $this->dao->getCustomReportById($idCustomReport, $idSite); + return $this->enrichReport($report, false, true); + } + + /** + * @return array + */ + public function getAllCustomReportsForSite($idSite, $skipCategoryMetadata = false, $skipEnrich = false) + { + $reports = $this->dao->getCustomReports($idSite); + if ($skipEnrich) { + return $reports; + } + + return $this->enrichReports($reports, $skipCategoryMetadata); + } + + private function enrichReports($reports, $skipCategoryMetadata = false) + { + if (empty($reports)) { + return array(); + } + + foreach ($reports as $index => $report) { + $reports[$index] = $this->enrichReport($report, $skipCategoryMetadata); + } + + return $reports; + } + + private function enrichReport($report, $skipCategoryMetadata = false, $addChildReports = false) + { + if (empty($report)) { + return $report; + } + + if (empty($report['idsite'])) { + $report['site'] = array('id' => $report['idsite'], 'name' => Piwik::translate('General_MultiSitesSummary')); + } else { + $report['site'] = array('id' => $report['idsite'], 'name' => Site::getNameFor($report['idsite'])); + } + + if (!$skipCategoryMetadata) { + $category = $report['category']; + $report['category'] = $this->buildCategoryMetadata($category); + $report['subcategory'] = $this->buildSubcategoryMetadata($category, $report['subcategory']); + } + + if ($addChildReports) { + $report['child_reports'] = $this->dao->getChildReports($report['idsite'], $report['idcustomreport']); + + // Since child reports are added for single reports so add multiple_sites info for single reports only + $report['multipleIdSites'] = $report['multiple_idsites'] ? $this->getMultipleIdSitesInfo(explode(',', $report['multiple_idsites'])) : []; + } + + return $report; + } + + private function getCategoryList() + { + if (!$this->categoryList) { + $this->categoryList = CategoryList::get(); + } + return $this->categoryList; + } + + /** + * Consist API return with API.getWidgetMetadata and API.getReportingPages... + * @param string $categoryId + * @return array + */ + private function buildCategoryMetadata($categoryId) + { + if (empty($categoryId)) { + return array( + 'id' => CustomReportsDao::DEFAULT_CATEGORY, + 'name' => Piwik::translate(CustomReportsDao::DEFAULT_CATEGORY), + 'order' => 999, + 'icon' => '', + ); + } + + $category = $this->getCategoryList()->getCategory($categoryId); + + if (!empty($category)) { + $name = method_exists($category, 'getDisplayName') ? $category->getDisplayName() : Piwik::translate($category->getId()); + + return array( + 'id' => (string) $category->getId(), + 'name' => $name, + 'order' => $category->getOrder(), + 'icon' => $category->getIcon(), + ); + } + + return array( + 'id' => (string) $categoryId, + 'name' => Piwik::translate($categoryId), + 'order' => 999, + 'icon' => '', + ); + } + + /** + * Consist API return with API.getWidgetMetadata and API.getReportingPages... + * @param Subcategory|null $subcategory + * @return array + */ + private function buildSubcategoryMetadata($categoryId, $subcategoryId) + { + if (empty($subcategoryId)) { + return null; + } + + if (!empty($categoryId)) { + $category = $this->getCategoryList()->getCategory($categoryId); + } else { + $category = null; + } + + if (!empty($category)) { + $subcategory = $category->getSubcategory($subcategoryId); + + if (!empty($subcategory)) { + return array( + 'id' => (string) $subcategory->getId(), + 'name' => Piwik::translate($subcategory->getName()), + 'order' => $subcategory->getOrder(), + ); + } + } + + return array( + 'id' => (string) $subcategoryId, + 'name' => Piwik::translate((string) $subcategoryId), + 'order' => 999, + ); + } + + public function checkReportExists($idSite, $idCustomReport) + { + $report = $this->dao->getCustomReport($idSite, $idCustomReport); + + if (empty($report)) { + throw new Exception(Piwik::translate('CustomReports_ErrorReportDoesNotExist')); + } + } + + public function deactivateReport($idSite, $idCustomReport, $customReportName = '') + { + $columns = array('status' => self::STATUS_DELETED); + if (!empty($customReportName)) { + //Since the unique index is created using combination of idsite+name, just soft deleting will not allow to create a new form with deleted form name, so we just update the name too when marking the status as deleted + $columns['name'] = 'deleted-' . $idCustomReport . '-' . $customReportName; + } + $this->updateReportColumns($idSite, $idCustomReport, $columns); + } + + public function pauseReport($idSite, $idCustomReport, $customReportName = '') + { + $columns = array('status' => self::STATUS_PAUSED); + $this->updateReportColumns($idSite, $idCustomReport, $columns); + } + + public function resumeReport($idSite, $idCustomReport, $customReportName = '') + { + $columns = array('status' => self::STATUS_ACTIVE); + $this->updateReportColumns($idSite, $idCustomReport, $columns); + } + + protected function getCurrentDateTime() + { + return Date::now()->getDatetime(); + } + + private function validateReportValues($idSite, $name, $description, $reportType, $dimensions, $metrics, $segmentFilter, $categoryId, $subcategoryId, $subCategoryReportIds = [], $multipleIdSites = []) + { + $nameObj = new Name($name); + $nameObj->check(); + + $descriptionObj = new Description($description); + $descriptionObj->check(); + + $typeObj = new ReportType($reportType); + $typeObj->check(); + + $categoryObj = new Category($categoryId); + $categoryObj->check(); + + $subcategoryObj = new Subcategory($subcategoryId); + $subcategoryObj->check(); + + if (!empty($multipleIdSites)) { + foreach ($multipleIdSites as $multipleIdSite) { + $dimensionsObj = new Dimensions($dimensions, $multipleIdSite); + $dimensionsObj->check(); + + $metricsObj = new Metrics($metrics, $multipleIdSite); + $metricsObj->check(); + } + } else { + $dimensionsObj = new Dimensions($dimensions, $idSite); + $dimensionsObj->check(); + + $metricsObj = new Metrics($metrics, $idSite); + $metricsObj->check(); + } + + if (!empty($multipleIdSites)) { + $idSite = $multipleIdSites; + } elseif ($idSite === '0' || $idSite === 0 || $idSite === 'all') { + // just fetching some sites as we have to pass them to the segment selector + $idSite = Request::processRequest('SitesManager.getSitesIdWithAtLeastViewAccess'); + } elseif (!empty($idSite)) { + $idSite = array($idSite); + } + + $segment = new SegmentFilter($segmentFilter, $idSite); + $segment->check(); + + $type = \Piwik\Plugins\CustomReports\ReportType\ReportType::factory($reportType); + + if ($type->needsDimensions() && empty($dimensions)) { + throw new Exception(Piwik::translate('CustomReports_ErrorMissingDimension')); + } + + $maxDimensions = StaticContainer::get(Configuration::class)->getMaxDimensions(); + if (!empty($dimensions) && is_array($dimensions) && count($dimensions) > $maxDimensions) { + throw new Exception(Piwik::translate('CustomReports_ErrorTooManyDimension', $maxDimensions)); + } + + $maxMetrics = $type->getMaxMetrics(); + if ($maxMetrics !== null && !empty($metrics) && is_array($metrics) && count($metrics) > $maxMetrics) { + throw new Exception(Piwik::translate('CustomReports_ErrorTooManyMetrics', $maxMetrics)); + } + + if (!empty($subCategoryReportIds) && count($subCategoryReportIds) != count($this->dao->getReportIds($subCategoryReportIds))) { + throw new Exception(Piwik::translate('CustomReports_ErrorInvalidSubCategoryReport')); + } + + $this->validateQuery($idSite, $dimensions, $metrics, $segmentFilter, $reportType); + } + + public function deactivateReportsForSite($idSite) + { + foreach ($this->dao->getCustomReports($idSite) as $report) { + // getCustomReports also returns sites for "all websites"... we need to make sure to not delete those. + if (!empty($report['idsite']) && $report['idsite'] == $idSite) { + $this->deactivateReport($idSite, $report['idcustomreport'], $report['name']); + } + } + } + + private function updateReportColumns($idSite, $idCustomReport, $columns) + { + if (!isset($columns['updated_date'])) { + $columns['updated_date'] = $this->getCurrentDateTime(); + } + $this->dao->updateColumns($idSite, $idCustomReport, $columns); + } + + private function updateSubCategoryReportsOrder($subCategoryReportIds, $idSite) + { + if (!empty($subCategoryReportIds)) { + foreach ($subCategoryReportIds as $subCategoryReportIdIndex => $subCategoryReportId) { + $this->dao->updateReportOrder($subCategoryReportId, $subCategoryReportIdIndex, $idSite); + } + } + } + + private function getMultipleIdSitesInfo($idSites) + { + $sitesInfo = []; + + if (!empty($idSites)) { + foreach ($idSites as $idSite) { + if (empty($idSite)) { + $sitesInfo[] = array('idsite' => $idSite, 'name' => Piwik::translate('General_MultiSitesSummary')); + } else { + // If we don't do this, it will fail for admin users who can just view the edit-report, but has no access to all the sites + \Piwik\Access::doAsSuperUser(function () use ($idSite, &$sitesInfo) { + $sitesInfo[] = array('idsite' => $idSite, 'name' => Site::getNameFor($idSite)); + }); + } + } + } + + return $sitesInfo; + } + + private function validateQuery($idSites, $dimensions, $metrics, $segmentFilter, $reportType) + { + $idSite = $idSites[0]; + $report = [ + 'idsite' => $idSite, + 'dimensions' => $dimensions, + 'metrics' => $metrics, + 'segment_filter' => $segmentFilter, + 'report_type' => $reportType, + ]; + $recordBuilder = StaticContainer::getContainer()->make(\Piwik\Plugins\CustomReports\RecordBuilders\CustomReport::class, ['report' => $report]); + try { + $recordBuilder->aggregateReport($this->makeArchiveProcessor($idSite), $idSite, [], $isDryRun = true); + } catch (\Exception $exception) { + $message = $exception->getMessage(); + if (stripos($message, 'be joined for segmentation') !== false) { + $faqLink = Url::addCampaignParametersToMatomoLink('https://matomo.org/faq/custom-reports/how-to-resolve-errors-when-using-different-dimension-combinations-in-matomo/', null, null, 'App.CustomReports.validateQuery'); + $message = Piwik::translate('CustomReports_NoSegmentationJoinExceptionMessage', ['', '']); + } + throw new \Exception($message); + } + } + + private function makeArchiveProcessor($idSite, $date = 'today', $period = 'day', $archiveOnlyReport = []): ArchiveProcessor + { + $period = Period\Factory::build($period, $date); + $segment = new Segment('', array($idSite)); + + $params = new ArchiveProcessor\Parameters(new Site($idSite), $period, $segment); + if (!empty($archiveOnlyReport)) { + $params->setArchiveOnlyReport($archiveOnlyReport); + } + $writer = new ArchiveWriter($params); + $logAggregator = new LogAggregator($params); + $processor = new ArchiveProcessor($params, $writer, $logAggregator); + + return $processor; + } + + /** + * @return Metric[] + */ + public function getArchivableMetricsInReport(array $report): array + { + $metrics = array(); + + if (!empty($report['metrics'])) { + foreach ($report['metrics'] as $metric) { + $metrics = $this->getMetrics($metrics, $metric); + } + } + + return $metrics; + } + + /** + * @return Metric[] + */ + private function getMetrics(array $metricInstances, string $metricName): array + { + $metricsList = MetricsList::get(); + $metricInstance = $metricsList->getMetric($metricName); + + if ($metricInstance instanceof ArchivedMetric) { + if (!in_array($metricInstance, $metricInstances, $strict = true)) { + $metricInstances[] = $metricInstance; + } + } elseif ($metricInstance instanceof ProcessedMetric) { + $depMetrics = $metricInstance->getDependentMetrics(); + foreach ($depMetrics as $depMetric) { + $metricInstances = $this->getMetrics($metricInstances, $depMetric); + } + } + + return $metricInstances; + } +} diff --git a/files/plugin-CustomReports-5.5.0/README.md b/files/plugin-CustomReports-5.5.0/README.md new file mode 100644 index 0000000..6f7e089 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/README.md @@ -0,0 +1,93 @@ +# Matomo CustomReports Plugin + +## Description + +Every organisation measures success differently. [Custom Reports](https://matomo.org/guide/reporting-tools/custom-reports/) provide the flexibility to analyse user behaviour, content performance, and Ecommerce activity on your terms. + +Create reports, apply filters, and structure the output around your actual reporting needs rather than working backwards from predefined dashboards. + +**Need more granularity?** Increase the [number of dimensions](https://matomo.org/faq/on-premise/how-do-i-change-the-number-of-dimensions-shown-in-a-custom-report/) per report, adjust row limits, and tune performance for large datasets. + +### How Custom Reports work + +
    +
    +

    Build reports that reflect your own goals. Choose from hundreds of metrics and dimensions - covering everything from page behaviour and form completions to checkout steps and content consumption.

    +

    Compare behaviours across different visitor segments and identify patterns that may otherwise remain hidden in broader reports.

    +
    +
    +Build reports that reflect your own goals +
    +
    + +#### Put recurring reports on autopilot + +
    +
    +

    Automate report delivery and spend less time compiling updates. Schedule custom reports for automatic delivery via email or SMS, or extend delivery options to Microsoft Teams or Slack with integration plugins. The right people see the numbers they need, on a cadence that suits them.

    +
    +
    +Put recurring reports on autopilot +
    +
    + +#### Export and share data your way + +Export directly from the [Matomo interface](https://matomo.org/faq/how-to/faq_26727/), pull data via the [HTTP API](https://developer.matomo.org/api-reference/api), or query the underlying MySQL tables for advanced workflows. Use your custom report data in Looker Studio, [BI platforms](https://matomo.org/guide/apis/export-data-to-other-tools/), data warehouses or wherever your organisation's reporting already lives. + +Add reports as [dashboard widgets](https://matomo.org/faq/dashboards/create-dashboards-and-customise-widgets-and-layout/) to share focused views with specific teams, clients, or stakeholders with controlled access. + +#### Understand what happens before a conversion + +
    +
    +

    Pair Event Tracking with Custom Reports to see which interactions (clicks, downloads, video plays, form completions) precede conversions. Identify where users drop off and treat those exit points as optimisation opportunities rather than lost causes.

    +
    +
    +Understand what happens before a conversion +
    +
    + +#### Built into the Matomo experience + +
    +
    +

    Custom Reports extends what's already in Matomo, giving you more ways to explore and interpret your data.

    +

    Apply Segments to analyse specific audiences, use Row Evolution to track changes over time, Visitor Logs to investigate individual journeys, and pivot reports to compare data across multiple dimensions. Build custom dashboards to bring related reports together in one view.

    +
    +
    +Built into the Matomo experience +Built into the Matomo experience +
    +
    + +### Try Custom Reports Today + +No cap on reports. Create as many custom reports as you need for marketing, product, sales, finance, or executive audiences. There is no limit on the number of reports you can create and share. + +Start your 30-day free trial today. Full access to Custom Reports. No credit card required. + +### Custom Reports features +* Create compelling custom reports tailored to your needs without any developer knowledge in just seconds. +* Choose from over 200 dimensions and metrics. +* Supports several visualisations including evolution over time graphs, data tables, bar graph, pie chart, cloud chart, and others. +* Define a report filter which is applied on the raw data to show the data only for a subset of your visitors and users. +* Put your custom report on any existing reporting page or on its own reporting page. +* Superusers can make reports available for all websites. + +### Integrates with Matomo Analytics +* Enjoy features that are not supported by most standard Matomo reports such as pivoting. +* Drill down deeper and filter custom reports [with Segments](https://matomo.org/docs/segmentation/). +* View the evolution over time of any dimension value with [Row Evolution](https://matomo.org/docs/row-evolution/). +* View the segmented [Visitor Log](https://matomo.org/docs/real-time/#visitor-log) with just one click. +* Supports other typical Matomo features like flatten, search, and more. +* View your custom reports on the go with the [Matomo Mobile App](https://matomo.org/mobile/). +* Create unlimited number of reports. [No data limits](https://matomo.org/docs/data-limits/). +* Supports other premium features like [Media Analytics](https://plugins.matomo.org/MediaAnalytics), [Form Analytics](https://plugins.matomo.org/FormAnalytics) and [Activity Log](https://plugins.matomo.org/ActivityLog). + +### Export and API features +* Get automatic [email and sms reports](https://matomo.org/docs/email-reports/) for your custom reports, or send them to your colleagues or customers. +* [Embed](https://matomo.org/docs/embed-piwik-report/) the custom report widgets directly in your app, dashboard, or even TV screen! +* HTTP API to manage your custom reports. +* HTTP API to fetch and export all [Custom Reports](https://developer.matomo.org/api-reference/reporting-api#CustomReports). +* Get access to all the raw data via MySQL for 100% data ownership. diff --git a/files/plugin-CustomReports-5.5.0/RecordBuilders/CustomReport.php b/files/plugin-CustomReports-5.5.0/RecordBuilders/CustomReport.php new file mode 100644 index 0000000..90dd360 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/RecordBuilders/CustomReport.php @@ -0,0 +1,573 @@ +report = $report; + $this->dimension = $dimension; + $this->metricsList = MetricsList::get(); + $this->configuration = $configuration; + + $noOfDimensions = (!empty($this->report['dimensions']) ? count($this->report['dimensions']) : 0); + $this->maxRowsInTable = $this->configuration->getArchiveMaxRowsInMainTable($noOfDimensions); + $this->maxRowsInSubtable = $this->configuration->getArchiveMaxRowsInSubTable($noOfDimensions); + + $metrics = $this->getArchivableMetricsInReport(); + + $orderBy = null; + if (!empty($metrics)) { + $metricOrderBy = reset($metrics); + if (is_object($metricOrderBy)) { + $orderBy = $metricOrderBy->getName(); + } + } + + $this->columnToSortByBeforeTruncation = $orderBy; + + $this->columnAggregationOps = $this->getMetricAggregations(); + } + + public function getRecordMetadata(ArchiveProcessor $archiveProcessor): array + { + $report = $this->report; + + $periodLabel = $archiveProcessor->getParams()->getPeriod()->getLabel(); + $isMultiPeriod = $periodLabel != 'day'; + + $metricToSort = $this->columnToSortByBeforeTruncation; + if ($isMultiPeriod) { + $metricToSort = $this->getMetricToSortMultiPeriod(); + } + + $records = []; + + $record = Record::make(Record::TYPE_BLOB, Archiver::makeRecordName($report['idcustomreport'], $report['revision'])); + if ($metricToSort) { + $record->setColumnToSortByBeforeTruncation($metricToSort); + } + $records[] = $record; + + if (ReportType::factory($report['report_type'])->usesNumericRecords()) { + $metrics = $this->getArchivableMetricsInReport(); + foreach ($metrics as $metric) { + if ($isMultiPeriod && $this->shouldAggregateRawDataForMultiPeriodMetric($metric, $periodLabel)) { + continue; // these are aggregated in buildMultiplePeriod() manually + } + + $recordName = Archiver::makeEvolutionRecordName($report['idcustomreport'], $report['revision'], $metric->getName()); + $records[] = Record::make(Record::TYPE_NUMERIC, $recordName); + } + } + + return $records; + } + + // public for use in CustomReports\Controller.php + public function aggregate(ArchiveProcessor $archiveProcessor): array + { + $idSite = $archiveProcessor->getParams()->getSite()->getId(); + if (empty($idSite)) { + return []; + } + + $this->doneLevel = 0; + + $records = $this->aggregateReport($archiveProcessor, $idSite); + return $records; + } + + public function buildForNonDayPeriod(ArchiveProcessor $archiveProcessor): void + { + parent::buildForNonDayPeriod($archiveProcessor); + + if (!ReportType::factory($this->report['report_type'])->usesNumericRecords()) { + return; + } + + // handle metrics that must be aggregated from raw data for multiple periods (ie unique metrics) + $idSite = $archiveProcessor->getParams()->getSite()->getId(); + if (empty($idSite)) { + return; + } + + $periodLabel = $archiveProcessor->getParams()->getPeriod()->getLabel(); + $metrics = $this->getArchivableMetricsInReport(); + + $rawDataMetricNames = []; + foreach ($metrics as $metric) { + if ($this->shouldAggregateRawDataForMultiPeriodMetric($metric, $periodLabel)) { + $rawDataMetricNames[] = $metric->getName(); + } + } + + if (!empty($rawDataMetricNames)) { + $aggregatedRecords = $this->aggregateReport($archiveProcessor, $idSite, $rawDataMetricNames); + foreach ($aggregatedRecords as $name => $value) { + if ($value instanceof DataTable) { + Common::destroy($value); // not needed + $aggregatedRecords[$name] = null; + } + } + + $aggregatedRecords = array_filter($aggregatedRecords); + $archiveProcessor->insertNumericRecords($aggregatedRecords); + } + } + + public function aggregateReport(ArchiveProcessor $archiveProcessor, int $idSite, $onlyMetrics = array(), bool $isDryRun = false): array + { + $report = $this->report; + + /** @var DataTable[] $records */ + $records = []; + + /** @var Dimension[] $allDimensions */ + $allDimensions = array(); + + if (!empty($report['dimensions'])) { + foreach ($report['dimensions'] as $dimension) { + $columnInstance = $this->dimension->factory($dimension); + if (!empty($columnInstance)) { + $allDimensions[] = $columnInstance; + } else { + $columnInstance = $this->findNotFoundCustomDimensionManually($dimension, $idSite); + + if (!empty($columnInstance)) { + $allDimensions[] = $columnInstance; + } + } + } + } + + $metrics = $this->getArchivableMetricsInReport(); + + if (empty($metrics)) { + return $records; + } + + if ($report['report_type'] === Table::ID && empty($allDimensions)) { + // none of the orignally assigned dimensions exist anymore. no need to do anything + return $records; + } + + if (!empty($onlyMetrics)) { + foreach ($metrics as $index => $metric) { + if (!in_array($metric->getName(), $onlyMetrics)) { + unset($metrics[$index]); + } + } + $metrics = array_values($metrics); + } + + if (empty($metrics)) { + return $records; + } + + $record = new DataTable(); + + $executionPlan = new ExecutionPlan($allDimensions, $metrics); + $dimensionsPlan = $executionPlan->getDimensionsPlan(); + + foreach ($dimensionsPlan as $dimensionsGroup) { + $metricsPlan = $executionPlan->getMetricsPlanForGroup(); + + // for each group of dimensions, we need to resolve all the metrics in several queries + foreach ($metricsPlan as $metricsToFetch) { + $queryBuilder = new QueryBuilder($archiveProcessor->getLogAggregator(), $this->configuration, $archiveProcessor->getParams()); + + foreach ($dimensionsGroup['left'] as $index => $dimension) { + try { + /** @var Dimension $dimension */ + $queryBuilder->addDimension($dimension, false); + } catch (NotJoinableException $e) { + Log::info(sprintf('Ignored dimension %s in report %d as it is not joinable', $dimension->getId(), $report['idcustomreport'])); + } + } + + foreach ($dimensionsGroup['right'] as $index => $dimension) { + try { + /** @var Dimension $dimension */ + $queryBuilder->addDimension($dimension, true); + } catch (NotJoinableException $e) { + Log::info(sprintf('Ignored dimension %s in report %d as it is not joinable', $dimension->getId(), $report['idcustomreport'])); + } + } + + foreach ($metricsToFetch as $metric) { + try { + /** @var ArchivedMetric $metric */ + $queryBuilder->addMetric($metric); + } catch (NotJoinableException $e) { + Log::info(sprintf('Ignored metric %s in report %d as it is not joinable', $metric->getName(), $report['idcustomreport'])); + } + } + + if (!$queryBuilder->isValid()) { + continue; + } + + if (!empty($report['segment_filter'])) { + try { + $queryBuilder->addSegmentFilter($report['segment_filter'], $idSite); + } catch (\Exception $e) { + if (strpos($e->getMessage(), 'is not a supported segment') !== false) { + // eg a plugin was uninstalled etc + continue; + } + throw $e; + } + } + + $query = $queryBuilder->buildQuery(); + if ($isDryRun) { + continue; + } + + $db = $archiveProcessor->getLogAggregator()->getDb(); + + try { + $cursor = $db->query($query['sql'], $query['bind']); + } catch (\Exception $e) { + // we also need to check for the 'maximum statement execution time exceeded' text as the query might be + // aborted at different stages and we can't really know all the possible codes at which it may be aborted etc + if ($this->configuration->getMaxExecutionTime()) { + // handling this in the IF in here as it requires newer version of Matomo as those constants weren't defined before + // Matomo 3.12 or so + $isMaxExecutionTimeError = strpos($e->getMessage(), 'maximum statement execution time exceeded') !== false + || $db->isErrNo($e, DbMigration::ERROR_CODE_MAX_EXECUTION_TIME_EXCEEDED_QUERY_INTERRUPTED) + || $db->isErrNo($e, DbMigration::ERROR_CODE_MAX_EXECUTION_TIME_EXCEEDED_SORT_ABORTED); + if ($isMaxExecutionTimeError) { + $params = array( + 'sql' => $query['sql'], + 'bind' => $query['bind'], + 'segment' => $archiveProcessor->getParams()->getSegment()->getString(), + 'dateStart' => $archiveProcessor->getParams()->getDateStart()->getDatetime(), + 'dateEnd' => $archiveProcessor->getParams()->getDateEnd()->getDatetime(), + 'report' => $report, + ); + + /** + * @ignore + * @internal + */ + Piwik::postEvent('Live.queryMaxExecutionTimeExceeded', array($params)); + + throw new \Exception('Max execution time exceeded: The custom report ' . $report['idcustomreport'] . ' took too long to execute.', 1, $e); + } + } + // var_export($queryBuilder->getReportQuery()->getFrom()); + // var_export($queryBuilder->getReportQuery()->getSelect()); + // var_export($queryBuilder->getReportQuery()->getWhere()); + // echo $query['sql']; + throw $e; + } + + // we need to bring them in correct order again in case they were reversed + $this->makeRegularReport($record, $records, $dimensionsGroup['left'], $cursor, $idSite); + } + + $this->doneLevel = count($dimensionsGroup['left']); + } + + if ($isDryRun) { + return $records; + } + + $recordName = Archiver::makeRecordName($report['idcustomreport'], $report['revision']); + $records[$recordName] = $record; + return $records; + } + + private function findNotFoundCustomDimensionManually(string $dimensionId, int $idSite): ?CustomDimension + { + $manager = Plugin\Manager::getInstance(); + + if ( + strpos($dimensionId, 'CustomDimension.') === 0 + && $manager->isPluginActivated('CustomDimensions') + ) { + try { + $configuration = StaticContainer::get('Piwik\Plugins\CustomDimensions\Dao\Configuration'); + } catch (\Exception $e) { + // plugin does not have the class + return null; + } + + if (!$configuration || !method_exists($configuration, 'getCustomDimensionsForSite')) { + return null; + } + + $dimensions = $configuration->getCustomDimensionsForSite($idSite); + foreach ($dimensions as $dimension) { + if (!$dimension['active']) { + continue; + } + + $custom = new CustomDimension(); + $custom->initCustomDimension($dimension); + + if ($custom->getId() === $dimensionId) { + return $custom; + } + } + } + + return null; + } + + /** + * @deprecated Moved to the model + * @return ArchivedMetric[] + */ + public function getArchivableMetricsInReport(): array + { + $customReportsModel = StaticContainer::get('Piwik\Plugins\CustomReports\Model\CustomReportsModel'); + return $customReportsModel->getArchivableMetricsInReport($this->report); + } + + private function usesSqlFunction(string $function, string $select): bool + { + return preg_match('/(' . $function . ')\s*\(/', $select); + } + + + /** + * @param Dimension[] $dimensionsInThisRun + * @param \Zend_Db_Statement $cursor + * @param int $idSite + */ + private function makeRegularReport(DataTable $mainRecord, array &$records, array $dimensionsInThisRun, $cursor, int $idSite): void + { + $report = $this->report; + + if (ReportType::factory($report['report_type'])->usesNumericRecords()) { + $row = $cursor->fetch(); + + if (!empty($row)) { + foreach ($row as $metric => $value) { + $records[Archiver::makeEvolutionRecordName($report['idcustomreport'], $report['revision'], $metric)] = $value; + } + } + return; // TODO: is the main report archived in this case? double check + } + + $isDimBinaryMap = $dimColumnMap = []; + foreach ($dimensionsInThisRun as $index => $dimension) { + $isDimBinaryMap[$index] = $dimension->getType() === Dimension::TYPE_BINARY; + $dimColumnMap[$index] = $dimension->getId() ?: null; + } + + while ($row = $cursor->fetch()) { + $columns = []; + $dimensionLabelMap = []; + foreach ($dimensionsInThisRun as $index => $dimension) { + if ($isDimBinaryMap[$index]) { + $row[$dimension->getId()] = bin2hex($row[$dimension->getId()]); + } + + if (isset($row[$dimension->getId()])) { + $row[$dimension->getId()] = $dimension->groupValue($row[$dimension->getId()], $idSite); + } + + $dimensionLabel = Archiver::LABEL_NOT_DEFINED; + $dimensionColumn = $dimColumnMap[$index]; + if (isset($dimensionColumn) && isset($row[$dimensionColumn])) { + $dimensionLabel = $row[$dimensionColumn]; + unset($row[$dimensionColumn]); + + if ($this->isEmptyLabel($dimensionLabel)) { + $dimensionLabel = Archiver::LABEL_NOT_DEFINED; + } + } + $dimensionLabelMap[$index] = $dimensionLabel; + + foreach ($this->columnAggregationOps as $metricName => $ignore) { + $columns[$metricName] = (float)($row[$metricName] ?? 0); + } + + $this->sumRowsForIndex($mainRecord, $columns, $dimensionLabelMap, $index + 1); + } + } + + $cursor->closeCursor(); + } + + private function sumRowsForIndex(DataTable $mainRecord, array &$columns, array $dimensionLabelMap, int $level): void + { + // If this level has already been done, skip + if ($this->doneLevel >= $level) { + return; + } + + $columns['level'] = $level; + // If this is level 1, simply sum the row and return + if ($level === 1) { + $mainRecord->sumRowWithLabel($dimensionLabelMap[0], $columns, $this->columnAggregationOps); + + return; + } + + $rowList = []; + // Build the top level row + $rowList[] = $mainRecord->sumRowWithLabel($dimensionLabelMap[0], []); + // Build all the subtables above the current subtable + for ($i = 1; $i < $level - 1; $i++) { + $rowList[] = $rowList[$i - 1]->sumRowWithLabelToSubtable($dimensionLabelMap[$i], []); + } + + // Sum the current subtable + $rowList[$level - 2]->sumRowWithLabelToSubtable($dimensionLabelMap[$level - 1], $columns, $this->columnAggregationOps); + } + + /** + * public wrapper for finalizing an archive + */ + public function finalize(ArchiveProcessor $archiveProcessor): void + { + $archiveProcessor->getArchiveWriter()->flushSpools(); + } + + public function getMetricAggregations(): array + { + $metrics = $this->getArchivableMetricsInReport(); // TODO: cache result of this method, it's used a lot + + $allMetricNames = array(); + foreach ($metrics as $metric) { + $query = $metric->getQuery(); + $metricName = $metric->getName(); + + $columnsAggregationOperation = 'sum'; + if ($this->usesSqlFunction('sum', $query)) { + $columnsAggregationOperation = 'sum'; // we check for sum again in case there is like sum(min(0,1)) + } elseif ($this->usesSqlFunction('min', $query)) { + $columnsAggregationOperation = 'min'; + } elseif ($this->usesSqlFunction('max', $query)) { + $columnsAggregationOperation = 'max'; + } + // TODO add possibility for metric to add custom callback aggregation method and / or operation keyword + + $allMetricNames[$metricName] = $columnsAggregationOperation; + } + + $allMetricNames['level'] = function ($thisColumnValue, $columnToSumValue) { + // we do not want to sum the level or so. always keep either value + if (!empty($thisColumnValue)) { + return $thisColumnValue; + } + if (!empty($columnToSumValue)) { + return $columnToSumValue; + } + }; + + return $allMetricNames; + } + + private function getMetricToSortMultiPeriod(): ?string + { + $metrics = $this->getArchivableMetricsInReport(); + + $metricsAvailableForSort = []; + foreach ($metrics as $metric) { + $metricName = $metric->getName(); + if ($metricName !== 'nb_uniq_visitors' && $metricName !== 'nb_users' && $metricName !== 'nb_uniq_corehome_userid') { + // we don't want to sort by any unique metric as they are not available in aggregated reports + $metricsAvailableForSort[] = $metricName; + } + } + + $metricToSort = $this->columnToSortByBeforeTruncation; + foreach (array('nb_visits', 'sum_actions', 'hits', 'pageviews') as $preferredSortMetric) { + if (in_array($preferredSortMetric, $metricsAvailableForSort, true)) { + $metricToSort = $preferredSortMetric; + break; + } + } + + if (!$metricToSort && !empty($metricsAvailableForSort)) { + // we prefer to sort by nb_visits if it is present + $metricToSort = array_shift($metricsAvailableForSort); + } + + return $metricToSort; + } + + private function shouldAggregateRawDataForMultiPeriodMetric(ArchivedMetric $metric, string $periodLabel): bool + { + return in_array($metric->getName(), GetCustomReport::$RAW_DATA_UNIQUE_METRICS) + && GetCustomReport::supportsUniqueMetric($periodLabel, true) + && !$this->configuration->forceAggregateUniqueMetricsFromReportsInsteadOfRawDataInEvolutionReport($periodLabel); + } + + protected function isEmptyLabel(string $label): bool + { + return $label === ''; + } +} diff --git a/files/plugin-CustomReports-5.5.0/ReportType/Evolution.php b/files/plugin-CustomReports-5.5.0/ReportType/Evolution.php new file mode 100644 index 0000000..d208db3 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/ReportType/Evolution.php @@ -0,0 +1,105 @@ +getMetricsRequiredForReport(null, $requestedColumns); + + $customReport = StaticContainer::get('\Piwik\Plugins\CustomReports\Model\CustomReportsModel'); + $reportData = $customReport->getCustomReport($idSite, $idCustomReport); + + $recordNamePrefix = Archiver::makeEvolutionRecordNamePrefix($idCustomReport, $reportData['revision']); + + $recordNames = array_map(function ($metricName) use ($idCustomReport, $reportData) { + return Archiver::makeEvolutionRecordName($idCustomReport, $reportData['revision'], $metricName); + }, $columns); + + $dataTable = $archive->getDataTableFromNumeric($recordNames); + $dataTable->filter(function (DataTable $table) use ($recordNamePrefix) { + foreach ($table->getRows() as $row) { + $columns = $row->getColumns(); + foreach ($columns as $column => $value) { + if (strpos($column, $recordNamePrefix) === 0) { + $row->setColumn(substr($column, strlen($recordNamePrefix)), $value); + $row->deleteColumn($column); + } + } + } + }); + + if (!GetCustomReport::supportsUniqueMetric($period, $isEvolution = true)) { + $hasUniqueMetrics = array_intersect(GetCustomReport::$RAW_DATA_UNIQUE_METRICS, array_keys($report->getMetrics())); + if (!empty($hasUniqueMetrics)) { + $dataTable->queueFilter('ColumnDelete', array(GetCustomReport::$RAW_DATA_UNIQUE_METRICS)); + } + } + + if (!empty($requestedColumns)) { + $dataTable->queueFilter('ColumnDelete', array($columnsToRemove = array(), $requestedColumns)); + } + + return $dataTable; + } +} diff --git a/files/plugin-CustomReports-5.5.0/ReportType/KpiCard.php b/files/plugin-CustomReports-5.5.0/ReportType/KpiCard.php new file mode 100644 index 0000000..aa986f7 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/ReportType/KpiCard.php @@ -0,0 +1,45 @@ +getCustomReport($idSite, $idCustomReport); + + $recordName = Archiver::makeRecordName($idCustomReport, $reportData['revision']); + + $table = Archive::createDataTableFromArchive($recordName, $idSite, $period, $date, $segment, $expanded, $flat, $idSubtable); + $table->disableFilter('AddColumnsProcessedMetrics'); + + $recordBuilder = StaticContainer::getContainer()->make(CustomReport::class, ['report' => $reportData]); + $aggregations = $recordBuilder->getMetricAggregations(); + $table->filter(function (DataTable $t) use ($aggregations) { + $t->setMetadata(DataTable::COLUMN_AGGREGATION_OPS_METADATA_NAME, $aggregations); + }); + + $report = new GetCustomReport(); + $report->initCustomReport($reportData, $table); + $dimension = $report->getDimension(); + $dimensions = $reportData['dimensions']; + $nestedDimensions = []; + if (!empty($dimensions) && count($dimensions) > 1) { + foreach ($dimensions as $index => $dimensionName) { + if ($index === 0) { + continue; + } + $dimensionToAdd = $report->getDimensionInstance($dimensionName); + if ($dimensionToAdd && $dimension !== $dimensionToAdd) { + $nestedDimensions[] = $dimensionToAdd; + } + } + } + + if (!empty($dimension) && $dimension->getSegmentName() && !$flat && !$idSubtable) { + if ($dimension instanceof DownloadUrl) { + // skip see DEV-2635, for now disabling as the segment won't work properly + } elseif (!empty($reportData['segment_filter'])) { + // we do not add segmented label to table when requesting a subtable since we would need to combine the segment + // with the root table or all root tables above this table. We do not have this information though + $segmentFilter = $reportData['segment_filter']; + $segmentNameDimension = $dimension->getSegmentName(); + $table->filter(function (DataTable $table) use ($segmentFilter, $segmentNameDimension) { + foreach ($table->getRowsWithoutSummaryRow() as $row) { + $firstPart = $segmentNameDimension . '==' . urlencode($row->getColumn('label')); + $row->setMetadata('segment', $firstPart . ';' . $segmentFilter); + } + }); + } else { + $table->filter('AddSegmentByLabel', array($dimension->getSegmentName())); + } + } + + if (!empty($dimension)) { + // we cannot really queue since the sorting by label wouldn't work correctly when it would sort eg + // a translation key or an enum value like "EU" or "MAC" + $table->filter('Piwik\Plugins\CustomReports\DataTable\Filter\ReportTypeTableFilter', [$idSite, $dimension, $nestedDimensions, $flat]); + } + + if (!GetCustomReport::supportsUniqueMetric($period, $isEvolution = false)) { + $hasUniqueMetrics = array_intersect(GetCustomReport::$RAW_DATA_UNIQUE_METRICS, array_keys($report->getMetrics())); + if (!empty($hasUniqueMetrics)) { + $table->queueFilter('ColumnDelete', array(GetCustomReport::$RAW_DATA_UNIQUE_METRICS)); + } + } + + // we cannot delete level column otherwise GetCustomReport won't be able to detect currently active dimension anymore + // $table->filter('ColumnDelete', array('level')); + + return $table; + } +} diff --git a/files/plugin-CustomReports-5.5.0/Updates/5.0.18.php b/files/plugin-CustomReports-5.5.0/Updates/5.0.18.php new file mode 100644 index 0000000..a827ec9 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Updates/5.0.18.php @@ -0,0 +1,68 @@ +migration = $factory; + } + + /** + * Return database migrations to be executed in this update. + * + * Database migrations should be defined here, instead of in `doUpdate()`, since this method is used + * in the `core:update` command when displaying the queries an update will run. If you execute + * migrations directly in `doUpdate()`, they won't be displayed to the user. Migrations will be executed in the + * order as positioned in the returned array. + * + * @param Updater $updater + * @return Migration\Db[] + */ + public function getMigrations(Updater $updater) + { + $tableName = Common::prefixTable('custom_reports'); + $updateQuery = "UPDATE $tableName SET `metrics` = CONCAT(SUBSTR(`metrics`, 1, CHAR_LENGTH(`metrics`) - 1), ',\"sum_ecommerce_productquantity\"]')"; + $updateQuery .= " WHERE `status` = 'active' AND `metrics` LIKE '%product_revenue%' AND `metrics` NOT LIKE '%ecommerce_productquantity%';"; + $migration = $this->migration->db->sql($updateQuery); + + return [ + $migration + ]; + } + + /** + * Perform the incremental version update. + * + * This method should perform all updating logic. If you define queries in the `getMigrations()` method, + * you must call {@link Updater::executeMigrations()} here. + * + * @param Updater $updater + */ + public function doUpdate(Updater $updater) + { + $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Updates/5.1.0.php b/files/plugin-CustomReports-5.5.0/Updates/5.1.0.php new file mode 100644 index 0000000..b7cba2c --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Updates/5.1.0.php @@ -0,0 +1,62 @@ +migration = $factory; + } + + /** + * Return database migrations to be executed in this update. + * + * Database migrations should be defined here, instead of in `doUpdate()`, since this method is used + * in the `core:update` command when displaying the queries an update will run. If you execute + * migrations directly in `doUpdate()`, they won't be displayed to the user. Migrations will be executed in the + * order as positioned in the returned array. + * + * @param Updater $updater + * @return Migration\Db[] + */ + public function getMigrations(Updater $updater) + { + return [ + $this->migration->db->addColumn('custom_reports', 'subcategory_order', 'MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT 9999999', 'subcategory') + ]; + } + + /** + * Perform the incremental version update. + * + * This method should perform all updating logic. If you define queries in the `getMigrations()` method, + * you must call {@link Updater::executeMigrations()} here. + * + * @param Updater $updater + */ + public function doUpdate(Updater $updater) + { + $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Updates/5.2.0.php b/files/plugin-CustomReports-5.5.0/Updates/5.2.0.php new file mode 100644 index 0000000..ef0d2bd --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Updates/5.2.0.php @@ -0,0 +1,63 @@ +migration = $factory; + } + + /** + * Return database migrations to be executed in this update. + * + * Database migrations should be defined here, instead of in `doUpdate()`, since this method is used + * in the `core:update` command when displaying the queries an update will run. If you execute + * migrations directly in `doUpdate()`, they won't be displayed to the user. Migrations will be executed in the + * order as positioned in the returned array. + * + * @param Updater $updater + * @return Migration\Db[] + */ + public function getMigrations(Updater $updater) + { + return [ + $this->migration->db->changeColumn('custom_reports', 'idsite', 'idsite', 'INT NOT NULL'), + $this->migration->db->addColumn('custom_reports', 'multiple_idsites', 'VARCHAR(2000) NULL', 'status') + ]; + } + + /** + * Perform the incremental version update. + * + * This method should perform all updating logic. If you define queries in the `getMigrations()` method, + * you must call {@link Updater::executeMigrations()} here. + * + * @param Updater $updater + */ + public function doUpdate(Updater $updater) + { + $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Updates/5.4.0.php b/files/plugin-CustomReports-5.5.0/Updates/5.4.0.php new file mode 100644 index 0000000..898074e --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Updates/5.4.0.php @@ -0,0 +1,77 @@ +CustomReports; + $maxRows = (!empty($customReportsConfig['datatable_archiving_maximum_rows_custom_reports']) ? $customReportsConfig['datatable_archiving_maximum_rows_custom_reports'] : Configuration::DEFAULT_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS_DEFAULT); + $maxSubTableRows = ( + !empty($customReportsConfig['datatable_archiving_maximum_rows_subtable_custom_reports']) ? + $customReportsConfig['datatable_archiving_maximum_rows_subtable_custom_reports'] + : Configuration::DEFAULT_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS_DEFAULT + ); + for ($i = 1; $i <= 3; $i++) { + if (empty($customReportsConfig[Configuration::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS . $i])) { + $customReportsConfig[Configuration::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS . $i] = $maxRows; + } + + // To avoid customer confusion, don't create a subtable entry for first dimension as there are no subtables + if ($i > 1 && empty($customReportsConfig[Configuration::KEY_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS . $i])) { + $customReportsConfig[Configuration::KEY_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS . $i] = $maxSubTableRows; + } + } + + if (empty($customReportsConfig[Configuration::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS . 4])) { + $customReportsConfig[Configuration::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS . 4] = 125; + } + if (empty($customReportsConfig[Configuration::KEY_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS . 4])) { + $customReportsConfig[Configuration::KEY_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS . 4] = 100; + } + + for ($i = 5; $i <= 6; $i++) { + if (empty($customReportsConfig[Configuration::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS . $i])) { + $customReportsConfig[Configuration::KEY_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS . $i] = Configuration::DEFAULT_ARCHIVE_MAXIMUM_ROWS_CUSTOM_DIMENSIONS_DEFAULT; + } + + if (empty($customReportsConfig[Configuration::KEY_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS . $i])) { + $customReportsConfig[Configuration::KEY_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS . $i] = Configuration::DEFAULT_ARCHIVE_MAXIMUM_ROWS_SUB_TABLE_CUSTOM_DIMENSIONS_DEFAULT; + } + } + + if (isset($customReportsConfig['datatable_archiving_maximum_rows_custom_reports'])) { + unset($customReportsConfig['datatable_archiving_maximum_rows_custom_reports']); + } + if (isset($customReportsConfig['datatable_archiving_maximum_rows_subtable_custom_reports'])) { + unset($customReportsConfig['datatable_archiving_maximum_rows_subtable_custom_reports']); + } + + $config->CustomReports = $customReportsConfig; + $config->forceSave(); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Updates/5.4.2.php b/files/plugin-CustomReports-5.5.0/Updates/5.4.2.php new file mode 100644 index 0000000..35ad22e --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Updates/5.4.2.php @@ -0,0 +1,42 @@ +CustomReports; + + if (!isset($customReportsConfig[Configuration::KEY_MAX_DIMENSIONS])) { + $configuration = StaticContainer::get(Configuration::class); + $customReportsConfig[Configuration::KEY_MAX_DIMENSIONS] = $configuration->getMaxDimensions(); + $config->CustomReports = $customReportsConfig; + $config->forceSave(); + } + } +} diff --git a/files/plugin-CustomReports-5.5.0/Widgets/BaseWidget.php b/files/plugin-CustomReports-5.5.0/Widgets/BaseWidget.php new file mode 100644 index 0000000..e1fe146 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Widgets/BaseWidget.php @@ -0,0 +1,36 @@ +setOrder(99); + $config->setCategoryId(CustomReportsDao::DEFAULT_CATEGORY); + } + + protected static function getIdSite() + { + return Common::getRequestVar('idSite', false, 'int'); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Widgets/GetManageReports.php b/files/plugin-CustomReports-5.5.0/Widgets/GetManageReports.php new file mode 100644 index 0000000..ec998ba --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Widgets/GetManageReports.php @@ -0,0 +1,74 @@ +setCategoryId(CustomReportsDao::DEFAULT_CATEGORY); + $config->setSubcategoryId('CustomReports_ManageReports'); + $config->setName('CustomReports_ManageReports'); + $config->setParameters(array('showtitle' => 0)); + $config->setOrder(99); + $config->setIsNotWidgetizable(); + + $idSite = Common::getRequestVar('idSite', 0, 'int'); + if (self::getAccessValidator()->canWrite($idSite)) { + $config->enable(); + } else { + $config->disable(); + } + } + + private static function getAccessValidator() + { + return StaticContainer::get('Piwik\Plugins\CustomReports\Input\Validator'); + } + + public function render() + { + $idSite = Common::getRequestVar('idSite', null, 'int'); + self::getAccessValidator()->checkWritePermission($idSite); + + $browserArchivingDisabled = !Rules::isBrowserTriggerEnabled(); + $browserArchivingDisabled = json_encode($browserArchivingDisabled); + + $configuration = StaticContainer::get(Configuration::class); + $reArchiveLastN = $configuration->getReArchiveReportsInPastLastNMonths(); + $reArchiveLastN = json_encode($reArchiveLastN); + $maxDimensions = $configuration->getMaxDimensions(); + $maxDimensions = json_encode($maxDimensions); + $isCloud = \Piwik\Plugin\Manager::getInstance()->isPluginLoaded('Cloud'); + $isCloud = json_encode($isCloud); + + return "
    "; + } +} diff --git a/files/plugin-CustomReports-5.5.0/config/config.php b/files/plugin-CustomReports-5.5.0/config/config.php new file mode 100644 index 0000000..fc9f8c7 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/config/config.php @@ -0,0 +1,5 @@ + Piwik\DI::add(array('idCustomReport')), +); diff --git a/files/plugin-CustomReports-5.5.0/docs/index.md b/files/plugin-CustomReports-5.5.0/docs/index.md new file mode 100644 index 0000000..a962837 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/docs/index.md @@ -0,0 +1,3 @@ +## Documentation + +The [Custom Reports User Guide](https://matomo.org/docs/custom-reports/) and the [Custom Reports FAQ](https://matomo.org/faq/custom-reports/) cover how to get the most out of this plugin. \ No newline at end of file diff --git a/files/plugin-CustomReports-5.5.0/lang/am.json b/files/plugin-CustomReports-5.5.0/lang/am.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/am.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/ar.json b/files/plugin-CustomReports-5.5.0/lang/ar.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/ar.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/az.json b/files/plugin-CustomReports-5.5.0/lang/az.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/az.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/be.json b/files/plugin-CustomReports-5.5.0/lang/be.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/be.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/bg.json b/files/plugin-CustomReports-5.5.0/lang/bg.json new file mode 100644 index 0000000..27e625b --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/bg.json @@ -0,0 +1,7 @@ +{ + "CustomReports": { + "CustomReport": "ะŸะตั€ัะพะฝะฐะปะธะทะธั€ะฐะฝ ะพั‚ั‡ะตั‚", + "CustomReports": "ะŸะตั€ัะพะฝะฐะปะธะทะธั€ะฐะฝะธ ะพั‚ั‡ะตั‚ะธ", + "ManageReports": "ะฃะฟั€ะฐะฒะปะตะฝะธะต ะฝะฐ ะพั‚ั‡ะตั‚ะธ" + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/bn.json b/files/plugin-CustomReports-5.5.0/lang/bn.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/bn.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/bs.json b/files/plugin-CustomReports-5.5.0/lang/bs.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/bs.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/ca.json b/files/plugin-CustomReports-5.5.0/lang/ca.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/ca.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/cs.json b/files/plugin-CustomReports-5.5.0/lang/cs.json new file mode 100644 index 0000000..5538cd4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/cs.json @@ -0,0 +1,12 @@ +{ + "CustomReports": { + "ErrorNotAnArray": "\"%1$s\" musรญ bรฝt pole.", + "ErrorXNotProvided": "Zadejte prosรญm hodnotu pro \"%1$s\".", + "ErrorXNotWhitelisted": "Hodnota pro \"%1$s\" nenรญ povolena, pouลพijte jednu z: %2$s.", + "ErrorXTooLong": "\"%1$s\" je pล™รญliลก dlouhรฉ, max %2$s znakลฏ je povoleno.", + "Filter": "Filtr", + "Unlock": "Odemknout", + "UpdatingData": "Aktualizuji dataโ€ฆ", + "ViewReportInfo": "Zobrazit report" + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/cy.json b/files/plugin-CustomReports-5.5.0/lang/cy.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/cy.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/da.json b/files/plugin-CustomReports-5.5.0/lang/da.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/da.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/de.json b/files/plugin-CustomReports-5.5.0/lang/de.json new file mode 100644 index 0000000..7d7dcfb --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/de.json @@ -0,0 +1,79 @@ +{ + "CustomReports": { + "AddDimension": "Dimension hinzufรผgen", + "AddMetric": "Metrik hinzufรผgen", + "ApplyTo": "Anwenden auf", + "AvailableAllWebsites": "Verfรผgbar in allen Websites", + "Category": "Hauptkategorie", + "CommonUniqueMetric": "Summe von %1$s", + "CommonUniqueMetricDescription": "%1$s. Wenn Sie einen Zeitraum betrachten, der kein Tag ist, wird diese Metrik zu \"Summe von %2$s\". Wenn in einem solchen Fall dieselbe %3$s an 2 oder mehr Tagen innerhalb des ausgewรคhlten Zeitraums erscheint, wird sie als 2 oder die Gesamtzahl der Tage gezรคhlt, an denen sie erschienen ist, und nicht als 1.", + "ConfirmUnlockReport": "Wollen Sie wirklich diesen Bericht entsperren? Wenn Sie diesen Bericht aktualisieren, werden Berichte aus der Vergangenheit fรผr diesen benutzerdefinierten Bericht nicht mehr erreichbar sein.", + "ConfirmUnlockReportBrowserArchivingDisabled": "Sind Sie sicher, dass Sie diesen Bericht entsperren mรถchten? Wenn Sie den Inhalt dieses Berichts aktualisieren, werden zuvor erstellte Berichte fรผr diesen benutzerdefinierten Bericht nicht mehr verfรผgbar sein und Berichte fรผr die letzten %1$s Monate werden neu erstellt.", + "CreateNewReport": "Neuen Bericht erstellen", + "CustomReport": "Benutzerdefinierter Bericht", + "CustomReportIntroduction": "Mit benutzerdefinierte Berichte (Custom Reports) kรถnnen Sie maรŸgeschneiderte Berichte erstellen, um neue Einblicke zu erhalten, die mit Standardberichten nicht mรถglich sind. Sie wรคhlen die Dimensionen (z.B. \"Gerรคtetyp\" und \"Browser\") und Metriken (z.B. \"Anzahl der Besucher\" und \"Absprungrate\") sowie wie Art und Weise wie diese angezeigt werden sollen, um die Daten zu erhalten, die Sie benรถtigen.", + "CustomReports": "Benutzerdefinierte Berichte", + "DeleteReportConfirm": "Wollen Sie wirklich diesen Bericht lรถschen? Bereits generierte Berichte fรผr diesen benutzerdefinierten Bericht werden danach nicht mehr erreichbar sein.", + "DeleteReportInfo": "Wenn Sie diesen Bericht lรถschen, werden die zuvor generierten Berichte fรผr diesen benutzerdefinierten Bericht nicht mehr erreichbar sein und es ist nicht mรถglich diesen Schritt rรผckgรคngig zu machen.", + "Dimension": "Dimension", + "Dimensions": "Dimensionen", + "EditReport": "Editiere Bericht", + "ErrorArrayMissingItem": "Fehlender Wert in \"%1$s\" array an der Position \"%2$s\".", + "ErrorDuplicateItem": "Es ist nicht erlaubt den gleichen %s mehrfach zu verwenden.", + "ErrorInvalidValueInArray": "Der Wert \"%1$s\" an der Position \"%2$s\" existiert nicht.", + "ErrorMissingDimension": "Mindestens eine Dimension muss ausgewรคhlt werden.", + "ErrorMissingMetric": "Mindestens eine Metrik muss ausgewรคhlt werden.", + "ErrorNotAnArray": "\"%1$s\" muss ein array sein.", + "ErrorReportDoesNotExist": "Der angefragte Benutzerdefinierte Bericht existiert fรผr diese Webseite nicht. Stellen Sie sicher, dass die Seite korrekt ist.", + "ErrorReportNameDuplicate": "Der Name des Berichts wird bereits in einem anderen Bericht verwendet.", + "ErrorTooManyDimension": "Zu viele Dimensionen ausgewรคhlt. Maximal %s Dimensionen kรถnnen ausgewรคhlt werden.", + "ErrorXNotProvided": "Bitte geben Sie einen Wert fรผr \"%1$s\" an.", + "ErrorXNotWhitelisted": "Der Wert fรผr \"%1$s\" ist nicht erlaubt, verwenden Sie einen von diesen: %2$s.", + "ErrorXTooLong": "\"%1$s\" ist zu lang, maximal %2$s Zeichen sind erlaubt.", + "FieldDescriptionPlaceholder": "z.B. 'Die Anzahl der Besucher pro Land'", + "FieldNamePlaceholder": "z.B. 'Besucher pro Land'", + "Filter": "Filter", + "InfoReportIsLocked": "Dieser Bericht ist derzeit gesperrt. Klicken Sie auf \"entsperren\" um diesen Bericht bearbeiten zu kรถnnen. Wenn Sie diesen Bericht aktualisieren, werden Berichte aus der Vergangenheit fรผr diesen benutzerdefinierten Bericht nicht mehr erreichbar sein.", + "InfoReportIsLockedBrowserArchivingDisabled": "Dieser Bericht ist derzeit gesperrt und Sie mรผssen bestรคtigen, dass Sie diesen Bericht \"entsperren\" mรถchten. Wenn Sie ร„nderungen am Inhalt dieses Berichts vornehmen und ihn anschlieรŸend aktualisieren, werden neue Berichtsdaten fรผr die letzten %1$s Monate neu generiert und zuvor erstellte Berichte fรผr diesen benutzerdefinierten Bericht sind nicht mehr verfรผgbar.", + "ManageReports": "Benutzerdefinierte Berichte verwalten", + "ManageReportsSubcategoryHelp": "Mit benutzerdefinierten Berichten kรถnnen Sie neue Berichte erstellen, um neue Erkenntnisse zu gewinnen, die mit Standardberichten nicht mรถglich sind. In diesem Abschnitt kรถnnen Sie benutzerdefinierte Berichte fรผr Ihre Website erstellen und verwalten.", + "NCustomReports": "%s benutzerdefinierte Berichte", + "NoCustomReportsFound": "Keine benutzerdefinierte Berichte gefunden", + "NoDataNotArchivedYet": "Da der Bericht erst kรผrzlich erstellt oder bearbeitet wurde, kann es einige Stunden dauern bis die Berichtsdaten verfรผgbar werden, falls Sie sich die heutigen Berichte ansehen. Die Berichts-Daten fรผr Daten vor der Erstellung des Berichts werden nicht verfรผgbar sein.", + "NoDataNotArchivedYetReprocess": "Ein Systemadministrator kann Matomo jedoch veranlassen die Berichte dennoch %1$serneut zu verarbeiten%2$s damit die Berichte verfรผgbar werden.", + "NoDataRemovedMetrics": "Es werden keine Daten angezeigt, da der Bericht nur Metriken enthรคlt, die fรผr den gewรคhlten Zeitraum nicht unterstรผtzt werden (%s).", + "Preview": "Vorschau", + "PreviewDate": "Die Vorschau basiert auf den Daten von %s.", + "PreviewReport": "Berichtvorschau", + "PreviewSupportsDimension": "Die Vorschau unterstรผtzt derzeit nur bis zu %s Dimensionen.", + "RemoveDimension": "Dimension entfernen", + "RemoveMetric": "Metrik entfernen", + "RemovedMetrics": "Diese Metriken wurden entfernt, da sie fรผr die gewรคhlte Zeitraum nicht korrekt berechnet werden kรถnnen: %s.", + "ReportAllWebsitesHelp": "Wรคhlen Sie, in welcher Website dieser Bericht verfรผgbar sein soll. Sie kรถnnen \"Alle Websites\" auswรคhlen um den Bericht in allen Websites verfรผgbar zu machen (der Bericht wird auch in Websites verfรผgbar sein, die in der Zukunft erstellt werden).", + "ReportAvailableToAllWebsites": "Dieser Bericht ist verfรผgbar in allen Websites.", + "ReportCategory": "Bericht Kategorie", + "ReportCategoryHelp": "Wรคhlen Sie die Hauptkategorie, unter welcher dieser Bericht im Berichts-Menรผ verfรผgbar sein soll.", + "ReportContent": "Bericht Inhalt", + "ReportCreated": "Der Bericht wurde erfolgreich erstellt.", + "ReportDescriptionHelp": "Eine optionale Beschreibung fรผr diesen Bericht. Diese wird angezeigt, wenn Sie auf das Hilfesymbol neben dem Berichtstitel klicken. Zum Beispiel kรถnnen Sie hier den Zweck dieses Berichts erwรคhnen.", + "ReportHasFilterApplied": "Dieser Report hat den folgenden Filter angewendet: %s.", + "ReportMetricsHelp": "Metriken sind quantitative Messungen. Wenn Sie beispielsweise die Besucherzahl auf Ihrer Website erhรถhen mรถchten, fรผgen Sie \"Besucher\" hinzu. Wollen Sie zum Beispiel die Leistung Ihrer Website verbessern, fรผgen Sie \"Durchschnittliche Generierungszeit\" hinzu.", + "ReportName": "Bericht Name", + "ReportNameHelp": "Definiert den Namen unter welchen dieser Bericht verfรผgbar sein wird.", + "ReportPage": "Seite des Berichts", + "ReportSegmentHelp": "Mit einem Filter (Segment) kรถnnen Sie einen Bericht basierend auf einer Teilmenge Ihrer Besucher erstellen. Zum Beispiel kรถnnen Sie die Benutzer die in diesem Bericht berรผcksichtigt werden auf mobile Gerรคte beschrรคnken. Das heiรŸt, der Bericht enthรคlt lediglich Daten fรผr die Benutzer, die Ihre Website mit einem mobilen Gerรคt besucht haben.", + "ReportSubcategory": "Bericht Unterkategorie", + "ReportSubcategoryHelp": "Optional kann dieser Bericht auf eine bereits existierte Berichts-Seite hinzugefรผgt werden. Wenn keine Unterkategorie ausgewรคhlt ist, wird eine neue Seite fรผr diesen Bericht unterhalb der ausgewรคhlten Hauptkategorie erstellt.", + "ReportType": "Bericht Art", + "ReportUpdated": "Der Bericht wurde erfolgreich aktualisiert.", + "Type": "Art", + "Unlock": "Entsperren", + "UpdatingData": "Aktualisiere Datenโ€ฆ", + "ViewReportInfo": "Bericht ansehen", + "WarningOnUpdateReportMightGetLost": "Wenn Sie diesen Bericht aktualisieren, werden bereits generierte Berichte aus der Vergangenheit fรผr diesen benutzerdefinierten Bericht nicht mehr zur Verfรผgung stehen.", + "WarningOnUpdateReportMightGetLostBrowserArchivingDisabled": "Wenn Sie diesen benutzerdefinierten Bericht aktualisieren, sind die zuvor erstellten Berichte nicht mehr verfรผgbar, und die Berichte fรผr die letzten %1$s Monate werden neu erstellt.", + "WarningRequiresUnlock": "Um ร„nderungen an diesem Bericht vorzunehmen, muss der Bericht \"entsperrt\" werden. Damit Sie ร„nderungen vornehmen kรถnnen, mรผssen Sie den Funnel \"entsperren\". Wenn Sie ร„nderungen an diesem Bericht vornehmen, werden bereits generierte Berichte aus der Vergangenheit nicht mehr zur Verfรผgung stehen.", + "WarningRequiresUnlockBrowserArchivingDisabled": "Um ร„nderungen am Inhalt dieses Berichts vorzunehmen, mรผssen Sie diesen Bericht \"entsperren\". Wenn Sie ร„nderungen and der Konfiguration des Berichts vornehmen und diesen Bericht aktualisieren, werden neue Berichtsdaten fรผr die letzten %1$s Monate neu generiert und zuvor erstellte Berichte fรผr diesen Bericht sind nicht mehr verfรผgbar.", + "WebsiteName": "Webseitenname" + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/dv.json b/files/plugin-CustomReports-5.5.0/lang/dv.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/dv.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/el.json b/files/plugin-CustomReports-5.5.0/lang/el.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/el.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/en.json b/files/plugin-CustomReports-5.5.0/lang/en.json new file mode 100644 index 0000000..4f35aa7 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/en.json @@ -0,0 +1,134 @@ +{ + "CustomReports": { + "ManageReports": "Manage Reports", + "CustomReports": "Custom Reports", + "CustomReport": "Custom Report", + "NCustomReports": "%s custom reports", + "CustomReportIntroduction": "Custom Reports lets you create new reports to draw new insights that aren't possible with standard reports. You choose the dimensions (such as \"Device Type\" and \"Browser\") and metrics (such as \"Number of Visitors\" and \"Bounce Rate\") and how they should be displayed to get the unique actionable and useful data you need.", + "NoCustomReportsFound": "No custom reports found", + "EditReport": "Edit report", + "Preview": "Preview", + "PreviewReport": "Preview report", + "ViewReportInfo": "View report", + "CreateNewReport": "Create new report", + "Unlock": "Unlock", + "ApplyTo": "Apply to", + "ReportEditNotAllowedAllWebsitesUpdated": "Because this report is available for all websites, only a user with superuser access can change this report.", + "ReportEditNotAllowedMultipleWebsitesAccessIssue": "Because this report is available for multiple websites, only a superuser or an admin with access to all websites included in the report can modify it.", + "ReportAvailableToAllWebsites": "This report is available for all websites.", + "ReportAvailableToMultipleWebsites": "This report is available for multiple websites.", + "AvailableAllWebsites": "Available in all websites", + "WarningRequiresUnlock": "In order to make changes to this report content, you need to \"unlock\" this report. When you make changes to the report configuration and update this report, new reporting data needs to be generated and previously generated reports for this report won't be available anymore.", + "WarningOnUpdateReportMightGetLost": "When you update this custom report, previously generated reports for this custom report will become unavailable.", + "ConfirmUnlockReport": "Are you sure you want to unlock this report? When you update the report content of this report, previously generated reports for this custom report will become unavailable.", + "InfoReportIsLocked": "This report is currently locked and you need to confirm to \"unlock\" this report. When you make changes to this report content and update it afterwards, new reporting data needs to be generated and previously generated reports for this custom report won't be available anymore.", + "DeleteReportConfirm": "Are you sure you want to delete this custom report? Previously generated reports will no longer be available in the reporting UI.", + "DeleteReportInfo": "When you delete this report, its reports will no longer be available and you cannot undo this action.", + "ErrorXNotProvided": "Please provide a value for \"%1$s\".", + "ErrorXTooLong": "\"%1$s\" is too long, max %2$s characters are allowed.", + "ErrorNotAnArray": "\"%1$s\" has to be an array.", + "ErrorArrayMissingItem": "Missing value in \"%1$s\" array at position \"%2$s\".", + "ErrorDuplicateItem": "It is not allowed to use the same %s multiple times.", + "ErrorInvalidValueInArray": "The given \"%1$s\" at position \"%2$s\" does not exist.", + "ErrorReportDoesNotExist": "The requested custom report does not exist for this website. Please ensure the site is correct.", + "ErrorXNotWhitelisted": "The value for \"%1$s\" is not allowed, use one of: %2$s.", + "ErrorMissingDimension": "At least one dimension needs to be selected.", + "ErrorMissingMetric": "At least one metric needs to be selected.", + "ErrorTooManyDimension": "Too many dimensions selected. Max %s dimensions can be used.", + "ErrorTooManyMetrics": "Too many metrics selected. This report type supports a maximum of %s metric(s).", + "ErrorInvalidDimension": "Dimension %1$s is not supported in Custom Reports.", + "PreviewSupportsDimension": "The preview currently only supports up to %s dimensions.", + "PreviewDate": "This preview is based on the data of %s.", + "RemovedMetrics": "These metrics were removed because they cannot be calculated correctly for this period: %s.", + "NoDataRemovedMetrics": "No data is shown because this report only contains metrics that are not supported by the selected period (%s).", + "Filter": "Filter", + "ReportHasFilterApplied": "This report has the following filter applied: %s.", + "Dimensions": "Dimensions", + "Dimension": "Dimension", + "RemoveDimension": "Remove dimension", + "RemoveMetric": "Remove metric", + "AddMetric": "Add metric", + "AddDimension": "Add dimension", + "ReportType": "Report type", + "Type": "Type", + "ReportContent": "Report content", + "ReportName": "Report name", + "ReportPage": "Report page", + "ReportCategory": "Report category", + "Category": "Category", + "ReportCategoryHelp": "Select the main reporting category under which this report will be available in the reporting menu.", + "ReportAllWebsitesHelp": "Select the website this report should be available for. You can also choose \"All websites\" to make this report available for all your sites (also sites that will be created in the future).", + "ReportAllWebsitesNonSuperUserHelp": "Select the website this report should be available for.", + "ReportDimensionsHelpNew": "A dimension typically describes characteristics and is shown in the first column of a report. You can select multiple dimensions (e.g., Browser, Country, City). At least one dimension must be selected.", + "ReportDimensionsHelpExtended": "If you require additional dimensions, you can increase the limit. %1$sLearn more%2$s.", + "ReportMetricsHelp": "Metrics are quantitative measurements. For example, if you want to increase the traffic on your website, include \"Visits\", if you are improving the performance of your website, include \"Avg. Generation Time\".", + "ReportTypeKpiCard": "KPI card", + "ReportSingleMetricHelp": "A KPI card shows the value of a single metric, together with a sparkline and a comparison to the previous period.", + "ReportSegmentHelp": "A filter lets you see this report only for a subset of your visitors. For example, you can filter this report down by mobile device users only.", + "ReportSubcategory": "Report subcategory", + "ReportSubcategoryHelp": "You can optionally add this report to any existing reporting page. If you don't choose a subcategory, a new reporting page under the selected category will be created using the report name.", + "ReportCreated": "The report has been successfully created.", + "ReportUpdated": "The report has been successfully updated.", + "ErrorReportNameDuplicate": "The report name is already in use by another report.", + "NoDataNotArchivedYet": "As the report was created or updated only recently, it may take a few hours for the data to become available when you are viewing today's reports. The report data for dates before this report was created won't become available.", + "NoDataNotArchivedYetReprocess": "However, a system administrator can force Matomo to %1$sreprocess the reports%2$s to make the data available.", + "UpdatingData": "Updating dataโ€ฆ", + "FieldNamePlaceholder": "Visitors by Country", + "FieldDescriptionPlaceholder": "The number of visitors from each country", + "ReportNameHelp": "Defines the name under which this report will be available.", + "ReportNameHelpText": "Enter a unique name to clearly identify this custom report.", + "ReportDescriptionHelp": "An optional description for your report which will be shown when you click on the help icon next to the report title. For example, you could mention the purpose of this report.", + "ReportDescriptionHelpText": "Enter a description to provide additional context, such as the purpose or usage. This description is displayed when clicking the help icon next to the report title. %1$sLearn more%2$s.", + "WarningOnUpdateReportMightGetLostBrowserArchivingDisabled": "When you update this custom report, previously generated reports will become unavailable and reports for the last %1$s months will be regenerated.", + "ConfirmUnlockReportBrowserArchivingDisabled": "Are you sure you want to unlock this report? When you update the report content of this report, previously generated reports for this custom report will become unavailable and reports for the last %1$s months will be regenerated.", + "WarningRequiresUnlockBrowserArchivingDisabled": "In order to make changes to this report content, you need to \"unlock\" this report. When you make changes to the report configuration and update this report, new reporting data for the last %1$s months will be regenerated and previously generated reports for this report won't be available anymore.", + "InfoReportIsLockedBrowserArchivingDisabled": "This report is currently locked and you need to confirm to \"unlock\" this report. When you make changes to this report content and update it afterwards, new reporting data for the last %1$s months will be regenerated and previously generated reports for this custom report won't be available anymore.", + "ManageReportsSubcategoryHelp": "Custom Reports lets you create new reports to draw new insights that aren't possible with standard reports. This section enables you to create and manage Custom Reports for your site.", + "WebsiteName": "Website name", + "CommonUniqueMetric": "Sum of %1$s", + "CommonUniqueMetricDescription": "%1$s. When viewing a period that is not day, then this metric will become \"Sum of %2$s\". In such case, if the same %3$s appear in 2 or more days within the selected period, then it will be counted as 2 or the total number of days it has appeared and not 1.", + "ProductsWithX": "Products with %s", + "ContentImpressions": "Content Impressions", + "ErrorProductRevenueMetricDependency": "Product Revenue metrics need an accompanying Product Quantity metric in the same report.", + "WarningProductRevenueMetricDependency": "Product Revenue metrics need an accompanying Product Quantity metric in the same report. The accompanying metric has been added automatically. %1$sLearn more%2$s.", + "OrderSubCategoryReports": "Order Subcategory reports", + "OrderSubCategoryReportsDescription": "Optional: Adjust the order in which subcategories will be shown while viewing this custom report.", + "ErrorInvalidSubCategoryReport": "Invalid subcategory report ids.", + "SelectMeasurablesMatchingSearch": "or add all measureables that contain the following search term", + "FindMeasurables": "Find measurables", + "NoMeasurableAssignedYet": "No measurable has been assigned yet, please select a measurable from the selector above.", + "MatchingSearchNotFound": "There is no measurable matching the search term %s.", + "MatchingSearchConfirmTitle": "Are you sure you want to add %s matching measurables?", + "MatchingSearchConfirmTitleAlreadyAdded": "%s matching measurables are already added", + "MatchingSearchMatchedAdd": "These %1$s measurables matched %2$s and will be added to this custom report", + "MatchingSearchMatchedAlreadyAdded": "These %1$s measurables matched %2$s but are already added to this custom report", + "ErrorInvalidMultipleIdSite": "For multiple idsites, idsite:%1$s should be included in the list.", + "ErrorInvalidIdSite": "Invalid website ID: %1$s", + "PauseReportInfo": "Pausing this report stops its archiving until you resume the report.", + "ResumeReportInfo": "When you resume this report, archiving will restart from today.", + "PauseReportConfirm": "Pausing this report stops its archiving until you resume the report. Are you sure you want to pause this report?", + "ResumeReportConfirm": "When you resume this report, archiving will restart from today. Are you sure you want to resume this custom report?", + "PausedReport": "The report has been paused successfully.", + "ResumedReport": "The report has been resumed successfully.", + "DeleteExceptionMessage": "Cannot delete report, site does not match", + "PauseExceptionMessage": "Cannot pause report, site does not match", + "ResumeExceptionMessage": "Cannot resume report, site does not match", + "ActivityReportAddedDescription": "added a custom report \"%1$s\" for site \"%2$s\"", + "ActivityReportUpdatedDescription": "updated the report \"%1$s\" for site \"%2$s\"", + "ActivityReportDeletedDescription": "deleted the report \"%1$s\" for site \"%2$s\"", + "ActivityReportPausedDescription": "paused the report \"%1$s\" for site \"%2$s\"", + "ActivityReportResumedDescription": "resumed the report \"%1$s\" for site \"%2$s\"", + "ErrorCustomReportDoesNotExist": "The requested custom report does not exist", + "ReportInPausedStateAdmin": "This report is paused. No archiving will occur until the report is resumed. To resume the report, go to %1$sManage Reports%2$s and click Play for the selected report.", + "NoDataMessagePausedStateNonAdminUser": "This report is paused, no new data will be available until the report is resumed. If you need access to the report, please contact your Matomo superuser.", + "NoDataMessagePausedStateAdminUser": "This report is paused, no new data will be available until the report is resumed. To resume the report, go to %1$sManage Reports%2$s and click Play for the selected report.", + "NoSegmentationJoinExceptionMessage": "The current order or combination of dimensions is not compatible. %1$sLearn more%2$s.", + "PreviewReportInvalidTimeFrameValues": "Invalid timeframe values set for preview report, allowed values are seconds, minutes, hours and days.", + "PreviewReportExceedsMaximumTimeFrameValueAllowed": "The maximum time frame for preview report cannot be > 24 hours.", + "QuotaReachedForX": "Youโ€™ve reached your quota limit. Unable to copy the %1$s due to exceeded usage. Consider deleting unused or less critical %2$s to manage your quota.", + "SourceCustomReportLookupError": "There was an unexpected error looking up the source custom report. Please try again. Contact your administrator or support if the problem persists.", + "CustomReportDuplicationError": "Process incomplete. The custom report could not be copied to all selected sites.", + "CustomReportCopied": "The custom report has been successfully copied.", + "CustomReportDuplicationSiteTypeError": "Copy feature is not supported for sites: %1$s." + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/eo.json b/files/plugin-CustomReports-5.5.0/lang/eo.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/eo.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/es-ar.json b/files/plugin-CustomReports-5.5.0/lang/es-ar.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/es-ar.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/es.json b/files/plugin-CustomReports-5.5.0/lang/es.json new file mode 100644 index 0000000..f510a6e --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/es.json @@ -0,0 +1,68 @@ +{ + "CustomReports": { + "AddDimension": "Agregar dimensiรณn", + "AddMetric": "Agregar mรฉtrica", + "ApplyTo": "Usar en", + "AvailableAllWebsites": "Disponible en todos los sitios de internet", + "Category": "Categorรญa", + "ConfirmUnlockReport": "ยฟEstรก seguro de que quieres desbloquear este informe? Cuando actualice el contenido de este informe, los informes generados previamente para este informe personalizado no estarรกn disponibles.", + "CreateNewReport": "Crear nuevo informe", + "CustomReport": "Informe personalizado", + "CustomReportIntroduction": "Los informes personalizados le permiten crear nuevos informes para extraer nuevas perspectivas que no son posibles con los informes estรกndar. Elija las dimensiones (como \"Tipo de dispositivo\" y \"Navegador\") y las mรฉtricas (como \"Nรบmero de visitantes\" y \"Tasa de rebote\") y cรณmo deben mostrarse para obtener los datos รบnicos y รบtiles que necesita.", + "CustomReports": "Informes personalizados", + "DeleteReportConfirm": "ยฟEstรก seguro que desea eliminar este informe personalizado? Aquellos informes previamente generados ya no estarรกn disponibles en la interfaz de usuario Informes.", + "DeleteReportInfo": "Cuando elimine este informe, el mismo no estarรก disponible, y no podrรก deshacer esta acciรณn.", + "Dimension": "Dimensiรณn", + "Dimensions": "Dimensiones", + "EditReport": "Modificar informe", + "ErrorArrayMissingItem": "Falta el valor en la matriz \"%1$s\" en la posiciรณn \"%2$s\".", + "ErrorDuplicateItem": "No estรก permitido usar el mismo %s varias veces.", + "ErrorInvalidValueInArray": "\"%1$s\" en la posiciรณn \"%2$s\" no existe.", + "ErrorMissingDimension": "Al menos una dimensiรณn debe ser seleccionada.", + "ErrorMissingMetric": "Al menos una mรฉtrica debe ser seleccionada.", + "ErrorNotAnArray": "\"%1$s\" tiene que ser una matriz.", + "ErrorReportNameDuplicate": "El nombre del informe ya estรก en uso por otro informe.", + "ErrorTooManyDimension": "Demasiadas dimensiones seleccionadas. Un mรกximo de %s pueden ser usadas.", + "ErrorXNotProvided": "Por favor suministre un valor para \"%1$s\".", + "ErrorXNotWhitelisted": "El valor para \"%1$s\" no estรก permitido, use uno de: %2$s.", + "ErrorXTooLong": "\"%1$s\" es muy largo, un mรกximo de %2$s caracteres es permitido.", + "FieldDescriptionPlaceholder": "ej 'El nรบmero de visitantes por paรญs'", + "FieldNamePlaceholder": "ej 'Visitantes por paรญs'", + "Filter": "Filtro", + "InfoReportIsLocked": "Este informe estรก actualmente bloqueado y debe confirmar que desea \"desbloquearlo\". Cuando realice cambios en el contenido de este informe y lo actualice, es necesario generar nuevos datos de informes y los informes generados previamente para este informe personalizado ya no estarรกn disponibles.", + "ManageReports": "Administrar Informes", + "NCustomReports": "%s informes personalizados", + "NoCustomReportsFound": "No se encuentran informes personalizados", + "NoDataNotArchivedYet": "Debido a que el informe se creรณ o actualizรณ recientemente, puede tardar algunas horas para que los datos estรฉn disponibles cuando estรฉ viendo los informes de hoy. Los datos del informe para las fechas anteriores a la creaciรณn de este informe no estarรกn disponibles.", + "NoDataNotArchivedYetReprocess": "Sin embargo, un administrador de sistema puede forzar a Matomo a %1$sreprocesar los informes%2$s para hacer que los datos estรฉn disponibles.", + "Preview": "Previsualizaciรณn", + "PreviewDate": "La vista previa estรก basada en los datos de %s.", + "PreviewReport": "Previsualizar informe", + "PreviewSupportsDimension": "La vista previa actualmente es hasta %s dimensiones.", + "RemoveDimension": "Quitar dimensiรณn", + "RemoveMetric": "Quitar mรฉtrica", + "ReportAllWebsitesHelp": "Seleccione el sitio web para el que debe estar disponible este informe. Tambiรฉn puede elegir \"Todos los sitios web\" para que este informe estรฉ disponible para todos sus sitios (y tambiรฉn aquellos sitios que se crearรกn en el futuro).", + "ReportAvailableToAllWebsites": "Este informe estรก disponible para todos los sitios web.", + "ReportCategory": "Categorรญa de informe", + "ReportCategoryHelp": "Seleccione la categorรญa de informe principal bajo la cual este informe estarรก disponible en el menรบ de informes.", + "ReportContent": "Contenido del informe", + "ReportCreated": "El informe se ha creado exitosamente.", + "ReportDescriptionHelp": "Una descripciรณn opcional para su informe que se mostrarรก cuando haga clic en el icono de ayuda junto al tรญtulo del informe. Por ejemplo, podrรญa mencionar el propรณsito de este informe.", + "ReportHasFilterApplied": "Este informe tiene aplicado el siguiente filtro: %s.", + "ReportMetricsHelp": "Las mรฉtricas son medidas cuantitativas. Por ejemplo, si desea aumentar el trรกfico en su sitio web, incluya \"Visitas\", si estรก mejorando el rendimiento de su sitio web, incluya \"Tiempo promedio de generaciรณn\".", + "ReportName": "Nombre del informe", + "ReportNameHelp": "Define el nombre bajo el cual este informe estarรก disponible.", + "ReportPage": "Pรกgina de informe", + "ReportSegmentHelp": "Un filtro le permite ver este informe solo para un subconjunto de sus visitantes. Por ejemplo, puede filtrar este informe solo por usuarios de dispositivos mรณviles.", + "ReportSubcategory": "Subcategorรญa de informe", + "ReportSubcategoryHelp": "Opcionalmente, puede agregar este informe a cualquier pรกgina de informe existente. Si no elige una subcategorรญa, se crearรก una nueva pรกgina de informes bajo la categorรญa seleccionada usando el nombre del informe.", + "ReportType": "Tipo de informe", + "ReportUpdated": "El informe se ha actualizado exitosamente.", + "Type": "Tipo", + "Unlock": "Desbloquear", + "UpdatingData": "Actualizando datosโ€ฆ", + "ViewReportInfo": "Ver informe", + "WarningOnUpdateReportMightGetLost": "Cuando actualice este informe personalizado, los informes generados previamente para este informe personalizado no estarรกn disponibles.", + "WarningRequiresUnlock": "Para realizar cambios en el contenido de este informe, debe \"desbloquearlo\". Cuando realice cambios en la configuraciรณn del informe y actualice este informe, es necesario generar nuevos datos de informes y los informes generados anteriormente para el mismo ya no estarรกn disponibles." + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/et.json b/files/plugin-CustomReports-5.5.0/lang/et.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/et.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/eu.json b/files/plugin-CustomReports-5.5.0/lang/eu.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/eu.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/fa.json b/files/plugin-CustomReports-5.5.0/lang/fa.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/fa.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/fi.json b/files/plugin-CustomReports-5.5.0/lang/fi.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/fi.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/fr.json b/files/plugin-CustomReports-5.5.0/lang/fr.json new file mode 100644 index 0000000..5409ff5 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/fr.json @@ -0,0 +1,128 @@ +{ + "CustomReports": { + "ActivityReportAddedDescription": "a ajoutรฉ un rapport personnalisรฉ \"%1$s\"ยป pour le site \"%2$s\"", + "ActivityReportDeletedDescription": "a supprimรฉ le rapport \"%1$s\" pour le site \"%2$s\"", + "ActivityReportPausedDescription": "a mis en pause le rapport \"%1$s\" pour le site \"%2$s\"", + "ActivityReportResumedDescription": "a repris le rapport \"%1$s\" pour le site \"%2$s\"", + "ActivityReportUpdatedDescription": "a mis ร  jour le rapport \"%1$s\" pour le site \"%2$s\"", + "AddDimension": "Ajouter une dimension", + "AddMetric": "Ajouter un รฉlรฉment mesurable", + "ApplyTo": "Appliquer ร ", + "AvailableAllWebsites": "Disponible pour tous les sites", + "Category": "Catรฉgorie", + "CommonUniqueMetric": "Total de %1$s", + "CommonUniqueMetricDescription": "%1$s. Lorsque vous visualisez une pรฉriode qui n'est pas un jour, cette mesure devient \"Somme de %2$s\". Dans ce cas, si le mรชme %3$s apparaรฎt dans 2 ou plusieurs jours de la pรฉriode sรฉlectionnรฉe, il sera comptรฉ comme 2 ou le nombre total de jours oรน il est apparu et non 1.", + "ConfirmUnlockReport": "รŠtes vous sรปr de vouloir dรฉbloquer ce rapport ? Lorsque vous mettez ร  jour le contenu de ce rapport, les rapports prรฉcรฉdemment gรฉnรฉrรฉs pour ce rapport personnalisรฉ ne seront plus disponibles.", + "ConfirmUnlockReportBrowserArchivingDisabled": "รŠtes-vous sรปr de vouloir dรฉverrouiller ce rapport ? Lorsque vous mettez ร  jour le contenu de ce rapport, les rapports prรฉcรฉdemment gรฉnรฉrรฉs pour ce rapport personnalisรฉ deviennent indisponibles et les rapports des derniers %1$s mois sont rรฉgรฉnรฉrรฉs.", + "ContentImpressions": "Impressions de contenu", + "CreateNewReport": "Crรฉer un nouveau rapport", + "CustomReport": "Rapport personnalisรฉ", + "CustomReportCopied": "Le rapport personnalisรฉ a รฉtรฉ copiรฉ avec succรจs.", + "CustomReportDuplicationError": "Processus incomplet. Le rapport personnalisรฉ nโ€™a pas pu รชtre copiรฉ sur tous les sites sรฉlectionnรฉs.", + "CustomReportDuplicationSiteTypeError": "La fonction de copie nโ€™est pas prise en charge pour les sites suivantsย : %1$s.", + "CustomReportIntroduction": "Les rapports personnalisรฉs vous permettent de crรฉer de nouveaux rapports pour dessiner de nouvelles vues impossibles ร  obtenir avec les rapports standards. Vous choisissez les dimensions (tel que \"Type de pรฉriphรฉrique\" et \"Navigateur\") ainsi que les mรฉtriques (tel que \"Nombre de visiteurs\" et \"Taux de rebond\") et comment ils doivent รชtre affichรฉs pour avoir les donnรฉes uniques, exploitables et utiles dont vous avez besoin.", + "CustomReports": "Rapports personnalisรฉs", + "DeleteExceptionMessage": "Impossible de supprimer le rapport, le site ne correspond pas", + "DeleteReportConfirm": "รŠtes-vous sรปr de vouloir supprimer ce rapport personnalisรฉ ? Les rapports gรฉnรฉrรฉs prรฉcรฉdemment ne seront plus disponibles dans l'interface de rapport.", + "DeleteReportInfo": "Lorsque vous supprimez ce rapport, ses rapports ne sont plus disponibles et vous ne pouvez pas annuler cette action.", + "Dimension": "Dimension", + "Dimensions": "Dimensions", + "EditReport": "ร‰diter le rapport", + "ErrorArrayMissingItem": "Valeur manquante dans le tableau \"%1$s\" ร  la position \"%2$s\".", + "ErrorCustomReportDoesNotExist": "Le rapport personnalisรฉ demandรฉ nโ€™existe pas", + "ErrorDuplicateItem": "Il n'est pas autorisรฉ d'utiliser le mรชme %s plusieurs fois.", + "ErrorInvalidDimension": "La dimension %1$s nโ€™est pas prise en charge dans les Rapports personnalisรฉs.", + "ErrorInvalidMultipleIdSite": "Pour plusieurs idsites, idsiteย :%1$s doit รชtre inclus dans la liste.", + "ErrorInvalidSubCategoryReport": "Identifiants de rapports de sous-catรฉgorie invalides.", + "ErrorInvalidValueInArray": "\"%1$s\" indiquรฉ ร  la position \"%2$s\" n'existe pas.", + "ErrorMissingDimension": "Une dimension au moins doit รชtre sรฉlectionnรฉe.", + "ErrorMissingMetric": "Un รฉlรฉment mesurable au moins doit รชtre sรฉlectionnรฉ.", + "ErrorNotAnArray": "\"%1$s\" doit รชtre un tableau.", + "ErrorProductRevenueMetricDependency": "Les mรฉtriques de chiffre d'affaires produit nรฉcessitent la prรฉsence d'une mรฉtrique de quantitรฉ de produit dans le mรชme rapport.", + "ErrorReportDoesNotExist": "Le rapport personnalisรฉ demandรฉ n'existe pas pour ce site web. Veuillez vous assurer que le site est correct.", + "ErrorReportNameDuplicate": "Ce nom est dรฉjร  utilisรฉ pour un autre rapport.", + "ErrorTooManyDimension": "Trop de dimensions sรฉlectionnรฉes. %s dimensions peuvent รชtre utilisรฉes au maximum.", + "ErrorXNotProvided": "Veuillez indiquer une valeur pour \"%1$s\".", + "ErrorXNotWhitelisted": "La valeur pour \"%1$s\" n'est pas autorisรฉe, utilisez une de celles-ci : %2$s.", + "ErrorXTooLong": "\"%1$s\" est trop long, %2$s caractรจres maximum sont autorisรฉs.", + "FieldDescriptionPlaceholder": "ex. 'Le nombre de visiteurs par pays'", + "FieldNamePlaceholder": "ex. 'Visiteurs par pays'", + "Filter": "Filtre", + "FindMeasurables": "Trouver des รฉlรฉments mesurables", + "InfoReportIsLocked": "Ce rapport est actuellement verrouillรฉ et vous devez confirmer pour \"dรฉverrouiller\" ce rapport. Lorsque vous effectuez des changements sur le contenu du rapport et que vous le mettez ร  jour par la suite, de nouvelles donnรฉes de rapport doivent รชtre gรฉnรฉrรฉes et les rapports prรฉcรฉdemment gรฉnรฉrรฉs pour ce rapport personnalisรฉ ne seront plus disponibles.", + "InfoReportIsLockedBrowserArchivingDisabled": "Ce rapport est actuellement verrouillรฉ et vous devez confirmer pour \"dรฉverrouiller\" ce rapport. Lorsque vous apportez des modifications au contenu de ce rapport et que vous le mettez ร  jour par la suite, les nouvelles donnรฉes de rapport pour les derniers %1$s mois seront rรฉgรฉnรฉrรฉes et les rapports prรฉcรฉdemment gรฉnรฉrรฉs pour ce rapport personnalisรฉ ne seront plus disponibles.", + "ManageReports": "Gestion des rapports", + "ManageReportsSubcategoryHelp": "Les rapports personnalisรฉs vous permettent de crรฉer de nouveaux rapports pour obtenir de nouvelles informations qui ne sont pas possibles avec les rapports standard. Cette section vous permet de crรฉer et de gรฉrer des rapports personnalisรฉs pour votre site.", + "MatchingSearchConfirmTitle": "รŠtes-vous sรปr de vouloir ajouter des %s correspondant ร  ces รฉlements mesurablesโ€ฏ?", + "MatchingSearchConfirmTitleAlreadyAdded": "%s รฉlรฉments mesurables correspondants sont dรฉjร  ajoutรฉs", + "MatchingSearchMatchedAdd": "Ces %1$s รฉlรฉments mesurables correspondent ร  %2$s et seront ajoutรฉes ร  ce rapport personnalisรฉ", + "MatchingSearchMatchedAlreadyAdded": "Ces %1$s รฉlรฉments mesurables correspondent ร  %2$s mais sont dรฉjร  ajoutรฉes ร  ce rapport personnalisรฉ", + "MatchingSearchNotFound": "Il n'y a pas d'รฉlรฉments mesurables correspondant au terme de recherche %s.", + "NCustomReports": "%s rapports personnalisรฉs", + "NoCustomReportsFound": "Aucun rapport personnalisรฉ trouvรฉ", + "NoDataMessagePausedStateAdminUser": "Ce rapport est en pause, aucune nouvelle donnรฉe ne sera disponible jusquโ€™ร  ce que le rapport soit repris. Pour reprendre le rapport, accรฉdez ร  %1$sGรฉrer les rapports%2$s et cliquez sur Lecture pour le rapport sรฉlectionnรฉ.", + "NoDataMessagePausedStateNonAdminUser": "Ce rapport est en pause, aucune nouvelle donnรฉe ne sera disponible jusquโ€™ร  ce que le rapport soit repris. Si vous avez besoin dโ€™accรฉder au rapport, veuillez contacter votre super utilisateur Matomo.", + "NoDataNotArchivedYet": "Comme ce rapport a รฉtรฉ crรฉรฉ ou mis ร  jour rรฉcemment, cela peut prendre quelques heures avant que les donnรฉes soient disponibles quand vous consultez les rapports du jour. Les donnรฉes concernant les dates antรฉrieures ร  la crรฉation de ce rapport ne seront plus disponibles.", + "NoDataNotArchivedYetReprocess": "Cependant, un administrateur peut forcer Matomo ร  %1$s recalculer les rapports %2$s pour rendre les donnรฉes disponibles.", + "NoDataRemovedMetrics": "Aucune donnรฉe n'est affichรฉe car ce rapport ne contient que des รฉlรฉments mesurables non disponibles pour la pรฉriode sรฉlectionnรฉe (%s).", + "NoMeasurableAssignedYet": "Aucun รฉlรฉment mesurable n'a encore รฉtรฉ attribuรฉ, veuillez sรฉlectionner un รฉlรฉment mesurable dans le sรฉlecteur ci-dessus.", + "NoSegmentationJoinExceptionMessage": "Lโ€™ordre ou la combinaison actuelle des dimensions nโ€™est pas compatible. %1$sEn savoir plus%2$s.", + "OrderSubCategoryReports": "Rapports de sous-catรฉgorie de commande", + "OrderSubCategoryReportsDescription": "Optionnelย : Ajustez lโ€™ordre dans lequel les sous-catรฉgories seront affichรฉes lors de la consultation de ce rapport personnalisรฉ.", + "PauseExceptionMessage": "Impossible de mettre le rapport en pause, le site ne correspond pas", + "PauseReportConfirm": "La mise en pause de ce rapport arrรชte son archivage jusqu'ร  ce que vous repreniez le rapport. รŠtes-vous sรปr de vouloir mettre ce rapport en pauseโ€ฏ?", + "PauseReportInfo": "La mise en pause de ce rapport arrรชte son archivage jusqu'ร  ce que vous repreniez le rapport.", + "PausedReport": "Le rapport a รฉtรฉ mis en pause avec succรจs.", + "Preview": "Prรฉvisualiser", + "PreviewDate": "Cette prรฉvisualisation se base sur les donnรฉes de %s.", + "PreviewReport": "Prรฉvisualiser le rapport", + "PreviewReportExceedsMaximumTimeFrameValueAllowed": "La pรฉriode maximale pour lโ€™aperรงu du rapport ne peut pas dรฉpasser 24 heures.", + "PreviewReportInvalidTimeFrameValues": "Valeurs de pรฉriode non valides dรฉfinies pour lโ€™aperรงu du rapport. Les valeurs autorisรฉes sontย : secondes, minutes, heures et jours.", + "PreviewSupportsDimension": "La prรฉvisualisation supporte seulement %s dimensions pour le moment.", + "ProductsWithX": "Produits avec %s", + "QuotaReachedForX": "Vous avez atteint votre limite de quota. Impossible de copier le %1$s en raison dโ€™une utilisation dรฉpassรฉe. Envisagez de supprimer les %2$s inutilisรฉs ou moins importants afin de gรฉrer votre quota.", + "RemoveDimension": "Retirer une dimension", + "RemoveMetric": "Retirer un รฉlรฉment mesurable", + "RemovedMetrics": "Ces รฉlรฉments mesurables ont รฉtรฉ retirรฉs car ils ne peuvent pas รชtre calculรฉs correctement sur la pรฉriode : %s.", + "ReportAllWebsitesHelp": "Sรฉlectionnez le site pour lequel ce rapport sera disponible. Vous pouvez choisir \"Tous les sites\" pour rendre ce rapport disponible pour tous les sites (y compris ceux crรฉรฉs ร  l'avenir).", + "ReportAllWebsitesNonSuperUserHelp": "Sรฉlectionnez le site web pour lequel ce rapport doit รชtre disponible.", + "ReportAvailableToAllWebsites": "Ce rapport est disponible pour tous les sites.", + "ReportAvailableToMultipleWebsites": "Ce rapport est disponible pour plusieurs sites web.", + "ReportCategory": "Catรฉgorie du rapport", + "ReportCategoryHelp": "Sรฉlectionnez la catรฉgorie principale dans laquelle le rapport sera disponible via le menu.", + "ReportContent": "Contenu du rapport", + "ReportCreated": "Le rapport a รฉtรฉ crรฉรฉ avec succรจs.", + "ReportDescriptionHelp": "Une description facultative de votre rapport qui s'affichera lorsque vous cliquerez sur l'icรดne d'aide ร  cรดtรฉ du titre du rapport. Par exemple, vous pourriez mentionner le but de ce rapport.", + "ReportDimensionsHelpExtended": "Si vous avez besoin de dimensions supplรฉmentaires, vous pouvez augmenter la limite. %1$sEn savoir plus%2$s.", + "ReportDimensionsHelpNew": "Une dimension dรฉcrit gรฉnรฉralement des caractรฉristiques et apparaรฎt dans la premiรจre colonne dโ€™un rapport. Vous pouvez sรฉlectionner plusieurs dimensions (par exempleย : navigateur, pays, ville). Au moins une dimension doit รชtre sรฉlectionnรฉe.", + "ReportEditNotAllowedAllWebsitesUpdated": "Parce que ce rapport est disponible pour tous les sites web, seul un utilisateur avec un accรจs super utilisateur peut modifier ce rapport.", + "ReportEditNotAllowedMultipleWebsitesAccessIssue": "Parce que ce rapport est disponible pour plusieurs sites web, seul un super utilisateur ou un administrateur ayant accรจs ร  tous les sites web inclus dans le rapport peut le modifier.", + "ReportHasFilterApplied": "Ce rapport a le filtre suivant : %s.", + "ReportInPausedStateAdmin": "Ce rapport est en pause. Aucun archivage nโ€™aura lieu jusquโ€™ร  ce que le rapport soit repris. Pour reprendre le rapport, accรฉdez ร  %1$sGรฉrer les rapports%2$s et cliquez sur Lecture pour le rapport sรฉlectionnรฉ.", + "ReportMetricsHelp": "Les รฉlรฉments mesurables sont des mesures quantitatives. Par exemple, si vous souhaitez augmenter le trafic de votre site web, incluez \"Visites\", si vous recherchez la performance de votre site web, incluez \"Moyenne du temps de gรฉnรฉration\".", + "ReportName": "Nom du rapport", + "ReportNameHelp": "Dรฉfinissez le nom sous lequel ce rapport sera disponible.", + "ReportPage": "Page du rapport", + "ReportSegmentHelp": "Un filtre vous permet de voir ce rapport uniquement pour un sous-ensemble de vos visiteurs. Par exemple, vous pouvez filtrer ce rapport en fonction des utilisateurs d'appareils mobiles uniquement.", + "ReportSubcategory": "Sous-catรฉgorie du rapport", + "ReportSubcategoryHelp": "Vous pouvez en option ajouter ce rapport dans n'importe quelle page existante. Si vous ne choisissez pas de sous-catรฉgorie, une nouvelle page dans la catรฉgorie sรฉlectionnรฉe sera crรฉรฉe en utilisant le nom du rapport.", + "ReportType": "Type de rapport", + "ReportUpdated": "Le rapport a bien รฉtรฉ mis ร  jour.", + "ResumeExceptionMessage": "Impossible de reprendre le rapport, le site ne correspond pas", + "ResumeReportConfirm": "Lorsque vous reprendrez ce rapport, l'archivage redรฉmarrera ร  partir d'aujourd'hui. รŠtes-vous sรปr de vouloir reprendre ce rapport personnalisรฉโ€ฏ?", + "ResumeReportInfo": "Lorsque vous reprendrez ce rapport, l'archivage redรฉmarrera ร  partir d'aujourd'hui.", + "ResumedReport": "Le rapport a รฉtรฉ repris avec succรจs.", + "SelectMeasurablesMatchingSearch": "ou ajouter toutes les entitรฉs mesurables contenant le terme de recherche suivant", + "SourceCustomReportLookupError": "Une erreur inattendue sโ€™est produite lors de la recherche du rapport personnalisรฉ source. Veuillez rรฉessayer. Contactez votre administrateur ou le support si le problรจme persiste.", + "Type": "Type", + "Unlock": "Dรฉverrouiller", + "UpdatingData": "Mise ร  jour des donnรฉesโ€ฆ", + "ViewReportInfo": "Voir le rapport", + "WarningOnUpdateReportMightGetLost": "Lorsque vous mettez ร  jour ce rapport personnalisรฉ, les rapports prรฉcรฉdemment gรฉnรฉrรฉes pour ce rapport personnalisรฉ ne seront plus disponibles.", + "WarningOnUpdateReportMightGetLostBrowserArchivingDisabled": "Lorsque vous mettez ร  jour ce rapport personnalisรฉ, les rapports prรฉcรฉdemment gรฉnรฉrรฉs deviennent indisponibles et les rapports des derniers %1$s mois sont rรฉgรฉnรฉrรฉs.", + "WarningProductRevenueMetricDependency": "Les mรฉtriques de chiffre d'affaires produit nรฉcessitent la prรฉsence d'une mรฉtrique de quantitรฉ de produit dans le mรชme rapport. La mรฉtrique correspondante a รฉtรฉ ajoutรฉe automatiquement. %1$sEn savoir plus%2$s.", + "WarningRequiresUnlock": "Pour faire des changements sur le contenu de ce rapport, vous devez \"dรฉverrouiller\" ce rapport. Lorsque vous faites des changements dans la configuration du rapport et qu'il est mis ร  jour, les nouvelles donnรฉes de reporting doivent รชtre gรฉnรฉrรฉes et les รฉtudes gรฉnรฉrรฉes prรฉcรฉdemment pour ce rapport ne seront plus disponibles.", + "WarningRequiresUnlockBrowserArchivingDisabled": "Pour pouvoir apporter des modifications au contenu de ce rapport, vous devez le \"dรฉverrouiller\". Lorsque vous apportez des modifications ร  la configuration du rapport et que vous mettez ร  jour ce rapport, les nouvelles donnรฉes de rapport pour les derniers %1$s mois seront rรฉgรฉnรฉrรฉes et les rapports prรฉcรฉdemment gรฉnรฉrรฉs pour ce rapport ne seront plus disponibles.", + "WebsiteName": "Nom du site web" + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/ga.json b/files/plugin-CustomReports-5.5.0/lang/ga.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/ga.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/gl.json b/files/plugin-CustomReports-5.5.0/lang/gl.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/gl.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/gu.json b/files/plugin-CustomReports-5.5.0/lang/gu.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/gu.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/he.json b/files/plugin-CustomReports-5.5.0/lang/he.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/he.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/hi.json b/files/plugin-CustomReports-5.5.0/lang/hi.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/hi.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/hr.json b/files/plugin-CustomReports-5.5.0/lang/hr.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/hr.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/hu.json b/files/plugin-CustomReports-5.5.0/lang/hu.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/hu.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/hy.json b/files/plugin-CustomReports-5.5.0/lang/hy.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/hy.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/id.json b/files/plugin-CustomReports-5.5.0/lang/id.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/id.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/is.json b/files/plugin-CustomReports-5.5.0/lang/is.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/is.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/it.json b/files/plugin-CustomReports-5.5.0/lang/it.json new file mode 100644 index 0000000..b1290c8 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/it.json @@ -0,0 +1,76 @@ +{ + "CustomReports": { + "AddDimension": "Aggiungi dimensione", + "AddMetric": "Aggiungi metrica", + "ApplyTo": "Applica a", + "AvailableAllWebsites": "Disponibile in tutti i siti web", + "Category": "Categoria", + "ConfirmUnlockReport": "Sei sicuro di voler sbloccare questo report? Quando si aggiorna il suo contenuto, i report generati in precedenza per questo report personalizzato non saranno piรน disponibili.", + "ConfirmUnlockReportBrowserArchivingDisabled": "Sei sicuro di voler sbloccare questo report? Quando aggiorni il contenuto di questo report, quelli generati in precedenza per questo report personalizzato non saranno disponibili e quelli per gli ultimi %1$s mesi verranno rigenerati.", + "CreateNewReport": "Crea nuovo report", + "CustomReport": "Report Personalizzato", + "CustomReportIntroduction": "I report personalizzati ti consentono di creare nuovi report per ricavare nuovi approfondimenti che non sono possibili con i quelli standard. Scegli le dimensioni (come \"Tipo di Dispositivo\" e \"Browser\") e le metriche (come \"Numero di Visitatori\" e \"Frequenza dei Rimbalzi\") e come dovrebbero essere visualizzate per ottenere i dati unici, utilizzabili e utili, di cui hai bisogno.", + "CustomReports": "Report Personalizzati", + "DeleteReportConfirm": "Sei sicuro di voler cancellare questo report personalizzato? I report generati in precedenza non saranno piรน disponibili nell'Interfaccia Utente dei report.", + "DeleteReportInfo": "Quando elimini questo report, i suoi risultati non saranno piรน disponibili e non potrai annullare questa azione.", + "Dimension": "Dimensione", + "Dimensions": "Dimensioni", + "EditReport": "Modifica report", + "ErrorArrayMissingItem": "Valore mancante nell'array \"%1$s\" alla posizione \"%2$s\".", + "ErrorDuplicateItem": "Non รจ possibile usare piรน volte lo stesso %s", + "ErrorInvalidValueInArray": "\"%1$s\" alla posizione \"%2$s\" non esiste.", + "ErrorMissingDimension": "Deve essere selezionata almeno una dimensione.", + "ErrorMissingMetric": "Deve essere selezionata almeno una metrica.", + "ErrorNotAnArray": "\"%1$s\" deve essere un array.", + "ErrorReportDoesNotExist": "Il report personalizzato richiesto non esiste per questo sito web. Assicurati che il sito sia quello giusto.", + "ErrorReportNameDuplicate": "Il nome del report รจ giร  utilizzato da un altro report.", + "ErrorTooManyDimension": "Sono state selezionate troppe dimensioni. Ne possono essere utilizzate max. %s.", + "ErrorXNotProvided": "Si prega di assegnare un valore per \"%1$s\".", + "ErrorXNotWhitelisted": "Il valore per \"%1$s\" non รจ consentito, usane uno tra: %2$s.", + "ErrorXTooLong": "\"%1$s\" รจ troppo lungo, รจ permesso un massimo di %2$s caratteri.", + "FieldDescriptionPlaceholder": "es. 'Numero di visitatori per nazione'", + "FieldNamePlaceholder": "es. 'Visitatori per Nazione'", + "Filter": "Filtra", + "InfoReportIsLocked": "Questo report รจ attualmente bloccato ed รจ necessario confermare per \"sbloccarlo\". Quando si apportano modifiche a questo contenuto del report e lo si aggiorna successivamente, รจ necessario generare nuovi dati di report, e quelli generati in precedenza per questo report personalizzato non saranno piรน disponibili.", + "InfoReportIsLockedBrowserArchivingDisabled": "Questo report รจ attualmente bloccato e devi confermare per \"sbloccarlo\". Quando apporti modifiche al contenuto di questo report e lo aggiorni in seguito, i nuovi dati dei report per gli ultimi %1$s mesi verranno rigenerati e i report generati in precedenza per questo report personalizzato non saranno piรน disponibili.", + "ManageReports": "Gestisci Reports", + "ManageReportsSubcategoryHelp": "I report personalizzati ti consentono di creare nuovi rapporti per trarre nuove informazioni che non sono possibili con quelli standard. Questa sezione ti consente di creare e gestire report personalizzati per il tuo sito.", + "NCustomReports": "%sreport personalizzati", + "NoCustomReportsFound": "Non sono stati trovati report personalizzati", + "NoDataNotArchivedYet": "Poichรฉ il report รจ stato creato o aggiornato solo di recente, potrebbero essere necessarie alcune ore prima che i dati siano disponibili, quando si visualizzano i report di oggi. I dati del report per i periodi precedenti alla sua creazione non saranno disponibili.", + "NoDataNotArchivedYetReprocess": "Tuttavia, un amministratore di sistema puรฒ forzare Matomo a %1$srielaborare i report%2$s per rendere disponibili i dati.", + "NoDataRemovedMetrics": "Non vengono mostrati dati in quanto questo report contiene solamente metriche che non sono supportate dal periodo selezionato (%s).", + "Preview": "Anteprima", + "PreviewDate": "Questa anteprima รจ basata sui dati di %s.", + "PreviewReport": "Anteprima report", + "PreviewSupportsDimension": "L'anteprima supporta al momento fino a %s dimensioni.", + "RemoveDimension": "Rimuovi dimensione", + "RemoveMetric": "Rimuovi metrica", + "RemovedMetrics": "Queste metriche sono state rimosse in quanto esse non possono essere calcolate correttamente per questo periodo: %s.", + "ReportAllWebsitesHelp": "Seleziona il sito web per cui questo report deve essere disponibile. Puoi anche scegliere \"Tutti i siti web\" per rendere questo report disponibile per tutti i tuoi siti (anche i siti che verranno creati in futuro).", + "ReportAvailableToAllWebsites": "Questo report รจ disponibile per tutti i siti web.", + "ReportCategory": "Categoria report", + "ReportCategoryHelp": "Seleziona la categoria principale in base alla quale questo report sarร  disponibile nel relativo menรน.", + "ReportContent": "Contenuto report", + "ReportCreated": "Il report รจ stato creato con successo.", + "ReportDescriptionHelp": "Una descrizione facoltativa del tuo report che verrร  visualizzata quando clicchi sull'icona della guida accanto al titolo del report stesso. Ad esempio, potresti citare lo scopo di questo report.", + "ReportHasFilterApplied": "Questo report ha applicati i seguenti files: %s.", + "ReportMetricsHelp": "Le metriche sono misure quantitative. Ad esempio, se desideri aumentare il traffico sul tuo sito web, includi \"Visite\", se stai migliorando le prestazioni del tuo sito web, includi \"Tempo Medio di Generazione\".", + "ReportName": "Nome report", + "ReportNameHelp": "Definisce il nome sotto cui questo report sarร  disponibile.", + "ReportPage": "Pagina report", + "ReportSegmentHelp": "Un filtro ti consente di visualizzare questo report solo per un sottoinsieme di visitatori. Ad esempio, puoi filtrare questo report solo per gli utenti di dispositivi mobili.", + "ReportSubcategory": "Sottocategoria report", + "ReportSubcategoryHelp": "รˆ possibile aggiungere facoltativamente questo report a qualsiasi pagina di report esistente. Se non si sceglie una sottocategoria, verrร  creata una nuova pagina di report sotto la categoria selezionata utilizzando il nome del report stesso.", + "ReportType": "Tipo di report", + "ReportUpdated": "Il report รจ stato aggiornato con successo.", + "Type": "Tipo", + "Unlock": "Sblocca", + "UpdatingData": "Aggiornamento datiโ€ฆ", + "ViewReportInfo": "Vedi report", + "WarningOnUpdateReportMightGetLost": "Quando aggiorni questo report personalizzato, i report generati in precedenza non saranno piรน disponibili per questo report personalizzato.", + "WarningOnUpdateReportMightGetLostBrowserArchivingDisabled": "Quando aggiorni questo report personalizzato, i report generati in precedenza non saranno disponibili e i report per gli ultimi %1$s mesi verranno rigenerati.", + "WarningRequiresUnlock": "Per apportare modifiche a questo contenuto del report, รจ necessario \"sbloccarlo\". Quando si apportano modifiche alla configurazione del report e lo si aggiorna, รจ necessario generare dei nuovi dati di report, e quelli generati in precedenza per questo report personalizzato non saranno piรน disponibili.", + "WarningRequiresUnlockBrowserArchivingDisabled": "Per apportare modifiche al contenuto di questo report, รจ necessario \"sbloccarlo\". Quando apporti modifiche alla configurazione del report e lo aggiorni, i nuovi dati dei report per gli ultimi %1$s mesi verranno rigenerati e i report generati in precedenza per questo report non saranno piรน disponibili." + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/ja.json b/files/plugin-CustomReports-5.5.0/lang/ja.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/ja.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/ka.json b/files/plugin-CustomReports-5.5.0/lang/ka.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/ka.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/ko.json b/files/plugin-CustomReports-5.5.0/lang/ko.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/ko.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/ku.json b/files/plugin-CustomReports-5.5.0/lang/ku.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/ku.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/lb.json b/files/plugin-CustomReports-5.5.0/lang/lb.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/lb.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/lt.json b/files/plugin-CustomReports-5.5.0/lang/lt.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/lt.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/lv.json b/files/plugin-CustomReports-5.5.0/lang/lv.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/lv.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/ms.json b/files/plugin-CustomReports-5.5.0/lang/ms.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/ms.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/nb.json b/files/plugin-CustomReports-5.5.0/lang/nb.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/nb.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/nl.json b/files/plugin-CustomReports-5.5.0/lang/nl.json new file mode 100644 index 0000000..8b8d002 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/nl.json @@ -0,0 +1,70 @@ +{ + "CustomReports": { + "AddDimension": "Voeg dimensie toe", + "AddMetric": "Voeg statistiek toe", + "ApplyTo": "Van toepassing op", + "AvailableAllWebsites": "Beschikbaar in alle websites.", + "Category": "Categorie", + "ConfirmUnlockReport": "Weet je zeker dat je dit rapport wilt openen? Wanneer je de inhoud van het rapport update, eerder gegenereerde rapporten van dit maatwerk rapport worden dan onbeschikbaar.", + "CreateNewReport": "Maak een nieuw rapport", + "CustomReport": "Maatwerk rapport", + "CustomReportIntroduction": "Maatwerk rapporten laten je nieuwe rapporten maken waarmee je nieuwe inzichten krijgt die niet beschikbaar zijn in de standaard rapporten. Je kiest een dimensie (zoals \"Apparaat type\" en \"Browser\") en statistieken (zoals \"Aantal bezoekers\" en \"Bounce rate\") en hoe dit getoond dient te worden om de unieke actiegerichte en nuttige data te krijgen die je zoekt.", + "CustomReports": "Maatwerk rapporten", + "DeleteReportConfirm": "Weet je zeker dat je dit maatwerk rapport wilt verwijderen? Eerder gegenereerde rapportages zijn dan niet meer beschikbaar in de UI.", + "DeleteReportInfo": "Wanneer je het rapport verwijderd, wordt het rapport niet meer beschikbaar. Deze actie kan je niet meer ongedaan maken.", + "Dimension": "Dimensies", + "Dimensions": "Dimensies", + "EditReport": "Bewerk rapport", + "ErrorArrayMissingItem": "Missende waarde in \"%1$s\" reeks op positie \"%2$s\".", + "ErrorDuplicateItem": "Het is niet toegestaan om dezelfde %s meerdere keren te gebruiken.", + "ErrorInvalidValueInArray": "Het gegeven \"%1$s\" op positie \"%2$s\" bestaat niet.", + "ErrorMissingDimension": "Minstens รฉรฉn dimensie dient geselecteerd te worden.", + "ErrorMissingMetric": "Minstens รฉรฉn statistiek dient geselecteerd te worden.", + "ErrorNotAnArray": "\"%1$s\" dient een reeks te zijn.", + "ErrorReportNameDuplicate": "De rapport naam is al in gebruik door een ander rapport.", + "ErrorTooManyDimension": "Teveel dimensies zijn geselecteerd. Maximaal %s dimensies kunnen worden gebruikt.", + "ErrorXNotProvided": "Geef een waarde voor \"%1$s\".", + "ErrorXNotWhitelisted": "De waarde voor \"%1$s\" is niet toegestaan. Gebruik รฉรฉn van de: %2$s", + "ErrorXTooLong": "\"%1$s\" is te lang, maximaal %2$skarakters zijn toegestaan.", + "FieldDescriptionPlaceholder": "bv 'het aantal bezoekers per land'", + "FieldNamePlaceholder": "bv 'Bezoekers per land'", + "Filter": "Filter", + "InfoReportIsLocked": "Dit rapport is op dit moment gesloten en je dient eerst te bevestigen om dit rapport te ontgrendelen. Wanneer je wijzigingen aan dit rapport maakt en het daarna bijwerkt, nieuwe rapportage data dient dan gegenereerd te worden en eerder gegenereerde rapportages voor dit maatwerk rapport zijn dan niet meer beschikbaar.", + "ManageReports": "Beheer rapporten", + "NCustomReports": "%s maatwerk rapporten", + "NoCustomReportsFound": "Geen maatwerk rapport gevonden", + "NoDataNotArchivedYet": "Wanneer het rapport onlangs is gemaakt of bijgewerkt, dan kan het enkele uren duren voordat de data van vandaag beschikbaar wordt. De data van rapporten van voordat het rapport gecreรซerd is komt niet beschikbaar.", + "NoDataNotArchivedYetReprocess": "Echter, een systeem administrator kan Matomo forceren om %1$s de rapporten %2$s opnieuw te verwerken om de data beschikbaar te maken.", + "NoDataRemovedMetrics": "Er wordt geen data getoond omdat dit rapport alleen metrics bevat die niet worden ondersteund voor de geselecteerde periode (%s).", + "Preview": "Preview", + "PreviewDate": "Deze preview is gebaseerd op data van %s.", + "PreviewReport": "Preview rapport", + "PreviewSupportsDimension": "De huidige preview ondersteund tot %s dimensies.", + "RemoveDimension": "Verwijder dimensie", + "RemoveMetric": "Verwijder statistiek", + "RemovedMetrics": "Deze metrics zijn verwijderd omdat deze niet correct berekend kunnen worden over deze periode: %s.", + "ReportAllWebsitesHelp": "Selecteer de website waar deze rapportage voor beschikbaar moet zijn. Je kan ook \"Alle websites\" selecteren om deze rapportage voor alle websites beschikbaar te maken (dit is ook voor websites die in de toekomst aangemaakt worden.)", + "ReportAvailableToAllWebsites": "Dit rapport is beschikbaar voor alle websites.", + "ReportCategory": "Rapport categorie", + "ReportCategoryHelp": "Selecteer de hoofdcategorie waaronder dit rapport beschikbaar komt in het rapport menu.", + "ReportContent": "Rapport inhoud", + "ReportCreated": "Het rapport is met succes aangemaakt.", + "ReportDescriptionHelp": "Een optionele omschrijving voor je rapport, welke wordt getoond wanneer je op help icoon klikt naast de rapport titel klikt. Je kan bijvoorbeeld het doel benoemen van het rapport.", + "ReportHasFilterApplied": "Dit rapport heeft de volgende filters: 1%s", + "ReportMetricsHelp": "Statistieken zijn kwantitatieve metingen. Bijvoorbeeld, wanneer je het verkeer op je website wilt verhogen, voeg \"Bezoeken\" toe. Wanneer je de prestatie van je website wilt verbeteren, voeg dan \"Gemiddelde generatietijd \"toe.", + "ReportName": "Rapport naam", + "ReportNameHelp": "Bepaalt onder welke naam dit rapport beschikbaar wordt.", + "ReportPage": "Rapport pagina", + "ReportSegmentHelp": "Een filter laat alleen een deelverzameling van het rapport van je bezoekers zien. Bijvoorbeeld, je kan het rapport filteren op alleen smartphone bezoekers.", + "ReportSubcategory": "Rapport subcategorie", + "ReportSubcategoryHelp": "Optioneel kan je dit rapport toevoegen aan een bestaande rapportage pagina. Wanneer je geen subcategorie selecteert, wordt er een nieuwe rapportage pagina, met als titel de rapportnaam, aangemaakt onder de geselecteerde categorie.", + "ReportType": "Rapport type", + "ReportUpdated": "Het rapport is succesvol bijgewerkt.", + "Type": "Type", + "Unlock": "Ontgrendel", + "UpdatingData": "Bijwerken gegevensโ€ฆ", + "ViewReportInfo": "Bekijk rapport", + "WarningOnUpdateReportMightGetLost": "Wanneer je dit maatwerk rapport bijwerkt, worden eerder gegenereerde rapporten van dit aangepaste rapport niet meer beschikbaar.", + "WarningRequiresUnlock": "Om aan dit rapport wijzigingen te maken, dient dit als eerst ontgrendeld te worden. Wanneer je wijzigingen maakt aan aan de inrichting van het rapport en deze update, zal nieuwe rapport data gegenereerd worden en eerdere gemaakte rapporten van dit rapport zijn dan niet meer beschikbaar." + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/nn.json b/files/plugin-CustomReports-5.5.0/lang/nn.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/nn.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/pl.json b/files/plugin-CustomReports-5.5.0/lang/pl.json new file mode 100644 index 0000000..bace865 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/pl.json @@ -0,0 +1,44 @@ +{ + "CustomReports": { + "AddDimension": "Dodaj wymiar", + "AddMetric": "Dodaj metrykฤ™", + "ApplyTo": "Zastosuj do", + "AvailableAllWebsites": "Dostฤ™pny we wszystkich serwisach", + "Category": "Kategoria", + "CreateNewReport": "Utwรณrz nowy raport", + "CustomReport": "Niestandardowy Raport", + "CustomReports": "Niestandardowe Raporty", + "Dimension": "Wymiar", + "Dimensions": "Wymiary", + "EditReport": "Edycja raportu", + "ErrorNotAnArray": "\"%1$s\" musi byฤ‡ tabelฤ….", + "ErrorReportNameDuplicate": "Wybrana nazwa jest juลผ wykorzystywana przez inny raport.", + "ErrorXNotProvided": "Proszฤ™ podaฤ‡ wartoล›ฤ‡ dla \"%1$s\".", + "ErrorXNotWhitelisted": "Niedozwolona wartoล›ฤ‡ pola \"%1$s\", sprรณbuj jednej z: %2$s.", + "ErrorXTooLong": "Ciฤ…g \"%1$s\" jest za dล‚ugi. Dopuszczone sฤ… ciฤ…gi o dล‚ugoล›ci do %2$s znakรณw.", + "FieldDescriptionPlaceholder": "np. 'Liczba odwiedzajฤ…cych na kraj'", + "FieldNamePlaceholder": "np. 'Odwiedzajฤ…cy na Kraj'", + "Filter": "Filtruj", + "ManageReports": "Zarzฤ…dzaj Raportami", + "NCustomReports": "%s niestandardowe raporty", + "NoCustomReportsFound": "Brak raportรณw niestandardowych", + "Preview": "Podglฤ…d", + "PreviewReport": "Podglฤ…d raportu", + "RemoveDimension": "Usuล„ wymiar", + "RemoveMetric": "Usuล„ metrykฤ™", + "ReportAvailableToAllWebsites": "Ten raport dostฤ™pny jest dla wszystkich serwisรณw.", + "ReportCategory": "Kategoria raportu", + "ReportContent": "Zawartoล›ฤ‡ raportu", + "ReportCreated": "Pomyล›lnie utworzono raport.", + "ReportName": "Nazwa raportu", + "ReportNameHelp": "Okreล›la nazwฤ™, ktรณra bฤ™dzie reprezentowaล‚a raport.", + "ReportPage": "Strona raportu", + "ReportSubcategory": "Podkategoria raportu", + "ReportType": "Typ raportu", + "ReportUpdated": "Pomyล›lnie zaktualizowano raport.", + "Type": "Typ", + "Unlock": "Odblokuj", + "UpdatingData": "Aktualizacja danychโ€ฆ", + "ViewReportInfo": "Raport wyล›wietleล„" + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/pt-br.json b/files/plugin-CustomReports-5.5.0/lang/pt-br.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/pt-br.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/pt.json b/files/plugin-CustomReports-5.5.0/lang/pt.json new file mode 100644 index 0000000..e1fa11c --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/pt.json @@ -0,0 +1,70 @@ +{ + "CustomReports": { + "AddDimension": "Adicionar dimensรฃo", + "AddMetric": "Adicionar mรฉtrica", + "ApplyTo": "Aplicar a", + "AvailableAllWebsites": "Disponรญvel em todos os sites", + "Category": "Categoria", + "ConfirmUnlockReport": "Tem a certeza que pretende desbloquear este relatรณrio? Quando atualiza o conteรบdo deste relatรณrio, os relatรณrios gerados anteriormente para este relatรณrio personalizado ficarรฃo indisponรญveis.", + "CreateNewReport": "Criar novo relatรณrio", + "CustomReport": "Relatรณrio personalizado", + "CustomReportIntroduction": "Os Relatรณrios personalizados permitem criar novos relatรณrios para obter novas perspetivas que nรฃo sรฃo possรญveis com os relatรณrios predefinidos. Pode escolher as dimensรตes (tais como \"Tipo de dispositivo\" e \"Navegador\") e as mรฉtricas (como o \"Nรบmero de visitantes\" e \"Taxa de ressalto\") e como devem ser apresentados para obter os dados รบnicos e รบteis que pretende.", + "CustomReports": "Relatรณrios personalizados", + "DeleteReportConfirm": "Tem a certeza que pretende eliminar este relatรณrio personalizado? Os relatรณrios gerados anteriormente deixarรฃo de estar disponรญveis a partir do interface dos relatรณrios.", + "DeleteReportInfo": "Quando eliminar este relatรณrio os respetivos relatรณrios deixarรฃo de estar disponรญveis e nรฃo poderรก anular esta aรงรฃo.", + "Dimension": "Dimensรฃo", + "Dimensions": "Dimensรตes", + "EditReport": "Editar relatรณrio", + "ErrorArrayMissingItem": "Valor em falta no vetor \"%1$s\" na posiรงรฃo \"%2$s\".", + "ErrorDuplicateItem": "Nรฃo รฉ permitida a utilizaรงรฃo do mesmo %s mรบltiplas vezes.", + "ErrorInvalidValueInArray": "O \"%1$s\" fornecido na posiรงรฃo \"%2$s\" nรฃo existe.", + "ErrorMissingDimension": "Tem de ser selecionada pelo menos uma dimensรฃo.", + "ErrorMissingMetric": "Pelo menos uma mรฉtrica tem de ser selecionada.", + "ErrorNotAnArray": "\"%1$s\" tem de ser um array.", + "ErrorReportNameDuplicate": "O nome do relatรณrio jรก estรก a ser utilizado por outro relatรณrio.", + "ErrorTooManyDimension": "Demasiadas dimensรตes selecionadas. Podem ser utilizadas um mรกximo de %s dimensรตes.", + "ErrorXNotProvided": "Por favor, forneรงa um valor para \"%1$s\".", + "ErrorXNotWhitelisted": "O valor para \"%1$s\" nรฃo รฉ permitido; utilize um de: %2$s.", + "ErrorXTooLong": "\"%1$s\" รฉ demasiado longo; pode utilizar um mรกximo de %2$s carateres.", + "FieldDescriptionPlaceholder": "Por exemplo, 'O nรบmero de visitantes por paรญs'", + "FieldNamePlaceholder": "Por exemplo, 'Visitantes por paรญs'", + "Filter": "Filtro", + "InfoReportIsLocked": "Este relatรณrio estรก bloqueado e necessita de confirmar para \"desbloquear\" este relatรณrio. Quando faz alteraรงรตes ao conteรบdo deste relatรณrio e o atualiza posteriormente, terรฃo de ser gerados novos resultados e os relatรณrios anteriores para este relatรณrio personalizado deixarรฃo de estar disponรญveis.", + "ManageReports": "Gerir relatรณrios", + "NCustomReports": "%s relatรณrios personalizados", + "NoCustomReportsFound": "Nรฃo foram encontrados relatรณrios personalizados", + "NoDataNotArchivedYet": "Dado que o relatรณrio foi criado ou atualizado recentemente, pode demorar algumas horas atรฉ que os dados sejam disponibilizados quando estรก a visualizar os relatรณrios do dia atual. Os resultados para datas anteriores ร  data de criaรงรฃo deste relatรณrio nรฃo serรฃo disponibilizados.", + "NoDataNotArchivedYetReprocess": "No entanto, um administrador de sistema pode forรงar o Matomo a %1$sreprocessar os relatรณrios%2$s para disponibilizar estes resultados.", + "NoDataRemovedMetrics": "Nรฃo sรฃo apresentados dados porque este relatรณrio apenas contรฉm mรฉtricas que nรฃo sรฃo suportadas pelo perรญodo selecionado (%s).", + "Preview": "Prรฉ-visualizaรงรฃo", + "PreviewDate": "Esta prรฉ-visualizaรงรฃo รฉ baseada nos dados de %s.", + "PreviewReport": "Prรฉ-visualizar relatรณrio", + "PreviewSupportsDimension": "A prรฉ-visualizaรงรฃo apenas suporta atรฉ %s dimensรตes.", + "RemoveDimension": "Remover dimensรฃo", + "RemoveMetric": "Remover mรฉtrica", + "RemovedMetrics": "Estas mรฉtricas foram removidas porque nรฃo podem ser corretamente calculadas para este perรญodo: %s.", + "ReportAllWebsitesHelp": "Selecione o site no qual este relatรณrio ficarรก disponรญvel. Tambรฉm pode escolher \"Todos os sites\" para disponibilizar este relatรณrio para todos os sites (incluindo sites que venham a ser criados no futuro).", + "ReportAvailableToAllWebsites": "Este relatรณrio estรก disponรญvel para todos os sites.", + "ReportCategory": "Categoria do relatรณrio", + "ReportCategoryHelp": "Selecione a categoria principal sob a qual este relatรณrio ficarรก disponรญvel no menu dos relatรณrios.", + "ReportContent": "Conteรบdo do relatรณrio", + "ReportCreated": "O relatรณrio foi criado com sucesso.", + "ReportDescriptionHelp": "Uma descriรงรฃo opcional para o seu relatรณrio que serรก apresentada quando clica no รญcone de ajuda junto ao nome do relatรณrio. Por exemplo, poderia indicar o propรณsito deste relatรณrio.", + "ReportHasFilterApplied": "Este relatรณrio tem o seguinte filtro aplicado: %s.", + "ReportMetricsHelp": "As mรฉtricas sรฃo medidas quantitativas. Por exemplo, se quiser aumentar o trรกfego no seu site, inclua \"Visitas\"; se pretende melhorar o desempenho, inclua \"Tempo mรฉdio de processamento\".", + "ReportName": "Nome do relatรณrio", + "ReportNameHelp": "Define o nome sob o qual este relatรณrio ficarรก disponรญvel.", + "ReportPage": "Pรกgina do relatรณrio", + "ReportSegmentHelp": "Um filtro permite-lhe ver este relatรณrio apenas para um subconjunto dos seus visitantes. Por exemplo, pode filtrar este relatรณrio para apenas utilizadores de dispositivos mรณveis.", + "ReportSubcategory": "Subcategoria do relatรณrio", + "ReportSubcategoryHelp": "Opcionalmente, pode adicionar este relatรณrio a qualquer pรกgina existente. Se nรฃo escolher uma subcategoria, serรก criada uma nova pรกgina sob a categoria selecionada utilizando o nome do relatรณrio.", + "ReportType": "Tipo de relatรณrio", + "ReportUpdated": "O relatรณrio foi atualizado com sucesso.", + "Type": "Tipo", + "Unlock": "Desbloquear", + "UpdatingData": "A atualizar dadosโ€ฆ", + "ViewReportInfo": "Ver relatรณrio", + "WarningOnUpdateReportMightGetLost": "Quando atualiza este relatรณrio personalizado, os resultados gerados anteriormente para o mesmo deixarรฃo de estar disponรญveis.", + "WarningRequiresUnlock": "Para fazer alteraรงรตes ao conteรบdo deste relatรณrio, necessita de \"desbloquear\" este relatรณrio. Quando faz alteraรงรตes ร  configuraรงรฃo e atualiza o relatรณrio, tรชm de ser gerados novos dados e os resultados de relatรณrios anteriores deixarรฃo de estar disponรญveis." + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/ro.json b/files/plugin-CustomReports-5.5.0/lang/ro.json new file mode 100644 index 0000000..d79cb1b --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/ro.json @@ -0,0 +1,5 @@ +{ + "CustomReports": { + "CustomReports": "Rapoarte particularizate" + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/ru.json b/files/plugin-CustomReports-5.5.0/lang/ru.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/ru.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/si.json b/files/plugin-CustomReports-5.5.0/lang/si.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/si.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/sk.json b/files/plugin-CustomReports-5.5.0/lang/sk.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/sk.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/sl.json b/files/plugin-CustomReports-5.5.0/lang/sl.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/sl.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/sq.json b/files/plugin-CustomReports-5.5.0/lang/sq.json new file mode 100644 index 0000000..ca339ef --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/sq.json @@ -0,0 +1,128 @@ +{ + "CustomReports": { + "ActivityReportAddedDescription": "u shtua njรซ raport vetjak โ€œ%1$sโ€œ pรซr sajtin โ€œ%2$sโ€", + "ActivityReportDeletedDescription": "u fshi raporti โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "ActivityReportPausedDescription": "u ndal raporti โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "ActivityReportResumedDescription": "u rinis raporti โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "ActivityReportUpdatedDescription": "u pรซrditรซsua raporti โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "AddDimension": "Shtoni pรซrmasรซ", + "AddMetric": "Shtoni matje", + "ApplyTo": "Zbatoje mbi", + "AvailableAllWebsites": "Mund tรซ kihet pรซr krejt sajtet", + "Category": "Kategori", + "CommonUniqueMetric": "Shumรซ e %1$s", + "CommonUniqueMetricDescription": "%1$s. Kur shihet njรซ periudhรซ qรซ sโ€™รซshtรซ ditรซ, kjo vlerรซ do tรซ bรซhet โ€œShumรซ e %2$sโ€. Nรซ rast tรซ tillรซ, nรซse e njรซjta %3$s shfaqet nรซ 2 ose mรซ tepรซr ditรซ brenda periudhรซs sรซ pรซrzgjedhur, do tรซ numรซrohet si 2, ose si numri gjithsej i ditรซve ku รซshtรซ shfaqur dhe jo si 1.", + "ConfirmUnlockReport": "Jeni i sigurt se doni tรซ shkyรงet ky raport? Kur pรซrditรซsoni lรซndรซn pรซr kรซtรซ raport vetjak, tรซ dhรซnat e prodhuara mรซ herรซt pรซr tรซ sโ€™do tรซ mund tรซ kihen mรซ.", + "ConfirmUnlockReportBrowserArchivingDisabled": "Jeni i sigurt se doni tรซ shkyรงet ky raport? Kur pรซrditรซsoni lรซndรซn e raportit pรซr kรซtรซ raport, raporte tรซ prodhuar mรซ parรซ pรซr kรซtรซ raport vetjak do tรซ bรซhen tรซ papรซrdorshรซm dhe tรซ dhรซnat pรซr %1$s muajt e fundit do tรซ riprodhohen.", + "ContentImpressions": "Pรซrshtypje Nga Lรซnda", + "CreateNewReport": "Krijoni raport tรซ ri", + "CustomReport": "Raport Vetjak", + "CustomReportCopied": "Raporti vetjak u kopjua me sukses.", + "CustomReportDuplicationError": "Proces i paplotรซsuar. Raporti vetjak sโ€™u kopjua dot te krejt sajtet e pรซrzgjedhur.", + "CustomReportDuplicationSiteTypeError": "Veรงoria e kopjimit nuk mbulohet pรซr sajtet: %1$s.", + "CustomReportIntroduction": "Raportet Vetjakรซ ju lejojnรซ tรซ krijoni raporte tรซ rinj pรซr tรซ ndjekur prirje tรซ reja qรซ sโ€™janรซ tรซ mundshme me raportet standarde. Pรซrmasat (tรซ tilla si, โ€œLloj Pajisjejeโ€ dhe โ€œShfletuesโ€), matjet (tรซ tilla si, โ€œNumรซr Vizitorรซshโ€ dhe โ€œNivel Kthimeshโ€) dhe se si duhet tรซ shfaqen pรซr tรซ pasur tรซ dhรซnat unike tรซ pรซrdorshme dhe tรซ dobishme qรซ ju nevojiten, i zgjidhni ju.", + "CustomReports": "Raporte Vetjakรซ", + "DeleteExceptionMessage": "Sโ€™fshihet dot raporti, sajti sโ€™pรซrputhet", + "DeleteReportConfirm": "Jeni i sigurt se doni tรซ fshihet ky raport vetjak? Raportet e prodhuar mรซ herรซt sโ€™do tรซ mund tรซ kihen mรซ pรซrmes UI-t tรซ raporteve.", + "DeleteReportInfo": "Kur e fshini kรซtรซ raport, raportet e tij sโ€™do tรซ mund tรซ kihen mรซ dhe kรซtรซ veprim sโ€™mund ta zhbรซni.", + "Dimension": "Pรซrmasรซ", + "Dimensions": "Pรซrmasa", + "EditReport": "Pรซrpunoni raport", + "ErrorArrayMissingItem": "Te matrica โ€œ%1$sโ€ mungon vlerรซ nรซ pozicionin โ€œ%2$sโ€.", + "ErrorCustomReportDoesNotExist": "Raporti vetjak i kรซrkuar sโ€™ekziston", + "ErrorDuplicateItem": "Nuk lejohet tรซ pรซrdoret shumรซ herรซ i njรซjti %s.", + "ErrorInvalidDimension": "Pรซrmasa %1$s nuk mbulohet nรซ Raporte tรซ Pรซrshtatur.", + "ErrorInvalidMultipleIdSite": "Pรซr ID sajtesh tรซ shumtรซ, duhet pรซrfshirรซ nรซ listรซ idsite:%1$s.", + "ErrorInvalidSubCategoryReport": "ID tรซ pavlefshme raportesh nรซnkategorish.", + "ErrorInvalidValueInArray": "โ€œ%1$sโ€ e dhรซnรซ nรซ pozicionin โ€œ%2$sโ€ sโ€™ekziston.", + "ErrorMissingDimension": "Duhet pรซrzgjedhur tรซ paktรซn njรซ pรซrmasรซ.", + "ErrorMissingMetric": "Duhet pรซrzgjedhur tรซ paktรซn njรซ matje.", + "ErrorNotAnArray": "โ€œ%1$sโ€ duhet tรซ jetรซ njรซ matricรซ.", + "ErrorProductRevenueMetricDependency": "Vlerat pรซr โ€œTรซ Ardhura Produkteshโ€ lypin nรซ tรซ njรซjtin raport njรซ vlerรซ shoqรซruese โ€œSasi Produktiโ€.", + "ErrorReportDoesNotExist": "Raporti vetjak i kรซrkuar sโ€™ekziston pรซr kรซtรซ sajt. Ju lutemi, sigurohuni se sajti รซshtรซ i saktรซ.", + "ErrorReportNameDuplicate": "Emri i raportit รซshtรซ tashmรซ nรซ pรซrdorim nga njรซ raport tjetรซr.", + "ErrorTooManyDimension": "Janรซ pรซrzgjedhur shumรซ pรซrmasa. Mund tรซ pรซrdoren e shumta %s pรซrmasa.", + "ErrorXNotProvided": "Ju lutemi, jepni njรซ vlerรซ pรซr โ€œ%1$sโ€.", + "ErrorXNotWhitelisted": "Vlera pรซr โ€œ%1$sโ€ nuk lejohet, pรซrdorni njรซ nga: %2$s.", + "ErrorXTooLong": "โ€œ%1$sโ€ รซshtรซ shumรซ e gjatรซ, lejohen e shumta %2$s shenja.", + "FieldDescriptionPlaceholder": "p.sh., โ€œNumรซr vizitorรซsh pรซr vendโ€", + "FieldNamePlaceholder": "p.sh., โ€œVizitorรซ sipas Vendeshโ€", + "Filter": "Filtรซr", + "FindMeasurables": "Gjeni tรซ matshรซm", + "InfoReportIsLocked": "Ky raport รซshtรซ i kyรงur dhe lypset tรซ ripohoni โ€œshkyรงjenโ€ e tij. Kur bรซni ndryshime te lรซnda e kรซtij raporti dhe nรซ vijim e pรซrditรซsoni, lypset tรซ prodhohen tรซ dhรซna tรซ reja dhe tรซ dhรซnat e prodhuara mรซ herรซt pรซr kรซtรซ raport vetjak sโ€™do tรซ mund tรซ kihen mรซ.", + "InfoReportIsLockedBrowserArchivingDisabled": "Ky raport รซshtรซ i kyรงur dhe lypset tรซ ripohoni โ€œshkyรงjenโ€ e tij. Kur bรซni ndryshime te lรซnda e kรซtij raporti dhe nรซ vijim e pรซrditรซsoni, do tรซ prodhohen tรซ dhรซna tรซ reja pรซr %1$s muajt e fundit dhe tรซ dhรซnat e prodhuara mรซ herรซt pรซr kรซtรซ raport vetjak sโ€™do tรซ mund tรซ kihen mรซ.", + "ManageReports": "Administroni Raporte", + "ManageReportsSubcategoryHelp": "Raporte Vetjake ju lejojnรซ tรซ krijoni raporte tรซ reja pรซr tรซ analizuar prirje tรซ reja, รงka sโ€™รซshtรซ e mundshme me raportet standarde. Kjo ndarje ju jep mundรซsinรซ tรซ krijoni dhe administroni Raporte Vetjake pรซr sajtin tuaj.", + "MatchingSearchConfirmTitle": "Jeni i sigurt se doni tรซ shtohen tรซ matshme qรซ pรซrkojnรซ me %s?", + "MatchingSearchConfirmTitleAlreadyAdded": "Janรซ shtuar tashmรซ %s tรซ matshme me pรซrkim", + "MatchingSearchMatchedAdd": "Kรซto %1$s tรซ matshme pรซrkojnรซ me %2$s dhe do tรซ shtohen te ky raport vetjak", + "MatchingSearchMatchedAlreadyAdded": "Kรซto %1$s tรซ matshme pรซrkojnรซ me %2$s, por gjenden tashmรซ te ky raport vetjak", + "MatchingSearchNotFound": "Sโ€™ka tรซ matshme qรซ pรซrkon me termin e kรซrkimit %s.", + "NCustomReports": "%s raporte vetjakรซ", + "NoCustomReportsFound": "Sโ€™u gjetรซn raporte vetjakรซ", + "NoDataMessagePausedStateAdminUser": "Ky raport รซshtรซ ndalur, sโ€™do tรซ ketรซ tรซ dhรซna tรซ reja, para se raporti tรซ riniset. Qรซ tรซ rinisni raportin, kaloni te %1$sAdministroni Raporte%2$s dhe klikoni Luaje pรซr raportin e pรซrzgjedhur.", + "NoDataMessagePausedStateNonAdminUser": "Ky raport รซshtรซ ndalur, sโ€™do tรซ ketรซ tรซ dhรซna tรซ reja, para se raporti tรซ riniset . Nรซse ju duhet hyrje te raporti, ju lutemi, lidhuni me superpรซrdoruesin e Matomo-s tuaj.", + "NoDataNotArchivedYet": "Meqรซ raporti u krijua apo pรซrditรซsua vetรซm tani afรซr, mund tรซ duhen disa orรซ qรซ tรซ ketรซ tรซ dhรซna tรซ pรซrdorshme pรซr tรซ parรซ raporte pรซr sot. Sโ€™do tรซ ketรซ tรซ pรซrdorshme tรซ dhรซna raporti pรซr data mรซ herรซt se tรซ krijohej ky raport.", + "NoDataNotArchivedYetReprocess": "Sidoqoftรซ, njรซ pรซrgjegjรซs sistemi mund ta detyrojรซ Matomo-n tโ€™i %1$sripรซrpilojรซ raportet%2$s pรซr tโ€™i pasur kรซto tรซ dhรซna.", + "NoDataRemovedMetrics": "Sโ€™janรซ shfaqur tรซ dhรซna, ngaqรซ ky raport pรซrmban vetรซm vlera qรซ sโ€™mbulohen nga periudha e pรซrzgjedhur (%s).", + "NoMeasurableAssignedYet": "Ende pa caktim tรซ matshmesh, ju lutemi, pรซrzgjidhni njรซ tรซ matshme qรซ nga pรซrzgjedhรซsi mรซ sipรซr.", + "NoSegmentationJoinExceptionMessage": "Renditja, ose ndรซrthurja e tanishme e pรซrmasave sโ€™รซshtรซ e pรซrputhshme. %1$sMรซsoni mรซ tepรซr%2$s.", + "OrderSubCategoryReports": "Renditni raporte Nรซnkategorish", + "OrderSubCategoryReportsDescription": "Opsional: Pรซrimtoni rendin nรซ tรซ cilin do tรซ shfaqen nรซnkategoritรซ, kur shihet ky raport i pรซrshtatur.", + "PauseExceptionMessage": "Sโ€™ndalet dot raporti, sajti sโ€™pรซrputhet", + "PauseReportConfirm": "Ndalja e kรซtij raporti ndal arkivimin e tij deri kur tรซ rinisni raportin. Jeni i sigurt se doni tรซ ndalet ky raport?", + "PauseReportInfo": "Ndalja e kรซtij raporti ndal arkivimin e tij deri kur tรซ riniset raportimi.", + "PausedReport": "Raporti รซshtรซ ndalur me sukses.", + "Preview": "Paraparje", + "PreviewDate": "Kjo paraparje bazohet nรซ tรซ dhรซnat e %s.", + "PreviewReport": "Paraparje raporti", + "PreviewReportExceedsMaximumTimeFrameValueAllowed": "Intervali kohor maksimum pรซr paraparje raporti sโ€™mund tรซ jetรซ > 24 orรซ.", + "PreviewReportInvalidTimeFrameValues": "Pรซr paraparje raporti janรซ vรซnรซ vlera tรซ pavlefshme intervalesh kohorรซ, vlerat e lejuara janรซ sekonda, minuta, orรซ dhe ditรซ.", + "PreviewSupportsDimension": "Hรซpรซrhรซ paraparja mbulon deri nรซ %s pรซrmasa.", + "ProductsWithX": "Produkte me %s", + "QuotaReachedForX": "Keni mbรซrritur nรซ kufirin e kuotรซs tuaj. Sโ€™arrihet tรซ kopjohet %1$s, pรซr shkak tejkalimi pรซrdorimi. Qรซ tรซ administroni kuotรซn tuaj, shihni mundรซsinรซ e fshirjes sรซ %2$s tรซ papรซrdorur, ose mรซ pak kritike.", + "RemoveDimension": "Hiqe pรซrmasรซn", + "RemoveMetric": "Hiqe matjen", + "RemovedMetrics": "Kรซto vlera u hoqรซn, ngaqรซ sโ€™mund tรซ pรซrllogariten saktรซ pรซr kรซtรซ periudhรซ: %s.", + "ReportAllWebsitesHelp": "Pรซrzgjidhni sajtin pรซr tรซ cilin duhet tรซ jepet ky raport. Mund tรซ shtoni edhe โ€œKrejt sajtetโ€, pรซr ta bรซrรซ kรซtรซ raport tรซ pรซrdorshรซm nรซ krejt sajtet tuaj (dhe nรซ sajte qรซ do tรซ krijohen nรซ tรซ ardhmen).", + "ReportAllWebsitesNonSuperUserHelp": "Pรซrzgjidhni sajtin pรซr tรซ cilin duhet tรซ prodhohet ky raport.", + "ReportAvailableToAllWebsites": "Ky raport mund tรซ kihet pรซr krejt sajtet.", + "ReportAvailableToMultipleWebsites": "Ky raport รซshtรซ i passhรซm pรซr shumรซ sajte.", + "ReportCategory": "Kategori raporti", + "ReportCategoryHelp": "Pรซrzgjidhni kategorinรซ kryesore tรซ raporteve nรซn tรซ cilรซn do tรซ ofrohet ky raport te menuja e raportimeve.", + "ReportContent": "Lรซndรซ raporti", + "ReportCreated": "Raporti u krijua me sukses.", + "ReportDescriptionHelp": "Njรซ pรซrshkrim opsional pรซr raportin tuaj, qรซ do tรซ shfaqet kur klikoni mbi tekstin e ikonรซs, nรซ krah tรซ titullit tรซ raportit. Pรซr shembull, mund tรซ donit tรซ shfaqej qรซllimi i kรซtij raporti.", + "ReportDimensionsHelpExtended": "Nรซse ju duhen pรซrmasa shtesรซ, mund tรซ rritni kufirin. %1$sMรซsoni mรซ tepรซr%2$s.", + "ReportDimensionsHelpNew": "Njรซ pรซrmasรซ zakonisht pรซrshkruan karakteristika dhe shfaqet zakonisht nรซ shtyllรซn e parรซ tรซ njรซ raporti. Mund tรซ pรซrzgjidhni pรซrmasa tรซ shumta (p.sh., Shfletues, Vend, Qytet). Duhet pรซrzgjedhur tรซ paktรซn njรซ pรซrmasรซ.", + "ReportEditNotAllowedAllWebsitesUpdated": "Ngaqรซ ky raport mund tรซ kihet pรซr krejt sajtet, vetรซm njรซ pรซrdorues me leje superpรซrdoruesi mund ta ndryshojรซ kรซtรซ raport.", + "ReportEditNotAllowedMultipleWebsitesAccessIssue": "Ngaqรซ ky raport mund tรซ kihet pรซr sajte tรซ shumtรซ, vetรซm njรซ superpรซrdorues, ose njรซ pรซrgjegjรซs me leje mbi krejt sajtet e pรซrfshirรซ nรซ raport mund ta ndryshojรซ.", + "ReportHasFilterApplied": "Mbi kรซtรซ raport รซshtรซ aplikuar filtri vijues: %s.", + "ReportInPausedStateAdmin": "Ky raport รซshtรซ ndalur. Sโ€™do tรซ kryhet arkivim, para se raporti tรซ jetรซ rinisur. Qรซ tรซ rinisni raportin, kaloni te %1$sAdministroni Raporte%2$s dhe klikoni Luaje, pรซr raportin e pรซrzgjedhur.", + "ReportMetricsHelp": "Matjet janรซ matje sasiore. Pรซr shembull, nรซse doni tรซ shtoni trafikun nรซ sajtin tuaj, pรซrfshini โ€œVizitaโ€, nรซse po merreni me funksionimin e sajtit tuaj, pรซrfshini โ€œKohรซ Mesatare Prodhimiโ€.", + "ReportName": "Emรซr raporti", + "ReportNameHelp": "Pรซrcakton emrin me tรซ cilin do tรซ jepet ky raport.", + "ReportPage": "Faqe raporti", + "ReportSegmentHelp": "Njรซ filtรซr ju lejon ta shihni kรซtรซ raport vetรซm pรซr njรซ nรซngrup vizitorรซsh. Pรซr shembull, mund ta filtroni kรซtรซ raport vetรซm pรซr pรซrdorues me pajisje celulare.", + "ReportSubcategory": "Nรซnkategori raportesh", + "ReportSubcategoryHelp": "Nรซ daรงi, mund ta shtoni kรซtรซ raport te cilado faqe ekzistuese raportimi. Nรซse nuk zgjidhni njรซ nรซnkategori, do tรซ krijohet njรซ faqe e re raportimi nรซn kategorinรซ e pรซrzgjedhur, duke pรซrdorur emrin e raportit.", + "ReportType": "Lloj raporti", + "ReportUpdated": "Raporti u pรซrditรซsua me sukses.", + "ResumeExceptionMessage": "Sโ€™riniset dot raporti, sajti sโ€™pรซrputhet", + "ResumeReportConfirm": "Kur rinisni kรซtรซ raport, arkivimi do tรซ rinisรซ nga sot. Jeni i sigurt se doni tรซ riniset ky raport vetjak?", + "ResumeReportInfo": "Kur rinisni kรซtรซ raport, arkivimi do tรซ rifillojรซ nga sot.", + "ResumedReport": "Raporti u rinis me sukses.", + "SelectMeasurablesMatchingSearch": "ose shtoni krejt tรซ matshmit qรซ pรซrmbajnรซ termin vijues tรซ kรซrkimit", + "SourceCustomReportLookupError": "Pati njรซ gabim tรซ papritur me kรซrkimin e raportit vetjak burim. Ju lutemi, riprovoni. Nรซse problemi vazhdon, lidhuni me pรซrgjegjรซsin tuaj, ose me asistencรซn.", + "Type": "Lloj", + "Unlock": "Shkyรงe", + "UpdatingData": "Po pรซrditรซsohen tรซ dhรซnaโ€ฆ", + "ViewReportInfo": "Shiheni raportin", + "WarningOnUpdateReportMightGetLost": "Kur e pรซrditรซsoni kรซtรซ raport vetjak, raportet e prodhuar mรซ herรซt pรซr kรซtรซ raport vetjak sโ€™do tรซ mund tรซ kihen mรซ.", + "WarningOnUpdateReportMightGetLostBrowserArchivingDisabled": "Kur pรซrditรซsoni kรซtรซ raport vetjak, raporte tรซ prodhuar mรซ parรซ do tรซ jenรซ tรซ papรซrdorshรซm dhe tรซ dhรซnat pรซr %1$s muajt e fundit do tรซ riprodhohen.", + "WarningProductRevenueMetricDependency": "Vlerat pรซr โ€œTรซ Ardhura Produktiโ€ lypin nรซ tรซ njรซjtin raport njรซ vlerรซ shoqรซruese โ€œSasi Produktiโ€. Vlera shoqรซruese รซshtรซ shtuar automatikisht. %1$sMรซsoni mรซ tepรซr%2$s.", + "WarningRequiresUnlock": "Qรซ tรซ mund tรซ bรซni ndryshime te lรซnda e kรซtij raporti, lypset ta โ€œshkyรงniโ€ kรซtรซ raport. Kur bรซni ndryshime te formรซsimi i raportit dhe e pรซrditรซsoni kรซtรซ raport, lypset tรซ riprodhohen tรซ dhรซna tรซ reja raporti dhe tรซ dhรซnat e prodhuara mรซ herรซt pรซr kรซtรซ raport sโ€™do tรซ mund tรซ kihen mรซ.", + "WarningRequiresUnlockBrowserArchivingDisabled": "Qรซ tรซ mund tรซ bรซni ndryshime te lรซnda e kรซtij raporti, duhet ta โ€œshkyรงniโ€ kรซtรซ raport. Kur bรซni ndryshime te formรซsimi i raporteve dhe pรซrditรซsoni kรซtรซ raport, tรซ dhรซna tรซ reja raportimi pรซr %1$s muajt e fundit do tรซ riprodhohen dhe tรซ dhรซnat e prodhuara mรซ herรซt pรซr kรซtรซ raport sโ€™do tรซ mund kihen mรซ.", + "WebsiteName": "Emรซr sajti" + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/sr.json b/files/plugin-CustomReports-5.5.0/lang/sr.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/sr.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/sv.json b/files/plugin-CustomReports-5.5.0/lang/sv.json new file mode 100644 index 0000000..499bc19 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/sv.json @@ -0,0 +1,100 @@ +{ + "CustomReports": { + "AddDimension": "Lรคgg till dimension", + "AddMetric": "Lรคgg till mรคtvรคrde", + "ApplyTo": "Tillรคmpa pรฅ", + "AvailableAllWebsites": "Tillgรคnglig fรถr alla webbplatser", + "Category": "Kategori", + "CommonUniqueMetric": "Summan av %1$s", + "CommonUniqueMetricDescription": "%1$s. Nรคr du tittar pรฅ en period som inte รคr en dag kommer det hรคr mรคtvรคrdet att bli \"Summan av %2$s\". I de fallen, om samma %3$s finns fรถr 2 eller fler dagar inom den valda perioden kommer det rรคknas som 2 eller det totala antalet dagar det fanns, och inte som 1.", + "ConfirmUnlockReport": "ร„r du sรคker pรฅ att du vill lรฅsa upp denna rapport? Nรคr du uppdaterar rapportens innehรฅll kommer tidigare skapat data fรถr rapporten att bli oรฅtkomliga.", + "ConfirmUnlockReportBrowserArchivingDisabled": "ร„r du sรคker pรฅ att vill lรฅsa upp rapporten? Nรคr du uppdaterar denna rapport kommer tidigare genererade rapporter fรถr denna anpassade rapport att bli oรฅtkomliga och rapporter fรถr de senaste %1$s mรฅnaderna kommer รฅterskapas.", + "ContentImpressions": "Innehรฅllsexponeringar", + "CreateNewReport": "Skapa ny rapport", + "CustomReport": "Anpassas rapport", + "CustomReportIntroduction": "Anpassade rapporter lรฅter dig skapa nya rapporter fรถr att dra nya insikter som inte รคr mรถjliga med standardrapporterna. Du vรคljer dimensioner (som \"Typ av enhet\" och \"Webblรคsare\") och mรคtetal (som \"Antal besรถkare\" och \"Avvisningsfrekvens\") och hur de ska visas fรถr att ge den unikt agerbara och meningsfulla data du behรถver.", + "CustomReports": "Anpassade rapporter", + "DeleteReportConfirm": "ร„r du sรคker pรฅ att du vill radera denna anpassade rapport? Tidigare genererade rapporter kommer inte lรคngre vara รฅtkomliga via anvรคndargrรคnssnittet fรถr rapporter.", + "DeleteReportInfo": "Nรคr du raderar rapporten kommer dess rapportdata bli oรฅtkomligt och du kan inte รฅngra denna รฅtgรคrd i efterhand.", + "Dimension": "Dimension", + "Dimensions": "Dimensioner", + "EditReport": "Redigera rapport", + "ErrorArrayMissingItem": "Saknar ett vรคrde i \"%1$s\" i array, vid position \"%2$s\".", + "ErrorDuplicateItem": "Det gรฅr inte att anvรคnda samma %s mer รคn en gรฅng.", + "ErrorInvalidDimension": "Dimensionen %1$s stรถds inte i anpassade rapporter.", + "ErrorInvalidMultipleIdSite": "Fรถr multipla site-id, site-id:%1$s bรถr lรคggas till listan.", + "ErrorInvalidSubCategoryReport": "Felaktigt rapport-id fรถr underkategori.", + "ErrorInvalidValueInArray": "Angivna \"%1$s\" vid position \"%2$s\" existerar inte.", + "ErrorMissingDimension": "ร…tminstone en dimension behรถver vรคljas.", + "ErrorMissingMetric": "ร…tminstone ett mรคtvรคrde mรฅste vรคljas.", + "ErrorNotAnArray": "\"%1$s\" behรถver vara en array.", + "ErrorProductRevenueMetricDependency": "Produktens mรคtetal fรถr inkomst behรถver i samma rapport ocksรฅ ha ett kvantitativt mรคtetal.", + "ErrorReportDoesNotExist": "Den anpassade rapporten finns inte fรถr denna webbplats. Vรคnligen kontrollerade att webbplatsen รคr korrekt.", + "ErrorReportNameDuplicate": "Rapportnamnet anvรคnds redan av en annan rapport.", + "ErrorTooManyDimension": "Fรถr mรฅnga dimensioner รคr valda. Maximalt %s dimensioner kan anvรคndas.", + "ErrorXNotProvided": "Vรคnligen ange att vรคrde fรถr \"%1$s\".", + "ErrorXNotWhitelisted": "Vรคrdet fรถr \"%1$s\" รคr inte tillรฅtet, anvรคnd en av: %2$s.", + "ErrorXTooLong": "\"%1$s\" รคr fรถr lรฅngt, maximalt %2$s tecken tillรฅts.", + "FieldDescriptionPlaceholder": "'Antalet besรถkare per land'", + "FieldNamePlaceholder": "'Besรถkare per land'", + "Filter": "Filter", + "FindMeasurables": "Hitta uppgifter", + "InfoReportIsLocked": "Rapporten รคr fรถr nรคrvarande lรฅst och du behรถver bekrรคfta genom att \"lรฅsa upp\" rapporten. Nรคr du gรถr รคndringar till rapporten och uppdaterar den kommer nya rapportdata att behรถva genereras och tidigare genererade rapporter fรถr den hรคr anpassade rapporten blir oรฅtkomliga.", + "InfoReportIsLockedBrowserArchivingDisabled": "Rapporten รคr fรถr nรคrvarande lรฅst och du behรถver bekrรคfta genom att \"lรฅsa upp\" rapporten. Nรคr du gรถr รคndringar i denna rapport och uppdaterar den kommer ny rapportdata genereras fรถr de senaste %1$s mรฅnaderna och tidigare skapade rapporter fรถr denna anpassade rapport kommer bli oรฅtkomliga.", + "ManageReports": "Hantera rapporter", + "ManageReportsSubcategoryHelp": "Anpassade rapporter lรฅter dig skapa nya rapporter fรถr att dra insikter som inte รคr mรถjliga med standardrapporterna. Den hรคr sektionen lรฅter di skapa och hantera Anpassade Rapporter fรถr din webbplats.", + "MatchingSearchConfirmTitle": "ร„r du sรคker pรฅ att du vill lรคgga till %s som matchar uppgifterna?", + "MatchingSearchConfirmTitleAlreadyAdded": "%s matchande uppgifter har redan lagts till", + "MatchingSearchMatchedAdd": "Dessa %1$s uppgifter matchade %2$s och kommer lรคggas till denna anpassade rapport", + "MatchingSearchMatchedAlreadyAdded": "Dessa %1$s uppgifter matchade %2$s men var redan tillagda i denna anpassade rapport", + "MatchingSearchNotFound": "Det finns ingen uppgift som matchar sรถkfrasen %s.", + "NCustomReports": "%s anpassade rapporter", + "NoCustomReportsFound": "Ingen anpassad rapport hittad", + "NoDataNotArchivedYet": "Dรฅ rapporten skapades eller uppdaterades nyligen kan det ta nรฅgra timmar fรถr data att synas fรถr innevarande dags rapport. Rapportdata fรถr datum fรถre rapportens skapande kommer inte att bli รฅtkomliga.", + "NoDataNotArchivedYetReprocess": "Dock kan en systemadministratรถr tvinga Matomo att %1$sรฅterbearbeta rapporter%2$s fรถr att gรถra historiska data รฅtkomliga.", + "NoDataRemovedMetrics": "Inga data visas dรฅ denna rapport endast innehรฅller mรคtvรคrden som inte stรถds av den valda perioden (%s).", + "NoMeasurableAssignedYet": "Inga uppgifter har tilldelats รคnnu, vรคnligen vรคlj en uppgift frรฅn ovanstรฅende alternativ.", + "OrderSubCategoryReports": "Ordningen av underkategorirapporter", + "OrderSubCategoryReportsDescription": "Valfritt: Justera ordningen fรถr underkategorier som visas fรถr denna anpassade rapport.", + "Preview": "Fรถrhandsgranska", + "PreviewDate": "Fรถrhandsgranskningen รคr baserad pรฅ data frรฅn %s.", + "PreviewReport": "Fรถrhandsgranska rapport", + "PreviewSupportsDimension": "Fรถrhandsgranskningen stรถder upp till %s dimensioner.", + "ProductsWithX": "Produkter med %s", + "RemoveDimension": "Ta bort dimension", + "RemoveMetric": "Ta bort mรคtvรคrde", + "RemovedMetrics": "Dessa mรคtvรคrden togs bort fรถr att de inte kan berรคknas korrekt fรถr perioden: %s.", + "ReportAllWebsitesHelp": "Vรคlj webbplats denna rapport ska vara tillgรคnglig fรถr. Du kan ocksรฅ vรคlja \"Alla webbplatser\" fรถr att gรถra rapporten tillgรคnglig fรถr alla webbplatser (inklusive de som skapas i framtiden).", + "ReportAllWebsitesNonSuperUserHelp": "Vรคlj vilken webbplats rapporten ska vara รฅtkomlig fรถr.", + "ReportAvailableToAllWebsites": "Rapporten รคr tillgรคnglig fรถr alla webbplatser.", + "ReportAvailableToMultipleWebsites": "Rapport รคr รฅtkomlig fรถr flera webbplatser.", + "ReportCategory": "Raportkategori", + "ReportCategoryHelp": "Vรคlj huvudsaklig kategori dรคr denna rapport ska visas i rapportmenyn.", + "ReportContent": "Rapportinnehรฅll", + "ReportCreated": "Rapporten skapades lyckosamt.", + "ReportDescriptionHelp": "En valfri beskrivning fรถr din rapport, vilket visas upp om du klickar pรฅ hjรคlpikonen bredvid rapportens titel. Exempelvis kan du ange syftet med denna rapport.", + "ReportEditNotAllowedAllWebsitesUpdated": "Eftersom denna rapport รคr รฅtkomlig fรถr alla webbplatser kan endast en anvรคnder med superuser-รฅtkomst redigera rapporten.", + "ReportEditNotAllowedMultipleWebsitesAccessIssue": "Eftersom denna rapport รคr รฅtkomlig fรถr ett flertal webbplatser kan endast en anvรคnder med superuser-รฅtkomst redigera rapporten.", + "ReportHasFilterApplied": "Denna rapport har fรถljande filtreringar: %s.", + "ReportMetricsHelp": "Mรคtvรคrden รคr kvantitativa mรฅtt. Exempelvis, om du vill รถka trafiken pรฅ din webbplats lรคgger du till \"Besรถk\", om du fรถrbรคttrar hastigheten pรฅ webbplatsen lรคgger du till \"Genomsnittlig servertid\".", + "ReportName": "Rapportnamn", + "ReportNameHelp": "Anger namnet dรคr denna rapport kommer visas.", + "ReportPage": "Rapportsida", + "ReportSegmentHelp": "Ett filter lรฅter dig se rapporten fรถr en delmรคngd av dina besรถkare. Exempelvis kan du filtrera denna rapport enbart mobilanvรคndare.", + "ReportSubcategory": "Rapportens underkategori", + "ReportSubcategoryHelp": "Valfritt: Du kan lรคgga denna rapport till en befintlig rapportsida. Ifall du inte vรคljer underkategori kommer en ny rapportsida att skapas under rapportkategorin med rapportens namn.", + "ReportType": "Typ av rapport", + "ReportUpdated": "Rapporten har blivit uppdaterad.", + "SelectMeasurablesMatchingSearch": "eller lรคgg till alla uppgifter som innehรฅller fรถljande sรถkfras", + "Type": "Typ", + "Unlock": "Lรฅs upp", + "UpdatingData": "Uppdaterar dataโ€ฆ", + "ViewReportInfo": "Se rapport", + "WarningOnUpdateReportMightGetLost": "Nรคr du uppdaterar denna anpassade rapport kommer tidigare data i rapporten att bli oรฅtkomlig.", + "WarningOnUpdateReportMightGetLostBrowserArchivingDisabled": "Nรคr du uppdaterar denna anpassade rapport kommer tidigare genererade rapporter att bli oรฅtkomliga och rapporter fรถr de senaste %1$s mรฅnaderna kommer att รฅterskapas.", + "WarningProductRevenueMetricDependency": "Produktens mรคtetal fรถr inkomst behรถver i samma rapport ocksรฅ ha ett kvantitativt mรคtetal. Ett sรฅdant mรคtetal lades till automatiskt. %1$sLรคr dig mer%2$s.", + "WarningRequiresUnlock": "Fรถr att gรถra รคndringar till rapportens innehรฅll behรถver rapporten \"lรฅsas upp\". Nรคr du gรถr รคndringar i rapportens konfiguration och uppdaterar den behรถver nya rapportdata genereras och tidigare rapportdata kommer inte lรคngre vara tillgรคngligt.", + "WarningRequiresUnlockBrowserArchivingDisabled": "Fรถr att gรถra รคndringar i denna rapport behรถver du \"lรฅsa upp\" den. Nรคr du รคndrar rapportens konfiguration och uppdaterar rapporten kommer nya rapportdata fรถr de senaste %1$s mรฅnaderna att รฅterskapas och tidigare genererade rapporter fรถr denna anpassade rapport kommer inte lรคngre vara รฅtkomliga.", + "WebsiteName": "Webbplatsnamn" + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/ta.json b/files/plugin-CustomReports-5.5.0/lang/ta.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/ta.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/te.json b/files/plugin-CustomReports-5.5.0/lang/te.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/te.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/th.json b/files/plugin-CustomReports-5.5.0/lang/th.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/th.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/tl.json b/files/plugin-CustomReports-5.5.0/lang/tl.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/tl.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/tr.json b/files/plugin-CustomReports-5.5.0/lang/tr.json new file mode 100644 index 0000000..2a7b952 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/tr.json @@ -0,0 +1,128 @@ +{ + "CustomReports": { + "ActivityReportAddedDescription": "\"%2$s\" sitesi iรงin \"%1$s\" รถzel raporunu ekledi", + "ActivityReportDeletedDescription": "\"%2$s\" sitesi iรงin \"%1$s\" raporunu sildi", + "ActivityReportPausedDescription": "\"%2$s\" sitesi iรงin \"%1$s\" raporunu duraklattฤฑ", + "ActivityReportResumedDescription": "\"%2$s\" sitesi iรงin \"%1$s\" raporunu sรผrdรผrdรผ", + "ActivityReportUpdatedDescription": "\"%2$s\" sitesi iรงin \"%1$s\" raporunu gรผncelledi", + "AddDimension": "Boyut ekle", + "AddMetric": "ร–lรงรผm ekle", + "ApplyTo": "ลžuna uygula", + "AvailableAllWebsites": "Tรผm siteler iรงin kullanฤฑlabilir", + "Category": "Kategori", + "CommonUniqueMetric": "%1$s toplamฤฑ", + "CommonUniqueMetricDescription": "%1$s. Gรผn olmayan bir dรถnem gรถrรผntรผlenirken, bu รถlรงรผm \"%2$s toplamฤฑ\" ลŸeklinde olur. Bรถyle bir durumda, aynฤฑ %3$s, seรงilmiลŸ sรผre iรงinde 2 veya daha fazla gรผnde gรถrรผntรผleniyorsa, 1 deฤŸil, 2 veya gรถrรผndรผฤŸรผ toplam gรผn sayฤฑsฤฑ olarak sayฤฑlฤฑr.", + "ConfirmUnlockReport": "Bu raporun kilidini aรงmak istediฤŸinize emin misiniz? Bu รถzel raporu gรผncellediฤŸinizde, bu รถzel rapor iรงin daha รถnce รผretilmiลŸ raporlar kullanฤฑlamayacak.", + "ConfirmUnlockReportBrowserArchivingDisabled": "Bu raporun kilidini aรงmak istediฤŸinize emin misiniz? Bu รถzel raporun iรงeriฤŸini gรผncellediฤŸinizde, daha รถnce รผretilmiลŸ raporlar kullanฤฑlamayacak ve son %1$s ayฤฑn raporlarฤฑ yeniden รผretilecek.", + "ContentImpressions": "ฤฐรงerik gรถsterimleri", + "CreateNewReport": "Yeni rapor ekle", + "CustomReport": "ร–zel rapor", + "CustomReportCopied": "ร–zel rapor kopyalandฤฑ.", + "CustomReportDuplicationError": "ฤฐลŸlem tamamlanmadฤฑ. ร–zel rapor seรงilmiลŸ tรผm sitelere kopyalanamadฤฑ.", + "CustomReportDuplicationSiteTypeError": "Kopyalama รถzelliฤŸi sitelerde desteklenmiyor: %1$s.", + "CustomReportIntroduction": "ร–zel raporlar, standart raporlarda bulunmayan yeni bakฤฑลŸ aรงฤฑlarฤฑ oluลŸturmanฤฑzฤฑ saฤŸlar. Boyutlarฤฑ (\"Aygฤฑt tรผrรผ\" ve \"Tarayฤฑcฤฑ\" gibi) ve รถlรงรผmleri (\"Ziyaretรงi sayฤฑsฤฑ\" ve \"Geri dรถnรผลŸ oranฤฑ\" gibi) ve nasฤฑl gรถrรผneceฤŸini seรงerek eลŸsiz ve iลŸinize yarayacak veriler elde edebilirsiniz.", + "CustomReports": "ร–zel raporlar", + "DeleteExceptionMessage": "Rapor silinemedi. Site eลŸleลŸmiyor", + "DeleteReportConfirm": "Bu รถzel raporu silmek istediฤŸinize emin misiniz? Daha รถnce รผretilmiลŸ raporlar kullanฤฑcฤฑ arayรผzรผndeki raporlar bรถlรผmรผnde gรถrรผntรผlenmeyecek.", + "DeleteReportInfo": "Bu raporu sildiฤŸinizde ilgili raporlar artฤฑk kullanฤฑlamayacak ve bu iลŸlem geri alฤฑnamayacak.", + "Dimension": "Boyut", + "Dimensions": "Boyutlar", + "EditReport": "Raporu dรผzenle", + "ErrorArrayMissingItem": "\"%1$s\" dizisinde \"%2$s\" konumundaki deฤŸer eksik.", + "ErrorCustomReportDoesNotExist": "ฤฐstenilen รถzel rapor bulunamadฤฑ", + "ErrorDuplicateItem": "Aynฤฑ %s birden รงok kez kullanฤฑlamaz.", + "ErrorInvalidDimension": "ร–zel Raporlar iรงinde %1$s boyutu desteklenmiyor.", + "ErrorInvalidMultipleIdSite": "Birden fazla site kimliฤŸi iรงin, listeye idsite:%1$s eklenmelidir.", + "ErrorInvalidSubCategoryReport": "Alt kategori rapor kimlikleri geรงersiz.", + "ErrorInvalidValueInArray": "\"%2$s\" konumunda belirtilen \"%1$s\" bulunamadฤฑ.", + "ErrorMissingDimension": "En az bir boyut seรงilmelidir.", + "ErrorMissingMetric": "En az bir รถlรงรผm seรงilmelidir.", + "ErrorNotAnArray": "\"%1$s\" bir dizi olmalฤฑdฤฑr.", + "ErrorProductRevenueMetricDependency": "รœrรผn geliri รถlรงรผmleri iรงin aynฤฑ raporda eลŸlik edecek bir รผrรผn adeti รถlรงรผmรผ gereklidir.", + "ErrorReportDoesNotExist": "Bu site iรงin istenilen รถzel rapor bulunamadฤฑ. Lรผtfen sitenin doฤŸru olduฤŸundan emin olun.", + "ErrorReportNameDuplicate": "Aynฤฑ adฤฑ kullanan baลŸka bir rapor zaten var.", + "ErrorTooManyDimension": "ร‡ok fazla boyut seรงilmiลŸ. En fazla %s boyut kullanฤฑlabilir.", + "ErrorXNotProvided": "Lรผtfen \"%1$s\" iรงin bir deฤŸer yazฤฑn.", + "ErrorXNotWhitelisted": "\"%1$s\" deฤŸeri kullanฤฑlamaz. ลžunlardan birini kullanฤฑn: %2$s.", + "ErrorXTooLong": "\"%1$s\" รงok uzun. ฤฐzin verilen en fazla karakter sayฤฑsฤฑ %2$s.", + "FieldDescriptionPlaceholder": "ร–rnek: 'รœlkelere gรถre ziyaretรงi sayฤฑlarฤฑ'", + "FieldNamePlaceholder": "ร–rnek: 'รœlkelere gรถre ziyaretรงiler'", + "Filter": "Sรผzgeรง", + "FindMeasurables": "ร–lรงรผlebilir arama", + "InfoReportIsLocked": "Bu rapor ลŸu anda kilitli ve \"kilidini aรงmayฤฑ\" onaylamanฤฑz gerekiyor. Rapor yapฤฑlandฤฑrmasฤฑnฤฑ deฤŸiลŸtirip gรผncelledikten sonra, yeni rapor verilerinin รผretilmesi gerekir ve daha รถnce รผretilmiลŸ raporlar artฤฑk kullanฤฑlamaz.", + "InfoReportIsLockedBrowserArchivingDisabled": "Bu rapor ลŸu anda kilitli ve \"kilidini aรงmayฤฑ\" onaylamanฤฑz gerekiyor. Rapor yapฤฑlandฤฑrmasฤฑnฤฑ deฤŸiลŸtirip gรผncelledikten sonra, son %1$s ayฤฑn yeni rapor verileri yeniden รผretilecek ve daha รถnce รผretilmiลŸ raporlar artฤฑk kullanฤฑlamayacak.", + "ManageReports": "Rapor yรถnetimi", + "ManageReportsSubcategoryHelp": "ร–zel raporlar, standart raporlarฤฑn sunmadฤฑฤŸฤฑ yeni bakฤฑลŸ aรงฤฑlarฤฑnฤฑn elde edilmesini saฤŸlar. Site iรงin รถzel raporlar bu bรถlรผmden eklenip yรถnetilebilir.", + "MatchingSearchConfirmTitle": "EลŸleลŸen %s รถlรงรผlebiliri eklemek istediฤŸinize emin misiniz?", + "MatchingSearchConfirmTitleAlreadyAdded": "%s eลŸleลŸen รถlรงรผlebilir zaten eklenmiลŸ", + "MatchingSearchMatchedAdd": "Bu %1$s รถlรงรผlebilir %2$s ile eลŸleลŸti ve bu รถzel rapora eklenecek", + "MatchingSearchMatchedAlreadyAdded": "Bu %1$s รถlรงรผlebilir %2$s ile eลŸleลŸti ancak zaten bu รถzel rapora eklenmiลŸ", + "MatchingSearchNotFound": "%s ifadesine uyan bir รถlรงรผlebilir yok.", + "NCustomReports": "%s รถzel rapor", + "NoCustomReportsFound": "Herhangi bir รถzel rapor bulunamadฤฑ", + "NoDataMessagePausedStateAdminUser": "Bu rapor duraklatฤฑlmฤฑลŸ. Rapor sรผrdรผrรผlene kadar yeni veriler bulunmayacak. Raporu sรผrdรผrmek iรงin, %1$sRapor yรถnetimi%2$s bรถlรผmรผne gidin ve seรงilmiลŸ rapor iรงin Oynat รผzerine tฤฑklayฤฑn.", + "NoDataMessagePausedStateNonAdminUser": "Bu rapor duraklatฤฑlmฤฑลŸ. Rapor sรผrdรผrรผlene kadar yeni veriler bulunmayacak. Rapor iรงin izinlere gerek duyuyorsanฤฑz, lรผtfen Matomo sรผper kullanฤฑcฤฑnฤฑzla gรถrรผลŸรผn.", + "NoDataNotArchivedYet": "Rapor yakฤฑn zamanda eklenmiลŸ ya da gรผncellenmiลŸ ise verilerin gรผnlรผk raporlar bรถlรผmรผnde gรถrรผlebilmesi iรงin bir kaรง saat geรงmesi gerekebilir. Raporun eklenme tarihinden รถnceki tarihlere ait veriler kullanฤฑlamaz.", + "NoDataNotArchivedYetReprocess": "Bununla birlikte bir sistem yรถneticisi Matomo รผzerinde %1$sraporlarฤฑ yeniden iลŸleyerek%2$s bu verilerin kullanฤฑlabilmesini saฤŸlayabilir.", + "NoDataRemovedMetrics": "Bu rapor, yalnฤฑzca seรงilmiลŸ aralฤฑk (%s) tarafฤฑndan desteklenmeyen รถlรงรผmleri iรงerdiฤŸinden herhangi bir veri gรถrรผntรผlenemiyor.", + "NoMeasurableAssignedYet": "Henรผz bir รถlรงรผlebilir atanmamฤฑลŸ, lรผtfen yukarฤฑdaki seรงiciden bir รถlรงรผlebilir seรงin.", + "NoSegmentationJoinExceptionMessage": "Geรงerli boyut sฤฑralamasฤฑ veya kombinasyonu uyumlu deฤŸil. %1$sAyrฤฑntฤฑlฤฑ bilgi alฤฑn%2$s.", + "OrderSubCategoryReports": "Alt kategori raporlarฤฑ sฤฑralamasฤฑ", + "OrderSubCategoryReportsDescription": "ฤฐsteฤŸe baฤŸlฤฑ: Bu รถzel rapor gรถrรผntรผlenirken alt kategorilerin gรถrรผntรผlenme sฤฑralamasฤฑnฤฑ ayarlayฤฑn.", + "PauseExceptionMessage": "Rapor duraklatฤฑlamadฤฑ. Site eลŸleลŸmiyor", + "PauseReportConfirm": "Bu raporu duraklatmak, raporun arลŸivlenmesini siz yeniden raporu baลŸlatana kadar durdurur. Bu raporu duraklatmak istediฤŸinize emin misiniz?", + "PauseReportInfo": "Bu raporu duraklatmak, siz yeniden baลŸlatana kadar raporun arลŸivlenmesini durdurur.", + "PausedReport": "Rapor duraklatฤฑldฤฑ.", + "Preview": "ร–n izleme", + "PreviewDate": "Bu รถn izleme %s verilerine gรถre hazฤฑrlanmฤฑลŸtฤฑr.", + "PreviewReport": "Rapor รถn izlemesi", + "PreviewReportExceedsMaximumTimeFrameValueAllowed": "Rapor รถn izlemesi iรงin en fazla zaman aralฤฑฤŸฤฑ 24 saatten bรผyรผk olamaz.", + "PreviewReportInvalidTimeFrameValues": "Rapor รถn izlemesi iรงin ayarlanmฤฑลŸ zaman aralฤฑฤŸฤฑ deฤŸerleri geรงersiz. Saniye, dakika, saat ve gรผn deฤŸerlerine izin verilir.", + "PreviewSupportsDimension": "ร–n izlemede en รงok %s boyut gรถrรผntรผlenebilir.", + "ProductsWithX": "%s ile รผrรผnler", + "QuotaReachedForX": "Kota sฤฑnฤฑrฤฑnฤฑza ulaลŸtฤฑnฤฑz. Kullanฤฑm aลŸฤฑmฤฑ nedeniyle %1$s kopyalanamฤฑyor. Kotanฤฑzฤฑ yรถnetmek iรงin kullanฤฑlmayan veya daha az รถnemli %2$s รถgesini silmeyi deฤŸerlendirin.", + "RemoveDimension": "Boyutu kaldฤฑr", + "RemoveMetric": "ร–lรงรผmรผ kaldฤฑr", + "RemovedMetrics": "%s aralฤฑฤŸฤฑ iรงin doฤŸru hesaplanamadฤฑฤŸฤฑndan bu รถlรงรผmler รงฤฑkarฤฑldฤฑ.", + "ReportAllWebsitesHelp": "Bu raporun hangi siteler iรงin kullanฤฑlacaฤŸฤฑnฤฑ belirtin. Bu raporun tรผm sitelerde kullanฤฑlabilmesi iรงin \"Tรผm siteler\" olarak da seรงebilirsiniz (gelecekte eklenecek siteler dahil).", + "ReportAllWebsitesNonSuperUserHelp": "Bu raporun kullanฤฑlabileceฤŸi siteyi seรงin.", + "ReportAvailableToAllWebsites": "Bu rapor tรผm siteler iรงin kullanฤฑlabilir.", + "ReportAvailableToMultipleWebsites": "Bu rapor, birden รงok site iรงin kullanฤฑlabilir.", + "ReportCategory": "Rapor kategorisi", + "ReportCategoryHelp": "Bu raporun, rapor menรผsรผnde hangi ana kategori altฤฑnda bulunacaฤŸฤฑnฤฑ belirtin.", + "ReportContent": "Rapor iรงeriฤŸi", + "ReportCreated": "Rapor eklendi.", + "ReportDescriptionHelp": "Rapor baลŸlฤฑฤŸฤฑnฤฑn yanฤฑndaki yardฤฑm simgesine tฤฑklandฤฑฤŸฤฑnda gรถrรผntรผlenecek isteฤŸe baฤŸlฤฑ aรงฤฑklama. Raporun amacฤฑnฤฑ aรงฤฑklayan bilgiler yazฤฑlabilir.", + "ReportDimensionsHelpExtended": "Ek boyutlara gerek duyuyorsanฤฑz, sฤฑnฤฑrฤฑ artฤฑrabilirsiniz. %1$sAyrฤฑntฤฑlฤฑ bilgi alฤฑn%2$s.", + "ReportDimensionsHelpNew": "Bir boyut genellikle รถzellikleri tanฤฑmlar ve bir raporun ilk sรผtununda gรถrรผntรผlenir. Birden fazla boyut seรงebilirsiniz (Tarayฤฑcฤฑ, รœlke, ฤฐl gibi). En az bir boyut seรงilmelidir.", + "ReportEditNotAllowedAllWebsitesUpdated": "Bu rapor tรผm siteler iรงin kullanฤฑlabileceฤŸinden, yalnฤฑzca sรผper kullanฤฑcฤฑ izinlerine sahip bir kullanฤฑcฤฑ bu raporu dรผzenleyebilir.", + "ReportEditNotAllowedMultipleWebsitesAccessIssue": "Bu rapor birden รงok site iรงin kullanฤฑlabileceฤŸinden, yalnฤฑzca tรผm sitelere eriลŸimi olan bir sรผper kullanฤฑcฤฑ veya yรถnetici onu deฤŸiลŸtirebilir.", + "ReportHasFilterApplied": "Bu rapora ลŸu sรผzgeรง uygulandฤฑ: %s.", + "ReportInPausedStateAdmin": "Bu rapor duraklatฤฑlmฤฑลŸ. Rapor sรผrdรผrรผlene kadar arลŸivleme yapฤฑlmayacak. Raporu sรผrdรผrmek iรงin, %1$sRapor yรถnetimi%2$s bรถlรผmรผne gidin ve seรงilmiลŸ rapor iรงin Oynat รผzerine tฤฑklayฤฑn.", + "ReportMetricsHelp": "ร–lรงรผmler, iลŸlemlerin sayฤฑsal deฤŸerlerini belirtir. ร–rneฤŸin sitenin trafiฤŸini arttฤฑrmak istiyorsanฤฑz, \"Ziyaretler\" รถlรงรผmรผnรผ, sitesinin hฤฑzฤฑnฤฑ arttฤฑrmak istiyorsanฤฑz \"Ortalama รผretilme sรผresi\" รถlรงรผmรผnรผ eklemelisiniz.", + "ReportName": "Rapor adฤฑ", + "ReportNameHelp": "Bu raporun hangi ad altฤฑnda bulunacaฤŸฤฑnฤฑ belirler.", + "ReportPage": "Rapor sayfasฤฑ", + "ReportSegmentHelp": "Sรผzgeรงler bir raporun alt gruplarฤฑnฤฑn oluลŸturulmasฤฑnฤฑ saฤŸlar. ร–rneฤŸin bu raporu yalnฤฑzca mobil aygฤฑtlarฤฑ gรถrรผntรผleyecek ลŸekilde sรผzebilirsiniz.", + "ReportSubcategory": "Rapor alt kategorisi", + "ReportSubcategoryHelp": "Bu raporu istediฤŸiniz bir rapor sayfasฤฑna ekleyebilirsiniz. Bir alt kategori seรงmezseniz seรงilmiลŸ kategori altฤฑna rapor adฤฑ ile yeni bir rapor sayfasฤฑ eklenir.", + "ReportType": "Rapor tรผrรผ", + "ReportUpdated": "Rapor gรผncellendi.", + "ResumeExceptionMessage": "Rapor sรผrdรผrรผlemedi. Site eลŸleลŸmiyor", + "ResumeReportConfirm": "Bu raporu sรผrdรผrdรผฤŸรผnรผzde, arลŸivleme bugรผnden itibaren yeniden baลŸlar. Bu รถzel raporu sรผrdรผrmek istediฤŸinize emin misiniz?", + "ResumeReportInfo": "Bu raporu sรผrdรผrdรผฤŸรผnรผzde, arลŸivleme bugรผnden itibaren yeniden baลŸlar.", + "ResumedReport": "Rapor sรผrdรผrรผldรผ.", + "SelectMeasurablesMatchingSearch": "ya da ลŸu ifadeyi iรงeren tรผm รถlรงรผlebilirleri ekleyin", + "SourceCustomReportLookupError": "Kaynak รถzel raporuna bakฤฑlฤฑrken beklenmeyen bir sorun รงฤฑktฤฑ. Lรผtfen yeniden deneyin. Sorun sรผrerse yรถneticinizle veya destek ekibinizle gรถrรผลŸรผn.", + "Type": "Tรผr", + "Unlock": "Kilidi aรง", + "UpdatingData": "Veriler gรผncelleniyorโ€ฆ", + "ViewReportInfo": "Raporu gรถrรผntรผle", + "WarningOnUpdateReportMightGetLost": "Bu รถzel raporu gรผncellediฤŸinizde, bu รถzel rapor iรงin daha รถnce รผretilmiลŸ raporlar kullanฤฑlamayacak.", + "WarningOnUpdateReportMightGetLostBrowserArchivingDisabled": "Bu รถzel raporu gรผncellediฤŸinizde, daha รถnce รผretilmiลŸ raporlar kullanฤฑlamayacak ve son %1$s ayฤฑn raporlarฤฑ yeniden รผretilecek.", + "WarningProductRevenueMetricDependency": "รœrรผn geliri รถlรงรผmleri iรงin aynฤฑ raporda eลŸlik edecek bir รผrรผn adeti รถlรงรผmรผ gereklidir. EลŸlik edecek รถlรงรผm otomatik olarak eklendi. %1$sAyrฤฑntฤฑlฤฑ bilgi alฤฑn%2$s.", + "WarningRequiresUnlock": "Bu rapor iรงeriฤŸinde deฤŸiลŸiklik yapmak iรงin \"Kilidini aรงmalฤฑsฤฑnฤฑz\". Rapor yapฤฑlandฤฑrmasฤฑnฤฑ deฤŸiลŸtirip gรผncelledikten sonra, yeni rapor verilerinin รผretilmesi gerekir ve daha รถnce รผretilmiลŸ raporlar artฤฑk kullanฤฑlamaz.", + "WarningRequiresUnlockBrowserArchivingDisabled": "Bu rapor iรงeriฤŸinde deฤŸiลŸiklik yapmak iรงin \"Kilidini aรงmalฤฑsฤฑnฤฑz\". Rapor yapฤฑlandฤฑrmasฤฑnฤฑ deฤŸiลŸtirip gรผncelledikten sonra, son %1$s ayฤฑn yeni rapor verileri yeniden รผretilecek ve daha รถnce รผretilmiลŸ raporlar artฤฑk kullanฤฑlamayacak.", + "WebsiteName": "Site adฤฑ" + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/tzm.json b/files/plugin-CustomReports-5.5.0/lang/tzm.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/tzm.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/uk.json b/files/plugin-CustomReports-5.5.0/lang/uk.json new file mode 100644 index 0000000..5b3fb0a --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/uk.json @@ -0,0 +1,5 @@ +{ + "CustomReports": { + "CustomReports": "ะกะฟะตั†ั–ะฐะปัŒะฝั– ะทะฒั–ั‚ะธ" + } +} diff --git a/files/plugin-CustomReports-5.5.0/lang/ur.json b/files/plugin-CustomReports-5.5.0/lang/ur.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/ur.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/vi.json b/files/plugin-CustomReports-5.5.0/lang/vi.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/vi.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/zh-cn.json b/files/plugin-CustomReports-5.5.0/lang/zh-cn.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/zh-cn.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-CustomReports-5.5.0/lang/zh-tw.json b/files/plugin-CustomReports-5.5.0/lang/zh-tw.json new file mode 100644 index 0000000..7f8e2d7 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/lang/zh-tw.json @@ -0,0 +1,12 @@ +{ + "CustomReports": { + "Category": "ๅˆ†้กž", + "ErrorNotAnArray": "ใ€Œ%1$sใ€ๅฟ…้ ˆๆ˜ฏ้™ฃๅˆ—ใ€‚", + "ErrorXNotProvided": "่ซ‹่ผธๅ…ฅใ€Œ%1$sใ€็š„ๅ€ผใ€‚", + "ErrorXNotWhitelisted": "ใ€Œ%1$sใ€็š„ๅ€ผไธๅ…่จฑ๏ผŒไฝฟ็”จไปฅไธ‹ๅ…ถไธ€๏ผš%2$sใ€‚", + "ErrorXTooLong": "ใ€Œ%1$sใ€้Ž้•ท๏ผŒๆœ€ๅคšๅ…่จฑ %2$s ๅ€‹ๅญ—ๅ…ƒใ€‚", + "Filter": "้Žๆฟพ", + "UpdatingData": "ๆ•ธๆ“šๆ›ดๆ–ฐไธญโ€ฆ", + "ViewReportInfo": "ๆŸฅ็œ‹ๅ ฑ่กจ" + } +} diff --git a/files/plugin-CustomReports-5.5.0/phpcs.xml b/files/plugin-CustomReports-5.5.0/phpcs.xml new file mode 100644 index 0000000..7208e4b --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/phpcs.xml @@ -0,0 +1,36 @@ + + + + Matomo Coding Standard for CustomReports plugin + + + + . + + tests/javascript/* + */vendor/* + + + + + + + + tests/* + + + + + Updates/* + + + + + tests/* + + + + + tests/* + + \ No newline at end of file diff --git a/files/plugin-CustomReports-5.5.0/phpstan.neon b/files/plugin-CustomReports-5.5.0/phpstan.neon new file mode 100644 index 0000000..8ec3d36 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/phpstan.neon @@ -0,0 +1,19 @@ +parameters: + level: 0 + phpVersion: 70200 + tmpDir: /tmp/phpstan/CustomReports/main + paths: + - . + excludePaths: + - tests/* + bootstrapFiles: + - ../../bootstrap-phpstan.php + universalObjectCratesClasses: + - Piwik\Config + - Piwik\View + - Piwik\ViewDataTable\Config + scanDirectories: + # ../../ does not actually seem to give us anything + # that ../plugins/ does not, but including it for + # completeness. It does not seem to slow down performance. + - ../../ diff --git a/files/plugin-CustomReports-5.5.0/phpstan/phpstan.created.neon b/files/plugin-CustomReports-5.5.0/phpstan/phpstan.created.neon new file mode 100644 index 0000000..084eb8d --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/phpstan/phpstan.created.neon @@ -0,0 +1,5 @@ +includes: + - ../phpstan.neon +parameters: + level: 9 + tmpDir: /tmp/phpstan/CustomReports/created diff --git a/files/plugin-CustomReports-5.5.0/phpstan/phpstan.modified.neon b/files/plugin-CustomReports-5.5.0/phpstan/phpstan.modified.neon new file mode 100644 index 0000000..ac4783d --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/phpstan/phpstan.modified.neon @@ -0,0 +1,5 @@ +includes: + - ../phpstan.neon +parameters: + level: 1 + tmpDir: /tmp/phpstan/CustomReports/modified diff --git a/files/plugin-CustomReports-5.5.0/plugin.json b/files/plugin-CustomReports-5.5.0/plugin.json new file mode 100644 index 0000000..3ad38a2 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/plugin.json @@ -0,0 +1,31 @@ +{ + "name": "CustomReports", + "description": "Standard reports answer common analytics questions. Custom Reports answers your questions. Build custom reporting views tailored to your goals, KPIs, and business requirements.", + "version": "5.5.0", + "theme": false, + "require": { + "matomo": ">=5.0.0-rc5,<6.0.0-b1" + }, + "authors": [ + { + "name": "InnoCraft", + "email": "contact@innocraft.com", + "homepage": "https:\/\/www.innocraft.com" + } + ], + "price": { + "base": 220 + }, + "preview": { + "video_url": "https://www.youtube-nocookie.com/embed/Ss0jtGLaeDM", + "demo_url": "https://demo.matomo.cloud/index.php?module=CoreHome&action=index&idSite=1&period=day&date=yesterday#?idSite=1&period=day&date=yesterday&segment=&category=CustomReports_CustomReports&subcategory=2" + }, + "homepage": "https:\/\/www.innocraft.com", + "license": "InnoCraft EULA", + "keywords": [ + "custom", + "reports", + "filter", + "segment" + ] +} diff --git a/files/plugin-CustomReports-5.5.0/pull_request_template.md b/files/plugin-CustomReports-5.5.0/pull_request_template.md new file mode 100644 index 0000000..211089b --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/pull_request_template.md @@ -0,0 +1,29 @@ +## Description + + +## Issue No + + +## Steps to Replicate the Issue +1. +2. +3. + + + +## Checklist +- [โœ”/โœ–] Tested locally or on demo2/demo3? +- [โœ”/โœ–/NA] New test case added/updated? +- [โœ”/โœ–/NA] Are all newly added texts included via translation? +- [โœ”/โœ–/NA] Are text sanitized properly? (Eg use of v-text v/s v-html for vue) +- [โœ”/โœ–/NA] Version bumped? +- [โœ”/โœ–/NA] I have understood, reviewed, and tested all AI outputs before use +- [โœ”/โœ–/NA] All AI instructions respect security, IP, and privacy rules +- [โœ”/โœ–/NA] Documentation updated? diff --git a/files/plugin-CustomReports-5.5.0/templates/manage.twig b/files/plugin-CustomReports-5.5.0/templates/manage.twig new file mode 100644 index 0000000..0c10e1f --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/templates/manage.twig @@ -0,0 +1,21 @@ +{% extends 'admin.twig' %} + +{% block topcontrols %} +
    +
    +
    +{% endblock %} + +{% block content %} +
    +{% endblock %} \ No newline at end of file diff --git a/files/plugin-CustomReports-5.5.0/vue/dist/CustomReports.umd.js b/files/plugin-CustomReports-5.5.0/vue/dist/CustomReports.umd.js new file mode 100644 index 0000000..e802d8e --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/dist/CustomReports.umd.js @@ -0,0 +1,2731 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("CoreHome"), require("vue"), require("CorePluginsAdmin"), require("SegmentEditor")); + else if(typeof define === 'function' && define.amd) + define(["CoreHome", , "CorePluginsAdmin", "SegmentEditor"], factory); + else if(typeof exports === 'object') + exports["CustomReports"] = factory(require("CoreHome"), require("vue"), require("CorePluginsAdmin"), require("SegmentEditor")); + else + root["CustomReports"] = factory(root["CoreHome"], root["Vue"], root["CorePluginsAdmin"], root["SegmentEditor"]); +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__19dc__, __WEBPACK_EXTERNAL_MODULE__8bbf__, __WEBPACK_EXTERNAL_MODULE_a5a2__, __WEBPACK_EXTERNAL_MODULE_f06f__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "plugins/CustomReports/vue/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "fae3"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "19dc": +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__19dc__; + +/***/ }), + +/***/ "8bbf": +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__; + +/***/ }), + +/***/ "a5a2": +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE_a5a2__; + +/***/ }), + +/***/ "f06f": +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE_f06f__; + +/***/ }), + +/***/ "fae3": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "KpiCardView", function() { return /* reexport */ KpiCardView; }); +__webpack_require__.d(__webpack_exports__, "ReportEdit", function() { return /* reexport */ Edit; }); +__webpack_require__.d(__webpack_exports__, "ReportsList", function() { return /* reexport */ List; }); +__webpack_require__.d(__webpack_exports__, "ReportsManage", function() { return /* reexport */ Manage; }); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js +// This file is imported into lib/wc client bundles. + +if (typeof window !== 'undefined') { + var currentScript = window.document.currentScript + if (false) { var getCurrentScript; } + + var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/) + if (src) { + __webpack_require__.p = src[1] // eslint-disable-line + } +} + +// Indicate to webpack that this file can be concatenated +/* harmony default export */ var setPublicPath = (null); + +// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} +var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/CustomReports/vue/src/KpiCardView/KpiCardView.vue?vue&type=template&id=753e96c3 + +const _hoisted_1 = { + class: "metric-sparkline" +}; +const _hoisted_2 = { + class: "metric-value" +}; +const _hoisted_3 = ["title"]; +const _hoisted_4 = ["title"]; +function render(_ctx, _cache, $props, $setup, $data, $options) { + const _component_Sparkline = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("Sparkline"); + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", { + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["singleMetricView customReportKpiCard", { + 'loading': _ctx.isLoading + }]) + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Sparkline, { + params: _ctx.sparklineParams + }, null, 8, ["params"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + title: _ctx.metricDocumentation + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("strong", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.metricValue), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])((_ctx.metricTranslation || '').toLowerCase()), 1)], 8, _hoisted_3), _ctx.pastValue !== null ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", { + key: 0, + class: "metricEvolution", + title: _ctx.translate('General_EvolutionSummaryGeneric', _ctx.metricValue, _ctx.currentPeriod, _ctx.pastValue, _ctx.pastPeriod, _ctx.metricChangePercent) + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(_ctx.evolutionClass) + }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.metricChangePercent), 3)], 8, _hoisted_4)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])], 2); +} +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/KpiCardView/KpiCardView.vue?vue&type=template&id=753e96c3 + +// EXTERNAL MODULE: external "CoreHome" +var external_CoreHome_ = __webpack_require__("19dc"); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/CustomReports/vue/src/KpiCardView/KpiCardView.vue?vue&type=script&lang=ts + + +function getPastPeriodStr() { + const { + startDate + } = external_CoreHome_["Range"].getLastNRange(external_CoreHome_["Matomo"].period, 2, external_CoreHome_["Matomo"].currentDateString); + const dateRange = external_CoreHome_["Periods"].get(external_CoreHome_["Matomo"].period).parse(startDate).getDateRange(); + return `${Object(external_CoreHome_["format"])(dateRange[0])},${Object(external_CoreHome_["format"])(dateRange[1])}`; +} +/* harmony default export */ var KpiCardViewvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ + props: { + idCustomReport: { + type: [String, Number], + required: true + }, + metric: { + type: String, + required: true + }, + metricTranslation: String, + metricDocumentation: String, + lowerIsBetter: Boolean + }, + components: { + Sparkline: external_CoreHome_["Sparkline"] + }, + setup(props) { + const isLoading = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(false); + const responses = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(null); + function getMetricFromResponse(response) { + if (!response) { + return null; + } + const row = Array.isArray(response) ? response[0] : response; + if (!row) { + // a metric that has no data for the requested period is treated as 0 so an + // evolution down to zero is still calculated + return 0; + } + const value = row[props.metric] !== undefined ? row[props.metric] : row.value; + return value || 0; + } + const metricValueUnformatted = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => { + if (!responses.value) { + return null; + } + return getMetricFromResponse(responses.value[1]); + }); + const pastValueUnformatted = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => { + if (!responses.value) { + return null; + } + return getMetricFromResponse(responses.value[2]); + }); + const evolutionClass = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => { + if (metricValueUnformatted.value === null || pastValueUnformatted.value === null || metricValueUnformatted.value === pastValueUnformatted.value) { + return []; + } + // arrow direction always reflects the actual value change, while the colour + // (positive/negative) reflects whether that change is good or bad for the metric + const increased = metricValueUnformatted.value > pastValueUnformatted.value; + const isPositive = props.lowerIsBetter ? !increased : increased; + return [increased ? 'evolution-up' : 'evolution-down', isPositive ? 'positive-evolution' : 'negative-evolution']; + }); + const metricChangePercent = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => { + if (metricValueUnformatted.value === null || metricValueUnformatted.value === undefined || pastValueUnformatted.value === null || pastValueUnformatted.value === undefined) { + return null; + } + const currentValue = typeof metricValueUnformatted.value === 'string' ? parseFloat(metricValueUnformatted.value) : metricValueUnformatted.value; + const pastValue = typeof pastValueUnformatted.value === 'string' ? parseFloat(pastValueUnformatted.value) : pastValueUnformatted.value; + const evolution = external_CoreHome_["Matomo"].helper.calculateEvolution(currentValue, pastValue); + return `${(evolution * 100).toFixed(2)} %`; + }); + const pastValue = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => { + if (!responses.value) { + return null; + } + return getMetricFromResponse(responses.value[3]); + }); + const metricValue = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => { + if (!responses.value) { + return null; + } + return getMetricFromResponse(responses.value[0]); + }); + const currentPeriod = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => { + if (external_CoreHome_["Matomo"].startDateString === external_CoreHome_["Matomo"].endDateString) { + return external_CoreHome_["Matomo"].endDateString; + } + return `${external_CoreHome_["Matomo"].startDateString}, ${external_CoreHome_["Matomo"].endDateString}`; + }); + const sparklineParams = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => ({ + module: 'CustomReports', + action: 'getCustomReport', + idCustomReport: props.idCustomReport, + columns: props.metric + })); + const pastPeriod = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => { + if (external_CoreHome_["Matomo"].period === 'range') { + return undefined; + } + return getPastPeriodStr(); + }); + function getLastPeriodDate() { + const range = external_CoreHome_["Range"].getLastNRange(external_CoreHome_["Matomo"].period, 2, external_CoreHome_["Matomo"].currentDateString); + return Object(external_CoreHome_["format"])(range.startDate); + } + function fetchData() { + isLoading.value = true; + const method = 'CustomReports.getCustomReport'; + const extraParams = { + idCustomReport: props.idCustomReport, + columns: props.metric + }; + const promises = []; + // first request for formatted data + promises.push(external_CoreHome_["AjaxHelper"].fetch(Object.assign({ + method, + format_metrics: 'all' + }, extraParams))); + if (external_CoreHome_["Matomo"].period !== 'range') { + // second request for unformatted data so we can calculate evolution + promises.push(external_CoreHome_["AjaxHelper"].fetch(Object.assign({ + method, + format_metrics: '0' + }, extraParams))); + // third request for past data (unformatted) + promises.push(external_CoreHome_["AjaxHelper"].fetch(Object.assign({ + method, + date: getLastPeriodDate(), + format_metrics: '0' + }, extraParams))); + // fourth request for past data (formatted for tooltip display) + promises.push(external_CoreHome_["AjaxHelper"].fetch(Object.assign({ + method, + date: getLastPeriodDate(), + format_metrics: 'all' + }, extraParams))); + } + return Promise.all(promises).then(r => { + responses.value = r; + isLoading.value = false; + }); + } + fetchData(); + return { + isLoading, + metricValue, + metricValueUnformatted, + pastValueUnformatted, + evolutionClass, + metricChangePercent, + pastValue, + sparklineParams, + pastPeriod, + currentPeriod + }; + } +})); +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/KpiCardView/KpiCardView.vue?vue&type=script&lang=ts + +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/KpiCardView/KpiCardView.vue + + + +KpiCardViewvue_type_script_lang_ts.render = render + +/* harmony default export */ var KpiCardView = (KpiCardViewvue_type_script_lang_ts); +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/CustomReports/vue/src/Reports/Edit.vue?vue&type=template&id=df804736 + +const Editvue_type_template_id_df804736_hoisted_1 = { + class: "loadingPiwik" +}; +const Editvue_type_template_id_df804736_hoisted_2 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("img", { + src: "plugins/Morpheus/images/loading-blue.gif" +}, null, -1); +const Editvue_type_template_id_df804736_hoisted_3 = { + class: "loadingPiwik" +}; +const Editvue_type_template_id_df804736_hoisted_4 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("img", { + src: "plugins/Morpheus/images/loading-blue.gif" +}, null, -1); +const _hoisted_5 = { + class: "alert alert-warning" +}; +const _hoisted_6 = { + key: 0 +}; +const _hoisted_7 = { + key: 1 +}; +const _hoisted_8 = { + key: 0, + class: "alert alert-warning" +}; +const _hoisted_9 = ["innerHTML"]; +const _hoisted_10 = { + key: 1 +}; +const _hoisted_11 = { + name: "name" +}; +const _hoisted_12 = { + name: "description" +}; +const _hoisted_13 = { + class: "form-group row" +}; +const _hoisted_14 = { + class: "col s12" +}; +const _hoisted_15 = { + class: "col s12 m6" +}; +const _hoisted_16 = { + for: "all_websites", + class: "siteSelectorLabel" +}; +const _hoisted_17 = { + class: "sites_autocomplete" +}; +const _hoisted_18 = { + class: "col s12 m6" +}; +const _hoisted_19 = { + class: "form-help" +}; +const _hoisted_20 = { + key: 0, + class: "inline-help" +}; +const _hoisted_21 = { + key: 1, + class: "inline-help" +}; +const _hoisted_22 = { + key: 0, + class: "col s12 m6" +}; +const _hoisted_23 = { + key: 0 +}; +const _hoisted_24 = { + for: "websitecontains" +}; +const _hoisted_25 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +const _hoisted_26 = ["placeholder"]; +const _hoisted_27 = ["disabled", "value"]; +const _hoisted_28 = { + key: 1 +}; +const _hoisted_29 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +const _hoisted_30 = { + class: "entityTable" +}; +const _hoisted_31 = { + class: "siteId" +}; +const _hoisted_32 = { + class: "siteName" +}; +const _hoisted_33 = { + key: 0, + class: "siteAction" +}; +const _hoisted_34 = { + colspan: "3" +}; +const _hoisted_35 = { + key: 0, + class: "siteAction" +}; +const _hoisted_36 = ["onClick"]; +const _hoisted_37 = { + class: "form-group row" +}; +const _hoisted_38 = { + class: "col s12" +}; +const _hoisted_39 = { + class: "unlockAlert alert alert-info" +}; +const _hoisted_40 = { + key: 0 +}; +const _hoisted_41 = { + key: 1 +}; +const _hoisted_42 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +const _hoisted_43 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +const _hoisted_44 = ["value"]; +const _hoisted_45 = { + class: "alertUnlocked alert alert-warning" +}; +const _hoisted_46 = { + key: 0 +}; +const _hoisted_47 = { + key: 1 +}; +const _hoisted_48 = { + name: "reportType" +}; +const _hoisted_49 = { + class: "form-group row" +}; +const _hoisted_50 = { + class: "col s12 m6 dimensionsGroup" +}; +const _hoisted_51 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +const _hoisted_52 = { + class: "groupValueSelect", + name: "dimensions" +}; +const _hoisted_53 = ["title", "onClick"]; +const _hoisted_54 = { + class: "groupValueSelect addDimension", + name: "dimensions" +}; +const _hoisted_55 = { + class: "col s12 m6" +}; +const _hoisted_56 = { + class: "form-help" +}; +const _hoisted_57 = ["innerHTML"]; +const _hoisted_58 = { + class: "form-group row" +}; +const _hoisted_59 = { + class: "col s12 m6 metricsGroup" +}; +const _hoisted_60 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +const _hoisted_61 = { + class: "groupValueSelect", + name: "metrics" +}; +const _hoisted_62 = ["title", "onClick"]; +const _hoisted_63 = { + class: "groupValueSelect addMetric", + name: "metrics" +}; +const _hoisted_64 = { + class: "col s12 m6" +}; +const _hoisted_65 = { + class: "form-help" +}; +const _hoisted_66 = { + class: "inline-help" +}; +const _hoisted_67 = ["innerHTML"]; +const _hoisted_68 = { + class: "form-group row segmentFilterGroup" +}; +const _hoisted_69 = { + class: "col s12" +}; +const _hoisted_70 = { + style: { + "margin": "8px 0", + "display": "inline-block" + } +}; +const _hoisted_71 = { + class: "form-group row" +}; +const _hoisted_72 = { + class: "col s12" +}; +const _hoisted_73 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +const _hoisted_74 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +const _hoisted_75 = { + name: "reportCategories" +}; +const _hoisted_76 = { + name: "reportSubcategories" +}; +const _hoisted_77 = { + class: "alert alert-warning" +}; +const _hoisted_78 = { + key: 0 +}; +const _hoisted_79 = { + key: 1 +}; +const _hoisted_80 = { + class: "alert alert-warning" +}; +const _hoisted_81 = { + key: 0 +}; +const _hoisted_82 = { + key: 1 +}; +const _hoisted_83 = { + key: 0, + class: "form-group row" +}; +const _hoisted_84 = ["textContent"]; +const _hoisted_85 = { + class: "col s12 m6" +}; +const _hoisted_86 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: "icon-menu-hamburger drag-icon" +}, null, -1); +const _hoisted_87 = { + class: "col s12 m6" +}; +const _hoisted_88 = { + class: "form-help" +}; +const _hoisted_89 = ["textContent"]; +const _hoisted_90 = { + class: "entityCancel" +}; +const _hoisted_91 = { + class: "ui-confirm", + id: "confirmUnlockReport", + ref: "confirmUnlockReport" +}; +const _hoisted_92 = { + key: 0 +}; +const _hoisted_93 = { + key: 1 +}; +const _hoisted_94 = ["value"]; +const _hoisted_95 = ["value"]; +const _hoisted_96 = { + class: "ui-confirm", + id: "infoReportIsLocked", + ref: "infoReportIsLocked" +}; +const _hoisted_97 = { + key: 0 +}; +const _hoisted_98 = { + key: 1 +}; +const _hoisted_99 = ["value"]; +const _hoisted_100 = ["value"]; +function Editvue_type_template_id_df804736_render(_ctx, _cache, $props, $setup, $data, $options) { + const _component_Field = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("Field"); + const _component_SiteSelector = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("SiteSelector"); + const _component_SegmentGenerator = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("SegmentGenerator"); + const _component_SaveButton = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("SaveButton"); + const _component_DraggableList = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("DraggableList"); + const _component_ContentBlock = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ContentBlock"); + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_ContentBlock, { + class: "editReport", + "content-title": _ctx.contentTitle + }, { + default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(() => { + var _ctx$report$metrics, _ctx$report$dimension, _ctx$report$subcatego; + return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Editvue_type_template_id_df804736_hoisted_1, [Editvue_type_template_id_df804736_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_LoadingData')), 1)])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.isLoading]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Editvue_type_template_id_df804736_hoisted_3, [Editvue_type_template_id_df804736_hoisted_4, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_UpdatingData')), 1)])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.isUpdating]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_5, [_ctx.multipleSites.length && !_ctx.report.allowedToEdit ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_6, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_ReportEditNotAllowedMultipleWebsitesAccessIssue')), 1)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_7, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_ReportEditNotAllowedAllWebsitesUpdated')), 1))], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !_ctx.canEdit]]), _ctx.report.status === 'paused' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_8, [_ctx.report.allowedToEdit ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", { + key: 0, + innerHTML: _ctx.getPausedStateAdminMessage + }, null, 8, _hoisted_9)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_10, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_NoDataMessagePausedStateNonAdminUser')), 1))])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("form", { + onSubmit: _cache[15] || (_cache[15] = $event => _ctx.edit ? _ctx.updateReport() : _ctx.createReport()) + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_11, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + uicontrol: "text", + name: "name", + "model-value": _ctx.report.name, + "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => { + _ctx.report.name = $event; + _ctx.setValueHasChanged(); + }), + title: _ctx.translate('General_Name'), + maxlength: 50, + disabled: !_ctx.canEdit, + placeholder: _ctx.translate('CustomReports_FieldNamePlaceholder'), + "inline-help": _ctx.translate('CustomReports_ReportNameHelpText') + }, null, 8, ["model-value", "title", "disabled", "placeholder", "inline-help"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_12, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + uicontrol: "textarea", + name: "description", + "model-value": _ctx.report.description, + "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => { + _ctx.report.description = $event; + _ctx.setValueHasChanged(); + }), + title: `${_ctx.translate('General_Description')} (optional)`, + maxlength: 1000, + disabled: !_ctx.canEdit, + "ui-control-attributes": { + class: 'compact-textarea' + }, + placeholder: _ctx.translate('CustomReports_FieldDescriptionPlaceholder'), + "inline-help": _ctx.getDescriptionHelpText + }, null, 8, ["model-value", "title", "disabled", "placeholder", "inline-help"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_13, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h3", _hoisted_14, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_ApplyTo')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_15, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", _hoisted_16, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Website')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_17, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_SiteSelector, { + id: "all_websites", + "model-value": _ctx.report.site, + "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => { + _ctx.report.site = $event; + _ctx.setWebsiteChanged($event); + }), + "show-all-sites-item": _ctx.isSuperUser, + "switch-site-on-select": false, + "show-selected-site": true + }, null, 8, ["model-value", "show-all-sites-item"])])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_18, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_19, [_ctx.isSuperUser ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_20, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_ReportAllWebsitesHelp')), 1)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_21, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_ReportAllWebsitesNonSuperUserHelp')), 1))])]), _ctx.report.site.id !== 'all' && _ctx.report.site.id !== '0' && _ctx.report.site.id !== 0 ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_22, [_ctx.report.allowedToEdit ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_23, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_24, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_SelectMeasurablesMatchingSearch')), 1), _hoisted_25, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + class: "control_text customReportSearchMeasurablesField", + type: "text", + id: "websitecontains", + "onUpdate:modelValue": _cache[3] || (_cache[3] = $event => _ctx.containsText = $event), + placeholder: _ctx.translate('General_Search') + }, null, 8, _hoisted_26), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vModelText"], _ctx.containsText]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + style: { + "margin-left": "3.5px" + }, + disabled: !_ctx.containsText, + class: "btn customReportSearchFindMeasurables", + type: "button", + onClick: _cache[4] || (_cache[4] = $event => _ctx.addSitesContaining(_ctx.containsText)), + value: _ctx.translate('CustomReports_FindMeasurables') + }, null, 8, _hoisted_27)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.report.allowedToEdit || _ctx.multipleSites.length ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_28, [_hoisted_29, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("table", _hoisted_30, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("thead", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", _hoisted_31, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Id')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", _hoisted_32, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Name')), 1), _ctx.report.allowedToEdit ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("th", _hoisted_33, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Remove')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tbody", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_34, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_NoMeasurableAssignedYet')), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !_ctx.multipleSites.length]]), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.multipleSites, (site, index) => { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])((Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", { + key: index, + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])({ + selectedSiteRow: _ctx.isSelectedSiteRow(site) + }) + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(site.idsite), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(site.name), 1), _ctx.report.allowedToEdit ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("td", _hoisted_35, [_ctx.canRemoveSite(site) ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", { + key: 0, + class: "icon-minus table-action", + onClick: $event => _ctx.removeSite(site) + }, null, 8, _hoisted_36)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2)), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.multipleSites.length > 0]]); + }), 128))])])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_37, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h3", _hoisted_38, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_ReportContent')), 1)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_39, [_ctx.browserArchivingDisabled && _ctx.reArchiveLastN ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_40, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_WarningRequiresUnlockBrowserArchivingDisabled', _ctx.reArchiveLastN)), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), !_ctx.browserArchivingDisabled || !_ctx.reArchiveLastN ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_41, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_WarningRequiresUnlock')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _hoisted_42, _hoisted_43, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + type: "button", + class: "btn unlockReport", + onClick: _cache[5] || (_cache[5] = $event => _ctx.unlockReport()), + value: _ctx.translate('CustomReports_Unlock') + }, null, 8, _hoisted_44)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.isLocked]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_45, [_ctx.browserArchivingDisabled && _ctx.reArchiveLastN ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_46, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_WarningOnUpdateReportMightGetLostBrowserArchivingDisabled', _ctx.reArchiveLastN)), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), !_ctx.browserArchivingDisabled || !_ctx.reArchiveLastN ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_47, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_WarningOnUpdateReportMightGetLost')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.isUnlocked]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_48, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + uicontrol: "radio", + name: "reportType", + "model-value": _ctx.report.report_type, + "onUpdate:modelValue": _cache[6] || (_cache[6] = $event => _ctx.setReportTypeHasChanged($event)), + title: _ctx.translate('CustomReports_ReportType'), + disabled: !_ctx.canEdit, + options: _ctx.reportTypes + }, null, 8, ["model-value", "title", "disabled", "options"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_49, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_50, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_Dimensions')), 1), _hoisted_51, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.report.dimensions, (dimension, dimIndex) => { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", { + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(`selectedDimension selectedDimension${dimIndex}`), + key: dimIndex + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_52, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + uicontrol: "expandable-select", + name: "dimensions", + "model-value": dimension, + "onUpdate:modelValue": $event => _ctx.changeDimension($event, dimIndex), + title: _ctx.dimensionsReadable[dimension] || dimension, + "full-width": true, + options: _ctx.dimensions + }, null, 8, ["model-value", "onUpdate:modelValue", "title", "options"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: "icon-minus", + title: _ctx.translate('CustomReports_RemoveDimension'), + onClick: $event => _ctx.removeDimension(dimIndex) + }, null, 8, _hoisted_53)], 2); + }), 128)), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_54, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + uicontrol: "expandable-select", + name: "dimensions", + "model-value": '', + "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => { + _ctx.addDimension($event); + }), + title: _ctx.translate('CustomReports_AddDimension'), + "full-width": true, + options: _ctx.dimensions + }, null, 8, ["title", "options"])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.report.dimensions.length < _ctx.maxDimensions]])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_55, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_56, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: "inline-help", + innerHTML: _ctx.$sanitize(_ctx.getDimensionsHelpText) + }, null, 8, _hoisted_57)])])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.typeNeedsDimensions]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_58, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_59, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Metrics')), 1), _hoisted_60, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.visibleMetrics, (metric, metricIndex) => { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", { + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(`selectedMetric selectedMetric${metricIndex}`), + key: metricIndex + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_61, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + uicontrol: "expandable-select", + name: "metrics", + "model-value": metric, + "onUpdate:modelValue": $event => _ctx.changeMetric($event, metricIndex), + title: _ctx.metricsReadable[metric] || metric, + "full-width": true, + options: _ctx.metrics + }, null, 8, ["model-value", "onUpdate:modelValue", "title", "options"])]), !_ctx.isSingleMetricType ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", { + key: 0, + class: "icon-minus", + title: _ctx.translate('CustomReports_RemoveMetric'), + onClick: $event => _ctx.removeMetric(metricIndex) + }, null, 8, _hoisted_62)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2); + }), 128)), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_63, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + uicontrol: "expandable-select", + name: "metrics", + "model-value": '', + "onUpdate:modelValue": _cache[8] || (_cache[8] = $event => { + _ctx.addMetric($event); + }), + title: _ctx.translate('CustomReports_AddMetric'), + "full-width": true, + options: _ctx.metrics + }, null, 8, ["title", "options"])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !_ctx.isSingleMetricType]])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_64, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_65, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_66, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate(_ctx.isSingleMetricType ? 'CustomReports_ReportSingleMetricHelp' : 'CustomReports_ReportMetricsHelp')), 1)])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { + class: "alert alert-warning", + innerHTML: _ctx.getProductRevenueDependencyMessage + }, null, 8, _hoisted_67), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.dependencyAdded]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_68, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_69, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", _hoisted_70, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_Filter')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_ReportSegmentHelp')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_SegmentGenerator, { + "model-value": _ctx.report.segment_filter, + "onUpdate:modelValue": _cache[9] || (_cache[9] = $event => _ctx.setSegmentFilterHasChanged($event)), + idsite: _ctx.report.site.id + }, null, 8, ["model-value", "idsite"])])])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_71, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_72, [_hoisted_73, _hoisted_74, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_SaveButton, { + class: "showPreviewButton", + disabled: !((_ctx$report$metrics = _ctx.report.metrics) !== null && _ctx$report$metrics !== void 0 && _ctx$report$metrics.length) || !((_ctx$report$dimension = _ctx.report.dimensions) !== null && _ctx$report$dimension !== void 0 && _ctx$report$dimension.length), + onConfirm: _cache[10] || (_cache[10] = $event => _ctx.showPreview()), + value: _ctx.translate('CustomReports_PreviewReport') + }, null, 8, ["disabled", "value"])])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.report.report_type === 'table']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_75, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + uicontrol: "select", + name: "reportCategories", + "model-value": _ctx.report.category.id, + "onUpdate:modelValue": _cache[11] || (_cache[11] = $event => { + _ctx.report.category.id = $event; + _ctx.setValueHasChanged(); + }), + title: _ctx.translate('CustomReports_ReportCategory'), + disabled: !_ctx.canEdit, + options: _ctx.categories, + introduction: _ctx.translate('CustomReports_ReportPage'), + "inline-help": _ctx.translate('CustomReports_ReportCategoryHelp') + }, null, 8, ["model-value", "title", "disabled", "options", "introduction", "inline-help"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_76, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + uicontrol: "select", + name: "reportSubcategories", + "model-value": (_ctx$report$subcatego = _ctx.report.subcategory) === null || _ctx$report$subcatego === void 0 ? void 0 : _ctx$report$subcatego.id, + "onUpdate:modelValue": _cache[12] || (_cache[12] = $event => { + _ctx.setSubcategory($event); + _ctx.setValueHasChanged(); + }), + title: _ctx.translate('CustomReports_ReportSubcategory'), + disabled: !_ctx.canEdit, + options: _ctx.subcategories[_ctx.report.category.id], + "inline-help": _ctx.translate('CustomReports_ReportSubcategoryHelp') + }, null, 8, ["model-value", "title", "disabled", "options", "inline-help"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_77, [_ctx.browserArchivingDisabled && _ctx.reArchiveLastN ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_78, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_WarningOnUpdateReportMightGetLostBrowserArchivingDisabled', _ctx.reArchiveLastN)), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), !_ctx.browserArchivingDisabled || !_ctx.reArchiveLastN ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_79, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_WarningOnUpdateReportMightGetLost')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.isUnlocked]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_80, [_ctx.multipleSites.length && !_ctx.report.allowedToEdit ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_81, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_ReportEditNotAllowedMultipleWebsitesAccessIssue')), 1)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_82, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_ReportEditNotAllowedAllWebsitesUpdated')), 1))], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !_ctx.canEdit]]), _ctx.childReports.length ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_83, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h3", { + class: "col s12", + textContent: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_OrderSubCategoryReports')) + }, null, 8, _hoisted_84), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_85, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_DraggableList, { + items: _ctx.childReports, + "item-key": "idcustomreport", + onReorder: _ctx.onChildReportsReorder + }, { + default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(({ + item: childReport + }) => [_hoisted_86, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(childReport.name), 1)]), + _: 1 + }, 8, ["items", "onReorder"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_87, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_88, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { + class: "form-description", + textContent: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_OrderSubCategoryReportsDescription')) + }, null, 8, _hoisted_89)])])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_SaveButton, { + class: "createButton", + onConfirm: _cache[13] || (_cache[13] = $event => _ctx.edit ? _ctx.updateReport() : _ctx.createReport()), + disabled: _ctx.isUpdating || !_ctx.isDirty, + saving: _ctx.isUpdating, + value: _ctx.saveButtonText + }, null, 8, ["disabled", "saving", "value"]), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.canEdit]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_90, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + onClick: _cache[14] || (_cache[14] = $event => _ctx.cancel()) + }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Cancel')), 1)])])], 32), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_91, [_ctx.browserArchivingDisabled && _ctx.reArchiveLastN ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("h2", _hoisted_92, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_ConfirmUnlockReportBrowserArchivingDisabled', _ctx.reArchiveLastN)), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), !_ctx.browserArchivingDisabled || !_ctx.reArchiveLastN ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("h2", _hoisted_93, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_ConfirmUnlockReport')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + role: "yes", + type: "button", + value: _ctx.translate('General_Yes') + }, null, 8, _hoisted_94), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + role: "no", + type: "button", + value: _ctx.translate('General_No') + }, null, 8, _hoisted_95)], 512), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_96, [_ctx.browserArchivingDisabled && _ctx.reArchiveLastN ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("h2", _hoisted_97, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_InfoReportIsLockedBrowserArchivingDisabled', _ctx.reArchiveLastN)), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), !_ctx.browserArchivingDisabled || !_ctx.reArchiveLastN ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("h2", _hoisted_98, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_InfoReportIsLocked')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + role: "unlock", + type: "button", + value: _ctx.translate('CustomReports_Unlock') + }, null, 8, _hoisted_99), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + role: "ok", + type: "button", + value: _ctx.translate('General_Cancel') + }, null, 8, _hoisted_100)], 512)]; + }), + _: 1 + }, 8, ["content-title"]); +} +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/Reports/Edit.vue?vue&type=template&id=df804736 + +// EXTERNAL MODULE: external "CorePluginsAdmin" +var external_CorePluginsAdmin_ = __webpack_require__("a5a2"); + +// EXTERNAL MODULE: external "SegmentEditor" +var external_SegmentEditor_ = __webpack_require__("f06f"); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/CustomReports/vue/src/Reports/DraggableList.vue?vue&type=script&setup=true&lang=ts + + +const DraggableListvue_type_script_setup_true_lang_ts_hoisted_1 = ["data-item-id", "draggable", "aria-grabbed", "onDragstart", "onDragover"]; + +/* harmony default export */ var DraggableListvue_type_script_setup_true_lang_ts = (/*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ + __name: 'DraggableList', + props: { + items: null, + itemKey: null, + disabled: { + type: Boolean, + default: false + }, + handle: { + default: '' + }, + axis: { + default: 'y' + } + }, + emits: ["reorder"], + setup(__props, { + emit + }) { + const props = __props; + const SORT_TRIGGER_OFFSET = 0.1; + const orderedItems = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])([]); + const draggedId = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(null); + const dragTargetId = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(null); + const placeholderId = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(null); + const dropSucceeded = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(false); + const canDrag = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => !props.disabled && props.items.length > 1); + function getItemKey(item, index) { + if (typeof props.itemKey === 'function') return props.itemKey(item, index); + if (!item || typeof item !== 'object') return index; + const value = item[props.itemKey]; + if (typeof value === 'string' || typeof value === 'number') return value; + return index; + } + const sourceItems = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => props.items.map((item, index) => ({ + id: String(getItemKey(item, index)), + item, + sourceIndex: index + }))); + const itemKeySignature = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => sourceItems.value.map(entry => entry.id).join('\u0000')); + function syncOrderedItems() { + orderedItems.value = sourceItems.value.slice(); + } + function clearDragVisualState() { + draggedId.value = null; + dragTargetId.value = null; + placeholderId.value = null; + } + function resetDragState(shouldSync = false) { + clearDragVisualState(); + dropSucceeded.value = false; + if (shouldSync) syncOrderedItems(); + } + function matchesHandle(target, currentTarget) { + if (!props.handle) return true; + if (!(target instanceof Element)) return false; + const handleElement = target.closest(props.handle); + return !!handleElement && currentTarget.contains(handleElement); + } + function getOrderedIndex(itemId) { + return orderedItems.value.findIndex(entry => entry.id === itemId); + } + function getOrderedItemAt(index) { + return orderedItems.value[typeof index === 'number' ? index : Number(index)]; + } + function getDropPosition(event, element) { + const rect = element.getBoundingClientRect(); + const draggedIndex = draggedId.value ? getOrderedIndex(draggedId.value) : -1; + const hoveredIndex = dragTargetId.value ? getOrderedIndex(dragTargetId.value) : -1; + const isMovingForward = draggedIndex !== -1 && hoveredIndex !== -1 && draggedIndex < hoveredIndex; + const triggerOffset = isMovingForward ? SORT_TRIGGER_OFFSET : 1 - SORT_TRIGGER_OFFSET; + if (props.axis === 'x') { + return event.clientX < rect.left + rect.width * triggerOffset ? 'before' : 'after'; + } + return event.clientY < rect.top + rect.height * triggerOffset ? 'before' : 'after'; + } + function moveDraggedItem(targetId, position) { + if (!draggedId.value || draggedId.value === targetId) return; + const currentIndex = getOrderedIndex(draggedId.value); + const targetIndex = getOrderedIndex(targetId); + if (currentIndex === -1 || targetIndex === -1) return; + let insertionIndex = targetIndex + (position === 'after' ? 1 : 0); + if (currentIndex < insertionIndex) { + insertionIndex -= 1; + } + if (insertionIndex === currentIndex) return; + const nextItems = orderedItems.value.slice(); + const [movedItem] = nextItems.splice(currentIndex, 1); + nextItems.splice(insertionIndex, 0, movedItem); + orderedItems.value = nextItems; + } + function onDragStart(event, itemId) { + const itemElement = event.currentTarget; + if (!itemElement || !canDrag.value || !matchesHandle(event.target, itemElement)) { + event.preventDefault(); + return; + } + draggedId.value = itemId; + dragTargetId.value = itemId; + dropSucceeded.value = false; + placeholderId.value = null; + if (event.dataTransfer) { + event.dataTransfer.effectAllowed = 'move'; + event.dataTransfer.setData('text/plain', itemId); + } + window.setTimeout(() => { + if (draggedId.value === itemId) placeholderId.value = itemId; + }, 0); + } + function onDragStartForIndex(event, index) { + const orderedItem = getOrderedItemAt(index); + if (!orderedItem) { + event.preventDefault(); + return; + } + onDragStart(event, orderedItem.id); + } + function onDragOver(event, itemId) { + if (!draggedId.value || !canDrag.value) return; + event.preventDefault(); + const itemElement = event.currentTarget; + if (!itemElement) return; + dragTargetId.value = itemId; + moveDraggedItem(itemId, getDropPosition(event, itemElement)); + if (event.dataTransfer) event.dataTransfer.dropEffect = 'move'; + } + function onDragOverForIndex(event, index) { + const orderedItem = getOrderedItemAt(index); + if (!orderedItem) return; + onDragOver(event, orderedItem.id); + } + function onDrop(event) { + if (!draggedId.value) return; + event.preventDefault(); + const reorderedIds = orderedItems.value.map(entry => entry.id); + if (reorderedIds && reorderedIds.join('\u0000') !== itemKeySignature.value) { + dropSucceeded.value = true; + emit('reorder', reorderedIds); + } + clearDragVisualState(); + } + function onDragEnd() { + if (dropSucceeded.value) { + dropSucceeded.value = false; + return; + } + resetDragState(true); + } + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])([itemKeySignature, () => props.disabled], () => resetDragState(true), { + immediate: true + }); + return (_ctx, _cache) => { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("ul", { + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["draggableList", { + isDragging: draggedId.value !== null, + isDisabled: __props.disabled + }]) + }, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(orderedItems.value, (orderedItem, index) => { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("li", { + key: orderedItem.id, + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["draggableListItem", { + isDragged: orderedItem.id === placeholderId.value + }]), + "data-item-id": orderedItem.id, + draggable: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["unref"])(canDrag), + "aria-grabbed": orderedItem.id === draggedId.value, + onDragstart: $event => onDragStartForIndex($event, index), + onDragover: $event => onDragOverForIndex($event, index), + onDrop: onDrop, + onDragend: onDragEnd + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "default", { + item: orderedItem.item, + index: orderedItem.sourceIndex + })], 42, DraggableListvue_type_script_setup_true_lang_ts_hoisted_1); + }), 128))], 2); + }; + } +})); +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/Reports/DraggableList.vue?vue&type=script&setup=true&lang=ts + +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/Reports/DraggableList.vue + + + +/* harmony default export */ var DraggableList = (DraggableListvue_type_script_setup_true_lang_ts); +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/CustomReports.store.ts +function _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; } +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ + + +function arrayFilterAndRemoveDuplicates(values) { + return [...new Set(values)].filter(v => !!v); +} +function formatExpandableList(listByCategories, subcategoryField, extraField) { + const list = []; + listByCategories.forEach(category => { + category[subcategoryField].forEach(value => { + list.push(Object.assign({ + group: category.category, + key: value.uniqueId, + value: value.name, + tooltip: value.description || undefined + }, extraField ? { + [extraField]: value[extraField] + } : {})); + }); + }); + return list; +} +const EMPTY_CAT = { + key: '', + value: '' +}; +class CustomReports_store_CustomReportsStore { + constructor() { + _defineProperty(this, "privateState", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ + reports: [], + reportTypesReadable: {}, + dimensionsReadable: {}, + metricsReadable: {}, + categories: [], + subcategories: {}, + isLoading: false, + isUpdating: false, + allMetrics: [], + allDimensions: [] + })); + _defineProperty(this, "state", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => Object(external_commonjs_vue_commonjs2_vue_root_Vue_["readonly"])(this.privateState))); + _defineProperty(this, "fetchPromise", null); + _defineProperty(this, "availableReportTypesPromise", null); + _defineProperty(this, "dimensionsPromise", null); + _defineProperty(this, "dimensionsIdsiteLoaded", 0); + _defineProperty(this, "metricsPromise", null); + _defineProperty(this, "metricsIdsiteLoaded", 0); + _defineProperty(this, "categoriesPromise", null); + _defineProperty(this, "categoriesIdsiteLoaded", null); + } + reload() { + this.privateState.reports = []; + this.fetchPromise = null; + return this.fetchReports(); + } + cleanupSegmentDefinition(definition) { + let result = definition; + result = result.replace('\'', '%27'); + result = result.replace('&', '%26'); + return result; + } + getAvailableReportTypes() { + if (!this.availableReportTypesPromise) { + this.availableReportTypesPromise = external_CoreHome_["AjaxHelper"].fetch({ + method: 'CustomReports.getAvailableReportTypes', + filter_limit: '-1' + }).then(reportTypes => { + const reportTypeMap = {}; + reportTypes.forEach(rt => { + reportTypeMap[rt.key] = rt.value; + }); + this.privateState.reportTypesReadable = reportTypeMap; + }); + } + return this.availableReportTypesPromise.then(() => this.state.value.reportTypesReadable); + } + getAvailableDimensions(idSite) { + if (!this.dimensionsPromise || this.dimensionsIdsiteLoaded !== idSite) { + this.dimensionsIdsiteLoaded = idSite; + this.dimensionsPromise = external_CoreHome_["AjaxHelper"].fetch({ + method: 'CustomReports.getAvailableDimensions', + filter_limit: '-1', + idSite + }).then(dimensions => { + const dimensionMap = {}; + dimensions.forEach(category => { + category.dimensions.forEach(dimension => { + dimensionMap[dimension.uniqueId] = dimension.name; + }); + }); + this.privateState.dimensionsReadable = dimensionMap; + this.privateState.allDimensions = formatExpandableList(dimensions, 'dimensions', 'sqlSegment'); + }); + } + return this.dimensionsPromise.then(() => this.state.value.dimensionsReadable); + } + getAvailableMetrics(idSite) { + if (!this.metricsPromise || this.metricsIdsiteLoaded !== idSite) { + this.metricsIdsiteLoaded = idSite; + this.metricsPromise = external_CoreHome_["AjaxHelper"].fetch({ + method: 'CustomReports.getAvailableMetrics', + filter_limit: '-1', + idSite + }).then(metrics => { + const metricsMap = {}; + metrics.forEach(metricsCategory => { + metricsCategory.metrics.forEach(metric => { + metricsMap[metric.uniqueId] = metric.name; + }); + }); + this.privateState.metricsReadable = metricsMap; + this.privateState.allMetrics = formatExpandableList(metrics, 'metrics'); + }); + } + return this.metricsPromise.then(() => this.state.value.metricsReadable); + } + getAvailableCategories(idSite) { + const idSiteToUse = !idSite || idSite === 'all' ? external_CoreHome_["Matomo"].idSite : idSite; + if (!this.categoriesPromise || this.categoriesIdsiteLoaded !== idSite) { + this.categoriesPromise = external_CoreHome_["AjaxHelper"].fetch({ + method: 'CustomReports.getAvailableCategories', + filter_limit: '-1', + idSite: idSiteToUse + }).then(response => { + const categories = []; + const subcategories = {}; + response.forEach(category => { + categories.push({ + key: category.uniqueId, + value: category.name + }); + category.subcategories.forEach(subcat => { + subcategories[category.uniqueId] = subcategories[category.uniqueId] || [EMPTY_CAT]; + subcategories[category.uniqueId].push({ + key: subcat.uniqueId, + value: subcat.name + }); + }); + }); + this.privateState.categories = categories; + this.privateState.subcategories = subcategories; + }); + } + return this.categoriesPromise; + } + fetchReports() { + if (!this.fetchPromise) { + this.fetchPromise = external_CoreHome_["AjaxHelper"].fetch({ + method: 'CustomReports.getConfiguredReports', + filter_limit: '-1' + }); + } + this.privateState.isLoading = true; + this.privateState.reports = []; + return this.fetchPromise.then(reports => { + this.privateState.reports = reports.map(report => { + var _report$subcategory, _report$category; + let subcategoryLink = undefined; + if (report !== null && report !== void 0 && (_report$subcategory = report.subcategory) !== null && _report$subcategory !== void 0 && _report$subcategory.id) { + subcategoryLink = report.subcategory.id; + } else if ((report === null || report === void 0 || (_report$category = report.category) === null || _report$category === void 0 ? void 0 : _report$category.id) === 'CustomReports_CustomReports') { + subcategoryLink = report.idcustomreport; + } else { + subcategoryLink = report.name; + } + return Object.assign(Object.assign({}, report), {}, { + // report.idsite is falsey when report is set for all sites + linkIdSite: report.idsite ? report.idsite : external_CoreHome_["Matomo"].idSite, + subcategoryLink + }); + }); + return this.state.value.reports; + }).finally(() => { + this.privateState.isLoading = false; + }); + } + findReport(idCustomReport, isReload) { + // before going through an API request we first try to find it in loaded reports + const found = this.state.value.reports.find(r => parseInt(`${r.idcustomreport}`, 10) === idCustomReport); + if (found && !isReload) { + return Promise.resolve(found); + } + // otherwise we fetch it via API + this.privateState.isLoading = true; + return external_CoreHome_["AjaxHelper"].fetch({ + idCustomReport, + method: 'CustomReports.getConfiguredReport' + }).finally(() => { + this.privateState.isLoading = false; + }); + } + deleteReport(idCustomReport, idSite) { + this.privateState.isUpdating = true; + this.privateState.reports = []; + return external_CoreHome_["AjaxHelper"].fetch({ + idCustomReport, + idSite: `${idSite}`, + method: 'CustomReports.deleteCustomReport' + }, { + withTokenInUrl: true + }).then(() => ({ + type: 'success' + })).catch(e => ({ + type: 'error', + message: e.message || e + })).finally(() => { + this.privateState.isUpdating = false; + }); + } + pauseReport(idCustomReport, idSite) { + this.privateState.isUpdating = true; + this.privateState.reports = []; + return external_CoreHome_["AjaxHelper"].fetch({ + idCustomReport, + idSite: `${idSite}`, + method: 'CustomReports.pauseCustomReport' + }, { + withTokenInUrl: true + }).then(() => ({ + type: 'success' + })).catch(e => ({ + type: 'error', + message: e.message || e + })).finally(() => { + this.privateState.isUpdating = false; + }); + } + resumeReport(idCustomReport, idSite) { + this.privateState.isUpdating = true; + this.privateState.reports = []; + return external_CoreHome_["AjaxHelper"].fetch({ + idCustomReport, + idSite: `${idSite}`, + method: 'CustomReports.resumeCustomReport' + }, { + withTokenInUrl: true + }).then(() => ({ + type: 'success' + })).catch(e => ({ + type: 'error', + message: e.message || e + })).finally(() => { + this.privateState.isUpdating = false; + }); + } + createOrUpdateReport(report, method, childReportIds, multipleIdSites) { + var _report$category2, _report$subcategory2; + this.privateState.isUpdating = true; + return external_CoreHome_["AjaxHelper"].post({ + method, + idCustomReport: report.idcustomreport, + reportType: report.report_type, + name: report.name.trim(), + description: report.description.trim(), + segmentFilter: encodeURIComponent(report.segment_filter), + categoryId: (_report$category2 = report.category) === null || _report$category2 === void 0 ? void 0 : _report$category2.id, + subcategoryId: (_report$subcategory2 = report.subcategory) === null || _report$subcategory2 === void 0 ? void 0 : _report$subcategory2.id, + idSite: report.site.id, + subCategoryReportIds: childReportIds, + multipleIdSites + }, { + dimensionIds: arrayFilterAndRemoveDuplicates(report.dimensions), + metricIds: arrayFilterAndRemoveDuplicates(report.metrics) + }, { + withTokenInUrl: true + }).then(response => ({ + type: 'success', + response + })).catch(error => ({ + type: 'error', + message: error.message || error + })).finally(() => { + this.privateState.isUpdating = false; + }); + } +} +/* harmony default export */ var CustomReports_store = (new CustomReports_store_CustomReportsStore()); +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/CustomReports/vue/src/Reports/Edit.vue?vue&type=script&lang=ts + + + + + + +const notificationId = 'reportsmanagement'; +const productMetricNotificationId = 'reportsmanagementProductMetric'; +const DIMENSIONS_ALLOWED_TO_SHARE_SQL_SEGMENT = [['UserCountry.Continent', 'UserCountry.Country']]; +function Editvue_type_script_lang_ts_arrayFilterAndRemoveDuplicates(values) { + return [...new Set(values)].filter(v => !!v); +} +function canShareSqlSegment(selectedDimensionIds, dimensionId) { + return DIMENSIONS_ALLOWED_TO_SHARE_SQL_SEGMENT.some(group => group.includes(dimensionId) && selectedDimensionIds.some(selectedDimensionId => selectedDimensionId !== dimensionId && group.includes(selectedDimensionId))); +} +function makeDefaultReport() { + return { + dimensions: [], + site: { + id: external_CoreHome_["Matomo"].idSite, + name: external_CoreHome_["Matomo"].currentSiteName + }, + category: {} + }; +} +/* harmony default export */ var Editvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ + props: { + idCustomReport: Number, + browserArchivingDisabled: Boolean, + reArchiveLastN: Number, + maxDimensions: Number, + isCloud: Boolean + }, + components: { + ContentBlock: external_CoreHome_["ContentBlock"], + DraggableList: DraggableList, + Field: external_CorePluginsAdmin_["Field"], + SiteSelector: external_CoreHome_["SiteSelector"], + SegmentGenerator: external_SegmentEditor_["SegmentGenerator"], + SaveButton: external_CorePluginsAdmin_["SaveButton"] + }, + data() { + return { + isDirty: false, + report: makeDefaultReport(), + isLocked: false, + isUnlocked: false, + canEdit: true, + dependencyAdded: false, + childReports: [], + childReportIds: [], + containsText: '', + multipleSites: [], + multipleIdSites: [] + }; + }, + created() { + CustomReports_store.getAvailableReportTypes(); + this.init(); + }, + watch: { + idCustomReport(newValue) { + if (newValue === null) { + return; + } + this.init(); + } + }, + methods: { + initReportOptions() { + const idsite = parseInt(`${this.report.site.id}`, 10) || 'all'; + CustomReports_store.getAvailableDimensions(idsite); + CustomReports_store.getAvailableMetrics(idsite); + CustomReports_store.getAvailableCategories(idsite); + }, + syncChildReportIds(reports) { + const sourceReports = reports !== null && reports !== void 0 ? reports : this.childReports; + this.childReportIds = sourceReports.map(childReport => childReport.idcustomreport); + }, + doUnlock() { + this.isLocked = false; + this.isUnlocked = true; + }, + confirmReportIsLocked(callback) { + external_CoreHome_["Matomo"].helper.modalConfirm(this.$refs.infoReportIsLocked, { + unlock: () => { + this.doUnlock(); + if (callback) { + callback(); + } + } + }); + }, + removeAnyReportNotification() { + external_CoreHome_["NotificationsStore"].remove(notificationId); + external_CoreHome_["NotificationsStore"].remove(productMetricNotificationId); + external_CoreHome_["NotificationsStore"].remove('ajaxHelper'); + }, + showApiErrorMessage(errorMessage, responseType) { + if (errorMessage && responseType) { + this.removeAnyReportNotification(); + const elem = document.createElement('textarea'); + elem.innerHTML = errorMessage; + this.showNotification(elem.value, responseType, 'toast'); + } + }, + showNotification(message, context, type = null) { + const instanceId = external_CoreHome_["NotificationsStore"].show({ + message, + context, + id: notificationId, + type: type !== null && type !== void 0 ? type : 'transient', + prepend: true + }); + setTimeout(() => { + external_CoreHome_["NotificationsStore"].scrollToNotification(instanceId); + }, 100); + }, + showProductMetricNotification(message, shouldScrollToNotification) { + const instanceId = external_CoreHome_["NotificationsStore"].show({ + message, + context: 'warning', + id: productMetricNotificationId, + type: 'transient' + }); + if (!shouldScrollToNotification) { + return; + } + setTimeout(() => { + external_CoreHome_["NotificationsStore"].scrollToNotification(instanceId); + }, 100); + }, + showErrorFieldNotProvidedNotification(title) { + const message = Object(external_CoreHome_["translate"])('CustomReports_ErrorXNotProvided', [title]); + this.showNotification(message, 'error'); + }, + init() { + const { + idCustomReport + } = this; + this.canEdit = true; + this.report = makeDefaultReport(); + this.childReports = []; + this.syncChildReportIds([]); + this.multipleSites = []; + external_CoreHome_["Matomo"].helper.lazyScrollToContent(); + if (this.edit && idCustomReport) { + CustomReports_store.findReport(idCustomReport, true).then(report => { + var _this$report$child_re; + if (!report) { + return; + } + this.report = Object(external_CoreHome_["clone"])(report); + this.isLocked = true; + this.isUnlocked = false; + this.canEdit = true; + this.childReports = (_this$report$child_re = this.report.child_reports) !== null && _this$report$child_re !== void 0 ? _this$report$child_re : []; + this.syncChildReportIds(); + if (this.report.multipleIdSites && this.report.multipleIdSites.length && this.report.site.id !== 'all' && this.report.site.id !== '0' && this.report.site.id !== 0) { + this.multipleSites = this.report.multipleIdSites; + if (!this.report.allowedToEdit) { + this.canEdit = false; + this.isLocked = false; + } + } + let idSite = this.report.idsite; + if (idSite === 0 || idSite === '0' || idSite === 'all') { + // we need to make sure to send 'all' and not '0' as otherwise piwikApi would + // consider 0 as no value set and replace it with the current idsite. Also the + // site selector expects us to set 'all' instead of 0 + idSite = 'all'; + if (!this.isSuperUser) { + // a lock does not make sense because report cannot be changed anyway. we do not want + // to show a warning related to this in such a case + this.canEdit = false; + this.isLocked = false; + } + } + this.report.site = { + id: idSite, + name: this.report.site.name + }; + if (this.report.multipleIdSites && this.report.multipleIdSites.length && idSite !== 'all' && idSite !== '0' && idSite !== 0) { + this.multipleSites = this.report.multipleIdSites; + } else if (idSite !== 'all' && idSite !== '0' && idSite !== 0) { + this.multipleSites = [{ + idsite: idSite, + name: this.report.site.name + }]; + } + this.isDirty = false; + this.initReportOptions(); + }); + return; + } + if (this.create) { + this.report = { + idsite: external_CoreHome_["Matomo"].idSite, + site: { + id: external_CoreHome_["Matomo"].idSite, + name: external_CoreHome_["Matomo"].currentSiteName || external_CoreHome_["Matomo"].siteName + }, + name: '', + description: '', + dimensions: [], + metrics: ['nb_visits'], + report_type: 'table', + category: { + id: 'CustomReports_CustomReports' + }, + subcategory: null, + segment_filter: '', + child_reports: [], + allowedToEdit: true + }; + this.multipleSites = [{ + idsite: this.report.site.id, + name: this.report.site.name + }]; + this.isLocked = false; + this.canEdit = true; + this.isDirty = false; + this.childReports = []; + this.syncChildReportIds([]); + this.initReportOptions(); + } + }, + onChildReportsReorder(order) { + const reportsById = new Map(this.childReports.map(childReport => [`${childReport.idcustomreport}`, childReport])); + const reorderedReports = order.map(id => reportsById.get(id)).filter(childReport => !!childReport); + if (reorderedReports.length !== this.childReports.length) { + return; + } + this.childReports = reorderedReports; + this.syncChildReportIds(reorderedReports); + this.setValueHasChanged(); + }, + cancel() { + const newParams = Object.assign({}, external_CoreHome_["MatomoUrl"].hashParsed.value); + delete newParams.idCustomReport; + external_CoreHome_["MatomoUrl"].updateHash(newParams); + }, + unlockReport() { + if (!this.report) { + return; + } + if (this.isLocked) { + external_CoreHome_["Matomo"].helper.modalConfirm(this.$refs.confirmUnlockReport, { + yes: () => { + this.doUnlock(); + } + }); + } + }, + createReport() { + const method = 'CustomReports.addCustomReport'; + this.removeAnyReportNotification(); + if (!this.checkRequiredFieldsAreSet()) { + return; + } + this.multipleIdSites = []; + if (this.multipleSites && this.multipleSites.length && this.report.site.id !== 'all' && this.report.site.id !== '0' && this.report.site.id !== 0) { + this.multipleIdSites.push(this.report.site.id); + this.multipleSites.forEach(item => { + const idSite = item.idsite; + if (!this.multipleIdSites.some(existing => `${existing}` === `${idSite}`)) { + this.multipleIdSites.push(idSite); + } + }); + } + CustomReports_store.createOrUpdateReport(this.report, method, this.childReportIds, this.multipleIdSites).then(response => { + if (!response || response.type === 'error' || !response.response) { + var _response$message, _response$type; + this.showApiErrorMessage((_response$message = response.message) !== null && _response$message !== void 0 ? _response$message : '', (_response$type = response.type) !== null && _response$type !== void 0 ? _response$type : 'error'); + return; + } + this.isDirty = false; + const idCustomReport = response.response.value; + if (this.report.site) { + const idSite = this.report.site.id; + if (idSite && idSite !== 'all' && `${idSite}` !== `${external_CoreHome_["Matomo"].idSite}`) { + // when creating a report for a different site... + // we need to reload this page for a different idsite, otherwise the report won't + // be found + external_CoreHome_["MatomoUrl"].updateUrl(Object.assign(Object.assign({}, external_CoreHome_["MatomoUrl"].urlParsed.value), {}, { + idSite + }), Object.assign(Object.assign({}, external_CoreHome_["MatomoUrl"].hashParsed.value), {}, { + idCustomReport + })); + return; + } + } + CustomReports_store.reload().then(() => { + if (external_CoreHome_["Matomo"].helper.isReportingPage()) { + external_CoreHome_["Matomo"].postEvent('updateReportingMenu'); + } + external_CoreHome_["MatomoUrl"].updateHash(Object.assign(Object.assign({}, external_CoreHome_["MatomoUrl"].hashParsed.value), {}, { + idCustomReport + })); + setTimeout(() => { + this.showNotification(Object(external_CoreHome_["translate"])('CustomReports_ReportCreated'), response.type); + }, 200); + }); + }); + }, + showPreview() { + var _this$report$site, _this$report$dimensio, _this$report$metrics; + if (!this.isProductRevenueDependencyMet(true)) { + return; + } + const idSite = (_this$report$site = this.report.site) !== null && _this$report$site !== void 0 && _this$report$site.id && this.report.site.id !== 'all' ? this.report.site.id : external_CoreHome_["Matomo"].idSite; + const hasDimensions = ((_this$report$dimensio = this.report.dimensions) === null || _this$report$dimensio === void 0 ? void 0 : _this$report$dimensio.length) && this.report.report_type && this.report.report_type !== 'evolution'; + const dimensions = hasDimensions ? this.report.dimensions.join(',') : undefined; + const hasMetrics = !!((_this$report$metrics = this.report.metrics) !== null && _this$report$metrics !== void 0 && _this$report$metrics.length); + const metrics = hasMetrics ? this.report.metrics.join(',') : undefined; + const url = external_CoreHome_["MatomoUrl"].stringify({ + module: 'CustomReports', + action: 'previewReport', + period: 'day', + date: 'today', + idSite, + report_type: this.report.report_type, + dimensions, + metrics, + segment: this.report.segment_filter || undefined + }); + const title = Object(external_CoreHome_["translate"])('CustomReports_Preview'); + window.Piwik_Popover.createPopupAndLoadUrl(url, title, 'customReportPreview'); + }, + setValueHasChanged() { + this.isDirty = true; + }, + addDimension(dimension) { + if (!this.report || !dimension) { + return; + } + if (this.isLocked) { + this.confirmReportIsLocked(() => { + this.addDimension(dimension); + }); + return; + } + if (!this.report.dimensions) { + this.report.dimensions = []; + } + this.report.dimensions = [...this.report.dimensions, dimension]; + this.setValueHasChanged(); + }, + changeDimension(dimension, index) { + var _this$report$dimensio2; + if (!this.report || !dimension) { + return; + } + if (this.isLocked) { + this.confirmReportIsLocked(() => { + this.changeDimension(dimension, index); + }); + return; + } + if (!((_this$report$dimensio2 = this.report.dimensions) !== null && _this$report$dimensio2 !== void 0 && _this$report$dimensio2[index])) { + return; + } + this.report.dimensions = [...this.report.dimensions]; + this.report.dimensions[index] = dimension; + this.setValueHasChanged(); + }, + changeMetric(metric, index) { + var _this$report$metrics2; + this.dependencyAdded = false; + if (!this.report || !metric) { + return; + } + if (this.isLocked) { + this.confirmReportIsLocked(() => { + this.changeMetric(metric, index); + }); + return; + } + if (!((_this$report$metrics2 = this.report.metrics) !== null && _this$report$metrics2 !== void 0 && _this$report$metrics2[index])) { + return; + } + this.report.metrics = [...this.report.metrics]; + this.report.metrics[index] = metric; + this.setValueHasChanged(); + this.addMetricIfMissingDependency(metric); + }, + setWebsiteChanged(newValue) { + this.setValueHasChanged(); + this.initReportOptions(); + if (this.report.site.id === 'all' || this.report.site.id === '0' || this.report.site.id === 0) { + this.multipleSites = []; + } else if (this.report.allowedToEdit && !this.isSiteIncludedAlready(`${newValue.id}`) && this.multipleSites) { + this.multipleSites.push({ + idsite: newValue.id, + name: newValue.name + }); + } + }, + removeDimension(index) { + if (this.isLocked) { + this.confirmReportIsLocked(() => { + this.removeDimension(index); + }); + return; + } + window.$('div.ui-tooltip[role="tooltip"]:not([style*="display: none"])').remove(); + if (index > -1) { + this.report.dimensions = [...this.report.dimensions]; + this.report.dimensions.splice(index, 1); + this.setValueHasChanged(); + } + }, + addMetric(metric) { + this.dependencyAdded = false; + if (!this.report || !metric) { + return; + } + if (!this.report.metrics) { + this.report.metrics = []; + } + if (this.isLocked) { + this.confirmReportIsLocked(() => { + this.addMetric(metric); + }); + return; + } + this.report.metrics = [...this.report.metrics, metric]; + this.setValueHasChanged(); + this.addMetricIfMissingDependency(metric); + }, + addMetricIfMissingDependency(metric) { + // If the metric isn't Product Revenue or the dependency is already met, return + if (!['sum_product_revenue', 'avg_product_revenue'].includes(metric) || this.doesReportIncludeProductQuantityMetric()) { + return; + } + const dependency = metric === 'avg_product_revenue' ? 'avg_ecommerce_productquantity' : 'sum_ecommerce_productquantity'; + this.addMetric(dependency); + this.dependencyAdded = true; + }, + removeMetric(index) { + this.dependencyAdded = false; + if (this.isLocked) { + this.confirmReportIsLocked(() => { + this.removeMetric(index); + }); + return; + } + window.$('div.ui-tooltip[role="tooltip"]:not([style*="display: none"])').remove(); + if (index > -1) { + this.report.metrics = [...this.report.metrics]; + this.report.metrics.splice(index, 1); + this.setValueHasChanged(); + } + }, + setReportTypeHasChanged(newReportType) { + if (this.report && this.isLocked) { + if (newReportType !== this.report.report_type) { + this.confirmReportIsLocked(() => { + this.report.report_type = newReportType; + this.setValueHasChanged(); + }); + } + } else { + this.report.report_type = newReportType; + this.setValueHasChanged(); + } + }, + setSegmentFilterHasChanged(newSegmentFilter) { + if (this.report && this.isLocked) { + if (newSegmentFilter !== this.report.segment_filter) { + this.confirmReportIsLocked(() => { + this.report.segment_filter = newSegmentFilter; + this.setValueHasChanged(); + }); + } + } else { + this.report.segment_filter = newSegmentFilter; + this.setValueHasChanged(); + } + }, + updateReport() { + this.removeAnyReportNotification(); + if (!this.checkRequiredFieldsAreSet()) { + return; + } + const selectedSiteId = this.report.site.id; + const isAllWebsites = selectedSiteId === 'all' || selectedSiteId === '0' || selectedSiteId === 0; + this.multipleIdSites = []; + if (this.multipleSites && this.multipleSites.length > 1 && !isAllWebsites) { + this.multipleIdSites.push(selectedSiteId); + this.multipleSites.forEach(item => { + const idSite = item.idsite; + if (!this.multipleIdSites.some(existing => `${existing}` === `${idSite}`)) { + this.multipleIdSites.push(idSite); + } + }); + } + const requestSiteId = this.multipleIdSites.length ? this.report.idsite : selectedSiteId; + const method = 'CustomReports.updateCustomReport'; + CustomReports_store.createOrUpdateReport(Object.assign(Object.assign({}, this.report), {}, { + site: Object.assign(Object.assign({}, this.report.site), {}, { + id: requestSiteId + }) + }), method, this.childReportIds, this.multipleIdSites).then(response => { + if (!response || response.type === 'error') { + var _response$message2, _response$type2; + this.showApiErrorMessage((_response$message2 = response.message) !== null && _response$message2 !== void 0 ? _response$message2 : '', (_response$type2 = response.type) !== null && _response$type2 !== void 0 ? _response$type2 : 'error'); + return; + } + const idSite = this.report.site.id; + const currentSiteRemainsAccessible = this.multipleIdSites.some(siteId => `${siteId}` === `${external_CoreHome_["Matomo"].idSite}`); + this.isDirty = false; + this.canEdit = true; + if (idSite && idSite !== 'all' && `${idSite}` !== `${external_CoreHome_["Matomo"].idSite}` && !currentSiteRemainsAccessible) { + // when moving a report from one site to another... + // we need to reload this page for a different idsite, otherwise the report won't be found + external_CoreHome_["MatomoUrl"].updateUrl(Object.assign(Object.assign({}, external_CoreHome_["MatomoUrl"].urlParsed.value), {}, { + idSite + }), Object.assign({}, external_CoreHome_["MatomoUrl"].hashParsed.value)); + return; + } + CustomReports_store.reload().then(() => { + this.init(); + }); + this.showNotification(Object(external_CoreHome_["translate"])('CustomReports_ReportUpdated'), response.type); + }); + }, + checkRequiredFieldsAreSet() { + var _this$report$metrics3; + if (!this.report.name) { + const title = Object(external_CoreHome_["translate"])('General_Name'); + this.showErrorFieldNotProvidedNotification(title); + return false; + } + if (this.typeNeedsDimensions) { + var _this$report$dimensio3; + if (!((_this$report$dimensio3 = this.report.dimensions) !== null && _this$report$dimensio3 !== void 0 && _this$report$dimensio3.length) || !Editvue_type_script_lang_ts_arrayFilterAndRemoveDuplicates(this.report.dimensions).length) { + const title = Object(external_CoreHome_["translate"])('CustomReports_ErrorMissingDimension'); + this.showNotification(title, 'error'); + return false; + } + } + if (!((_this$report$metrics3 = this.report.metrics) !== null && _this$report$metrics3 !== void 0 && _this$report$metrics3.length) || !Editvue_type_script_lang_ts_arrayFilterAndRemoveDuplicates(this.report.metrics).length) { + const title = Object(external_CoreHome_["translate"])('CustomReports_ErrorMissingMetric'); + this.showNotification(title, 'error'); + return false; + } + // Don't fail validation since we automatically add the dependency + this.isProductRevenueDependencyMet(false); + return true; + }, + setSubcategory(subcategoryId) { + this.report.subcategory = this.report.subcategory || { + id: '' + }; + this.report.subcategory.id = subcategoryId; + }, + isProductRevenueDependencyMet(shouldScrollToNotification) { + const linkString = Object(external_CoreHome_["externalLink"])('https://matomo.org/faq/custom-reports/why-is-there-an-error-when-i-try-to-run-a-custom-report-with-the-product-revenue-metric/'); + const notificationText = Object(external_CoreHome_["translate"])('CustomReports_WarningProductRevenueMetricDependency', linkString, ''); + if (this.report.metrics.includes('sum_product_revenue') && !this.doesReportIncludeProductQuantityMetric()) { + this.addMetric('sum_ecommerce_productquantity'); + this.showProductMetricNotification(notificationText, shouldScrollToNotification); + return false; + } + if (this.report.metrics.includes('avg_product_revenue') && !this.doesReportIncludeProductQuantityMetric()) { + this.addMetric('avg_ecommerce_productquantity'); + this.showProductMetricNotification(notificationText, shouldScrollToNotification); + return false; + } + return true; + }, + doesReportIncludeProductQuantityMetric() { + return this.report.metrics.includes('sum_ecommerce_productquantity') || this.report.metrics.includes('avg_ecommerce_productquantity'); + }, + isSiteIncludedAlready(idSite) { + if (this.multipleSites && this.multipleSites.length) { + return this.multipleSites.some(item => `${item.idsite}` === `${idSite}`); + } + return false; + }, + isSelectedSiteRow(site) { + return !!this.multipleSites && this.multipleSites.length > 1 && `${site.idsite}` === `${this.report.site.id}`; + }, + canRemoveSite(site) { + const isOriginalSite = `${site.idsite}` === `${this.report.idsite}`; + if (this.multipleSites && this.multipleSites.length <= 1) { + return false; + } + return !(this.edit && isOriginalSite); + }, + removeSite(site) { + if (this.multipleSites) { + if (!this.canRemoveSite(site)) { + return; + } + const isSelectedSite = `${site.idsite}` === `${this.report.site.id}`; + const removedIndex = this.multipleSites.findIndex(item => item.idsite === site.idsite); + this.isDirty = true; + this.multipleSites = this.multipleSites.filter(item => item.idsite !== site.idsite); + if (isSelectedSite && this.multipleSites.length) { + const previousSite = removedIndex > 0 ? this.multipleSites[removedIndex - 1] : null; + const nextSelectedSite = previousSite || this.multipleSites[0]; + this.report.site = { + id: nextSelectedSite.idsite, + name: nextSelectedSite.name + }; + this.initReportOptions(); + } + } + }, + addSitesContaining(searchTerm) { + if (!searchTerm) { + return; + } + const displaySearchTerm = `"${external_CoreHome_["Matomo"].helper.escape(external_CoreHome_["Matomo"].helper.htmlEntities(searchTerm))}"`; + external_CoreHome_["AjaxHelper"].fetch({ + method: 'SitesManager.getSitesWithAdminAccess', + pattern: searchTerm, + filter_limit: -1 + }).then(sites => { + if (!sites || !sites.length) { + const sitesToAdd = `
    +

    ${Object(external_CoreHome_["translate"])('CustomReports_MatchingSearchNotFound', displaySearchTerm)}

    + +
    `; + external_CoreHome_["Matomo"].helper.modalConfirm(sitesToAdd); + return; + } + const newSites = []; + const alreadyAddedSites = []; + sites.forEach(site => { + const siteName = window.vueSanitize(external_CoreHome_["Matomo"].helper.htmlEntities(site.name)); + const siteTitle = `${siteName} (id ${parseInt(`${site.idsite}`, 10)})
    `; + if (this.isSiteIncludedAlready(`${site.idsite}`)) { + alreadyAddedSites.push(siteTitle); + } else { + newSites.push(siteTitle); + } + }); + let title = Object(external_CoreHome_["translate"])('CustomReports_MatchingSearchConfirmTitle', newSites.length); + if (alreadyAddedSites.length) { + const text = Object(external_CoreHome_["translate"])('CustomReports_MatchingSearchConfirmTitleAlreadyAdded', alreadyAddedSites.length); + title += ` (${text})`; + } + let sitesToAdd = `

    ${title}

    + ${Object(external_CoreHome_["translate"])('CustomReports_MatchingSearchMatchedAdd', newSites.length, displaySearchTerm)}: +

    `; + sitesToAdd += newSites.join(''); + if (alreadyAddedSites.length) { + const text = Object(external_CoreHome_["translate"])('CustomReports_MatchingSearchMatchedAlreadyAdded', alreadyAddedSites.length, displaySearchTerm); + sitesToAdd += `
    ${text}:

    ${alreadyAddedSites.join('')}`; + } + sitesToAdd += `

    + +
    `; + external_CoreHome_["Matomo"].helper.modalConfirm(sitesToAdd, { + yes: () => { + sites.forEach(site => { + if (this.multipleSites) { + if (!this.isSiteIncludedAlready(`${site.idsite}`)) { + this.isDirty = true; + this.multipleSites.push({ + idsite: site.idsite, + name: site.name + }); + } + } + }); + this.containsText = ''; + } + }); + }); + } + }, + computed: { + isSuperUser() { + return !!external_CoreHome_["Matomo"].hasSuperUserAccess; + }, + allMetrics() { + return CustomReports_store.state.value.allMetrics; + }, + metrics() { + var _this$report; + // if any of the page generation times in the report is used than allow all of them + // otherwise don't show any of thme. + const pageGenerationMetrics = ['pageviews_with_generation_time', 'avg_page_generation_time', 'max_actions_pagegenerationtime', 'sum_actions_pagegenerationtime']; + const hasPageGenerationMetric = (((_this$report = this.report) === null || _this$report === void 0 ? void 0 : _this$report.metrics) || []).some(m => pageGenerationMetrics.indexOf(m) >= 0); + const shouldRemoveGenerationTime = !hasPageGenerationMetric; + return this.allMetrics.filter(m => { + if (!m) { + return false; + } + if (shouldRemoveGenerationTime && pageGenerationMetrics.indexOf(m.key) >= 0) { + return false; + } + return true; + }); + }, + allDimensions() { + return CustomReports_store.state.value.allDimensions; + }, + reportTypes() { + return CustomReports_store.state.value.reportTypesReadable; + }, + isSingleMetricType() { + var _this$report2; + return ((_this$report2 = this.report) === null || _this$report2 === void 0 ? void 0 : _this$report2.report_type) === 'kpicard'; + }, + typeNeedsDimensions() { + var _this$report3, _this$report4; + return ((_this$report3 = this.report) === null || _this$report3 === void 0 ? void 0 : _this$report3.report_type) !== 'evolution' && ((_this$report4 = this.report) === null || _this$report4 === void 0 ? void 0 : _this$report4.report_type) !== 'kpicard'; + }, + visibleMetrics() { + var _this$report5; + const reportMetrics = ((_this$report5 = this.report) === null || _this$report5 === void 0 ? void 0 : _this$report5.metrics) || []; + // a KPI card only uses a single metric; any further already selected metrics stay + // hidden and are discarded when the report is saved + return this.isSingleMetricType ? reportMetrics.slice(0, 1) : reportMetrics; + }, + create() { + return !this.idCustomReport; + }, + edit() { + return !this.create; + }, + editTitle() { + return this.create ? 'CustomReports_CreateNewReport' : 'CustomReports_EditReport'; + }, + contentTitle() { + return Object(external_CoreHome_["translate"])(this.editTitle, this.report.name ? `"${this.report.name}"` : ''); + }, + categories() { + return CustomReports_store.state.value.categories; + }, + subcategories() { + return CustomReports_store.state.value.subcategories; + }, + dimensions() { + var _this$report6; + const result = [...this.allDimensions]; + if (!((_this$report6 = this.report) !== null && _this$report6 !== void 0 && _this$report6.dimensions)) { + return result; + } + const hasPageGenerationDimension = this.report.dimensions.indexOf('Actions.PageGenerationTime') !== -1; + // we do not allow to select eg grouping by "Page URL, Clicked URL" as it wouldn't show any + // data + const usedSqlSegments = this.report.dimensions.map(dimensionId => { + var _result$find; + return (_result$find = result.find(dim => dim.key === dimensionId)) === null || _result$find === void 0 ? void 0 : _result$find.sqlSegment; + }).filter(sqlSegment => !!sqlSegment); + // make sure these dimensions cannot be selected a second time + for (let j = 0; j < result.length; j += 1) { + const dim = result[j]; + if (!hasPageGenerationDimension && dim.key === 'Actions.PageGenerationTime') { + // we only show this metric if it was used before already in the report + result.splice(j, 1); + j -= 1; + break; + } + if (dim.sqlSegment && usedSqlSegments.indexOf(dim.sqlSegment) > -1 && !canShareSqlSegment(this.report.dimensions, dim.key) && this.report.dimensions.indexOf(dim.key) === -1) { + // we want to make sure to not show incompatible dimensions but we still want to show an + // already selected dimension again so users can eg easily swap dimensions etc. + result.splice(j, 1); + j -= 1; + } + } + return result; + }, + isLoading() { + return CustomReports_store.state.value.isLoading; + }, + isUpdating() { + return CustomReports_store.state.value.isUpdating; + }, + dimensionsReadable() { + return CustomReports_store.state.value.dimensionsReadable; + }, + metricsReadable() { + return CustomReports_store.state.value.metricsReadable; + }, + saveButtonText() { + return this.edit ? Object(external_CoreHome_["translate"])('CoreUpdater_UpdateTitle') : Object(external_CoreHome_["translate"])('CustomReports_CreateNewReport'); + }, + getProductRevenueDependencyMessage() { + const linkString = Object(external_CoreHome_["externalLink"])('https://matomo.org/faq/custom-reports/why-is-there-an-error-when-i-try-to-run-a-custom-report-with-the-product-revenue-metric/'); + return Object(external_CoreHome_["translate"])('CustomReports_WarningProductRevenueMetricDependency', linkString, ''); + }, + getPausedStateAdminMessage() { + const url = `?${external_CoreHome_["MatomoUrl"].stringify(Object.assign(Object.assign({}, external_CoreHome_["MatomoUrl"].urlParsed.value), {}, { + module: 'CustomReports', + action: 'manage' + }))}`; + return Object(external_CoreHome_["translate"])('CustomReports_ReportInPausedStateAdmin', ``, ''); + }, + getDescriptionHelpText() { + const linkString = Object(external_CoreHome_["externalLink"])('https://matomo.org/faq/custom-reports/how-to-add-an-information-icon-to-the-title-of-a-custom-report/'); + return Object(external_CoreHome_["translate"])('CustomReports_ReportDescriptionHelpText', linkString, ''); + }, + getDimensionsHelpText() { + const helpText = Object(external_CoreHome_["translate"])('CustomReports_ReportDimensionsHelpNew'); + const extended = this.getDimensionsHelpTextExtended; + if (extended) { + return `${helpText}

    ${extended}`; + } + return helpText; + }, + getDimensionsHelpTextExtended() { + if (this.isCloud) { + return ''; + } + const linkString = Object(external_CoreHome_["externalLink"])('https://matomo.org/faq/custom-reports/faq_25655/'); + return Object(external_CoreHome_["translate"])('CustomReports_ReportDimensionsHelpExtended', linkString, ''); + } + } +})); +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/Reports/Edit.vue?vue&type=script&lang=ts + +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/Reports/Edit.vue + + + +Editvue_type_script_lang_ts.render = Editvue_type_template_id_df804736_render + +/* harmony default export */ var Edit = (Editvue_type_script_lang_ts); +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/CustomReports/vue/src/Reports/List.vue?vue&type=template&id=4270553c + +const Listvue_type_template_id_4270553c_hoisted_1 = { + class: "reportSearchFilter" +}; +const Listvue_type_template_id_4270553c_hoisted_2 = { + class: "index" +}; +const Listvue_type_template_id_4270553c_hoisted_3 = { + class: "name" +}; +const Listvue_type_template_id_4270553c_hoisted_4 = { + class: "description" +}; +const Listvue_type_template_id_4270553c_hoisted_5 = { + class: "reportType" +}; +const Listvue_type_template_id_4270553c_hoisted_6 = { + class: "reportCategory" +}; +const Listvue_type_template_id_4270553c_hoisted_7 = { + class: "action" +}; +const Listvue_type_template_id_4270553c_hoisted_8 = { + colspan: "7" +}; +const Listvue_type_template_id_4270553c_hoisted_9 = { + class: "loadingPiwik" +}; +const Listvue_type_template_id_4270553c_hoisted_10 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("img", { + src: "plugins/Morpheus/images/loading-blue.gif" +}, null, -1); +const Listvue_type_template_id_4270553c_hoisted_11 = { + colspan: "7" +}; +const Listvue_type_template_id_4270553c_hoisted_12 = ["id"]; +const Listvue_type_template_id_4270553c_hoisted_13 = { + class: "index" +}; +const Listvue_type_template_id_4270553c_hoisted_14 = { + class: "name" +}; +const Listvue_type_template_id_4270553c_hoisted_15 = ["title"]; +const Listvue_type_template_id_4270553c_hoisted_16 = ["title"]; +const Listvue_type_template_id_4270553c_hoisted_17 = ["title"]; +const Listvue_type_template_id_4270553c_hoisted_18 = ["title"]; +const Listvue_type_template_id_4270553c_hoisted_19 = ["title"]; +const Listvue_type_template_id_4270553c_hoisted_20 = { + class: "reportType" +}; +const Listvue_type_template_id_4270553c_hoisted_21 = ["title"]; +const Listvue_type_template_id_4270553c_hoisted_22 = { + key: 0 +}; +const Listvue_type_template_id_4270553c_hoisted_23 = ["title", "onClick"]; +const Listvue_type_template_id_4270553c_hoisted_24 = ["title", "onClick"]; +const Listvue_type_template_id_4270553c_hoisted_25 = ["title", "onClick"]; +const Listvue_type_template_id_4270553c_hoisted_26 = ["title", "href"]; +const Listvue_type_template_id_4270553c_hoisted_27 = { + key: 0 +}; +const Listvue_type_template_id_4270553c_hoisted_28 = ["title", "onClick"]; +const Listvue_type_template_id_4270553c_hoisted_29 = { + class: "tableActionBar" +}; +const Listvue_type_template_id_4270553c_hoisted_30 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: "icon-add" +}, null, -1); +const Listvue_type_template_id_4270553c_hoisted_31 = { + class: "ui-confirm", + ref: "confirmDeleteReport" +}; +const Listvue_type_template_id_4270553c_hoisted_32 = ["value"]; +const Listvue_type_template_id_4270553c_hoisted_33 = ["value"]; +const Listvue_type_template_id_4270553c_hoisted_34 = { + class: "ui-confirm", + ref: "confirmPauseReport" +}; +const Listvue_type_template_id_4270553c_hoisted_35 = ["value"]; +const Listvue_type_template_id_4270553c_hoisted_36 = ["value"]; +const Listvue_type_template_id_4270553c_hoisted_37 = { + class: "ui-confirm", + ref: "confirmResumeReport" +}; +const Listvue_type_template_id_4270553c_hoisted_38 = ["value"]; +const Listvue_type_template_id_4270553c_hoisted_39 = ["value"]; +function Listvue_type_template_id_4270553c_render(_ctx, _cache, $props, $setup, $data, $options) { + const _component_Field = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("Field"); + const _component_EntityDuplicatorAction = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("EntityDuplicatorAction"); + const _component_ContentBlock = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ContentBlock"); + const _component_EntityDuplicatorModal = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("EntityDuplicatorModal"); + const _directive_content_table = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("content-table"); + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ContentBlock, { + "content-title": _ctx.translate('CustomReports_ManageReports'), + feature: _ctx.translate('CustomReports_ManageReports') + }, { + default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(() => [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_CustomReportIntroduction')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Listvue_type_template_id_4270553c_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + uicontrol: "text", + name: "reportSearch", + title: _ctx.translate('General_Search'), + modelValue: _ctx.searchFilter, + "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => _ctx.searchFilter = $event) + }, null, 8, ["title", "modelValue"]), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.reports.length > 0]])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])((Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("table", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("thead", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", Listvue_type_template_id_4270553c_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Id')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", Listvue_type_template_id_4270553c_hoisted_3, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Name')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", Listvue_type_template_id_4270553c_hoisted_4, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Description')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", Listvue_type_template_id_4270553c_hoisted_5, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_Type')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", Listvue_type_template_id_4270553c_hoisted_6, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_Category')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", Listvue_type_template_id_4270553c_hoisted_7, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Actions')), 1)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tbody", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Listvue_type_template_id_4270553c_hoisted_8, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Listvue_type_template_id_4270553c_hoisted_9, [Listvue_type_template_id_4270553c_hoisted_10, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_LoadingData')), 1)])])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.isLoading || _ctx.isUpdating]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Listvue_type_template_id_4270553c_hoisted_11, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_NoCustomReportsFound')), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !_ctx.isLoading && _ctx.reports.length == 0]]), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.sortedReports, report => { + var _report$subcategory; + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", { + id: `report${report.idcustomreport}`, + class: "customReports", + key: report.idcustomreport + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Listvue_type_template_id_4270553c_hoisted_13, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(report.idcustomreport), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Listvue_type_template_id_4270553c_hoisted_14, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(report.name) + " ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: "icon-locked", + title: _ctx.translate('CustomReports_ReportEditNotAllowedAllWebsitesUpdated') + }, null, 8, Listvue_type_template_id_4270553c_hoisted_15), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !report.idsite && !_ctx.isSuperUser]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: "icon-info2", + title: _ctx.translate('CustomReports_ReportAvailableToAllWebsites') + }, null, 8, Listvue_type_template_id_4270553c_hoisted_16), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !report.idsite && _ctx.isSuperUser]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: "icon-locked", + title: _ctx.translate('CustomReports_ReportEditNotAllowedMultipleWebsitesAccessIssue') + }, null, 8, Listvue_type_template_id_4270553c_hoisted_17), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !report.allowedToEdit && _ctx.isMultiSiteReport(report)]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: "icon-info2", + title: _ctx.translate('CustomReports_ReportAvailableToMultipleWebsites') + }, null, 8, Listvue_type_template_id_4270553c_hoisted_18), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], report.allowedToEdit && _ctx.isMultiSiteReport(report)]])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", { + class: "description", + title: _ctx.htmlEntities(report.description) + }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.truncate(report.description.trim(), 60)), 9, Listvue_type_template_id_4270553c_hoisted_19), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Listvue_type_template_id_4270553c_hoisted_20, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.reportTypesReadable[report.report_type]), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", { + class: "reportCategory", + title: _ctx.htmlEntities(report.category.name) + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.truncate(report.category.name.trim(), 60)) + " ", 1), (_report$subcategory = report.subcategory) !== null && _report$subcategory !== void 0 && _report$subcategory.name ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", Listvue_type_template_id_4270553c_hoisted_22, " - " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.truncate(report.subcategory.name.trim(), 60)), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 8, Listvue_type_template_id_4270553c_hoisted_21), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", { + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])({ + 'action': true, + 'duplicate-available': _ctx.isEntityDuplicatorAvailable + }) + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + class: "table-action icon-pause", + title: _ctx.translate('CustomReports_PauseReportInfo'), + onClick: $event => _ctx.pauseReport(report) + }, null, 8, Listvue_type_template_id_4270553c_hoisted_23), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], (report.idsite && !_ctx.isMultiSiteReport(report) || report.allowedToEdit) && report.status === 'active']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + class: "table-action icon-play", + title: _ctx.translate('CustomReports_ResumeReportInfo'), + onClick: $event => _ctx.resumeReport(report) + }, null, 8, Listvue_type_template_id_4270553c_hoisted_24), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], (report.idsite && !_ctx.isMultiSiteReport(report) || report.allowedToEdit) && report.status === 'paused']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + class: "table-action icon-edit", + title: _ctx.translate('CustomReports_EditReport'), + onClick: $event => _ctx.editReport(report.idcustomreport) + }, null, 8, Listvue_type_template_id_4270553c_hoisted_25), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + target: "_blank", + class: "table-action icon-show", + title: _ctx.translate('CustomReports_ViewReportInfo'), + href: _ctx.getViewReportLink(report) + }, null, 8, Listvue_type_template_id_4270553c_hoisted_26), _ctx.isEntityDuplicatorAvailable && (report.idsite && !_ctx.isMultiSiteReport(report) || report.allowedToEdit) ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", Listvue_type_template_id_4270553c_hoisted_27, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_EntityDuplicatorAction, { + actionFormData: { + idCustomReport: report.idcustomreport + }, + modalStore: _ctx.entityDuplicatorStore, + isActionVisible: _ctx.showDuplicatorAction, + isActionEnabled: _ctx.enableDuplicatorAction, + tooltipTextOverrideDisabled: _ctx.translate('CustomReports_QuotaReachedForX', _ctx.translate('CustomReports_CustomReport'), _ctx.translate('CustomReports_CustomReports')), + extraClasses: ['customreport-duplicate-action', `customreport-${report.idcustomreport}`] + }, null, 8, ["actionFormData", "modalStore", "isActionVisible", "isActionEnabled", "tooltipTextOverrideDisabled", "extraClasses"])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + class: "table-action icon-delete", + title: _ctx.translate('CustomReports_DeleteReportInfo'), + onClick: $event => _ctx.deleteReport(report) + }, null, 8, Listvue_type_template_id_4270553c_hoisted_28), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], report.idsite && !_ctx.isMultiSiteReport(report) || report.allowedToEdit]])], 2)], 8, Listvue_type_template_id_4270553c_hoisted_12); + }), 128))])])), [[_directive_content_table]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Listvue_type_template_id_4270553c_hoisted_29, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + class: "createNewReport", + onClick: _cache[1] || (_cache[1] = $event => _ctx.createReport()) + }, [Listvue_type_template_id_4270553c_hoisted_30, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_CreateNewReport')), 1)])])]), + _: 1 + }, 8, ["content-title", "feature"]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Listvue_type_template_id_4270553c_hoisted_31, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_DeleteReportConfirm')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + role: "yes", + type: "button", + value: _ctx.translate('General_Yes') + }, null, 8, Listvue_type_template_id_4270553c_hoisted_32), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + role: "no", + type: "button", + value: _ctx.translate('General_No') + }, null, 8, Listvue_type_template_id_4270553c_hoisted_33)], 512), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Listvue_type_template_id_4270553c_hoisted_34, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_PauseReportConfirm')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + role: "yes", + type: "button", + value: _ctx.translate('General_Yes') + }, null, 8, Listvue_type_template_id_4270553c_hoisted_35), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + role: "no", + type: "button", + value: _ctx.translate('General_No') + }, null, 8, Listvue_type_template_id_4270553c_hoisted_36)], 512), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Listvue_type_template_id_4270553c_hoisted_37, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('CustomReports_ResumeReportConfirm')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + role: "yes", + type: "button", + value: _ctx.translate('General_Yes') + }, null, 8, Listvue_type_template_id_4270553c_hoisted_38), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + role: "no", + type: "button", + value: _ctx.translate('General_No') + }, null, 8, Listvue_type_template_id_4270553c_hoisted_39)], 512)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_EntityDuplicatorModal, { + modalStore: _ctx.entityDuplicatorStore + }, null, 8, ["modalStore"])], 64); +} +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/Reports/List.vue?vue&type=template&id=4270553c + +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/truncateText2.ts +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ +function truncateText2(text, length) { + if (text && text.length > length) { + return `${text.substr(0, length - 3)}...`; + } + return text; +} +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/CustomReports/vue/src/Reports/List.vue?vue&type=script&lang=ts + + + + + +// Load these separately in case the version of core doesn't have the components yet +const EntityDuplicatorModal = Object(external_CoreHome_["useExternalPluginComponent"])('CoreHome', 'EntityDuplicatorModal'); +const EntityDuplicatorAction = Object(external_CoreHome_["useExternalPluginComponent"])('CoreHome', 'EntityDuplicatorAction'); +// Load the class similar to useExternalPluginComponent, but for something other than a component +let EntityDuplicatorStore = undefined; +// eslint-disable-next-line @typescript-eslint/no-explicit-any +Object(external_CoreHome_["importPluginUmd"])('CoreHome').then(module => { + EntityDuplicatorStore = module === null || module === void 0 ? void 0 : module.EntityDuplicatorStore; +}); +const Listvue_type_script_lang_ts_notificationId = 'customreportmanagementlist'; +/* harmony default export */ var Listvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ + props: {}, + components: { + ContentBlock: external_CoreHome_["ContentBlock"], + Field: external_CorePluginsAdmin_["Field"], + EntityDuplicatorModal, + EntityDuplicatorAction + }, + directives: { + ContentTable: external_CoreHome_["ContentTable"] + }, + data() { + return { + searchFilter: '', + showDuplicatorAction: true, + enableDuplicatorAction: false, + entityDuplicatorStore: typeof EntityDuplicatorStore !== 'undefined' ? EntityDuplicatorStore.buildStoreInstance('CustomReports_CustomReport', { + method: 'CustomReports.duplicateCustomReport', + requiredFields: ['idSite', 'idDestinationSites', 'idCustomReport'] + }) : undefined + }; + }, + created() { + CustomReports_store.getAvailableReportTypes(); + CustomReports_store.fetchReports(); + }, + mounted() { + // Check whether adding customreport is allowed. It will disable the action if it isn't + this.checkIsAddingCustomReportsAllowed(); + // If the adapter is defined, cast it to the expected type and override any necessary methods. + if (this.entityDuplicatorStore) { + const adapter = this.entityDuplicatorStore.adapter; + adapter.onSuccessCallback = response => new Promise(resolve => { + var _response$additionalD, _response$additionalD2, _response$additionalD3; + // Check if reloading is even necessary. If the current site isn't a destination skip reload + const idSite = (_response$additionalD = response.additionalData) === null || _response$additionalD === void 0 ? void 0 : _response$additionalD.idSite; + if ((_response$additionalD2 = response.additionalData) !== null && _response$additionalD2 !== void 0 && _response$additionalD2.idSite && Array.isArray((_response$additionalD3 = response.additionalData) === null || _response$additionalD3 === void 0 ? void 0 : _response$additionalD3.idDestinationSites) && !response.additionalData.idDestinationSites.some(id => +id === +idSite)) { + return resolve(); + } + return CustomReports_store.reload().then(() => resolve()); + }); + } + }, + methods: { + createReport() { + this.editReport(0); + }, + checkIsAddingCustomReportsAllowed() { + // Post event so that Billing,etc. can indicate whether adding another customreport is allowed + const parameters = { + isAllowed: true + }; + external_CoreHome_["Matomo"].postEvent('CustomReports.initAddCustomReport', parameters); + this.enableDuplicatorAction = parameters && parameters.isAllowed === true; + return !this.enableDuplicatorAction; + }, + editReport(idCustomReport) { + external_CoreHome_["MatomoUrl"].updateHash(Object.assign(Object.assign({}, external_CoreHome_["MatomoUrl"].hashParsed.value), {}, { + idCustomReport + })); + }, + pauseReport(report) { + external_CoreHome_["Matomo"].helper.modalConfirm(this.$refs.confirmPauseReport, { + yes: () => { + CustomReports_store.pauseReport(report.idcustomreport, report.idsite).then(response => { + if (!response || response.type === 'error') { + CustomReports_store.reload(); + return; + } + CustomReports_store.reload().then(() => { + this.showNotification(this.translate('CustomReports_PausedReport'), 'success'); + }); + external_CoreHome_["Matomo"].postEvent('updateReportingMenu'); + }); + } + }); + }, + resumeReport(report) { + external_CoreHome_["Matomo"].helper.modalConfirm(this.$refs.confirmResumeReport, { + yes: () => { + CustomReports_store.resumeReport(report.idcustomreport, report.idsite).then(response => { + if (!response || response.type === 'error') { + CustomReports_store.reload(); + return; + } + CustomReports_store.reload().then(() => { + this.showNotification(this.translate('CustomReports_ResumedReport'), 'success'); + }); + external_CoreHome_["Matomo"].postEvent('updateReportingMenu'); + }); + } + }); + }, + showNotification(message, context, type = null) { + const instanceId = external_CoreHome_["NotificationsStore"].show({ + message, + context, + id: Listvue_type_script_lang_ts_notificationId, + type: type !== null ? type : 'toast' + }); + setTimeout(() => { + external_CoreHome_["NotificationsStore"].scrollToNotification(instanceId); + }, 200); + }, + deleteReport(report) { + external_CoreHome_["Matomo"].helper.modalConfirm(this.$refs.confirmDeleteReport, { + yes: () => { + CustomReports_store.deleteReport(report.idcustomreport, report.idsite).then(() => { + CustomReports_store.reload(); + external_CoreHome_["Matomo"].postEvent('updateReportingMenu'); + }); + } + }); + }, + getViewReportLink(report) { + return `?${external_CoreHome_["MatomoUrl"].stringify({ + module: 'CoreHome', + action: 'index', + idSite: report.linkIdSite, + period: 'day', + date: 'yesterday' + })}#?${external_CoreHome_["MatomoUrl"].stringify({ + category: report.category.id, + idSite: report.linkIdSite, + date: external_CoreHome_["MatomoUrl"].parsed.value.date, + period: external_CoreHome_["MatomoUrl"].parsed.value.period, + segment: external_CoreHome_["MatomoUrl"].parsed.value.segment, + subcategory: report.subcategoryLink + })}`; + }, + truncate: truncateText2, + htmlEntities(v) { + return external_CoreHome_["Matomo"].helper.htmlEntities(v); + }, + isMultiSiteReport(report) { + return report.multiple_idsites && report.multiple_idsites.split(','); + } + }, + computed: { + isSuperUser() { + return external_CoreHome_["Matomo"].hasSuperUserAccess; + }, + reports() { + return CustomReports_store.state.value.reports; + }, + sortedReports() { + const searchFilter = this.searchFilter.toLowerCase(); + // look through string properties of custom reports for values that have searchFilter in them + // (mimics angularjs filter() filter) + const result = [...this.reports].filter(h => Object.keys(h).some(propName => { + const entity = h; + return typeof entity[propName] === 'string' && entity[propName].toLowerCase().indexOf(searchFilter) !== -1; + })); + result.sort((lhs, rhs) => { + const lhsId = parseInt(`${lhs.idcustomreport}`, 10); + const rhsId = parseInt(`${rhs.idcustomreport}`, 10); + return lhsId - rhsId; + }); + return result; + }, + isLoading() { + return CustomReports_store.state.value.isLoading; + }, + isUpdating() { + return CustomReports_store.state.value.isUpdating; + }, + reportTypesReadable() { + return CustomReports_store.state.value.reportTypesReadable; + }, + isEntityDuplicatorAvailable() { + return typeof EntityDuplicatorStore !== 'undefined'; + } + } +})); +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/Reports/List.vue?vue&type=script&lang=ts + +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/Reports/List.vue + + + +Listvue_type_script_lang_ts.render = Listvue_type_template_id_4270553c_render + +/* harmony default export */ var List = (Listvue_type_script_lang_ts); +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/CustomReports/vue/src/Reports/Manage.vue?vue&type=template&id=03955ed8 + +const Managevue_type_template_id_03955ed8_hoisted_1 = { + class: "manageReports" +}; +const Managevue_type_template_id_03955ed8_hoisted_2 = { + key: 0 +}; +const Managevue_type_template_id_03955ed8_hoisted_3 = { + key: 1 +}; +function Managevue_type_template_id_03955ed8_render(_ctx, _cache, $props, $setup, $data, $options) { + const _component_CustomReportsList = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("CustomReportsList"); + const _component_CustomReportsEdit = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("CustomReportsEdit"); + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", Managevue_type_template_id_03955ed8_hoisted_1, [!_ctx.editMode ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", Managevue_type_template_id_03955ed8_hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_CustomReportsList)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.editMode ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", Managevue_type_template_id_03955ed8_hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_CustomReportsEdit, { + "id-custom-report": _ctx.idCustomReport, + "browser-archiving-disabled": _ctx.browserArchivingDisabled, + "re-archive-last-n": _ctx.reArchiveLastN, + "max-dimensions": _ctx.maxDimensions, + "is-cloud": _ctx.isCloud + }, null, 8, ["id-custom-report", "browser-archiving-disabled", "re-archive-last-n", "max-dimensions", "is-cloud"])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]); +} +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/Reports/Manage.vue?vue&type=template&id=03955ed8 + +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/CustomReports/vue/src/Reports/Manage.vue?vue&type=script&lang=ts + + + + +/* harmony default export */ var Managevue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ + props: { + browserArchivingDisabled: Boolean, + reArchiveLastN: Number, + maxDimensions: Number, + isCloud: Boolean + }, + components: { + CustomReportsList: List, + CustomReportsEdit: Edit + }, + data() { + return { + editMode: false, + idCustomReport: null + }; + }, + watch: { + editMode() { + // when changing edit modes, the tooltip can sometimes get stuck on the screen + $('.ui-tooltip').remove(); + } + }, + created() { + // doing this in a watch because we don't want to post an event in a computed property + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["watch"])(() => external_CoreHome_["MatomoUrl"].hashParsed.value.idCustomReport, idCustomReport => { + this.initState(idCustomReport); + }); + this.initState(external_CoreHome_["MatomoUrl"].hashParsed.value.idCustomReport); + }, + methods: { + removeAnyReportNotification(shouldHideProductMetricNotification = true) { + external_CoreHome_["NotificationsStore"].remove('reportsmanagement'); + if (shouldHideProductMetricNotification) { + external_CoreHome_["NotificationsStore"].remove('reportsmanagementProductMetric'); + } + }, + initState(idCustomReport) { + if (idCustomReport) { + if (idCustomReport === '0') { + const parameters = { + isAllowed: true + }; + external_CoreHome_["Matomo"].postEvent('CustomReports.initAddReport', parameters); + if (parameters && !parameters.isAllowed) { + this.editMode = false; + this.idCustomReport = null; + return; + } + } + this.editMode = true; + this.idCustomReport = parseInt(idCustomReport, 10); + } else { + this.editMode = false; + this.idCustomReport = null; + } + this.removeAnyReportNotification(!idCustomReport); + } + } +})); +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/Reports/Manage.vue?vue&type=script&lang=ts + +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/Reports/Manage.vue + + + +Managevue_type_script_lang_ts.render = Managevue_type_template_id_03955ed8_render + +/* harmony default export */ var Manage = (Managevue_type_script_lang_ts); +// CONCATENATED MODULE: ./plugins/CustomReports/vue/src/index.ts +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ + + + + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js + + + + +/***/ }) + +/******/ }); +}); +//# sourceMappingURL=CustomReports.umd.js.map \ No newline at end of file diff --git a/files/plugin-CustomReports-5.5.0/vue/dist/CustomReports.umd.min.js b/files/plugin-CustomReports-5.5.0/vue/dist/CustomReports.umd.min.js new file mode 100644 index 0000000..35106d5 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/dist/CustomReports.umd.min.js @@ -0,0 +1,44 @@ +(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("CoreHome"),require("vue"),require("CorePluginsAdmin"),require("SegmentEditor")):"function"===typeof define&&define.amd?define(["CoreHome",,"CorePluginsAdmin","SegmentEditor"],t):"object"===typeof exports?exports["CustomReports"]=t(require("CoreHome"),require("vue"),require("CorePluginsAdmin"),require("SegmentEditor")):e["CustomReports"]=t(e["CoreHome"],e["Vue"],e["CorePluginsAdmin"],e["SegmentEditor"])})("undefined"!==typeof self?self:this,(function(e,t,i,o){return function(e){var t={};function i(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(o,r,function(t){return e[t]}.bind(null,r));return o},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="plugins/CustomReports/vue/dist/",i(i.s="fae3")}({"19dc":function(t,i){t.exports=e},"8bbf":function(e,i){e.exports=t},a5a2:function(e,t){e.exports=i},f06f:function(e,t){e.exports=o},fae3:function(e,t,i){"use strict";if(i.r(t),i.d(t,"KpiCardView",(function(){return h})),i.d(t,"ReportEdit",(function(){return kt})),i.d(t,"ReportsList",(function(){return fi})),i.d(t,"ReportsManage",(function(){return Ei})),"undefined"!==typeof window){var o=window.document.currentScript,r=o&&o.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);r&&(i.p=r[1])}var s=i("8bbf");const n={class:"metric-sparkline"},a={class:"metric-value"},l=["title"],c=["title"];function d(e,t,i,o,r,d){const p=Object(s["resolveComponent"])("Sparkline");return Object(s["openBlock"])(),Object(s["createElementBlock"])("div",{class:Object(s["normalizeClass"])(["singleMetricView customReportKpiCard",{loading:e.isLoading}])},[Object(s["createElementVNode"])("div",n,[Object(s["createVNode"])(p,{params:e.sparklineParams},null,8,["params"])]),Object(s["createElementVNode"])("div",a,[Object(s["createElementVNode"])("span",{title:e.metricDocumentation},[Object(s["createElementVNode"])("strong",null,Object(s["toDisplayString"])(e.metricValue),1),Object(s["createTextVNode"])(" "+Object(s["toDisplayString"])((e.metricTranslation||"").toLowerCase()),1)],8,l),null!==e.pastValue?(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",{key:0,class:"metricEvolution",title:e.translate("General_EvolutionSummaryGeneric",e.metricValue,e.currentPeriod,e.pastValue,e.pastPeriod,e.metricChangePercent)},[Object(s["createElementVNode"])("span",{class:Object(s["normalizeClass"])(e.evolutionClass)},Object(s["toDisplayString"])(e.metricChangePercent),3)],8,c)):Object(s["createCommentVNode"])("",!0)])],2)}var p=i("19dc");function u(){const{startDate:e}=p["Range"].getLastNRange(p["Matomo"].period,2,p["Matomo"].currentDateString),t=p["Periods"].get(p["Matomo"].period).parse(e).getDateRange();return`${Object(p["format"])(t[0])},${Object(p["format"])(t[1])}`}var m=Object(s["defineComponent"])({props:{idCustomReport:{type:[String,Number],required:!0},metric:{type:String,required:!0},metricTranslation:String,metricDocumentation:String,lowerIsBetter:Boolean},components:{Sparkline:p["Sparkline"]},setup(e){const t=Object(s["ref"])(!1),i=Object(s["ref"])(null);function o(t){if(!t)return null;const i=Array.isArray(t)?t[0]:t;if(!i)return 0;const o=void 0!==i[e.metric]?i[e.metric]:i.value;return o||0}const r=Object(s["computed"])(()=>i.value?o(i.value[1]):null),n=Object(s["computed"])(()=>i.value?o(i.value[2]):null),a=Object(s["computed"])(()=>{if(null===r.value||null===n.value||r.value===n.value)return[];const t=r.value>n.value,i=e.lowerIsBetter?!t:t;return[t?"evolution-up":"evolution-down",i?"positive-evolution":"negative-evolution"]}),l=Object(s["computed"])(()=>{if(null===r.value||void 0===r.value||null===n.value||void 0===n.value)return null;const e="string"===typeof r.value?parseFloat(r.value):r.value,t="string"===typeof n.value?parseFloat(n.value):n.value,i=p["Matomo"].helper.calculateEvolution(e,t);return(100*i).toFixed(2)+" %"}),c=Object(s["computed"])(()=>i.value?o(i.value[3]):null),d=Object(s["computed"])(()=>i.value?o(i.value[0]):null),m=Object(s["computed"])(()=>p["Matomo"].startDateString===p["Matomo"].endDateString?p["Matomo"].endDateString:`${p["Matomo"].startDateString}, ${p["Matomo"].endDateString}`),h=Object(s["computed"])(()=>({module:"CustomReports",action:"getCustomReport",idCustomReport:e.idCustomReport,columns:e.metric})),b=Object(s["computed"])(()=>{if("range"!==p["Matomo"].period)return u()});function v(){const e=p["Range"].getLastNRange(p["Matomo"].period,2,p["Matomo"].currentDateString);return Object(p["format"])(e.startDate)}function g(){t.value=!0;const o="CustomReports.getCustomReport",r={idCustomReport:e.idCustomReport,columns:e.metric},s=[];return s.push(p["AjaxHelper"].fetch(Object.assign({method:o,format_metrics:"all"},r))),"range"!==p["Matomo"].period&&(s.push(p["AjaxHelper"].fetch(Object.assign({method:o,format_metrics:"0"},r))),s.push(p["AjaxHelper"].fetch(Object.assign({method:o,date:v(),format_metrics:"0"},r))),s.push(p["AjaxHelper"].fetch(Object.assign({method:o,date:v(),format_metrics:"all"},r)))),Promise.all(s).then(e=>{i.value=e,t.value=!1})}return g(),{isLoading:t,metricValue:d,metricValueUnformatted:r,pastValueUnformatted:n,evolutionClass:a,metricChangePercent:l,pastValue:c,sparklineParams:h,pastPeriod:b,currentPeriod:m}}});m.render=d;var h=m;const b={class:"loadingPiwik"},v=Object(s["createElementVNode"])("img",{src:"plugins/Morpheus/images/loading-blue.gif"},null,-1),g={class:"loadingPiwik"},j=Object(s["createElementVNode"])("img",{src:"plugins/Morpheus/images/loading-blue.gif"},null,-1),O={class:"alert alert-warning"},f={key:0},R={key:1},y={key:0,class:"alert alert-warning"},C=["innerHTML"],S={key:1},N={name:"name"},E={name:"description"},k={class:"form-group row"},V={class:"col s12"},D={class:"col s12 m6"},w={for:"all_websites",class:"siteSelectorLabel"},_={class:"sites_autocomplete"},M={class:"col s12 m6"},A={class:"form-help"},B={key:0,class:"inline-help"},T={key:1,class:"inline-help"},x={key:0,class:"col s12 m6"},I={key:0},L={for:"websitecontains"},U=Object(s["createElementVNode"])("br",null,null,-1),P=["placeholder"],H=["disabled","value"],G={key:1},F=Object(s["createElementVNode"])("br",null,null,-1),q={class:"entityTable"},W={class:"siteId"},z={class:"siteName"},Y={key:0,class:"siteAction"},K={colspan:"3"},Q={key:0,class:"siteAction"},X=["onClick"],J={class:"form-group row"},Z={class:"col s12"},ee={class:"unlockAlert alert alert-info"},te={key:0},ie={key:1},oe=Object(s["createElementVNode"])("br",null,null,-1),re=Object(s["createElementVNode"])("br",null,null,-1),se=["value"],ne={class:"alertUnlocked alert alert-warning"},ae={key:0},le={key:1},ce={name:"reportType"},de={class:"form-group row"},pe={class:"col s12 m6 dimensionsGroup"},ue=Object(s["createElementVNode"])("br",null,null,-1),me={class:"groupValueSelect",name:"dimensions"},he=["title","onClick"],be={class:"groupValueSelect addDimension",name:"dimensions"},ve={class:"col s12 m6"},ge={class:"form-help"},je=["innerHTML"],Oe={class:"form-group row"},fe={class:"col s12 m6 metricsGroup"},Re=Object(s["createElementVNode"])("br",null,null,-1),ye={class:"groupValueSelect",name:"metrics"},Ce=["title","onClick"],Se={class:"groupValueSelect addMetric",name:"metrics"},Ne={class:"col s12 m6"},Ee={class:"form-help"},ke={class:"inline-help"},Ve=["innerHTML"],De={class:"form-group row segmentFilterGroup"},we={class:"col s12"},_e={style:{margin:"8px 0",display:"inline-block"}},Me={class:"form-group row"},Ae={class:"col s12"},Be=Object(s["createElementVNode"])("br",null,null,-1),Te=Object(s["createElementVNode"])("br",null,null,-1),xe={name:"reportCategories"},Ie={name:"reportSubcategories"},Le={class:"alert alert-warning"},Ue={key:0},Pe={key:1},He={class:"alert alert-warning"},Ge={key:0},Fe={key:1},qe={key:0,class:"form-group row"},$e=["textContent"],We={class:"col s12 m6"},ze=Object(s["createElementVNode"])("span",{class:"icon-menu-hamburger drag-icon"},null,-1),Ye={class:"col s12 m6"},Ke={class:"form-help"},Qe=["textContent"],Xe={class:"entityCancel"},Je={class:"ui-confirm",id:"confirmUnlockReport",ref:"confirmUnlockReport"},Ze={key:0},et={key:1},tt=["value"],it=["value"],ot={class:"ui-confirm",id:"infoReportIsLocked",ref:"infoReportIsLocked"},rt={key:0},st={key:1},nt=["value"],at=["value"];function lt(e,t,i,o,r,n){const a=Object(s["resolveComponent"])("Field"),l=Object(s["resolveComponent"])("SiteSelector"),c=Object(s["resolveComponent"])("SegmentGenerator"),d=Object(s["resolveComponent"])("SaveButton"),p=Object(s["resolveComponent"])("DraggableList"),u=Object(s["resolveComponent"])("ContentBlock");return Object(s["openBlock"])(),Object(s["createBlock"])(u,{class:"editReport","content-title":e.contentTitle},{default:Object(s["withCtx"])(()=>{var i,o,r;return[Object(s["withDirectives"])(Object(s["createElementVNode"])("p",null,[Object(s["createElementVNode"])("span",b,[v,Object(s["createTextVNode"])(" "+Object(s["toDisplayString"])(e.translate("General_LoadingData")),1)])],512),[[s["vShow"],e.isLoading]]),Object(s["withDirectives"])(Object(s["createElementVNode"])("p",null,[Object(s["createElementVNode"])("span",g,[j,Object(s["createTextVNode"])(" "+Object(s["toDisplayString"])(e.translate("CustomReports_UpdatingData")),1)])],512),[[s["vShow"],e.isUpdating]]),Object(s["withDirectives"])(Object(s["createElementVNode"])("div",O,[e.multipleSites.length&&!e.report.allowedToEdit?(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",f,Object(s["toDisplayString"])(e.translate("CustomReports_ReportEditNotAllowedMultipleWebsitesAccessIssue")),1)):(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",R,Object(s["toDisplayString"])(e.translate("CustomReports_ReportEditNotAllowedAllWebsitesUpdated")),1))],512),[[s["vShow"],!e.canEdit]]),"paused"===e.report.status?(Object(s["openBlock"])(),Object(s["createElementBlock"])("div",y,[e.report.allowedToEdit?(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",{key:0,innerHTML:e.getPausedStateAdminMessage},null,8,C)):(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",S,Object(s["toDisplayString"])(e.translate("CustomReports_NoDataMessagePausedStateNonAdminUser")),1))])):Object(s["createCommentVNode"])("",!0),Object(s["createElementVNode"])("form",{onSubmit:t[15]||(t[15]=t=>e.edit?e.updateReport():e.createReport())},[Object(s["createElementVNode"])("div",null,[Object(s["createElementVNode"])("div",N,[Object(s["createVNode"])(a,{uicontrol:"text",name:"name","model-value":e.report.name,"onUpdate:modelValue":t[0]||(t[0]=t=>{e.report.name=t,e.setValueHasChanged()}),title:e.translate("General_Name"),maxlength:50,disabled:!e.canEdit,placeholder:e.translate("CustomReports_FieldNamePlaceholder"),"inline-help":e.translate("CustomReports_ReportNameHelpText")},null,8,["model-value","title","disabled","placeholder","inline-help"])]),Object(s["createElementVNode"])("div",E,[Object(s["createVNode"])(a,{uicontrol:"textarea",name:"description","model-value":e.report.description,"onUpdate:modelValue":t[1]||(t[1]=t=>{e.report.description=t,e.setValueHasChanged()}),title:e.translate("General_Description")+" (optional)",maxlength:1e3,disabled:!e.canEdit,"ui-control-attributes":{class:"compact-textarea"},placeholder:e.translate("CustomReports_FieldDescriptionPlaceholder"),"inline-help":e.getDescriptionHelpText},null,8,["model-value","title","disabled","placeholder","inline-help"])]),Object(s["createElementVNode"])("div",k,[Object(s["createElementVNode"])("h3",V,Object(s["toDisplayString"])(e.translate("CustomReports_ApplyTo")),1),Object(s["createElementVNode"])("div",D,[Object(s["createElementVNode"])("div",null,[Object(s["createElementVNode"])("label",w,Object(s["toDisplayString"])(e.translate("General_Website")),1),Object(s["createElementVNode"])("div",_,[Object(s["createVNode"])(l,{id:"all_websites","model-value":e.report.site,"onUpdate:modelValue":t[2]||(t[2]=t=>{e.report.site=t,e.setWebsiteChanged(t)}),"show-all-sites-item":e.isSuperUser,"switch-site-on-select":!1,"show-selected-site":!0},null,8,["model-value","show-all-sites-item"])])])]),Object(s["createElementVNode"])("div",M,[Object(s["createElementVNode"])("div",A,[e.isSuperUser?(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",B,Object(s["toDisplayString"])(e.translate("CustomReports_ReportAllWebsitesHelp")),1)):(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",T,Object(s["toDisplayString"])(e.translate("CustomReports_ReportAllWebsitesNonSuperUserHelp")),1))])]),"all"!==e.report.site.id&&"0"!==e.report.site.id&&0!==e.report.site.id?(Object(s["openBlock"])(),Object(s["createElementBlock"])("div",x,[e.report.allowedToEdit?(Object(s["openBlock"])(),Object(s["createElementBlock"])("div",I,[Object(s["createElementVNode"])("span",L,Object(s["toDisplayString"])(e.translate("CustomReports_SelectMeasurablesMatchingSearch")),1),U,Object(s["withDirectives"])(Object(s["createElementVNode"])("input",{class:"control_text customReportSearchMeasurablesField",type:"text",id:"websitecontains","onUpdate:modelValue":t[3]||(t[3]=t=>e.containsText=t),placeholder:e.translate("General_Search")},null,8,P),[[s["vModelText"],e.containsText]]),Object(s["createElementVNode"])("input",{style:{"margin-left":"3.5px"},disabled:!e.containsText,class:"btn customReportSearchFindMeasurables",type:"button",onClick:t[4]||(t[4]=t=>e.addSitesContaining(e.containsText)),value:e.translate("CustomReports_FindMeasurables")},null,8,H)])):Object(s["createCommentVNode"])("",!0),e.report.allowedToEdit||e.multipleSites.length?(Object(s["openBlock"])(),Object(s["createElementBlock"])("div",G,[F,Object(s["createElementVNode"])("table",q,[Object(s["createElementVNode"])("thead",null,[Object(s["createElementVNode"])("tr",null,[Object(s["createElementVNode"])("th",W,Object(s["toDisplayString"])(e.translate("General_Id")),1),Object(s["createElementVNode"])("th",z,Object(s["toDisplayString"])(e.translate("General_Name")),1),e.report.allowedToEdit?(Object(s["openBlock"])(),Object(s["createElementBlock"])("th",Y,Object(s["toDisplayString"])(e.translate("General_Remove")),1)):Object(s["createCommentVNode"])("",!0)])]),Object(s["createElementVNode"])("tbody",null,[Object(s["withDirectives"])(Object(s["createElementVNode"])("tr",null,[Object(s["createElementVNode"])("td",K,Object(s["toDisplayString"])(e.translate("CustomReports_NoMeasurableAssignedYet")),1)],512),[[s["vShow"],!e.multipleSites.length]]),(Object(s["openBlock"])(!0),Object(s["createElementBlock"])(s["Fragment"],null,Object(s["renderList"])(e.multipleSites,(t,i)=>Object(s["withDirectives"])((Object(s["openBlock"])(),Object(s["createElementBlock"])("tr",{key:i,class:Object(s["normalizeClass"])({selectedSiteRow:e.isSelectedSiteRow(t)})},[Object(s["createElementVNode"])("td",null,Object(s["toDisplayString"])(t.idsite),1),Object(s["createElementVNode"])("td",null,Object(s["toDisplayString"])(t.name),1),e.report.allowedToEdit?(Object(s["openBlock"])(),Object(s["createElementBlock"])("td",Q,[e.canRemoveSite(t)?(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",{key:0,class:"icon-minus table-action",onClick:i=>e.removeSite(t)},null,8,X)):Object(s["createCommentVNode"])("",!0)])):Object(s["createCommentVNode"])("",!0)],2)),[[s["vShow"],e.multipleSites.length>0]])),128))])])])):Object(s["createCommentVNode"])("",!0)])):Object(s["createCommentVNode"])("",!0)]),Object(s["createElementVNode"])("div",J,[Object(s["createElementVNode"])("h3",Z,Object(s["toDisplayString"])(e.translate("CustomReports_ReportContent")),1)]),Object(s["withDirectives"])(Object(s["createElementVNode"])("div",ee,[e.browserArchivingDisabled&&e.reArchiveLastN?(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",te,Object(s["toDisplayString"])(e.translate("CustomReports_WarningRequiresUnlockBrowserArchivingDisabled",e.reArchiveLastN)),1)):Object(s["createCommentVNode"])("",!0),e.browserArchivingDisabled&&e.reArchiveLastN?Object(s["createCommentVNode"])("",!0):(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",ie,Object(s["toDisplayString"])(e.translate("CustomReports_WarningRequiresUnlock")),1)),oe,re,Object(s["createElementVNode"])("input",{type:"button",class:"btn unlockReport",onClick:t[5]||(t[5]=t=>e.unlockReport()),value:e.translate("CustomReports_Unlock")},null,8,se)],512),[[s["vShow"],e.isLocked]]),Object(s["withDirectives"])(Object(s["createElementVNode"])("div",ne,[e.browserArchivingDisabled&&e.reArchiveLastN?(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",ae,Object(s["toDisplayString"])(e.translate("CustomReports_WarningOnUpdateReportMightGetLostBrowserArchivingDisabled",e.reArchiveLastN)),1)):Object(s["createCommentVNode"])("",!0),e.browserArchivingDisabled&&e.reArchiveLastN?Object(s["createCommentVNode"])("",!0):(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",le,Object(s["toDisplayString"])(e.translate("CustomReports_WarningOnUpdateReportMightGetLost")),1))],512),[[s["vShow"],e.isUnlocked]]),Object(s["createElementVNode"])("div",ce,[Object(s["createVNode"])(a,{uicontrol:"radio",name:"reportType","model-value":e.report.report_type,"onUpdate:modelValue":t[6]||(t[6]=t=>e.setReportTypeHasChanged(t)),title:e.translate("CustomReports_ReportType"),disabled:!e.canEdit,options:e.reportTypes},null,8,["model-value","title","disabled","options"])]),Object(s["withDirectives"])(Object(s["createElementVNode"])("div",de,[Object(s["createElementVNode"])("div",pe,[Object(s["createElementVNode"])("label",null,Object(s["toDisplayString"])(e.translate("CustomReports_Dimensions")),1),ue,Object(s["createElementVNode"])("div",null,[(Object(s["openBlock"])(!0),Object(s["createElementBlock"])(s["Fragment"],null,Object(s["renderList"])(e.report.dimensions,(t,i)=>(Object(s["openBlock"])(),Object(s["createElementBlock"])("div",{class:Object(s["normalizeClass"])("selectedDimension selectedDimension"+i),key:i},[Object(s["createElementVNode"])("div",me,[Object(s["createVNode"])(a,{uicontrol:"expandable-select",name:"dimensions","model-value":t,"onUpdate:modelValue":t=>e.changeDimension(t,i),title:e.dimensionsReadable[t]||t,"full-width":!0,options:e.dimensions},null,8,["model-value","onUpdate:modelValue","title","options"])]),Object(s["createElementVNode"])("span",{class:"icon-minus",title:e.translate("CustomReports_RemoveDimension"),onClick:t=>e.removeDimension(i)},null,8,he)],2))),128)),Object(s["withDirectives"])(Object(s["createElementVNode"])("div",be,[Object(s["createVNode"])(a,{uicontrol:"expandable-select",name:"dimensions","model-value":"","onUpdate:modelValue":t[7]||(t[7]=t=>{e.addDimension(t)}),title:e.translate("CustomReports_AddDimension"),"full-width":!0,options:e.dimensions},null,8,["title","options"])],512),[[s["vShow"],e.report.dimensions.length(Object(s["openBlock"])(),Object(s["createElementBlock"])("div",{class:Object(s["normalizeClass"])("selectedMetric selectedMetric"+i),key:i},[Object(s["createElementVNode"])("div",ye,[Object(s["createVNode"])(a,{uicontrol:"expandable-select",name:"metrics","model-value":t,"onUpdate:modelValue":t=>e.changeMetric(t,i),title:e.metricsReadable[t]||t,"full-width":!0,options:e.metrics},null,8,["model-value","onUpdate:modelValue","title","options"])]),e.isSingleMetricType?Object(s["createCommentVNode"])("",!0):(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",{key:0,class:"icon-minus",title:e.translate("CustomReports_RemoveMetric"),onClick:t=>e.removeMetric(i)},null,8,Ce))],2))),128)),Object(s["withDirectives"])(Object(s["createElementVNode"])("div",Se,[Object(s["createVNode"])(a,{uicontrol:"expandable-select",name:"metrics","model-value":"","onUpdate:modelValue":t[8]||(t[8]=t=>{e.addMetric(t)}),title:e.translate("CustomReports_AddMetric"),"full-width":!0,options:e.metrics},null,8,["title","options"])],512),[[s["vShow"],!e.isSingleMetricType]])])]),Object(s["createElementVNode"])("div",Ne,[Object(s["createElementVNode"])("div",Ee,[Object(s["createElementVNode"])("span",ke,Object(s["toDisplayString"])(e.translate(e.isSingleMetricType?"CustomReports_ReportSingleMetricHelp":"CustomReports_ReportMetricsHelp")),1)])])]),Object(s["withDirectives"])(Object(s["createElementVNode"])("div",{class:"alert alert-warning",innerHTML:e.getProductRevenueDependencyMessage},null,8,Ve),[[s["vShow"],e.dependencyAdded]]),Object(s["createElementVNode"])("div",De,[Object(s["createElementVNode"])("div",we,[Object(s["createElementVNode"])("div",null,[Object(s["createElementVNode"])("label",_e,Object(s["toDisplayString"])(e.translate("CustomReports_Filter")),1),Object(s["createElementVNode"])("p",null,Object(s["toDisplayString"])(e.translate("CustomReports_ReportSegmentHelp")),1),Object(s["createElementVNode"])("div",null,[Object(s["createVNode"])(c,{"model-value":e.report.segment_filter,"onUpdate:modelValue":t[9]||(t[9]=t=>e.setSegmentFilterHasChanged(t)),idsite:e.report.site.id},null,8,["model-value","idsite"])])])])]),Object(s["withDirectives"])(Object(s["createElementVNode"])("div",Me,[Object(s["createElementVNode"])("div",Ae,[Be,Te,Object(s["createVNode"])(d,{class:"showPreviewButton",disabled:!(null!==(i=e.report.metrics)&&void 0!==i&&i.length)||!(null!==(o=e.report.dimensions)&&void 0!==o&&o.length),onConfirm:t[10]||(t[10]=t=>e.showPreview()),value:e.translate("CustomReports_PreviewReport")},null,8,["disabled","value"])])],512),[[s["vShow"],"table"===e.report.report_type]]),Object(s["createElementVNode"])("div",xe,[Object(s["createVNode"])(a,{uicontrol:"select",name:"reportCategories","model-value":e.report.category.id,"onUpdate:modelValue":t[11]||(t[11]=t=>{e.report.category.id=t,e.setValueHasChanged()}),title:e.translate("CustomReports_ReportCategory"),disabled:!e.canEdit,options:e.categories,introduction:e.translate("CustomReports_ReportPage"),"inline-help":e.translate("CustomReports_ReportCategoryHelp")},null,8,["model-value","title","disabled","options","introduction","inline-help"])]),Object(s["createElementVNode"])("div",Ie,[Object(s["createVNode"])(a,{uicontrol:"select",name:"reportSubcategories","model-value":null===(r=e.report.subcategory)||void 0===r?void 0:r.id,"onUpdate:modelValue":t[12]||(t[12]=t=>{e.setSubcategory(t),e.setValueHasChanged()}),title:e.translate("CustomReports_ReportSubcategory"),disabled:!e.canEdit,options:e.subcategories[e.report.category.id],"inline-help":e.translate("CustomReports_ReportSubcategoryHelp")},null,8,["model-value","title","disabled","options","inline-help"])]),Object(s["withDirectives"])(Object(s["createElementVNode"])("div",Le,[e.browserArchivingDisabled&&e.reArchiveLastN?(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",Ue,Object(s["toDisplayString"])(e.translate("CustomReports_WarningOnUpdateReportMightGetLostBrowserArchivingDisabled",e.reArchiveLastN)),1)):Object(s["createCommentVNode"])("",!0),e.browserArchivingDisabled&&e.reArchiveLastN?Object(s["createCommentVNode"])("",!0):(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",Pe,Object(s["toDisplayString"])(e.translate("CustomReports_WarningOnUpdateReportMightGetLost")),1))],512),[[s["vShow"],e.isUnlocked]]),Object(s["withDirectives"])(Object(s["createElementVNode"])("div",He,[e.multipleSites.length&&!e.report.allowedToEdit?(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",Ge,Object(s["toDisplayString"])(e.translate("CustomReports_ReportEditNotAllowedMultipleWebsitesAccessIssue")),1)):(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",Fe,Object(s["toDisplayString"])(e.translate("CustomReports_ReportEditNotAllowedAllWebsitesUpdated")),1))],512),[[s["vShow"],!e.canEdit]]),e.childReports.length?(Object(s["openBlock"])(),Object(s["createElementBlock"])("div",qe,[Object(s["createElementVNode"])("h3",{class:"col s12",textContent:Object(s["toDisplayString"])(e.translate("CustomReports_OrderSubCategoryReports"))},null,8,$e),Object(s["createElementVNode"])("div",We,[Object(s["createVNode"])(p,{items:e.childReports,"item-key":"idcustomreport",onReorder:e.onChildReportsReorder},{default:Object(s["withCtx"])(({item:e})=>[ze,Object(s["createElementVNode"])("span",null,Object(s["toDisplayString"])(e.name),1)]),_:1},8,["items","onReorder"])]),Object(s["createElementVNode"])("div",Ye,[Object(s["createElementVNode"])("div",Ke,[Object(s["createElementVNode"])("div",{class:"form-description",textContent:Object(s["toDisplayString"])(e.translate("CustomReports_OrderSubCategoryReportsDescription"))},null,8,Qe)])])])):Object(s["createCommentVNode"])("",!0),Object(s["withDirectives"])(Object(s["createVNode"])(d,{class:"createButton",onConfirm:t[13]||(t[13]=t=>e.edit?e.updateReport():e.createReport()),disabled:e.isUpdating||!e.isDirty,saving:e.isUpdating,value:e.saveButtonText},null,8,["disabled","saving","value"]),[[s["vShow"],e.canEdit]]),Object(s["createElementVNode"])("div",Xe,[Object(s["createElementVNode"])("a",{onClick:t[14]||(t[14]=t=>e.cancel())},Object(s["toDisplayString"])(e.translate("General_Cancel")),1)])])],32),Object(s["createElementVNode"])("div",Je,[e.browserArchivingDisabled&&e.reArchiveLastN?(Object(s["openBlock"])(),Object(s["createElementBlock"])("h2",Ze,Object(s["toDisplayString"])(e.translate("CustomReports_ConfirmUnlockReportBrowserArchivingDisabled",e.reArchiveLastN)),1)):Object(s["createCommentVNode"])("",!0),e.browserArchivingDisabled&&e.reArchiveLastN?Object(s["createCommentVNode"])("",!0):(Object(s["openBlock"])(),Object(s["createElementBlock"])("h2",et,Object(s["toDisplayString"])(e.translate("CustomReports_ConfirmUnlockReport")),1)),Object(s["createElementVNode"])("input",{role:"yes",type:"button",value:e.translate("General_Yes")},null,8,tt),Object(s["createElementVNode"])("input",{role:"no",type:"button",value:e.translate("General_No")},null,8,it)],512),Object(s["createElementVNode"])("div",ot,[e.browserArchivingDisabled&&e.reArchiveLastN?(Object(s["openBlock"])(),Object(s["createElementBlock"])("h2",rt,Object(s["toDisplayString"])(e.translate("CustomReports_InfoReportIsLockedBrowserArchivingDisabled",e.reArchiveLastN)),1)):Object(s["createCommentVNode"])("",!0),e.browserArchivingDisabled&&e.reArchiveLastN?Object(s["createCommentVNode"])("",!0):(Object(s["openBlock"])(),Object(s["createElementBlock"])("h2",st,Object(s["toDisplayString"])(e.translate("CustomReports_InfoReportIsLocked")),1)),Object(s["createElementVNode"])("input",{role:"unlock",type:"button",value:e.translate("CustomReports_Unlock")},null,8,nt),Object(s["createElementVNode"])("input",{role:"ok",type:"button",value:e.translate("General_Cancel")},null,8,at)],512)]}),_:1},8,["content-title"])}var ct=i("a5a2"),dt=i("f06f");const pt=["data-item-id","draggable","aria-grabbed","onDragstart","onDragover"];var ut=Object(s["defineComponent"])({__name:"DraggableList",props:{items:null,itemKey:null,disabled:{type:Boolean,default:!1},handle:{default:""},axis:{default:"y"}},emits:["reorder"],setup(e,{emit:t}){const i=e,o=.1,r=Object(s["ref"])([]),n=Object(s["ref"])(null),a=Object(s["ref"])(null),l=Object(s["ref"])(null),c=Object(s["ref"])(!1),d=Object(s["computed"])(()=>!i.disabled&&i.items.length>1);function p(e,t){if("function"===typeof i.itemKey)return i.itemKey(e,t);if(!e||"object"!==typeof e)return t;const o=e[i.itemKey];return"string"===typeof o||"number"===typeof o?o:t}const u=Object(s["computed"])(()=>i.items.map((e,t)=>({id:String(p(e,t)),item:e,sourceIndex:t}))),m=Object(s["computed"])(()=>u.value.map(e=>e.id).join("\0"));function h(){r.value=u.value.slice()}function b(){n.value=null,a.value=null,l.value=null}function v(e=!1){b(),c.value=!1,e&&h()}function g(e,t){if(!i.handle)return!0;if(!(e instanceof Element))return!1;const o=e.closest(i.handle);return!!o&&t.contains(o)}function j(e){return r.value.findIndex(t=>t.id===e)}function O(e){return r.value["number"===typeof e?e:Number(e)]}function f(e,t){const r=t.getBoundingClientRect(),s=n.value?j(n.value):-1,l=a.value?j(a.value):-1,c=-1!==s&&-1!==l&&s{n.value===t&&(l.value=t)},0)):e.preventDefault()}function C(e,t){const i=O(t);i?y(e,i.id):e.preventDefault()}function S(e,t){if(!n.value||!d.value)return;e.preventDefault();const i=e.currentTarget;i&&(a.value=t,R(t,f(e,i)),e.dataTransfer&&(e.dataTransfer.dropEffect="move"))}function N(e,t){const i=O(t);i&&S(e,i.id)}function E(e){if(!n.value)return;e.preventDefault();const i=r.value.map(e=>e.id);i&&i.join("\0")!==m.value&&(c.value=!0,t("reorder",i)),b()}function k(){c.value?c.value=!1:v(!0)}return Object(s["watch"])([m,()=>i.disabled],()=>v(!0),{immediate:!0}),(t,i)=>(Object(s["openBlock"])(),Object(s["createElementBlock"])("ul",{class:Object(s["normalizeClass"])(["draggableList",{isDragging:null!==n.value,isDisabled:e.disabled}])},[(Object(s["openBlock"])(!0),Object(s["createElementBlock"])(s["Fragment"],null,Object(s["renderList"])(r.value,(e,i)=>(Object(s["openBlock"])(),Object(s["createElementBlock"])("li",{key:e.id,class:Object(s["normalizeClass"])(["draggableListItem",{isDragged:e.id===l.value}]),"data-item-id":e.id,draggable:Object(s["unref"])(d),"aria-grabbed":e.id===n.value,onDragstart:e=>C(e,i),onDragover:e=>N(e,i),onDrop:E,onDragend:k},[Object(s["renderSlot"])(t.$slots,"default",{item:e.item,index:e.sourceIndex})],42,pt))),128))],2))}}),mt=ut;function ht(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e} +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */function bt(e){return[...new Set(e)].filter(e=>!!e)}function vt(e,t,i){const o=[];return e.forEach(e=>{e[t].forEach(t=>{o.push(Object.assign({group:e.category,key:t.uniqueId,value:t.name,tooltip:t.description||void 0},i?{[i]:t[i]}:{}))})}),o}const gt={key:"",value:""};class jt{constructor(){ht(this,"privateState",Object(s["reactive"])({reports:[],reportTypesReadable:{},dimensionsReadable:{},metricsReadable:{},categories:[],subcategories:{},isLoading:!1,isUpdating:!1,allMetrics:[],allDimensions:[]})),ht(this,"state",Object(s["computed"])(()=>Object(s["readonly"])(this.privateState))),ht(this,"fetchPromise",null),ht(this,"availableReportTypesPromise",null),ht(this,"dimensionsPromise",null),ht(this,"dimensionsIdsiteLoaded",0),ht(this,"metricsPromise",null),ht(this,"metricsIdsiteLoaded",0),ht(this,"categoriesPromise",null),ht(this,"categoriesIdsiteLoaded",null)}reload(){return this.privateState.reports=[],this.fetchPromise=null,this.fetchReports()}cleanupSegmentDefinition(e){let t=e;return t=t.replace("'","%27"),t=t.replace("&","%26"),t}getAvailableReportTypes(){return this.availableReportTypesPromise||(this.availableReportTypesPromise=p["AjaxHelper"].fetch({method:"CustomReports.getAvailableReportTypes",filter_limit:"-1"}).then(e=>{const t={};e.forEach(e=>{t[e.key]=e.value}),this.privateState.reportTypesReadable=t})),this.availableReportTypesPromise.then(()=>this.state.value.reportTypesReadable)}getAvailableDimensions(e){return this.dimensionsPromise&&this.dimensionsIdsiteLoaded===e||(this.dimensionsIdsiteLoaded=e,this.dimensionsPromise=p["AjaxHelper"].fetch({method:"CustomReports.getAvailableDimensions",filter_limit:"-1",idSite:e}).then(e=>{const t={};e.forEach(e=>{e.dimensions.forEach(e=>{t[e.uniqueId]=e.name})}),this.privateState.dimensionsReadable=t,this.privateState.allDimensions=vt(e,"dimensions","sqlSegment")})),this.dimensionsPromise.then(()=>this.state.value.dimensionsReadable)}getAvailableMetrics(e){return this.metricsPromise&&this.metricsIdsiteLoaded===e||(this.metricsIdsiteLoaded=e,this.metricsPromise=p["AjaxHelper"].fetch({method:"CustomReports.getAvailableMetrics",filter_limit:"-1",idSite:e}).then(e=>{const t={};e.forEach(e=>{e.metrics.forEach(e=>{t[e.uniqueId]=e.name})}),this.privateState.metricsReadable=t,this.privateState.allMetrics=vt(e,"metrics")})),this.metricsPromise.then(()=>this.state.value.metricsReadable)}getAvailableCategories(e){const t=e&&"all"!==e?e:p["Matomo"].idSite;return this.categoriesPromise&&this.categoriesIdsiteLoaded===e||(this.categoriesPromise=p["AjaxHelper"].fetch({method:"CustomReports.getAvailableCategories",filter_limit:"-1",idSite:t}).then(e=>{const t=[],i={};e.forEach(e=>{t.push({key:e.uniqueId,value:e.name}),e.subcategories.forEach(t=>{i[e.uniqueId]=i[e.uniqueId]||[gt],i[e.uniqueId].push({key:t.uniqueId,value:t.name})})}),this.privateState.categories=t,this.privateState.subcategories=i})),this.categoriesPromise}fetchReports(){return this.fetchPromise||(this.fetchPromise=p["AjaxHelper"].fetch({method:"CustomReports.getConfiguredReports",filter_limit:"-1"})),this.privateState.isLoading=!0,this.privateState.reports=[],this.fetchPromise.then(e=>(this.privateState.reports=e.map(e=>{var t,i;let o=void 0;return o=null!==e&&void 0!==e&&null!==(t=e.subcategory)&&void 0!==t&&t.id?e.subcategory.id:"CustomReports_CustomReports"===(null===e||void 0===e||null===(i=e.category)||void 0===i?void 0:i.id)?e.idcustomreport:e.name,Object.assign(Object.assign({},e),{},{linkIdSite:e.idsite?e.idsite:p["Matomo"].idSite,subcategoryLink:o})}),this.state.value.reports)).finally(()=>{this.privateState.isLoading=!1})}findReport(e,t){const i=this.state.value.reports.find(t=>parseInt(""+t.idcustomreport,10)===e);return i&&!t?Promise.resolve(i):(this.privateState.isLoading=!0,p["AjaxHelper"].fetch({idCustomReport:e,method:"CustomReports.getConfiguredReport"}).finally(()=>{this.privateState.isLoading=!1}))}deleteReport(e,t){return this.privateState.isUpdating=!0,this.privateState.reports=[],p["AjaxHelper"].fetch({idCustomReport:e,idSite:""+t,method:"CustomReports.deleteCustomReport"},{withTokenInUrl:!0}).then(()=>({type:"success"})).catch(e=>({type:"error",message:e.message||e})).finally(()=>{this.privateState.isUpdating=!1})}pauseReport(e,t){return this.privateState.isUpdating=!0,this.privateState.reports=[],p["AjaxHelper"].fetch({idCustomReport:e,idSite:""+t,method:"CustomReports.pauseCustomReport"},{withTokenInUrl:!0}).then(()=>({type:"success"})).catch(e=>({type:"error",message:e.message||e})).finally(()=>{this.privateState.isUpdating=!1})}resumeReport(e,t){return this.privateState.isUpdating=!0,this.privateState.reports=[],p["AjaxHelper"].fetch({idCustomReport:e,idSite:""+t,method:"CustomReports.resumeCustomReport"},{withTokenInUrl:!0}).then(()=>({type:"success"})).catch(e=>({type:"error",message:e.message||e})).finally(()=>{this.privateState.isUpdating=!1})}createOrUpdateReport(e,t,i,o){var r,s;return this.privateState.isUpdating=!0,p["AjaxHelper"].post({method:t,idCustomReport:e.idcustomreport,reportType:e.report_type,name:e.name.trim(),description:e.description.trim(),segmentFilter:encodeURIComponent(e.segment_filter),categoryId:null===(r=e.category)||void 0===r?void 0:r.id,subcategoryId:null===(s=e.subcategory)||void 0===s?void 0:s.id,idSite:e.site.id,subCategoryReportIds:i,multipleIdSites:o},{dimensionIds:bt(e.dimensions),metricIds:bt(e.metrics)},{withTokenInUrl:!0}).then(e=>({type:"success",response:e})).catch(e=>({type:"error",message:e.message||e})).finally(()=>{this.privateState.isUpdating=!1})}}var Ot=new jt;const ft="reportsmanagement",Rt="reportsmanagementProductMetric",yt=[["UserCountry.Continent","UserCountry.Country"]];function Ct(e){return[...new Set(e)].filter(e=>!!e)}function St(e,t){return yt.some(i=>i.includes(t)&&e.some(e=>e!==t&&i.includes(e)))}function Nt(){return{dimensions:[],site:{id:p["Matomo"].idSite,name:p["Matomo"].currentSiteName},category:{}}}var Et=Object(s["defineComponent"])({props:{idCustomReport:Number,browserArchivingDisabled:Boolean,reArchiveLastN:Number,maxDimensions:Number,isCloud:Boolean},components:{ContentBlock:p["ContentBlock"],DraggableList:mt,Field:ct["Field"],SiteSelector:p["SiteSelector"],SegmentGenerator:dt["SegmentGenerator"],SaveButton:ct["SaveButton"]},data(){return{isDirty:!1,report:Nt(),isLocked:!1,isUnlocked:!1,canEdit:!0,dependencyAdded:!1,childReports:[],childReportIds:[],containsText:"",multipleSites:[],multipleIdSites:[]}},created(){Ot.getAvailableReportTypes(),this.init()},watch:{idCustomReport(e){null!==e&&this.init()}},methods:{initReportOptions(){const e=parseInt(""+this.report.site.id,10)||"all";Ot.getAvailableDimensions(e),Ot.getAvailableMetrics(e),Ot.getAvailableCategories(e)},syncChildReportIds(e){const t=null!==e&&void 0!==e?e:this.childReports;this.childReportIds=t.map(e=>e.idcustomreport)},doUnlock(){this.isLocked=!1,this.isUnlocked=!0},confirmReportIsLocked(e){p["Matomo"].helper.modalConfirm(this.$refs.infoReportIsLocked,{unlock:()=>{this.doUnlock(),e&&e()}})},removeAnyReportNotification(){p["NotificationsStore"].remove(ft),p["NotificationsStore"].remove(Rt),p["NotificationsStore"].remove("ajaxHelper")},showApiErrorMessage(e,t){if(e&&t){this.removeAnyReportNotification();const i=document.createElement("textarea");i.innerHTML=e,this.showNotification(i.value,t,"toast")}},showNotification(e,t,i=null){const o=p["NotificationsStore"].show({message:e,context:t,id:ft,type:null!==i&&void 0!==i?i:"transient",prepend:!0});setTimeout(()=>{p["NotificationsStore"].scrollToNotification(o)},100)},showProductMetricNotification(e,t){const i=p["NotificationsStore"].show({message:e,context:"warning",id:Rt,type:"transient"});t&&setTimeout(()=>{p["NotificationsStore"].scrollToNotification(i)},100)},showErrorFieldNotProvidedNotification(e){const t=Object(p["translate"])("CustomReports_ErrorXNotProvided",[e]);this.showNotification(t,"error")},init(){const{idCustomReport:e}=this;this.canEdit=!0,this.report=Nt(),this.childReports=[],this.syncChildReportIds([]),this.multipleSites=[],p["Matomo"].helper.lazyScrollToContent(),this.edit&&e?Ot.findReport(e,!0).then(e=>{var t;if(!e)return;this.report=Object(p["clone"])(e),this.isLocked=!0,this.isUnlocked=!1,this.canEdit=!0,this.childReports=null!==(t=this.report.child_reports)&&void 0!==t?t:[],this.syncChildReportIds(),this.report.multipleIdSites&&this.report.multipleIdSites.length&&"all"!==this.report.site.id&&"0"!==this.report.site.id&&0!==this.report.site.id&&(this.multipleSites=this.report.multipleIdSites,this.report.allowedToEdit||(this.canEdit=!1,this.isLocked=!1));let i=this.report.idsite;0!==i&&"0"!==i&&"all"!==i||(i="all",this.isSuperUser||(this.canEdit=!1,this.isLocked=!1)),this.report.site={id:i,name:this.report.site.name},this.report.multipleIdSites&&this.report.multipleIdSites.length&&"all"!==i&&"0"!==i&&0!==i?this.multipleSites=this.report.multipleIdSites:"all"!==i&&"0"!==i&&0!==i&&(this.multipleSites=[{idsite:i,name:this.report.site.name}]),this.isDirty=!1,this.initReportOptions()}):this.create&&(this.report={idsite:p["Matomo"].idSite,site:{id:p["Matomo"].idSite,name:p["Matomo"].currentSiteName||p["Matomo"].siteName},name:"",description:"",dimensions:[],metrics:["nb_visits"],report_type:"table",category:{id:"CustomReports_CustomReports"},subcategory:null,segment_filter:"",child_reports:[],allowedToEdit:!0},this.multipleSites=[{idsite:this.report.site.id,name:this.report.site.name}],this.isLocked=!1,this.canEdit=!0,this.isDirty=!1,this.childReports=[],this.syncChildReportIds([]),this.initReportOptions())},onChildReportsReorder(e){const t=new Map(this.childReports.map(e=>[""+e.idcustomreport,e])),i=e.map(e=>t.get(e)).filter(e=>!!e);i.length===this.childReports.length&&(this.childReports=i,this.syncChildReportIds(i),this.setValueHasChanged())},cancel(){const e=Object.assign({},p["MatomoUrl"].hashParsed.value);delete e.idCustomReport,p["MatomoUrl"].updateHash(e)},unlockReport(){this.report&&this.isLocked&&p["Matomo"].helper.modalConfirm(this.$refs.confirmUnlockReport,{yes:()=>{this.doUnlock()}})},createReport(){const e="CustomReports.addCustomReport";this.removeAnyReportNotification(),this.checkRequiredFieldsAreSet()&&(this.multipleIdSites=[],this.multipleSites&&this.multipleSites.length&&"all"!==this.report.site.id&&"0"!==this.report.site.id&&0!==this.report.site.id&&(this.multipleIdSites.push(this.report.site.id),this.multipleSites.forEach(e=>{const t=e.idsite;this.multipleIdSites.some(e=>""+e===""+t)||this.multipleIdSites.push(t)})),Ot.createOrUpdateReport(this.report,e,this.childReportIds,this.multipleIdSites).then(e=>{var t,i;if(!e||"error"===e.type||!e.response)return void this.showApiErrorMessage(null!==(t=e.message)&&void 0!==t?t:"",null!==(i=e.type)&&void 0!==i?i:"error");this.isDirty=!1;const o=e.response.value;if(this.report.site){const e=this.report.site.id;if(e&&"all"!==e&&""+e!==""+p["Matomo"].idSite)return void p["MatomoUrl"].updateUrl(Object.assign(Object.assign({},p["MatomoUrl"].urlParsed.value),{},{idSite:e}),Object.assign(Object.assign({},p["MatomoUrl"].hashParsed.value),{},{idCustomReport:o}))}Ot.reload().then(()=>{p["Matomo"].helper.isReportingPage()&&p["Matomo"].postEvent("updateReportingMenu"),p["MatomoUrl"].updateHash(Object.assign(Object.assign({},p["MatomoUrl"].hashParsed.value),{},{idCustomReport:o})),setTimeout(()=>{this.showNotification(Object(p["translate"])("CustomReports_ReportCreated"),e.type)},200)})}))},showPreview(){var e,t,i;if(!this.isProductRevenueDependencyMet(!0))return;const o=null!==(e=this.report.site)&&void 0!==e&&e.id&&"all"!==this.report.site.id?this.report.site.id:p["Matomo"].idSite,r=(null===(t=this.report.dimensions)||void 0===t?void 0:t.length)&&this.report.report_type&&"evolution"!==this.report.report_type,s=r?this.report.dimensions.join(","):void 0,n=!(null===(i=this.report.metrics)||void 0===i||!i.length),a=n?this.report.metrics.join(","):void 0,l=p["MatomoUrl"].stringify({module:"CustomReports",action:"previewReport",period:"day",date:"today",idSite:o,report_type:this.report.report_type,dimensions:s,metrics:a,segment:this.report.segment_filter||void 0}),c=Object(p["translate"])("CustomReports_Preview");window.Piwik_Popover.createPopupAndLoadUrl(l,c,"customReportPreview")},setValueHasChanged(){this.isDirty=!0},addDimension(e){this.report&&e&&(this.isLocked?this.confirmReportIsLocked(()=>{this.addDimension(e)}):(this.report.dimensions||(this.report.dimensions=[]),this.report.dimensions=[...this.report.dimensions,e],this.setValueHasChanged()))},changeDimension(e,t){var i;this.report&&e&&(this.isLocked?this.confirmReportIsLocked(()=>{this.changeDimension(e,t)}):null!==(i=this.report.dimensions)&&void 0!==i&&i[t]&&(this.report.dimensions=[...this.report.dimensions],this.report.dimensions[t]=e,this.setValueHasChanged()))},changeMetric(e,t){var i;this.dependencyAdded=!1,this.report&&e&&(this.isLocked?this.confirmReportIsLocked(()=>{this.changeMetric(e,t)}):null!==(i=this.report.metrics)&&void 0!==i&&i[t]&&(this.report.metrics=[...this.report.metrics],this.report.metrics[t]=e,this.setValueHasChanged(),this.addMetricIfMissingDependency(e)))},setWebsiteChanged(e){this.setValueHasChanged(),this.initReportOptions(),"all"===this.report.site.id||"0"===this.report.site.id||0===this.report.site.id?this.multipleSites=[]:this.report.allowedToEdit&&!this.isSiteIncludedAlready(""+e.id)&&this.multipleSites&&this.multipleSites.push({idsite:e.id,name:e.name})},removeDimension(e){this.isLocked?this.confirmReportIsLocked(()=>{this.removeDimension(e)}):(window.$('div.ui-tooltip[role="tooltip"]:not([style*="display: none"])').remove(),e>-1&&(this.report.dimensions=[...this.report.dimensions],this.report.dimensions.splice(e,1),this.setValueHasChanged()))},addMetric(e){this.dependencyAdded=!1,this.report&&e&&(this.report.metrics||(this.report.metrics=[]),this.isLocked?this.confirmReportIsLocked(()=>{this.addMetric(e)}):(this.report.metrics=[...this.report.metrics,e],this.setValueHasChanged(),this.addMetricIfMissingDependency(e)))},addMetricIfMissingDependency(e){if(!["sum_product_revenue","avg_product_revenue"].includes(e)||this.doesReportIncludeProductQuantityMetric())return;const t="avg_product_revenue"===e?"avg_ecommerce_productquantity":"sum_ecommerce_productquantity";this.addMetric(t),this.dependencyAdded=!0},removeMetric(e){this.dependencyAdded=!1,this.isLocked?this.confirmReportIsLocked(()=>{this.removeMetric(e)}):(window.$('div.ui-tooltip[role="tooltip"]:not([style*="display: none"])').remove(),e>-1&&(this.report.metrics=[...this.report.metrics],this.report.metrics.splice(e,1),this.setValueHasChanged()))},setReportTypeHasChanged(e){this.report&&this.isLocked?e!==this.report.report_type&&this.confirmReportIsLocked(()=>{this.report.report_type=e,this.setValueHasChanged()}):(this.report.report_type=e,this.setValueHasChanged())},setSegmentFilterHasChanged(e){this.report&&this.isLocked?e!==this.report.segment_filter&&this.confirmReportIsLocked(()=>{this.report.segment_filter=e,this.setValueHasChanged()}):(this.report.segment_filter=e,this.setValueHasChanged())},updateReport(){if(this.removeAnyReportNotification(),!this.checkRequiredFieldsAreSet())return;const e=this.report.site.id,t="all"===e||"0"===e||0===e;this.multipleIdSites=[],this.multipleSites&&this.multipleSites.length>1&&!t&&(this.multipleIdSites.push(e),this.multipleSites.forEach(e=>{const t=e.idsite;this.multipleIdSites.some(e=>""+e===""+t)||this.multipleIdSites.push(t)}));const i=this.multipleIdSites.length?this.report.idsite:e,o="CustomReports.updateCustomReport";Ot.createOrUpdateReport(Object.assign(Object.assign({},this.report),{},{site:Object.assign(Object.assign({},this.report.site),{},{id:i})}),o,this.childReportIds,this.multipleIdSites).then(e=>{var t,i;if(!e||"error"===e.type)return void this.showApiErrorMessage(null!==(t=e.message)&&void 0!==t?t:"",null!==(i=e.type)&&void 0!==i?i:"error");const o=this.report.site.id,r=this.multipleIdSites.some(e=>""+e===""+p["Matomo"].idSite);this.isDirty=!1,this.canEdit=!0,!o||"all"===o||""+o===""+p["Matomo"].idSite||r?(Ot.reload().then(()=>{this.init()}),this.showNotification(Object(p["translate"])("CustomReports_ReportUpdated"),e.type)):p["MatomoUrl"].updateUrl(Object.assign(Object.assign({},p["MatomoUrl"].urlParsed.value),{},{idSite:o}),Object.assign({},p["MatomoUrl"].hashParsed.value))})},checkRequiredFieldsAreSet(){var e,t;if(!this.report.name){const e=Object(p["translate"])("General_Name");return this.showErrorFieldNotProvidedNotification(e),!1}if(this.typeNeedsDimensions&&(null===(t=this.report.dimensions)||void 0===t||!t.length||!Ct(this.report.dimensions).length)){const e=Object(p["translate"])("CustomReports_ErrorMissingDimension");return this.showNotification(e,"error"),!1}if(null===(e=this.report.metrics)||void 0===e||!e.length||!Ct(this.report.metrics).length){const e=Object(p["translate"])("CustomReports_ErrorMissingMetric");return this.showNotification(e,"error"),!1}return this.isProductRevenueDependencyMet(!1),!0},setSubcategory(e){this.report.subcategory=this.report.subcategory||{id:""},this.report.subcategory.id=e},isProductRevenueDependencyMet(e){const t=Object(p["externalLink"])("https://matomo.org/faq/custom-reports/why-is-there-an-error-when-i-try-to-run-a-custom-report-with-the-product-revenue-metric/"),i=Object(p["translate"])("CustomReports_WarningProductRevenueMetricDependency",t,"");return this.report.metrics.includes("sum_product_revenue")&&!this.doesReportIncludeProductQuantityMetric()?(this.addMetric("sum_ecommerce_productquantity"),this.showProductMetricNotification(i,e),!1):!(this.report.metrics.includes("avg_product_revenue")&&!this.doesReportIncludeProductQuantityMetric())||(this.addMetric("avg_ecommerce_productquantity"),this.showProductMetricNotification(i,e),!1)},doesReportIncludeProductQuantityMetric(){return this.report.metrics.includes("sum_ecommerce_productquantity")||this.report.metrics.includes("avg_ecommerce_productquantity")},isSiteIncludedAlready(e){return!(!this.multipleSites||!this.multipleSites.length)&&this.multipleSites.some(t=>""+t.idsite===""+e)},isSelectedSiteRow(e){return!!this.multipleSites&&this.multipleSites.length>1&&""+e.idsite===""+this.report.site.id},canRemoveSite(e){const t=""+e.idsite===""+this.report.idsite;return!(this.multipleSites&&this.multipleSites.length<=1)&&!(this.edit&&t)},removeSite(e){if(this.multipleSites){if(!this.canRemoveSite(e))return;const t=""+e.idsite===""+this.report.site.id,i=this.multipleSites.findIndex(t=>t.idsite===e.idsite);if(this.isDirty=!0,this.multipleSites=this.multipleSites.filter(t=>t.idsite!==e.idsite),t&&this.multipleSites.length){const e=i>0?this.multipleSites[i-1]:null,t=e||this.multipleSites[0];this.report.site={id:t.idsite,name:t.name},this.initReportOptions()}}},addSitesContaining(e){if(!e)return;const t=`"${p["Matomo"].helper.escape(p["Matomo"].helper.htmlEntities(e))}"`;p["AjaxHelper"].fetch({method:"SitesManager.getSitesWithAdminAccess",pattern:e,filter_limit:-1}).then(e=>{if(!e||!e.length){const e=`
    \n

    ${Object(p["translate"])("CustomReports_MatchingSearchNotFound",t)}

    \n \n
    `;return void p["Matomo"].helper.modalConfirm(e)}const i=[],o=[];e.forEach(e=>{const t=window.vueSanitize(p["Matomo"].helper.htmlEntities(e.name)),r=`${t} (id ${parseInt(""+e.idsite,10)})
    `;this.isSiteIncludedAlready(""+e.idsite)?o.push(r):i.push(r)});let r=Object(p["translate"])("CustomReports_MatchingSearchConfirmTitle",i.length);if(o.length){const e=Object(p["translate"])("CustomReports_MatchingSearchConfirmTitleAlreadyAdded",o.length);r+=` (${e})`}let s=`

    ${r}

    \n ${Object(p["translate"])("CustomReports_MatchingSearchMatchedAdd",i.length,t)}:\n

    `;if(s+=i.join(""),o.length){const e=Object(p["translate"])("CustomReports_MatchingSearchMatchedAlreadyAdded",o.length,t);s+=`
    ${e}:

    ${o.join("")}`}s+=`

    \n \n
    `,p["Matomo"].helper.modalConfirm(s,{yes:()=>{e.forEach(e=>{this.multipleSites&&(this.isSiteIncludedAlready(""+e.idsite)||(this.isDirty=!0,this.multipleSites.push({idsite:e.idsite,name:e.name})))}),this.containsText=""}})})}},computed:{isSuperUser(){return!!p["Matomo"].hasSuperUserAccess},allMetrics(){return Ot.state.value.allMetrics},metrics(){var e;const t=["pageviews_with_generation_time","avg_page_generation_time","max_actions_pagegenerationtime","sum_actions_pagegenerationtime"],i=((null===(e=this.report)||void 0===e?void 0:e.metrics)||[]).some(e=>t.indexOf(e)>=0),o=!i;return this.allMetrics.filter(e=>!!e&&!(o&&t.indexOf(e.key)>=0))},allDimensions(){return Ot.state.value.allDimensions},reportTypes(){return Ot.state.value.reportTypesReadable},isSingleMetricType(){var e;return"kpicard"===(null===(e=this.report)||void 0===e?void 0:e.report_type)},typeNeedsDimensions(){var e,t;return"evolution"!==(null===(e=this.report)||void 0===e?void 0:e.report_type)&&"kpicard"!==(null===(t=this.report)||void 0===t?void 0:t.report_type)},visibleMetrics(){var e;const t=(null===(e=this.report)||void 0===e?void 0:e.metrics)||[];return this.isSingleMetricType?t.slice(0,1):t},create(){return!this.idCustomReport},edit(){return!this.create},editTitle(){return this.create?"CustomReports_CreateNewReport":"CustomReports_EditReport"},contentTitle(){return Object(p["translate"])(this.editTitle,this.report.name?`"${this.report.name}"`:"")},categories(){return Ot.state.value.categories},subcategories(){return Ot.state.value.subcategories},dimensions(){var e;const t=[...this.allDimensions];if(null===(e=this.report)||void 0===e||!e.dimensions)return t;const i=-1!==this.report.dimensions.indexOf("Actions.PageGenerationTime"),o=this.report.dimensions.map(e=>{var i;return null===(i=t.find(t=>t.key===e))||void 0===i?void 0:i.sqlSegment}).filter(e=>!!e);for(let r=0;r-1&&!St(this.report.dimensions,e.key)&&-1===this.report.dimensions.indexOf(e.key)&&(t.splice(r,1),r-=1)}return t},isLoading(){return Ot.state.value.isLoading},isUpdating(){return Ot.state.value.isUpdating},dimensionsReadable(){return Ot.state.value.dimensionsReadable},metricsReadable(){return Ot.state.value.metricsReadable},saveButtonText(){return this.edit?Object(p["translate"])("CoreUpdater_UpdateTitle"):Object(p["translate"])("CustomReports_CreateNewReport")},getProductRevenueDependencyMessage(){const e=Object(p["externalLink"])("https://matomo.org/faq/custom-reports/why-is-there-an-error-when-i-try-to-run-a-custom-report-with-the-product-revenue-metric/");return Object(p["translate"])("CustomReports_WarningProductRevenueMetricDependency",e,"")},getPausedStateAdminMessage(){const e="?"+p["MatomoUrl"].stringify(Object.assign(Object.assign({},p["MatomoUrl"].urlParsed.value),{},{module:"CustomReports",action:"manage"}));return Object(p["translate"])("CustomReports_ReportInPausedStateAdmin",``,"")},getDescriptionHelpText(){const e=Object(p["externalLink"])("https://matomo.org/faq/custom-reports/how-to-add-an-information-icon-to-the-title-of-a-custom-report/");return Object(p["translate"])("CustomReports_ReportDescriptionHelpText",e,"")},getDimensionsHelpText(){const e=Object(p["translate"])("CustomReports_ReportDimensionsHelpNew"),t=this.getDimensionsHelpTextExtended;return t?`${e}

    ${t}`:e},getDimensionsHelpTextExtended(){if(this.isCloud)return"";const e=Object(p["externalLink"])("https://matomo.org/faq/custom-reports/faq_25655/");return Object(p["translate"])("CustomReports_ReportDimensionsHelpExtended",e,"")}}});Et.render=lt;var kt=Et;const Vt={class:"reportSearchFilter"},Dt={class:"index"},wt={class:"name"},_t={class:"description"},Mt={class:"reportType"},At={class:"reportCategory"},Bt={class:"action"},Tt={colspan:"7"},xt={class:"loadingPiwik"},It=Object(s["createElementVNode"])("img",{src:"plugins/Morpheus/images/loading-blue.gif"},null,-1),Lt={colspan:"7"},Ut=["id"],Pt={class:"index"},Ht={class:"name"},Gt=["title"],Ft=["title"],qt=["title"],$t=["title"],Wt=["title"],zt={class:"reportType"},Yt=["title"],Kt={key:0},Qt=["title","onClick"],Xt=["title","onClick"],Jt=["title","onClick"],Zt=["title","href"],ei={key:0},ti=["title","onClick"],ii={class:"tableActionBar"},oi=Object(s["createElementVNode"])("span",{class:"icon-add"},null,-1),ri={class:"ui-confirm",ref:"confirmDeleteReport"},si=["value"],ni=["value"],ai={class:"ui-confirm",ref:"confirmPauseReport"},li=["value"],ci=["value"],di={class:"ui-confirm",ref:"confirmResumeReport"},pi=["value"],ui=["value"];function mi(e,t,i,o,r,n){const a=Object(s["resolveComponent"])("Field"),l=Object(s["resolveComponent"])("EntityDuplicatorAction"),c=Object(s["resolveComponent"])("ContentBlock"),d=Object(s["resolveComponent"])("EntityDuplicatorModal"),p=Object(s["resolveDirective"])("content-table");return Object(s["openBlock"])(),Object(s["createElementBlock"])(s["Fragment"],null,[Object(s["createElementVNode"])("div",null,[Object(s["createVNode"])(c,{"content-title":e.translate("CustomReports_ManageReports"),feature:e.translate("CustomReports_ManageReports")},{default:Object(s["withCtx"])(()=>[Object(s["createElementVNode"])("p",null,Object(s["toDisplayString"])(e.translate("CustomReports_CustomReportIntroduction")),1),Object(s["createElementVNode"])("div",Vt,[Object(s["withDirectives"])(Object(s["createVNode"])(a,{uicontrol:"text",name:"reportSearch",title:e.translate("General_Search"),modelValue:e.searchFilter,"onUpdate:modelValue":t[0]||(t[0]=t=>e.searchFilter=t)},null,8,["title","modelValue"]),[[s["vShow"],e.reports.length>0]])]),Object(s["withDirectives"])((Object(s["openBlock"])(),Object(s["createElementBlock"])("table",null,[Object(s["createElementVNode"])("thead",null,[Object(s["createElementVNode"])("tr",null,[Object(s["createElementVNode"])("th",Dt,Object(s["toDisplayString"])(e.translate("General_Id")),1),Object(s["createElementVNode"])("th",wt,Object(s["toDisplayString"])(e.translate("General_Name")),1),Object(s["createElementVNode"])("th",_t,Object(s["toDisplayString"])(e.translate("General_Description")),1),Object(s["createElementVNode"])("th",Mt,Object(s["toDisplayString"])(e.translate("CustomReports_Type")),1),Object(s["createElementVNode"])("th",At,Object(s["toDisplayString"])(e.translate("CustomReports_Category")),1),Object(s["createElementVNode"])("th",Bt,Object(s["toDisplayString"])(e.translate("General_Actions")),1)])]),Object(s["createElementVNode"])("tbody",null,[Object(s["withDirectives"])(Object(s["createElementVNode"])("tr",null,[Object(s["createElementVNode"])("td",Tt,[Object(s["createElementVNode"])("span",xt,[It,Object(s["createTextVNode"])(" "+Object(s["toDisplayString"])(e.translate("General_LoadingData")),1)])])],512),[[s["vShow"],e.isLoading||e.isUpdating]]),Object(s["withDirectives"])(Object(s["createElementVNode"])("tr",null,[Object(s["createElementVNode"])("td",Lt,Object(s["toDisplayString"])(e.translate("CustomReports_NoCustomReportsFound")),1)],512),[[s["vShow"],!e.isLoading&&0==e.reports.length]]),(Object(s["openBlock"])(!0),Object(s["createElementBlock"])(s["Fragment"],null,Object(s["renderList"])(e.sortedReports,t=>{var i;return Object(s["openBlock"])(),Object(s["createElementBlock"])("tr",{id:"report"+t.idcustomreport,class:"customReports",key:t.idcustomreport},[Object(s["createElementVNode"])("td",Pt,Object(s["toDisplayString"])(t.idcustomreport),1),Object(s["createElementVNode"])("td",Ht,[Object(s["createTextVNode"])(Object(s["toDisplayString"])(t.name)+" ",1),Object(s["withDirectives"])(Object(s["createElementVNode"])("span",{class:"icon-locked",title:e.translate("CustomReports_ReportEditNotAllowedAllWebsitesUpdated")},null,8,Gt),[[s["vShow"],!t.idsite&&!e.isSuperUser]]),Object(s["withDirectives"])(Object(s["createElementVNode"])("span",{class:"icon-info2",title:e.translate("CustomReports_ReportAvailableToAllWebsites")},null,8,Ft),[[s["vShow"],!t.idsite&&e.isSuperUser]]),Object(s["withDirectives"])(Object(s["createElementVNode"])("span",{class:"icon-locked",title:e.translate("CustomReports_ReportEditNotAllowedMultipleWebsitesAccessIssue")},null,8,qt),[[s["vShow"],!t.allowedToEdit&&e.isMultiSiteReport(t)]]),Object(s["withDirectives"])(Object(s["createElementVNode"])("span",{class:"icon-info2",title:e.translate("CustomReports_ReportAvailableToMultipleWebsites")},null,8,$t),[[s["vShow"],t.allowedToEdit&&e.isMultiSiteReport(t)]])]),Object(s["createElementVNode"])("td",{class:"description",title:e.htmlEntities(t.description)},Object(s["toDisplayString"])(e.truncate(t.description.trim(),60)),9,Wt),Object(s["createElementVNode"])("td",zt,Object(s["toDisplayString"])(e.reportTypesReadable[t.report_type]),1),Object(s["createElementVNode"])("td",{class:"reportCategory",title:e.htmlEntities(t.category.name)},[Object(s["createTextVNode"])(Object(s["toDisplayString"])(e.truncate(t.category.name.trim(),60))+" ",1),null!==(i=t.subcategory)&&void 0!==i&&i.name?(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",Kt," - "+Object(s["toDisplayString"])(e.truncate(t.subcategory.name.trim(),60)),1)):Object(s["createCommentVNode"])("",!0)],8,Yt),Object(s["createElementVNode"])("td",{class:Object(s["normalizeClass"])({action:!0,"duplicate-available":e.isEntityDuplicatorAvailable})},[Object(s["withDirectives"])(Object(s["createElementVNode"])("a",{class:"table-action icon-pause",title:e.translate("CustomReports_PauseReportInfo"),onClick:i=>e.pauseReport(t)},null,8,Qt),[[s["vShow"],(t.idsite&&!e.isMultiSiteReport(t)||t.allowedToEdit)&&"active"===t.status]]),Object(s["withDirectives"])(Object(s["createElementVNode"])("a",{class:"table-action icon-play",title:e.translate("CustomReports_ResumeReportInfo"),onClick:i=>e.resumeReport(t)},null,8,Xt),[[s["vShow"],(t.idsite&&!e.isMultiSiteReport(t)||t.allowedToEdit)&&"paused"===t.status]]),Object(s["createElementVNode"])("a",{class:"table-action icon-edit",title:e.translate("CustomReports_EditReport"),onClick:i=>e.editReport(t.idcustomreport)},null,8,Jt),Object(s["createElementVNode"])("a",{target:"_blank",class:"table-action icon-show",title:e.translate("CustomReports_ViewReportInfo"),href:e.getViewReportLink(t)},null,8,Zt),e.isEntityDuplicatorAvailable&&(t.idsite&&!e.isMultiSiteReport(t)||t.allowedToEdit)?(Object(s["openBlock"])(),Object(s["createElementBlock"])("span",ei,[Object(s["createVNode"])(l,{actionFormData:{idCustomReport:t.idcustomreport},modalStore:e.entityDuplicatorStore,isActionVisible:e.showDuplicatorAction,isActionEnabled:e.enableDuplicatorAction,tooltipTextOverrideDisabled:e.translate("CustomReports_QuotaReachedForX",e.translate("CustomReports_CustomReport"),e.translate("CustomReports_CustomReports")),extraClasses:["customreport-duplicate-action","customreport-"+t.idcustomreport]},null,8,["actionFormData","modalStore","isActionVisible","isActionEnabled","tooltipTextOverrideDisabled","extraClasses"])])):Object(s["createCommentVNode"])("",!0),Object(s["withDirectives"])(Object(s["createElementVNode"])("a",{class:"table-action icon-delete",title:e.translate("CustomReports_DeleteReportInfo"),onClick:i=>e.deleteReport(t)},null,8,ti),[[s["vShow"],t.idsite&&!e.isMultiSiteReport(t)||t.allowedToEdit]])],2)],8,Ut)}),128))])])),[[p]]),Object(s["createElementVNode"])("div",ii,[Object(s["createElementVNode"])("a",{class:"createNewReport",onClick:t[1]||(t[1]=t=>e.createReport())},[oi,Object(s["createTextVNode"])(" "+Object(s["toDisplayString"])(e.translate("CustomReports_CreateNewReport")),1)])])]),_:1},8,["content-title","feature"]),Object(s["createElementVNode"])("div",ri,[Object(s["createElementVNode"])("h2",null,Object(s["toDisplayString"])(e.translate("CustomReports_DeleteReportConfirm")),1),Object(s["createElementVNode"])("input",{role:"yes",type:"button",value:e.translate("General_Yes")},null,8,si),Object(s["createElementVNode"])("input",{role:"no",type:"button",value:e.translate("General_No")},null,8,ni)],512),Object(s["createElementVNode"])("div",ai,[Object(s["createElementVNode"])("h2",null,Object(s["toDisplayString"])(e.translate("CustomReports_PauseReportConfirm")),1),Object(s["createElementVNode"])("input",{role:"yes",type:"button",value:e.translate("General_Yes")},null,8,li),Object(s["createElementVNode"])("input",{role:"no",type:"button",value:e.translate("General_No")},null,8,ci)],512),Object(s["createElementVNode"])("div",di,[Object(s["createElementVNode"])("h2",null,Object(s["toDisplayString"])(e.translate("CustomReports_ResumeReportConfirm")),1),Object(s["createElementVNode"])("input",{role:"yes",type:"button",value:e.translate("General_Yes")},null,8,pi),Object(s["createElementVNode"])("input",{role:"no",type:"button",value:e.translate("General_No")},null,8,ui)],512)]),Object(s["createVNode"])(d,{modalStore:e.entityDuplicatorStore},null,8,["modalStore"])],64)} +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */function hi(e,t){return e&&e.length>t?e.substr(0,t-3)+"...":e}const bi=Object(p["useExternalPluginComponent"])("CoreHome","EntityDuplicatorModal"),vi=Object(p["useExternalPluginComponent"])("CoreHome","EntityDuplicatorAction");let gi=void 0;Object(p["importPluginUmd"])("CoreHome").then(e=>{gi=null===e||void 0===e?void 0:e.EntityDuplicatorStore});const ji="customreportmanagementlist";var Oi=Object(s["defineComponent"])({props:{},components:{ContentBlock:p["ContentBlock"],Field:ct["Field"],EntityDuplicatorModal:bi,EntityDuplicatorAction:vi},directives:{ContentTable:p["ContentTable"]},data(){return{searchFilter:"",showDuplicatorAction:!0,enableDuplicatorAction:!1,entityDuplicatorStore:"undefined"!==typeof gi?gi.buildStoreInstance("CustomReports_CustomReport",{method:"CustomReports.duplicateCustomReport",requiredFields:["idSite","idDestinationSites","idCustomReport"]}):void 0}},created(){Ot.getAvailableReportTypes(),Ot.fetchReports()},mounted(){if(this.checkIsAddingCustomReportsAllowed(),this.entityDuplicatorStore){const e=this.entityDuplicatorStore.adapter;e.onSuccessCallback=e=>new Promise(t=>{var i,o,r;const s=null===(i=e.additionalData)||void 0===i?void 0:i.idSite;return null!==(o=e.additionalData)&&void 0!==o&&o.idSite&&Array.isArray(null===(r=e.additionalData)||void 0===r?void 0:r.idDestinationSites)&&!e.additionalData.idDestinationSites.some(e=>+e===+s)?t():Ot.reload().then(()=>t())})}},methods:{createReport(){this.editReport(0)},checkIsAddingCustomReportsAllowed(){const e={isAllowed:!0};return p["Matomo"].postEvent("CustomReports.initAddCustomReport",e),this.enableDuplicatorAction=e&&!0===e.isAllowed,!this.enableDuplicatorAction},editReport(e){p["MatomoUrl"].updateHash(Object.assign(Object.assign({},p["MatomoUrl"].hashParsed.value),{},{idCustomReport:e}))},pauseReport(e){p["Matomo"].helper.modalConfirm(this.$refs.confirmPauseReport,{yes:()=>{Ot.pauseReport(e.idcustomreport,e.idsite).then(e=>{e&&"error"!==e.type?(Ot.reload().then(()=>{this.showNotification(this.translate("CustomReports_PausedReport"),"success")}),p["Matomo"].postEvent("updateReportingMenu")):Ot.reload()})}})},resumeReport(e){p["Matomo"].helper.modalConfirm(this.$refs.confirmResumeReport,{yes:()=>{Ot.resumeReport(e.idcustomreport,e.idsite).then(e=>{e&&"error"!==e.type?(Ot.reload().then(()=>{this.showNotification(this.translate("CustomReports_ResumedReport"),"success")}),p["Matomo"].postEvent("updateReportingMenu")):Ot.reload()})}})},showNotification(e,t,i=null){const o=p["NotificationsStore"].show({message:e,context:t,id:ji,type:null!==i?i:"toast"});setTimeout(()=>{p["NotificationsStore"].scrollToNotification(o)},200)},deleteReport(e){p["Matomo"].helper.modalConfirm(this.$refs.confirmDeleteReport,{yes:()=>{Ot.deleteReport(e.idcustomreport,e.idsite).then(()=>{Ot.reload(),p["Matomo"].postEvent("updateReportingMenu")})}})},getViewReportLink(e){return`?${p["MatomoUrl"].stringify({module:"CoreHome",action:"index",idSite:e.linkIdSite,period:"day",date:"yesterday"})}#?${p["MatomoUrl"].stringify({category:e.category.id,idSite:e.linkIdSite,date:p["MatomoUrl"].parsed.value.date,period:p["MatomoUrl"].parsed.value.period,segment:p["MatomoUrl"].parsed.value.segment,subcategory:e.subcategoryLink})}`},truncate:hi,htmlEntities(e){return p["Matomo"].helper.htmlEntities(e)},isMultiSiteReport(e){return e.multiple_idsites&&e.multiple_idsites.split(",")}},computed:{isSuperUser(){return p["Matomo"].hasSuperUserAccess},reports(){return Ot.state.value.reports},sortedReports(){const e=this.searchFilter.toLowerCase(),t=[...this.reports].filter(t=>Object.keys(t).some(i=>{const o=t;return"string"===typeof o[i]&&-1!==o[i].toLowerCase().indexOf(e)}));return t.sort((e,t)=>{const i=parseInt(""+e.idcustomreport,10),o=parseInt(""+t.idcustomreport,10);return i-o}),t},isLoading(){return Ot.state.value.isLoading},isUpdating(){return Ot.state.value.isUpdating},reportTypesReadable(){return Ot.state.value.reportTypesReadable},isEntityDuplicatorAvailable(){return"undefined"!==typeof gi}}});Oi.render=mi;var fi=Oi;const Ri={class:"manageReports"},yi={key:0},Ci={key:1};function Si(e,t,i,o,r,n){const a=Object(s["resolveComponent"])("CustomReportsList"),l=Object(s["resolveComponent"])("CustomReportsEdit");return Object(s["openBlock"])(),Object(s["createElementBlock"])("div",Ri,[e.editMode?Object(s["createCommentVNode"])("",!0):(Object(s["openBlock"])(),Object(s["createElementBlock"])("div",yi,[Object(s["createVNode"])(a)])),e.editMode?(Object(s["openBlock"])(),Object(s["createElementBlock"])("div",Ci,[Object(s["createVNode"])(l,{"id-custom-report":e.idCustomReport,"browser-archiving-disabled":e.browserArchivingDisabled,"re-archive-last-n":e.reArchiveLastN,"max-dimensions":e.maxDimensions,"is-cloud":e.isCloud},null,8,["id-custom-report","browser-archiving-disabled","re-archive-last-n","max-dimensions","is-cloud"])])):Object(s["createCommentVNode"])("",!0)])}var Ni=Object(s["defineComponent"])({props:{browserArchivingDisabled:Boolean,reArchiveLastN:Number,maxDimensions:Number,isCloud:Boolean},components:{CustomReportsList:fi,CustomReportsEdit:kt},data(){return{editMode:!1,idCustomReport:null}},watch:{editMode(){$(".ui-tooltip").remove()}},created(){Object(s["watch"])(()=>p["MatomoUrl"].hashParsed.value.idCustomReport,e=>{this.initState(e)}),this.initState(p["MatomoUrl"].hashParsed.value.idCustomReport)},methods:{removeAnyReportNotification(e=!0){p["NotificationsStore"].remove("reportsmanagement"),e&&p["NotificationsStore"].remove("reportsmanagementProductMetric")},initState(e){if(e){if("0"===e){const e={isAllowed:!0};if(p["Matomo"].postEvent("CustomReports.initAddReport",e),e&&!e.isAllowed)return this.editMode=!1,void(this.idCustomReport=null)}this.editMode=!0,this.idCustomReport=parseInt(e,10)}else this.editMode=!1,this.idCustomReport=null;this.removeAnyReportNotification(!e)}}});Ni.render=Si;var Ei=Ni; +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */}})})); +//# sourceMappingURL=CustomReports.umd.min.js.map \ No newline at end of file diff --git a/files/plugin-CustomReports-5.5.0/vue/dist/umd.metadata.json b/files/plugin-CustomReports-5.5.0/vue/dist/umd.metadata.json new file mode 100644 index 0000000..3abfd12 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/dist/umd.metadata.json @@ -0,0 +1,7 @@ +{ + "dependsOn": [ + "CoreHome", + "CorePluginsAdmin", + "SegmentEditor" + ] +} \ No newline at end of file diff --git a/files/plugin-CustomReports-5.5.0/vue/src/CustomReports.store.ts b/files/plugin-CustomReports-5.5.0/vue/src/CustomReports.store.ts new file mode 100644 index 0000000..a829438 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/CustomReports.store.ts @@ -0,0 +1,424 @@ +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ + +import { + reactive, + computed, + readonly, + DeepReadonly, +} from 'vue'; +import { AjaxHelper, Matomo } from 'CoreHome'; +import { CustomReport, CustomReportType } from './types'; + +interface Option { + key: string; + value: string; +} + +type GetAvailableCategoriesResponse = { + uniqueId: string; + name: string; + subcategories: { + uniqueId: string; + name: string; + }[]; +}[]; + +type ListByCategory = ({ + category: string; +} & { + [S in SubcategoryField]: ({ + uniqueId: string; + name: string; + description?: string; + } & { + [E in ExtraField]?: string; + })[]; +})[]; + +type GetAvailableMetricsResponse = ListByCategory<'metrics'>; +type GetAvailableDimensionsResponse = ListByCategory<'dimensions', 'sqlSegment'>; + +function arrayFilterAndRemoveDuplicates(values: T[]) { + return [...new Set(values)].filter((v) => !!v); +} + +type FormattedListItem = ({ + group: string; + key: string; + value: string; + tooltip?: string; +} & { + [E in ExtraField]?: string; +}); + +function formatExpandableList( + listByCategories: ListByCategory, + subcategoryField: SubcategoryField, + extraField?: ExtraField, +) { + const list: FormattedListItem[] = []; + + listByCategories.forEach((category) => { + category[subcategoryField].forEach((value) => { + list.push({ + group: category.category, + key: value.uniqueId, + value: value.name, + tooltip: value.description || undefined, + ...(extraField ? { [extraField]: value[extraField] } : {}), + }); + }); + }); + + return list; +} + +const EMPTY_CAT = { + key: '', + value: '', +}; + +interface CustomReportsStoreState { + reports: CustomReport[]; + reportTypesReadable: Record; + dimensionsReadable: Record; + metricsReadable: Record; + categories: Option[]; + subcategories: Record; + isLoading: boolean; + isUpdating: boolean; + allMetrics: FormattedListItem[]; + allDimensions: FormattedListItem<'sqlSegment'>[]; +} + +class CustomReportsStore { + private privateState = reactive({ + reports: [], + reportTypesReadable: {}, + dimensionsReadable: {}, + metricsReadable: {}, + categories: [], + subcategories: {}, + isLoading: false, + isUpdating: false, + allMetrics: [], + allDimensions: [], + }); + + readonly state = computed(() => readonly(this.privateState)); + + private fetchPromise: Promise|null = null; + + private availableReportTypesPromise: Promise|null = null; + + private dimensionsPromise: Promise|null = null; + + private dimensionsIdsiteLoaded: number|string = 0; + + private metricsPromise: Promise|null = null; + + private metricsIdsiteLoaded: number|string = 0; + + reload() { + this.privateState.reports = []; + this.fetchPromise = null; + return this.fetchReports(); + } + + cleanupSegmentDefinition(definition: string) { + let result = definition; + result = result.replace('\'', '%27'); + result = result.replace('&', '%26'); + return result; + } + + getAvailableReportTypes(): Promise { + if (!this.availableReportTypesPromise) { + this.availableReportTypesPromise = AjaxHelper.fetch({ + method: 'CustomReports.getAvailableReportTypes', + filter_limit: '-1', + }).then((reportTypes) => { + const reportTypeMap: Record = {}; + reportTypes.forEach((rt) => { + reportTypeMap[rt.key] = rt.value; + }); + this.privateState.reportTypesReadable = reportTypeMap; + }); + } + + return this.availableReportTypesPromise!.then(() => this.state.value.reportTypesReadable); + } + + getAvailableDimensions( + idSite: number|'all', + ): Promise { + if (!this.dimensionsPromise || this.dimensionsIdsiteLoaded !== idSite) { + this.dimensionsIdsiteLoaded = idSite; + + this.dimensionsPromise = AjaxHelper.fetch({ + method: 'CustomReports.getAvailableDimensions', + filter_limit: '-1', + idSite, + }).then((dimensions) => { + const dimensionMap: Record = {}; + dimensions.forEach((category) => { + category.dimensions.forEach((dimension) => { + dimensionMap[dimension.uniqueId] = dimension.name; + }); + }); + this.privateState.dimensionsReadable = dimensionMap; + + this.privateState.allDimensions = formatExpandableList( + dimensions, + 'dimensions', + 'sqlSegment', + ); + }); + } + + return this.dimensionsPromise!.then(() => this.state.value.dimensionsReadable); + } + + getAvailableMetrics( + idSite: number|'all', + ): Promise { + if (!this.metricsPromise || this.metricsIdsiteLoaded !== idSite) { + this.metricsIdsiteLoaded = idSite; + this.metricsPromise = AjaxHelper.fetch({ + method: 'CustomReports.getAvailableMetrics', + filter_limit: '-1', + idSite, + }).then((metrics) => { + const metricsMap: Record = {}; + metrics.forEach((metricsCategory) => { + metricsCategory.metrics.forEach((metric) => { + metricsMap[metric.uniqueId] = metric.name; + }); + }); + this.privateState.metricsReadable = metricsMap; + + this.privateState.allMetrics = formatExpandableList(metrics, 'metrics'); + }); + } + + return this.metricsPromise!.then(() => this.state.value.metricsReadable); + } + + private categoriesPromise: Promise|null = null; + + private categoriesIdsiteLoaded: number|null = null; + + getAvailableCategories(idSite?: number|'all'): Promise { + const idSiteToUse = !idSite || idSite === 'all' ? Matomo.idSite : idSite; + + if (!this.categoriesPromise || this.categoriesIdsiteLoaded !== idSite) { + this.categoriesPromise = AjaxHelper.fetch({ + method: 'CustomReports.getAvailableCategories', + filter_limit: '-1', + idSite: idSiteToUse, + }).then((response) => { + const categories: Option[] = []; + const subcategories: Record = {}; + + response.forEach((category) => { + categories.push({ key: category.uniqueId, value: category.name }); + + category.subcategories.forEach((subcat) => { + subcategories[category.uniqueId] = subcategories[category.uniqueId] || [EMPTY_CAT]; + subcategories[category.uniqueId].push({ key: subcat.uniqueId, value: subcat.name }); + }); + }); + + this.privateState.categories = categories; + this.privateState.subcategories = subcategories; + }); + } + + return this.categoriesPromise!; + } + + fetchReports(): Promise { + if (!this.fetchPromise) { + this.fetchPromise = AjaxHelper.fetch({ + method: 'CustomReports.getConfiguredReports', + filter_limit: '-1', + }); + } + + this.privateState.isLoading = true; + this.privateState.reports = []; + return this.fetchPromise.then((reports) => { + this.privateState.reports = reports.map((report) => { + let subcategoryLink: string|number|undefined = undefined; + if (report?.subcategory?.id) { + subcategoryLink = report.subcategory.id; + } else if (report?.category?.id === 'CustomReports_CustomReports') { + subcategoryLink = report.idcustomreport; + } else { + subcategoryLink = report.name; + } + + return { + ...report, + // report.idsite is falsey when report is set for all sites + linkIdSite: report.idsite ? report.idsite : Matomo.idSite, + subcategoryLink, + }; + }); + + return this.state.value.reports; + }).finally(() => { + this.privateState.isLoading = false; + }); + } + + findReport(idCustomReport: number, isReload: boolean): Promise> { + // before going through an API request we first try to find it in loaded reports + const found = this.state.value.reports.find( + (r) => parseInt(`${r.idcustomreport}`, 10) === idCustomReport, + ); + + if (found && !isReload) { + return Promise.resolve(found); + } + + // otherwise we fetch it via API + this.privateState.isLoading = true; + return AjaxHelper.fetch({ + idCustomReport, + method: 'CustomReports.getConfiguredReport', + }).finally(() => { + this.privateState.isLoading = false; + }); + } + + deleteReport( + idCustomReport: number|string, + idSite: number|string, + ): Promise<{ type: string, message?: string }> { + this.privateState.isUpdating = true; + this.privateState.reports = []; + + return AjaxHelper.fetch( + { + idCustomReport, + idSite: `${idSite}`, + method: 'CustomReports.deleteCustomReport', + }, + { + withTokenInUrl: true, + }, + ).then(() => ({ + type: 'success', + })).catch((e) => ({ + type: 'error', + message: e.message || e as string, + })).finally(() => { + this.privateState.isUpdating = false; + }); + } + + pauseReport( + idCustomReport: number|string, + idSite: number|string, + ): Promise<{ type: string, message?: string }> { + this.privateState.isUpdating = true; + this.privateState.reports = []; + + return AjaxHelper.fetch( + { + idCustomReport, + idSite: `${idSite}`, + method: 'CustomReports.pauseCustomReport', + }, + { + withTokenInUrl: true, + }, + ).then(() => ({ + type: 'success', + })).catch((e) => ({ + type: 'error', + message: e.message || e as string, + })).finally(() => { + this.privateState.isUpdating = false; + }); + } + + resumeReport( + idCustomReport: number|string, + idSite: number|string, + ): Promise<{ type: string, message?: string }> { + this.privateState.isUpdating = true; + this.privateState.reports = []; + + return AjaxHelper.fetch( + { + idCustomReport, + idSite: `${idSite}`, + method: 'CustomReports.resumeCustomReport', + }, + { + withTokenInUrl: true, + }, + ).then(() => ({ + type: 'success', + })).catch((e) => ({ + type: 'error', + message: e.message || e as string, + })).finally(() => { + this.privateState.isUpdating = false; + }); + } + + createOrUpdateReport( + report: CustomReport, + method: string, + childReportIds: Array, + multipleIdSites: Array, + ): Promise<{ type: string, message?: string, response?: { value: number|string }}> { + this.privateState.isUpdating = true; + return AjaxHelper.post<{ value: number|string }>( + { + method, + idCustomReport: report.idcustomreport, + reportType: report.report_type, + name: report.name.trim(), + description: report.description.trim(), + segmentFilter: encodeURIComponent(report.segment_filter), + categoryId: report.category?.id, + subcategoryId: report.subcategory?.id, + idSite: report.site.id, + subCategoryReportIds: childReportIds, + multipleIdSites, + }, + { + dimensionIds: arrayFilterAndRemoveDuplicates(report.dimensions), + metricIds: arrayFilterAndRemoveDuplicates(report.metrics), + }, + { withTokenInUrl: true }, + ).then((response) => ({ + type: 'success', + response, + })).catch((error) => ({ + type: 'error', + message: error.message || error as string, + })).finally(() => { + this.privateState.isUpdating = false; + }); + } +} + +export default new CustomReportsStore(); diff --git a/files/plugin-CustomReports-5.5.0/vue/src/KpiCardView/KpiCardView.less b/files/plugin-CustomReports-5.5.0/vue/src/KpiCardView/KpiCardView.less new file mode 100644 index 0000000..501b09e --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/KpiCardView/KpiCardView.less @@ -0,0 +1,3 @@ +[vue-entry="CustomReports.KpiCardView"] { + display: block; +} diff --git a/files/plugin-CustomReports-5.5.0/vue/src/KpiCardView/KpiCardView.vue b/files/plugin-CustomReports-5.5.0/vue/src/KpiCardView/KpiCardView.vue new file mode 100644 index 0000000..66316e7 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/KpiCardView/KpiCardView.vue @@ -0,0 +1,276 @@ + + + + + diff --git a/files/plugin-CustomReports-5.5.0/vue/src/Reports/DraggableList.less b/files/plugin-CustomReports-5.5.0/vue/src/Reports/DraggableList.less new file mode 100644 index 0000000..ca150eb --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/Reports/DraggableList.less @@ -0,0 +1,63 @@ +.draggableList { + list-style: none; + margin: 0; + padding: 0; + + .draggableListItem { + display: flex; + align-items: center; + padding: 0.6rem 0.9rem; + border: 1px solid @theme-color-border; + border-radius: 4px; + background: @theme-color-background-tinyContrast; + color: @theme-color-text; + cursor: grab; + margin-bottom: 0.6rem; + user-select: none; + + > :last-child { + flex: 1; + min-width: 0; + } + } + + &.isDragging .draggableListItem { + cursor: grabbing; + } + + &.isDisabled .draggableListItem, + &.isDisabled .drag-icon { + cursor: default; + } + + .draggableListItem.isDragged { + border-style: dashed; + border-color: @theme-color-border; + background: @theme-color-background-base; + + > * { + visibility: hidden; + } + } + + .drag-icon { + padding-right: 15px; + font-size: 13px; + color: @theme-color-text-light; + } +} + +.draggableListPanel { + font-size: 1rem; + margin-top: 1.5rem; + margin-bottom: 2.5rem; + + .draggableListHeading { + margin-bottom: 0.4rem; + } + + .draggableListHelp { + margin-top: 0; + color: @theme-color-text-lighter; + } +} diff --git a/files/plugin-CustomReports-5.5.0/vue/src/Reports/DraggableList.vue b/files/plugin-CustomReports-5.5.0/vue/src/Reports/DraggableList.vue new file mode 100644 index 0000000..9f38c6d --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/Reports/DraggableList.vue @@ -0,0 +1,251 @@ + + + + + diff --git a/files/plugin-CustomReports-5.5.0/vue/src/Reports/Edit.less b/files/plugin-CustomReports-5.5.0/vue/src/Reports/Edit.less new file mode 100644 index 0000000..bdcdffb --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/Reports/Edit.less @@ -0,0 +1,113 @@ +.editReport { + min-width: 1070px; + + form > div { + .matomo-form-field { + margin-left: -.75rem; + } + + > .form-group { + margin-left: -.75rem; + } + } + + .icon-help { + color: #888; + cursor: help; + &:hover { + color: @theme-color-text; + } + } + + .alertUnlocked, + .unlockAlert { + margin-top: -24px; + } + + .icon-close { + cursor: pointer; + } + + .metricsGroup, + .dimensionsGroup { + padding: 0 0.75rem; + + .groupValueSelect { + min-width: 300px; + display: inline-block; + + .expandableList { + margin-top: -32px; + margin-left: 12px; + } + } + + .selectedMetric, + .selectedDimension { + .select-dropdown { + // #e4e4e4: no theme var sits between tinyContrast and lowContrast, and + // lowContrast matches the disabled button. + background: @theme-color-background-tinyContrast !important; + } + } + + .icon-minus { + display: inline-block; + vertical-align: top; + margin-top: 20px; + margin-left: 53.5px; + color: #666; + cursor: pointer; + } + + label { + font-size: 0.8rem; + } + .form-group.row { + margin-top: 11px; + margin-bottom: 0; + } + + .input-field { + margin-top: 0; + .caret { + right: -25px; + z-index: 9; + cursor: pointer; + } + .select-dropdown { + margin-bottom: 0; + border: 0; + background: @theme-color-background-contrast; + display: inline-block; + height: 32px; + font-size: 13px; + font-weight: 500; + color: @theme-color-text-lighter; + line-height: 32px; + border-radius: 3em; + padding-left: 12px; + padding-right: 30px; + box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12) !important; + } + } + } + + .expandableSelector { + label { + white-space: nowrap; + top: -0.8rem; + } + } + + .customReportSearchMeasurablesField { + width: 50% !important; + display: inline-block; + } + + .entityTable { + .selectedSiteRow td { + background: @color-silver-l98; + } + } +} diff --git a/files/plugin-CustomReports-5.5.0/vue/src/Reports/Edit.vue b/files/plugin-CustomReports-5.5.0/vue/src/Reports/Edit.vue new file mode 100644 index 0000000..4f8cfb7 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/Reports/Edit.vue @@ -0,0 +1,1524 @@ + + + + + diff --git a/files/plugin-CustomReports-5.5.0/vue/src/Reports/List.less b/files/plugin-CustomReports-5.5.0/vue/src/Reports/List.less new file mode 100644 index 0000000..0b28ef0 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/Reports/List.less @@ -0,0 +1,58 @@ +.manageReports { + .reportSearchFilter { + .form-group { + .theWidgetContent & { + margin-top: 0 !important; + } + } + .input-field { + margin-left: -0.75em !important; + margin-top: 0; + + .theWidgetContent & { + margin-left: 0 !important; + } + } + } + .info { + color: @color-silver; + } + + .icon-info2, + .icon-locked { + color: @color-silver; + cursor: help; + } + + p, pre { + max-width: 900px; + } + + th.action, td.action { + width: 250px; + + a { + color: #000; + margin-top: -16px; + } + } + + th.action.duplicate-available, td.action.duplicate-available { + width: 280px; + } + + .index { + width: 60px; + } + + td { + .icon-ok { + color: #43a047; + } + } +} + +.customReportsHigherDimensions table.dataTable td { + width: calc(100% - 4rem) !important; + max-width: 160px !important; +} \ No newline at end of file diff --git a/files/plugin-CustomReports-5.5.0/vue/src/Reports/List.vue b/files/plugin-CustomReports-5.5.0/vue/src/Reports/List.vue new file mode 100644 index 0000000..910c7a9 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/Reports/List.vue @@ -0,0 +1,451 @@ + + + + + diff --git a/files/plugin-CustomReports-5.5.0/vue/src/Reports/Manage.vue b/files/plugin-CustomReports-5.5.0/vue/src/Reports/Manage.vue new file mode 100644 index 0000000..d093cd5 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/Reports/Manage.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/files/plugin-CustomReports-5.5.0/vue/src/index.ts b/files/plugin-CustomReports-5.5.0/vue/src/index.ts new file mode 100644 index 0000000..3ffed51 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/index.ts @@ -0,0 +1,19 @@ +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ + +export { default as KpiCardView } from './KpiCardView/KpiCardView.vue'; +export { default as ReportEdit } from './Reports/Edit.vue'; +export { default as ReportsList } from './Reports/List.vue'; +export { default as ReportsManage } from './Reports/Manage.vue'; diff --git a/files/plugin-CustomReports-5.5.0/vue/src/truncateText2.ts b/files/plugin-CustomReports-5.5.0/vue/src/truncateText2.ts new file mode 100644 index 0000000..ee32085 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/truncateText2.ts @@ -0,0 +1,21 @@ +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ + +export default function truncateText2(text: string, length: number): string { + if (text && text.length > length) { + return `${text.substr(0, length - 3)}...`; + } + return text; +} diff --git a/files/plugin-CustomReports-5.5.0/vue/src/types.ts b/files/plugin-CustomReports-5.5.0/vue/src/types.ts new file mode 100644 index 0000000..96145c9 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/vue/src/types.ts @@ -0,0 +1,70 @@ +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ + +import { SiteRef } from 'CoreHome'; + +export interface CustomReportType { + key: string; + value: string; +} + +interface Category { + id: string; + name?: string; + order?: number; + icon?: string; +} + +interface Subcategory { + id: string|number; + name?: string; + order?: number; +} + +export interface Site { + idsite: string | number; + name: string; +} + +export interface ChildReport { + idcustomreport: string|number; + name: string; + subcategory_order: string|number; +} + +export interface CustomReport { + category: Category; + created_date: string; + description: string; + dimensions: string[]; + idcustomreport: string|number; + idsite: string|number; + metrics: string[]; + name: string; + report_type: string; + revision: string|number; + segment_filter: string; + site: SiteRef; + status: string; + subcategory: Subcategory|null; + updated_date: string; + child_reports: ChildReport[] + multipleIdSites: Site[]; + multiple_idsites: null|string; + allowedToEdit: boolean; + + linkIdSite?: string|number; + subcategoryLink?: string|number; +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/API.php b/files/plugin-HeatmapSessionRecording-5.6.0/API.php new file mode 100644 index 0000000..8ae3860 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/API.php @@ -0,0 +1,1261 @@ +validator = $validator; + $this->aggregator = $aggregator; + $this->siteHsr = $siteHsr; + $this->logHsr = $logHsr; + $this->logEvent = $logEvent; + $this->logHsrSite = $logHsrSite; + $this->systemSettings = $settings; + $this->configuration = $configuration; + + $dir = Plugin\Manager::getPluginDirectory('UserCountry'); + require_once $dir . '/functions.php'; + } + + /** + * Adds a new heatmap. + * + * Once created, Matomo starts recording matching page activity for this heatmap. + * + * @param int $idSite The numeric ID of the website to configure. + * @param string $name The heatmap name shown in the reporting UI. + * @param array $matchPageRules Matching rules that define which pages contribute to this heatmap. + * @param int $sampleLimit The number of matching page views to record before the heatmap ends automatically. + * @param float $sampleRate The percentage of matching traffic to record, from 0 to 100 with up to one decimal + * place. + * @param string|false $excludedElements Comma-separated CSS selectors to exclude from the heatmap output. + * @param string|false $screenshotUrl URL of the page to capture for the heatmap screenshot. + * @param int|false $breakpointMobile Width threshold used to classify visits as mobile when device detection is + * unavailable. + * @param int|false $breakpointTablet Width threshold used to classify visits as tablet when device detection is + * unavailable. + * @param bool $captureDomManually Whether the DOM should be captured manually instead of automatically. + * @param string $description Optional description providing additional context, such as the purpose or usage. + * @param bool $autoRepeat Whether Matomo should automatically create a new heatmap once this one finishes. + * + * @return int The ID of the newly created heatmap configuration. + */ + public function addHeatmap( + $idSite, + $name, + $matchPageRules, + $sampleLimit = 1000, + $sampleRate = 5, + $excludedElements = false, + $screenshotUrl = false, + $breakpointMobile = false, + $breakpointTablet = false, + $captureDomManually = false, + $description = '', + bool $autoRepeat = false + ) { + $this->validator->checkHeatmapReportWritePermission($idSite); + + if ($breakpointMobile === false || $breakpointMobile === null) { + $breakpointMobile = $this->systemSettings->breakpointMobile->getValue(); + } + + if ($breakpointTablet === false || $breakpointTablet === null) { + $breakpointTablet = $this->systemSettings->breakpointTablet->getValue(); + } + + $createdDate = Date::now()->getDatetime(); + + $matchPageRules = $this->unsanitizePageRules($matchPageRules); + $screenshotUrl = $this->unsanitizeScreenshotUrl($screenshotUrl); + + return $this->siteHsr->addHeatmap($idSite, $name, $matchPageRules, $sampleLimit, $sampleRate, $excludedElements, $screenshotUrl, $breakpointMobile, $breakpointTablet, $captureDomManually, $createdDate, $description, $autoRepeat); + } + + /** + * Copies a specified heatmap to one or more sites. If a heatmap with the same name already exists, the new heatmap + * will have an automatically adjusted name to make it unique to the assigned site. + * + * @param int $idSite The numeric ID of the website that owns the source heatmap. + * @param int $idSiteHsr The ID of the heatmap configuration to duplicate. + * @param int[] $idDestinationSites Site IDs to copy the heatmap to. Defaults to the source site when omitted. + * + * @return array The duplication result, including success state, messages, and any newly created heatmap IDs. + */ + public function duplicateHeatmap(int $idSite, int $idSiteHsr, array $idDestinationSites = []): array + { + if (!class_exists('\Piwik\Plugins\CoreHome\EntityDuplicator\DuplicateRequestResponse')) { + throw new BadRequestException('This endpoint is not available until Matomo 5.4.0'); + } + + // Define data array before any alterations to the variables + $additionalData = [ + 'idSite' => $idSite, + 'idDestinationSites' => $idDestinationSites, + 'idSiteHsr' => $idSiteHsr, + ]; + + $idDestinationSites = count($idDestinationSites) > 0 ? $idDestinationSites : [$idSite]; + $idSitesToCheck = array_unique(array_merge([$idSite], $idDestinationSites)); + $this->validator->checkSitesDuplicationPermission($idSitesToCheck); + + // Initialise the common response values + $duplicateRequestResponse = new DuplicateRequestResponse(); + + $heatmap = null; + try { + $heatmap = $this->getHeatmap($idSite, $idSiteHsr); + } catch (\Throwable $e) { + // Log the error, but continue for the proper response to be built later + $this->logError('Uncaught exception looking up heatmap to duplicate: {exception}', $e); + } + if (empty($heatmap['name']) || empty($heatmap['match_page_rules'])) { + $duplicateRequestResponse->setSuccess(false); + $duplicateRequestResponse->setMessage(Piwik::translate('HeatmapSessionRecording_SourceHeatmapLookupError')); + $duplicateRequestResponse->setAdditionalData($additionalData); + + return $duplicateRequestResponse->getResponseArray(); + } + + $idSitesFailed = $idHrsNew = []; + foreach ($idDestinationSites as $idDestinationSite) { + try { + // Make sure that the new name is unique. + $newName = $heatmap['name']; + $heatmaps = $this->siteHsr->getHeatmaps($idDestinationSite, false, true); + // It can only be a duplicate name if some heatmaps were found for the site. + if (is_array($heatmaps) && count($heatmaps) > 0) { + $heatmapNames = array_column($heatmaps, 'name'); + $newName = EntityDuplicatorHelper::getUniqueNameComparedToList($newName, $heatmapNames, Name::MAX_LENGTH); + } + + $response = $this->addHeatmap( + $idDestinationSite, + $newName, + $heatmap['match_page_rules'], + $heatmap['sample_limit'] ?? 1000, + $heatmap['sample_rate'] ?? 5, + $heatmap['excluded_elements'] ?? false, + $heatmap['screenshot_url'] ?? false, + $heatmap['breakpoint_mobile'] ?? false, + $heatmap['breakpoint_tablet'] ?? false, + $heatmap['capture_manually'] ?? false, + $heatmap['description'] ?? '', + $heatmap['auto_repeat'] ?? false + ); + + // Check response for success or failure. The only return is the new ID, so make sure it's a valid int + if (!is_int($response) || $response < 1) { + $idSitesFailed[] = $idDestinationSite; + continue; + } + + $idHrsNew[] = $response; + } catch (\Throwable $e) { + $idSitesFailed[] = $idDestinationSite; + + // Log the error, but continue in case there are other sites to copy to + $this->logError('Uncaught exception duplicating heatmap: {exception}', $e); + } + } + + // Set the values for success response + $duplicateRequestResponse->setSuccess(true); + $duplicateRequestResponse->setMessage(Piwik::translate('HeatmapSessionRecording_HeatmapCopied')); + $additionalData['newIds'] = $idHrsNew; + $duplicateRequestResponse->setAdditionalData($additionalData); + + // If any of the sites failed, update to error response + if (count($idSitesFailed) > 0) { + $successSites = array_diff($idDestinationSites, $idSitesFailed); + $sitesString = count($successSites) ? implode(',', $successSites) : Piwik::translate('HeatmapSessionRecording_None'); + $message = Piwik::translate('HeatmapSessionRecording_HeatmapDuplicationError', [implode(',', $idSitesFailed), $sitesString]); + $duplicateRequestResponse->setSuccess(false); + $duplicateRequestResponse->setMessage($message); + } + + // Make sure to record the activity for the report being copied + if (class_exists('\Piwik\Plugins\ActivityLog\ActivityParamObject\EntityDuplicatedData')) { + // TODO - Remove this if/else and always use the setRequestDataForActivity method for Matomo 6.x + if (method_exists($duplicateRequestResponse, 'setRequestDataForEvent')) { + $duplicateRequestResponse->setRequestDataForEvent( + 'HeatmapSessionRecording_Heatmap', + $heatmap['name'], + $idSiteHsr, + $idSite, + $idDestinationSites, + $additionalData + ); + } else { + ( + new \Piwik\Plugins\ActivityLog\ActivityParamObject\EntityDuplicatedData( + 'HeatmapSessionRecording_Heatmap', + $heatmap['name'], + $idSiteHsr, + $idSite, + $idDestinationSites, + $additionalData + ) + )->postActivityEvent(); + } + } + + return $duplicateRequestResponse->getResponseArray(); + } + + private function logError(string $message, \Throwable $e): void + { + StaticContainer::get(\Piwik\Log\LoggerInterface::class)->error( + $message, + [ + 'exception' => $e, + 'ignoreInScreenWriter' => true, + ] + ); + } + + private function unsanitizeScreenshotUrl($screenshotUrl) + { + if (!empty($screenshotUrl) && is_string($screenshotUrl)) { + $screenshotUrl = Common::unsanitizeInputValue($screenshotUrl); + } + + return $screenshotUrl; + } + + private function unsanitizePageRules($matchPageRules) + { + if (!empty($matchPageRules) && is_array($matchPageRules)) { + foreach ($matchPageRules as $index => $matchPageRule) { + if (is_array($matchPageRule) && !empty($matchPageRule['value'])) { + $matchPageRules[$index]['value'] = Common::unsanitizeInputValue($matchPageRule['value']); + } + } + } + return $matchPageRules; + } + + /** + * Updates an existing heatmap. + * + * Send the full configuration payload when updating a heatmap, not only the fields you changed. + * + * @param int $idSite The numeric ID of the website that owns the heatmap. + * @param int $idSiteHsr The ID of the heatmap configuration to update. + * @param string $name The heatmap name shown in the reporting UI. + * @param array $matchPageRules Matching rules that define which pages contribute to this heatmap. + * @param int $sampleLimit The number of matching page views to record before the heatmap ends automatically. + * @param float $sampleRate The percentage of matching traffic to record, from 0 to 100 with up to one decimal + * place. + * @param string|false $excludedElements Comma-separated CSS selectors to exclude from the heatmap output. + * @param string|false $screenshotUrl URL of the page to capture for the heatmap screenshot. + * @param int|false $breakpointMobile Width threshold used to classify visits as mobile when device detection is + * unavailable. + * @param int|false $breakpointTablet Width threshold used to classify visits as tablet when device detection is + * unavailable. + * @param bool $captureDomManually Whether the DOM should be captured manually instead of automatically. + * @param string $description Optional description providing additional context, such as the purpose or usage. + * @param bool $autoRepeat Whether Matomo should automatically create a new heatmap once this one finishes. + * + * @return void + */ + public function updateHeatmap( + $idSite, + $idSiteHsr, + $name, + $matchPageRules, + $sampleLimit = 1000, + $sampleRate = 5, + $excludedElements = false, + $screenshotUrl = false, + $breakpointMobile = false, + $breakpointTablet = false, + $captureDomManually = false, + $description = '', + bool $autoRepeat = false + ): void { + $this->validator->checkHeatmapReportWritePermission($idSite); + $this->siteHsr->checkHeatmapExists($idSite, $idSiteHsr); + + if ($breakpointMobile === false || $breakpointMobile === null) { + $breakpointMobile = $this->systemSettings->breakpointMobile->getValue(); + } + + if ($breakpointTablet === false || $breakpointTablet === null) { + $breakpointTablet = $this->systemSettings->breakpointTablet->getValue(); + } + + $updatedDate = Date::now()->getDatetime(); + + $matchPageRules = $this->unsanitizePageRules($matchPageRules); + $screenshotUrl = $this->unsanitizeScreenshotUrl($screenshotUrl); + + $this->siteHsr->updateHeatmap($idSite, $idSiteHsr, $name, $matchPageRules, $sampleLimit, $sampleRate, $excludedElements, $screenshotUrl, $breakpointMobile, $breakpointTablet, $captureDomManually, $updatedDate, $description, $autoRepeat); + } + + /** + * Deletes the stored snapshot (screenshot) for a heatmap. + * + * Works for active, ended and paused heatmaps. When $captureManually is set, the snapshot is not retaken + * automatically on the next recorded visit and must be captured manually; this is only allowed for active + * heatmaps, as ended or paused heatmaps no longer record any visits. + * + * @param int $idSite The numeric ID of the website that owns the heatmap. + * @param int $idSiteHsr The ID of the heatmap configuration to update. + * @param bool $captureManually Whether the new snapshot must be captured manually instead of automatically. + * + * @return bool Whether the snapshot reference was removed. + */ + public function deleteHeatmapScreenshot($idSite, $idSiteHsr, bool $captureManually = false) + { + $this->validator->checkHeatmapReportWritePermission($idSite); + $this->siteHsr->checkHeatmapExists($idSite, $idSiteHsr); + + $heatmap = $this->siteHsr->getHeatmap($idSite, $idSiteHsr); + $isActive = !empty($heatmap['status']) && $heatmap['status'] === SiteHsrDao::STATUS_ACTIVE; + + if ($captureManually && !$isActive) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorSnapshotManualRetakeOnlyActive')); + } + + $hadScreenshot = !empty($heatmap['page_treemirror']); + $captureManuallyChanged = (int) ($heatmap['capture_manually'] ?? 0) !== ($captureManually ? 1 : 0); + + $this->siteHsr->setPageTreeMirror($idSite, $idSiteHsr, null, null); + $this->siteHsr->markScreenshotDeleted($idSite, $idSiteHsr, $captureManually); + + if ($hadScreenshot || $captureManuallyChanged) { + // the tracker cache carries page_treemirror and capture_manually, so it must be + // rebuilt when the snapshot existed or the stored manual-capture flag changed + Cache::deleteCacheWebsiteAttributes($idSite); + } + + return true; + } + + /** + * Adds a new session recording. + * + * Once created, Matomo starts recording matching visitor sessions. + * + * @param int $idSite The numeric ID of the website to configure. + * @param string $name The session recording name shown in the reporting UI. + * @param array $matchPageRules Matching rules that define which pages contribute to this heatmap. + * @param int $sampleLimit The number of sessions to record before the recording ends automatically. + * @param float $sampleRate The percentage of matching traffic to record, from 0 to 100 with up to one decimal + * place. + * @param int $minSessionTime Minimum time in seconds a visitor must spend on the current page before recording. + * @param bool $requiresActivity Whether the visitor must interact by scrolling or clicking before the session is + * kept. + * @param bool $captureKeystrokes Whether entered form text should be recorded. Password fields are masked + * automatically. + * @param string $description Optional description providing additional context, such as the purpose or usage. + * @param bool $autoRepeat Whether Matomo should automatically create a new session recording once this one + * finishes. + * + * @return int The ID of the newly created session recording configuration. + */ + public function addSessionRecording($idSite, $name, $matchPageRules = array(), $sampleLimit = 1000, $sampleRate = 10, $minSessionTime = 0, $requiresActivity = true, $captureKeystrokes = true, $description = '', bool $autoRepeat = false) + { + $this->validator->checkSessionReportWritePermission($idSite); + + $createdDate = Date::now()->getDatetime(); + + $matchPageRules = $this->unsanitizePageRules($matchPageRules); + + return $this->siteHsr->addSessionRecording($idSite, $name, $matchPageRules, $sampleLimit, $sampleRate, $minSessionTime, $requiresActivity, $captureKeystrokes, $createdDate, $description, $autoRepeat); + } + + /** + * Updates an existing session recording. + * + * Send the full configuration payload when updating a session recording, not only the fields you changed. + * + * @param int $idSite The numeric ID of the website that owns the session recording. + * @param int $idSiteHsr The ID of the session recording configuration to update. + * @param string $name The session recording name shown in the reporting UI. + * @param array $matchPageRules Matching rules that define which pages contribute to this heatmap. + * @param int $sampleLimit The number of sessions to record before the recording ends automatically. + * @param float $sampleRate The percentage of matching traffic to record, from 0 to 100 with up to one decimal + * place. + * @param int $minSessionTime Minimum time in seconds a visitor must spend on the current page before recording. + * @param bool $requiresActivity Whether the visitor must interact by scrolling or clicking before the session is + * kept. + * @param bool $captureKeystrokes Whether entered form text should be recorded. Password fields are masked + * automatically. + * @param string $description Optional description providing additional context, such as the purpose or usage. + * @param bool $autoRepeat Whether Matomo should automatically create a new session recording once this one + * finishes. + * + * @return void + */ + public function updateSessionRecording( + $idSite, + $idSiteHsr, + $name, + $matchPageRules = array(), + $sampleLimit = 1000, + $sampleRate = 10, + $minSessionTime = 0, + $requiresActivity = true, + $captureKeystrokes = true, + $description = '', + bool $autoRepeat = false + ): void { + $this->validator->checkSessionReportWritePermission($idSite); + $this->siteHsr->checkSessionRecordingExists($idSite, $idSiteHsr); + + $updatedDate = Date::now()->getDatetime(); + + $matchPageRules = $this->unsanitizePageRules($matchPageRules); + + $this->siteHsr->updateSessionRecording($idSite, $idSiteHsr, $name, $matchPageRules, $sampleLimit, $sampleRate, $minSessionTime, $requiresActivity, $captureKeystrokes, $updatedDate, $description, $autoRepeat); + } + + /** + * Returns a single heatmap configuration. + * + * @param int $idSite The numeric ID of the website to query. + * @param int $idSiteHsr The ID of the heatmap configuration to fetch. + * + * @return array The heatmap configuration data for the requested heatmap. + */ + public function getHeatmap($idSite, $idSiteHsr): array + { + $this->validator->checkHeatmapReportViewPermission($idSite); + $this->siteHsr->checkHeatmapExists($idSite, $idSiteHsr); + + $heatmap = $this->siteHsr->getHeatmap($idSite, $idSiteHsr); + + return $heatmap; + } + + /** + * Returns a single session recording configuration. + * + * @param int $idSite The numeric ID of the website to query. + * @param int $idSiteHsr The ID of the session recording configuration to fetch. + * + * @return array The session recording configuration data for the requested recording. + */ + public function getSessionRecording($idSite, $idSiteHsr): array + { + $this->validator->checkSessionReportViewPermission($idSite); + $this->siteHsr->checkSessionRecordingExists($idSite, $idSiteHsr); + + return $this->siteHsr->getSessionRecording($idSite, $idSiteHsr); + } + + /** + * Pauses a heatmap configuration. + * + * While paused, Matomo stops collecting new activity for the heatmap until it is resumed. + * + * @param int $idSite The numeric ID of the website that owns the heatmap. + * @param int $idSiteHsr The ID of the heatmap configuration to pause. + * + * @return void + */ + public function pauseHeatmap($idSite, $idSiteHsr): void + { + $this->validator->checkHeatmapReportWritePermission($idSite); + $this->siteHsr->checkHeatmapExists($idSite, $idSiteHsr); + + $this->siteHsr->pauseHeatmap($idSite, $idSiteHsr); + + Cache::deleteCacheWebsiteAttributes($idSite); + } + + /** + * Resumes a paused heatmap configuration. + * + * Once resumed, Matomo starts collecting new matching activity again. + * + * @param int $idSite The numeric ID of the website that owns the heatmap. + * @param int $idSiteHsr The ID of the heatmap configuration to resume. + * + * @return void + */ + public function resumeHeatmap($idSite, $idSiteHsr): void + { + $this->validator->checkHeatmapReportWritePermission($idSite); + $this->siteHsr->checkHeatmapExists($idSite, $idSiteHsr); + + $this->siteHsr->resumeHeatmap($idSite, $idSiteHsr); + + Cache::deleteCacheWebsiteAttributes($idSite); + } + + /** + * Deletes a heatmap configuration. + * + * Deleted heatmaps are no longer available through the API, and related tracked data may be removed. + * + * @param int $idSite The numeric ID of the website that owns the heatmap. + * @param int $idSiteHsr The ID of the heatmap configuration to delete. + * + * @return void + */ + public function deleteHeatmap($idSite, $idSiteHsr): void + { + $this->validator->checkHeatmapReportWritePermission($idSite); + + $this->siteHsr->deactivateHeatmap($idSite, $idSiteHsr); + } + + /** + * Ends a heatmap configuration. + * + * Ended heatmaps remain available in the API and UI, but no new heatmap activity is recorded. + * Only a heatmap that has started (active or paused) can be ended. A heatmap that is on hold waiting for its + * scheduled date, or one that has already ended, is left unchanged and can only be deleted. + * + * @param int $idSite The numeric ID of the website that owns the heatmap. + * @param int $idSiteHsr The ID of the heatmap configuration to end. + * + * @return void + */ + public function endHeatmap($idSite, $idSiteHsr): void + { + $this->validator->checkHeatmapReportWritePermission($idSite); + $this->siteHsr->checkHeatmapExists($idSite, $idSiteHsr); + + $this->siteHsr->endHeatmap($idSite, $idSiteHsr); + } + + /** + * Pauses a session recording configuration. + * + * While paused, Matomo stops collecting new recorded sessions until it is resumed. + * + * @param int $idSite The numeric ID of the website that owns the session recording. + * @param int $idSiteHsr The ID of the session recording configuration to pause. + * + * @return void + */ + public function pauseSessionRecording($idSite, $idSiteHsr): void + { + $this->validator->checkSessionReportWritePermission($idSite); + $this->siteHsr->checkSessionRecordingExists($idSite, $idSiteHsr); + + $this->siteHsr->pauseSessionRecording($idSite, $idSiteHsr); + + Cache::deleteCacheWebsiteAttributes($idSite); + } + + /** + * Resumes a paused session recording configuration. + * + * Once resumed, Matomo starts collecting new matching sessions again. + * + * @param int $idSite The numeric ID of the website that owns the session recording. + * @param int $idSiteHsr The ID of the session recording configuration to resume. + * + * @return void + */ + public function resumeSessionRecording($idSite, $idSiteHsr): void + { + $this->validator->checkSessionReportWritePermission($idSite); + $this->siteHsr->checkSessionRecordingExists($idSite, $idSiteHsr); + + $this->siteHsr->resumeSessionRecording($idSite, $idSiteHsr); + + Cache::deleteCacheWebsiteAttributes($idSite); + } + + /** + * Deletes a session recording configuration. + * + * Deleted session recordings are no longer available through the API, and related tracked data may be removed. + * + * @param int $idSite The numeric ID of the website that owns the session recording. + * @param int $idSiteHsr The ID of the session recording configuration to delete. + * + * @return void + */ + public function deleteSessionRecording($idSite, $idSiteHsr): void + { + + $this->validator->checkSessionReportWritePermission($idSite); + + $this->siteHsr->deactivateSessionRecording($idSite, $idSiteHsr); + } + + /** + * Ends a session recording configuration. + * + * Ended session recordings remain available in the API and UI, but no new sessions are recorded. + * + * @param int $idSite The numeric ID of the website that owns the session recording. + * @param int $idSiteHsr The ID of the session recording configuration to end. + * + * @return void + */ + public function endSessionRecording($idSite, $idSiteHsr): void + { + $this->validator->checkSessionReportWritePermission($idSite); + $this->siteHsr->checkSessionRecordingExists($idSite, $idSiteHsr); + + $this->siteHsr->endSessionRecording($idSite, $idSiteHsr); + } + + /** + * Returns all non-deleted heatmaps for a website. + * + * The response can include active and ended heatmaps, but not deleted ones. + * + * @param int $idSite The numeric ID of the website to query. + * @param bool|int $includePageTreeMirror Whether to include the stored page tree mirror for each heatmap. + * + * @return array A list of heatmap configurations for the requested website. + */ + public function getHeatmaps($idSite, $includePageTreeMirror = true) + { + $this->validator->checkHeatmapReportViewPermission($idSite); + + return $this->siteHsr->getHeatmaps($idSite, !empty($includePageTreeMirror)); + } + + /** + * Returns all non-deleted session recordings for a website. + * + * The response can include active and ended session recordings, but not deleted ones. + * + * @param int $idSite The numeric ID of the website to query. + * + * @return array A list of session recording configurations for the requested website. + */ + public function getSessionRecordings($idSite) + { + $this->validator->checkSessionReportViewPermission($idSite); + + return $this->siteHsr->getSessionRecordings($idSite); + } + + /** + * Returns all page views that were recorded during a particular session / visit. We do not apply segments as it is + * used for video player when replaying sessions etc. + * + * @param int $idSite + * @param int $idSiteHsr The id of a session recording. [@example=13] + * @param int $idVisit The visit / session id + * @return array A collection of session recordings tied to a specific visit and within a period of time. + */ + private function getRecordedPageViewsInSession($idSite, $idSiteHsr, $idVisit, $period, $date) + { + $timezone = Site::getTimezoneFor($idSite); + + // ideally we would also check if idSiteHsr is actually linked to idLogHsr but not really needed for security reasons + $pageviews = $this->aggregator->getRecordedPageViewsInSession($idSite, $idSiteHsr, $idVisit, $period, $date, $segment = false); + + $isAnonymous = Piwik::isUserIsAnonymous(); + + foreach ($pageviews as &$pageview) { + $pageview['server_time_pretty'] = Date::factory($pageview['server_time'], $timezone)->getLocalized(DateTimeFormatProvider::DATETIME_FORMAT_SHORT); + + if ($isAnonymous) { + unset($pageview['idvisitor']); + } else { + $pageview['idvisitor'] = bin2hex($pageview['idvisitor']); + } + + $formatter = new Formatter(); + $pageview['time_on_page_pretty'] = $formatter->getPrettyTimeFromSeconds(intval($pageview['time_on_page'] / 1000), $asSentence = true); + } + + return $pageviews; + } + + /** + * Returns all recorded sessions for a specific session recording. + * + * Set `idSubtable` to a visit ID to return the recorded pageviews for that visit instead of the session list. + * + * @param int $idSite The numeric ID of the website to query. + * @param 'day'|'week'|'month'|'year'|'range' $period The period to process, processes data for the period + * containing the specified date. + * @param string $date The date or date range to process. + * 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), + * or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX). + * @param int $idSiteHsr The ID of the session recording configuration to query. + * @param string|null|false $segment Custom segment to filter the report. + * Example: "referrerName==example.com" + * Supports AND (;) and OR (,) operators. + * @param int|false $idSubtable Visit ID to fetch recorded pageviews for one visit instead of the session list. + * + * @return DataTable The recorded sessions, or the recorded pageviews for one visit when `idSubtable` is provided. + */ + public function getRecordedSessions($idSite, $period, $date, $idSiteHsr, $segment = false, $idSubtable = false): DataTable + { + $this->validator->checkSessionReportViewPermission($idSite); + $this->siteHsr->checkSessionRecordingExists($idSite, $idSiteHsr); + + $idVisit = $idSubtable; + + try { + PeriodFactory::checkPeriodIsEnabled($period); + } catch (\Exception $e) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_PeriodDisabledErrorMessage', $period)); + } + + if (!empty($idVisit)) { + $recordings = $this->aggregator->getRecordedPageViewsInSession($idSite, $idSiteHsr, $idVisit, $period, $date, $segment); + } else { + $recordings = $this->aggregator->getRecordedSessions($idSite, $idSiteHsr, $period, $date, $segment); + } + + $table = new DataTable(); + $table->disableFilter('AddColumnsProcessedMetrics'); + $table->setMetadata('idSiteHsr', $idSiteHsr); + + if (!empty($recordings)) { + $table->addRowsFromSimpleArray($recordings); + } + + if (empty($idVisit)) { + $table->queueFilter(function (DataTable $table) { + foreach ($table->getRowsWithoutSummaryRow() as $row) { + if ($idVisit = $row->getColumn('idvisit')) { + $row->setNonLoadedSubtableId($idVisit); + } + } + }); + } else { + $table->disableFilter('Sort'); + } + + if (!method_exists(SettingsServer::class, 'isMatomoForWordPress') || !SettingsServer::isMatomoForWordPress()) { + $table->queueFilter(function (DataTable $table) use ($idSite, $idSiteHsr, $period, $date) { + foreach ($table->getRowsWithoutSummaryRow() as $row) { + $idLogHsr = $row->getColumn('idloghsr'); + $row->setMetadata('sessionReplayUrl', SiteHsrModel::completeWidgetUrl('replayRecording', 'idSiteHsr=' . (int) $idSiteHsr . '&idLogHsr=' . (int) $idLogHsr, $idSite, $period, $date)); + } + }); + } + + $table->filter('Piwik\Plugins\HeatmapSessionRecording\DataTable\Filter\EnrichRecordedSessions'); + + return $table; + } + + /** + * Get all activities of a specific recorded session. + * + * The response includes event data, related pageviews, viewport details, device information, and derived display + * metadata for replaying a recorded session. + * + * @param int $idSite The numeric ID of the website to query. + * @param int $idSiteHsr The ID of the session recording configuration to query. + * @param int $idLogHsr The ID of the recorded session entry to fetch. + * + * @return array The recorded session details, including events and recorded pageviews for the replay. + */ + public function getRecordedSession($idSite, $idSiteHsr, $idLogHsr) + { + $this->validator->checkSessionReportViewPermission($idSite); + $this->siteHsr->checkSessionRecordingExists($idSite, $idSiteHsr); + + // ideally we would also check if idSiteHsr is actually linked to idLogHsr but not really needed for security reasons + $session = $this->aggregator->getRecordedSession($idLogHsr); + + if (empty($session['idsite']) || empty($idSite)) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorSessionRecordingDoesNotExist')); + } + + if ($session['idsite'] != $idSite) { + // important otherwise can fetch any log entry! + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorSessionRecordingDoesNotExist')); + } + + $session['idvisitor'] = !empty($session['idvisitor']) ? bin2hex($session['idvisitor']) : ''; + + if (Piwik::isUserIsAnonymous()) { + foreach (EnrichRecordedSessions::getBlockedFields() as $blockedField) { + if (isset($session[$blockedField])) { + $session[$blockedField] = null; + } + } + } + + + $configBrowserName = !empty($session['config_browser_name']) ? $session['config_browser_name'] : ''; + $session['browser_name'] = \Piwik\Plugins\DevicesDetection\getBrowserName($configBrowserName); + $session['browser_logo'] = \Piwik\Plugins\DevicesDetection\getBrowserLogo($configBrowserName); + $configOs = !empty($session['config_os']) ? $session['config_os'] : ''; + $session['os_name'] = \Piwik\Plugins\DevicesDetection\getOsFullName($configOs); + $session['os_logo'] = \Piwik\Plugins\DevicesDetection\getOsLogo($configOs); + $session['device_name'] = \Piwik\Plugins\DevicesDetection\getDeviceTypeLabel($session['config_device_type']); + $session['device_logo'] = \Piwik\Plugins\DevicesDetection\getDeviceTypeLogo($session['config_device_type']); + + if (!empty($session['config_device_model'])) { + $session['device_name'] .= ', ' . $session['config_device_model']; + } + + $session['location_name'] = ''; + $session['location_logo'] = ''; + + if (!empty($session['location_country'])) { + $session['location_name'] = \Piwik\Plugins\UserCountry\countryTranslate($session['location_country']); + $session['location_logo'] = \Piwik\Plugins\UserCountry\getFlagFromCode($session['location_country']); + + if (!empty($session['location_region']) && $session['location_region'] != Visit::UNKNOWN_CODE) { + $session['location_name'] .= ', ' . \Piwik\Plugins\UserCountry\getRegionNameFromCodes($session['location_country'], $session['location_region']); + } + + if (!empty($session['location_city'])) { + $session['location_name'] .= ', ' . $session['location_city']; + } + } + + $timezone = Site::getTimezoneFor($idSite); + $session['server_time_pretty'] = Date::factory($session['server_time'], $timezone)->getLocalized(DateTimeFormatProvider::DATETIME_FORMAT_SHORT); + + $formatter = new Formatter(); + $session['time_on_page_pretty'] = $formatter->getPrettyTimeFromSeconds(intval($session['time_on_page'] / 1000), $asSentence = true); + + // we make sure to get all recorded pageviews in this session + $serverTime = Date::factory($session['server_time']); + $from = $serverTime->subDay(1)->toString(); + $to = $serverTime->addDay(1)->toString(); + + $period = 'range'; + $dateRange = $from . ',' . $to; + + $session['events'] = $this->logEvent->getEventsForPageview($idLogHsr); + $session['pageviews'] = $this->getRecordedPageViewsInSession($idSite, $idSiteHsr, $session['idvisit'], $period, $dateRange); + $session['numPageviews'] = count($session['pageviews']); + + return $session; + } + + /** + * Deletes all recorded page views within a recorded session. + * + * After deletion, the session replay is no longer available in the UI or through the API. + * + * @param int $idSite The numeric ID of the website that owns the recording. + * @param int $idSiteHsr The ID of the session recording configuration whose data should be deleted. + * @param int $idVisit The visit ID of the recorded session to delete. + * + * @return void + * + * @OA\Get( + * path="/index.php?module=API&method=HeatmapSessionRecording.deleteRecordedSession", + * operationId="HeatmapSessionRecording.deleteRecordedSession", + * tags={"HeatmapSessionRecording"}, + * @OA\Parameter(ref="#/components/parameters/formatOptional"), + * @OA\Parameter(ref="#/components/parameters/idSiteRequired"), + * @OA\Parameter( + * name="idSiteHsr", + * in="query", + * required=true, + * description="The id of the session recording you want to delete the data.", + * @OA\Schema( + * type="integer" + * ) + * ), + * @OA\Parameter( + * name="idVisit", + * in="query", + * required=true, + * description="The visitId of the recorded session you want to delete.", + * @OA\Schema( + * type="integer" + * ) + * ), + * @OA\Response(response=200, ref="#/components/responses/GenericSuccessNoBody"), + * @OA\Response(response=400, ref="#/components/responses/BadRequest"), + * @OA\Response(response=401, ref="#/components/responses/Unauthorized"), + * @OA\Response(response=403, ref="#/components/responses/Forbidden"), + * @OA\Response(response=404, ref="#/components/responses/NotFound"), + * @OA\Response(response=500, ref="#/components/responses/ServerError"), + * @OA\Response(response="default", ref="#/components/responses/DefaultError") + * ) + */ + public function deleteRecordedSession($idSite, $idSiteHsr, $idVisit): void + { + $this->validator->checkSessionReportWritePermission($idSite); + // make sure the recording actually belongs to that site, otherwise could delete any recording for any other site + $this->siteHsr->checkSessionRecordingExists($idSite, $idSiteHsr); + + // we also need to make sure the visit actually belongs to that site + $idLogHsrs = $this->logHsr->findLogHsrIdsInVisit($idSite, $idVisit); + + foreach ($idLogHsrs as $idLogHsr) { + $this->logHsrSite->unlinkRecord($idLogHsr, $idSiteHsr); + } + } + + /** + * Deletes an individual page view within a recorded session. + * + * This removes only one recorded pageview, not the entire recorded session. + * + * @param int $idSite The numeric ID of the website that owns the recording. + * @param int $idSiteHsr The ID of the session recording configuration whose data should be deleted. + * @param int $idLogHsr The ID of the recorded pageview entry to delete. + * + * @return void + */ + public function deleteRecordedPageview($idSite, $idSiteHsr, $idLogHsr): void + { + $this->validator->checkWritePermission($idSite); + // make sure the recording actually belongs to that site, otherwise could delete any recording for any other site + $this->siteHsr->checkSessionRecordingExists($idSite, $idSiteHsr); + + $this->logHsrSite->unlinkRecord($idLogHsr, $idSiteHsr); + } + + /** + * Returns summary metadata for a recorded heatmap. + * + * The response includes sample counts and average above-the-fold values for each device type. + * + * @param int $idSite The numeric ID of the website to query. + * @param 'day'|'week'|'month'|'year'|'range' $period The period to process, processes data for the period + * containing the specified date. + * @param string $date The date or date range to process. + * 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), + * or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX). + * @param int $idSiteHsr The ID of the heatmap configuration to query. + * @param string|null|false $segment Custom segment to filter the report. + * Example: "referrerName==example.com" + * Supports AND (;) and OR (,) operators. + * + * @return array The recorded heatmap metadata for the requested period. + * + */ + public function getRecordedHeatmapMetadata($idSite, $period, $date, $idSiteHsr, $segment = false) + { + $this->validator->checkHeatmapReportViewPermission($idSite); + $this->siteHsr->checkHeatmapExists($idSite, $idSiteHsr); + + $samples = $this->aggregator->getRecordedHeatmapMetadata($idSiteHsr, $idSite, $period, $date, $segment); + + $result = array('nb_samples_device_all' => 0); + + foreach ($samples as $sample) { + $result['nb_samples_device_' . $sample['device_type']] = $sample['value']; + $result['avg_fold_device_' . $sample['device_type']] = round(($sample['avg_fold'] / LogHsr::SCROLL_ACCURACY) * 100, 1); + $result['nb_samples_device_all'] += $sample['value']; + } + + return $result; + } + + /** + * Get all activities of a heatmap. + * + * Use this endpoint to fetch aggregated click, move, or scroll activity for one device type and period. + * + * @param int $idSite The numeric ID of the website to query. + * @param 'day'|'week'|'month'|'year'|'range' $period The period to process, processes data for the period + * containing the specified date. + * @param string $date The date or date range to process. + * 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), + * or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX). + * @param int $idSiteHsr The ID of the heatmap configuration to query. + * @param int $heatmapType Heatmap activity type to return. + * @param int $deviceType Device type to return. + * @param string|null|false $segment Custom segment to filter the report. + * Example: "referrerName==example.com" + * Supports AND (;) and OR (,) operators. + * + * @return array The aggregated heatmap activity points for the requested heatmap, period, and device type. + * + */ + public function getRecordedHeatmap($idSite, $period, $date, $idSiteHsr, $heatmapType, $deviceType, $segment = false) + { + $this->validator->checkHeatmapReportViewPermission($idSite); + $this->siteHsr->checkHeatmapExists($idSite, $idSiteHsr); + + if ($heatmapType == RequestProcessor::EVENT_TYPE_SCROLL) { + $heatmap = $this->aggregator->aggregateScrollHeatmap($idSiteHsr, $deviceType, $idSite, $period, $date, $segment); + } else { + $heatmap = $this->aggregator->aggregateHeatmap($idSiteHsr, $heatmapType, $deviceType, $idSite, $period, $date, $segment); + } + + // we do not return dataTable here as it doubles the time it takes to call this method (eg 4s vs 7s when heaps of data) + // datatable is not really needed here as we don't want to sort it or so + return $heatmap; + } + + /** + * Returns the minimal session replay context needed by the embed view. + * + * @param int $idSite The numeric ID of the website to query. + * @param int $idSiteHsr The ID of the session recording configuration to query. + * @param int $idLogHsr The ID of the recorded session entry to fetch. + * + * @return array The embedded replay metadata for the requested recorded session. + * @hide + */ + public function getEmbedSessionInfo($idSite, $idSiteHsr, $idLogHsr) + { + $this->validator->checkSessionReportViewPermission($idSite); + + $aggregator = new Aggregator(); + return $aggregator->getEmbedSessionInfo($idSite, $idSiteHsr, $idLogHsr); + } + + /** + * Tests, checks whether the given URL matches the given page rules. + * + * Use this before saving a heatmap or session recording to validate that the configured rules match a URL. + * + * @param string $url The URL to test the matching rules against. + * @param array $matchPageRules Matching rules to evaluate against the URL. + * + * @return array The result of the test, including the URL and whether it matches all rules. + * + */ + public function testUrlMatchPages($url, $matchPageRules = array()) + { + $this->validator->checkHasSomeWritePermission(); + + if ($url === '' || $url === false || $url === null) { + return array('url' => '', 'matches' => false); + } + + if (!empty($matchPageRules) && !is_array($matchPageRules)) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorNotAnArray', 'matchPageRules')); + } + + $url = Common::unsanitizeInputValue($url); + + if (!empty($matchPageRules)) { + $pageRules = new PageRules($matchPageRules, '', $needsOneEntry = false); + $pageRules->check(); + } + + $matchPageRules = $this->unsanitizePageRules($matchPageRules); + + $allMatch = HsrMatcher::matchesAllPageRules($matchPageRules, $url); + + return array('url' => $url, 'matches' => $allMatch); + } + + /** + * Returns the valid heatmap and session recording statuses. + * + * @return array The list of potential statuses and their human-friendly names. + */ + public function getAvailableStatuses() + { + $this->validator->checkHasSomeWritePermission(); + + return array( + array('value' => SiteHsrDao::STATUS_ACTIVE, 'name' => Piwik::translate('HeatmapSessionRecording_StatusActive')), + array('value' => SiteHsrDao::STATUS_ENDED, 'name' => Piwik::translate('HeatmapSessionRecording_StatusEnded')), + array('value' => SiteHsrDao::STATUS_ONHOLD, 'name' => Piwik::translate('HeatmapSessionRecording_StatusOnHold')), + ); + } + + /** + * Returns the available target attributes and rule types for page matching. + * + * @return array The available components for building heatmap and session recording page rules. + */ + public function getAvailableTargetPageRules(): array + { + $this->validator->checkHasSomeWritePermission(); + + return PageRuleMatcher::getAvailableTargetTypes(); + } + + /** + * Returns the device types supported by the heatmap reporting endpoints. + * + * @return array The list of available device types and their human-friendly names. + */ + public function getAvailableDeviceTypes(): array + { + Piwik::checkUserHasSomeViewAccess(); + + return array( + array('name' => Piwik::translate('General_Desktop'), + 'key' => LogHsr::DEVICE_TYPE_DESKTOP, + 'logo' => 'plugins/Morpheus/icons/dist/devices/desktop.png'), + array('name' => Piwik::translate('DevicesDetection_Tablet'), + 'key' => LogHsr::DEVICE_TYPE_TABLET, + 'logo' => 'plugins/Morpheus/icons/dist/devices/tablet.png'), + array('name' => Piwik::translate('General_Mobile'), + 'key' => LogHsr::DEVICE_TYPE_MOBILE, + 'logo' => 'plugins/Morpheus/icons/dist/devices/smartphone.png'), + ); + } + + /** + * Returns the heatmap activity types supported by the heatmap reporting endpoints. + * + * @return array The list of available categories of heatmaps and their human-friendly names. + */ + public function getAvailableHeatmapTypes() + { + Piwik::checkUserHasSomeViewAccess(); + + return array( + array( + 'name' => Piwik::translate('HeatmapSessionRecording_ActivityClick'), + 'key' => RequestProcessor::EVENT_TYPE_CLICK), + array( + 'name' => Piwik::translate('HeatmapSessionRecording_ActivityMove'), + 'key' => RequestProcessor::EVENT_TYPE_MOVEMENT), + array( + 'name' => Piwik::translate('HeatmapSessionRecording_ActivityScroll'), + 'key' => RequestProcessor::EVENT_TYPE_SCROLL), + ); + } + + /** + * Get a list of available session recording sample limits. + * + * This is the suggested list shown in the UI. Direct API calls can still use other limits. + * + * @return array The list of available integer values that can be used as the session recording sample limit. + */ + public function getAvailableSessionRecordingSampleLimits() + { + $this->validator->checkHasSomeWritePermission(); + $this->validator->checkSessionRecordingEnabled(); + + return $this->configuration->getSessionRecordingSampleLimits(); + } + + /** + * Returns the event types that may appear in recorded session data. + * + * @return array The tracked event types and their human-friendly names. + */ + public function getEventTypes() + { + Piwik::checkUserHasSomeViewAccess(); + + return array( + array( + 'name' => Piwik::translate('HeatmapSessionRecording_ActivityMove'), + 'key' => RequestProcessor::EVENT_TYPE_MOVEMENT), + array( + 'name' => Piwik::translate('HeatmapSessionRecording_ActivityClick'), + 'key' => RequestProcessor::EVENT_TYPE_CLICK), + array( + 'name' => Piwik::translate('HeatmapSessionRecording_ActivityScroll'), + 'key' => RequestProcessor::EVENT_TYPE_SCROLL), + array( + 'name' => Piwik::translate('HeatmapSessionRecording_ActivityResize'), + 'key' => RequestProcessor::EVENT_TYPE_RESIZE), + array( + 'name' => Piwik::translate('HeatmapSessionRecording_ActivityInitialDom'), + 'key' => RequestProcessor::EVENT_TYPE_INITIAL_DOM), + array( + 'name' => Piwik::translate('HeatmapSessionRecording_ActivityPageChange'), + 'key' => RequestProcessor::EVENT_TYPE_MUTATION), + array( + 'name' => Piwik::translate('HeatmapSessionRecording_ActivityFormText'), + 'key' => RequestProcessor::EVENT_TYPE_FORM_TEXT), + array( + 'name' => Piwik::translate('HeatmapSessionRecording_ActivityFormValue'), + 'key' => RequestProcessor::EVENT_TYPE_FORM_VALUE), + array( + 'name' => Piwik::translate('HeatmapSessionRecording_ActivityScrollElement'), + 'key' => RequestProcessor::EVENT_TYPE_SCROLL_ELEMENT), + ); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Actions/ActionHsr.php b/files/plugin-HeatmapSessionRecording-5.6.0/Actions/ActionHsr.php new file mode 100644 index 0000000..8eb7998 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Actions/ActionHsr.php @@ -0,0 +1,61 @@ +getParam('url'); + + $this->setActionUrl($url); + } + + public static function shouldHandle(Request $request) + { + $params = $request->getParams(); + $isHsrRequest = Common::getRequestVar(RequestProcessor::TRACKING_PARAM_HSR_ID_VIEW, '', 'string', $params); + + return !empty($isHsrRequest); + } + + protected function getActionsToLookup() + { + return array(); + } + + // Do not track this Event URL as Entry/Exit Page URL (leave the existing entry/exit) + public function getIdActionUrlForEntryAndExitIds() + { + return false; + } + + // Do not track this Event Name as Entry/Exit Page Title (leave the existing entry/exit) + public function getIdActionNameForEntryAndExitIds() + { + return false; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/BaseActivity.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/BaseActivity.php new file mode 100644 index 0000000..daac776 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/BaseActivity.php @@ -0,0 +1,114 @@ + $this->getSiteData($idSite), + 'version' => 'v1', + 'hsr' => $this->getHsrData($idSiteHsr, $idSite), + ); + } + + private function getSiteData($idSite) + { + return array( + 'site_id' => $idSite, + 'site_name' => Site::getNameFor($idSite) + ); + } + + private function getHsrData($idSiteHsr, $idSite) + { + $dao = $this->getDao(); + $hsr = $dao->getRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_HEATMAP); + if (empty($hsr)) { + // maybe it is a session? we could make this faster by adding a new method to DAO that returns hsr independent of type + $hsr = $dao->getRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_SESSION); + } + + $hsrName = ''; + if (!empty($hsr['name'])) { + // hsr name might not be set when we are handling deleteExperiment activity + $hsrName = $hsr['name']; + } + + return array( + 'id' => $idSiteHsr, + 'name' => $hsrName + ); + } + + public function getPerformingUser($eventData = null) + { + $login = Piwik::getCurrentUserLogin(); + + if ($login === self::USER_ANONYMOUS || empty($login)) { + // anonymous cannot change an experiment, in this case the system changed it, eg during tracking it started + // an experiment + return self::USER_SYSTEM; + } + + return $login; + } + + private function getDao() + { + // we do not get it via DI as it would slow down creation of all activities on all requests. Instead only + // create instance when needed + return StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Dao\SiteHsrDao'); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapAdded.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapAdded.php new file mode 100644 index 0000000..ad04966 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapAdded.php @@ -0,0 +1,41 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_HeatmapAddedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapDeleted.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapDeleted.php new file mode 100644 index 0000000..fae6d25 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapDeleted.php @@ -0,0 +1,46 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_HeatmapDeletedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapEnded.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapEnded.php new file mode 100644 index 0000000..28afe54 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapEnded.php @@ -0,0 +1,44 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_HeatmapEndedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapPaused.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapPaused.php new file mode 100644 index 0000000..ddacfb5 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapPaused.php @@ -0,0 +1,46 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_HeatmapPausedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapResumed.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapResumed.php new file mode 100644 index 0000000..9062306 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapResumed.php @@ -0,0 +1,46 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_HeatmapResumedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapScreenshotDeleted.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapScreenshotDeleted.php new file mode 100644 index 0000000..4275d16 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapScreenshotDeleted.php @@ -0,0 +1,46 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_HeatmapScreenshotDeletedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapUpdated.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapUpdated.php new file mode 100644 index 0000000..16b0636 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapUpdated.php @@ -0,0 +1,42 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_HeatmapUpdatedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/RecordedPageviewDeleted.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/RecordedPageviewDeleted.php new file mode 100644 index 0000000..0c608b3 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/RecordedPageviewDeleted.php @@ -0,0 +1,46 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_RecordedPageviewDeletedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/RecordedSessionDeleted.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/RecordedSessionDeleted.php new file mode 100644 index 0000000..0eb581a --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/RecordedSessionDeleted.php @@ -0,0 +1,46 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_RecordedSessionDeletedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingAdded.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingAdded.php new file mode 100644 index 0000000..6178a0e --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingAdded.php @@ -0,0 +1,41 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_SessionRecordingAddedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingDeleted.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingDeleted.php new file mode 100644 index 0000000..2f35f7f --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingDeleted.php @@ -0,0 +1,46 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_SessionRecordingDeletedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingEnded.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingEnded.php new file mode 100644 index 0000000..dfd0df0 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingEnded.php @@ -0,0 +1,44 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_SessionRecordingEndedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingPaused.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingPaused.php new file mode 100644 index 0000000..7b376fd --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingPaused.php @@ -0,0 +1,46 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_SessionRecordingPausedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingResumed.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingResumed.php new file mode 100644 index 0000000..b89500d --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingResumed.php @@ -0,0 +1,46 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_SessionRecordingResumedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingUpdated.php b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingUpdated.php new file mode 100644 index 0000000..fd35fa1 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingUpdated.php @@ -0,0 +1,42 @@ +formatActivityData($idSiteHsr, $idSite); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $hsrName = $this->getHsrNameFromActivityData($activityData); + + return Piwik::translate('HeatmapSessionRecording_SessionRecordingUpdatedActivity', [$hsrName, $siteName]); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Archiver/Aggregator.php b/files/plugin-HeatmapSessionRecording-5.6.0/Archiver/Aggregator.php new file mode 100644 index 0000000..bc15cef --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Archiver/Aggregator.php @@ -0,0 +1,476 @@ +forceSleepInQuery) { + $extraWhere = 'SLEEP(1) AND'; + } + + $query = sprintf( + 'SELECT /* HeatmapSessionRecording.findRecording */ hsrsite.idsitehsr, + min(hsr.idloghsr) as idloghsr + FROM %s hsr + LEFT JOIN %s hsrsite ON hsr.idloghsr = hsrsite.idloghsr + LEFT JOIN %s hsrevent ON hsrevent.idloghsr = hsr.idloghsr and hsrevent.event_type = %s + LEFT JOIN %s sitehsr ON hsrsite.idsitehsr = sitehsr.idsitehsr + WHERE %s hsr.idvisit = ? and sitehsr.record_type = ? and hsrevent.idhsrblob is not null and hsrsite.idsitehsr is not null + GROUP BY hsrsite.idsitehsr + LIMIT 1', + Common::prefixTable('log_hsr'), + Common::prefixTable('log_hsr_site'), + Common::prefixTable('log_hsr_event'), + RequestProcessor::EVENT_TYPE_INITIAL_DOM, + Common::prefixTable('site_hsr'), + $extraWhere + ); + + $readerDb = $this->getDbReader(); + $query = DbHelper::addMaxExecutionTimeHintToQuery($query, $this->getLiveQueryMaxExecutionTime()); + + try { + return $readerDb->fetchRow($query, array($idVisit, SiteHsrDao::RECORD_TYPE_SESSION)); + } catch (\Exception $e) { + Model::handleMaxExecutionTimeError($readerDb, $e, '', Date::now(), Date::now(), null, 0, ['sql' => $query]); + throw $e; + } + } + + private function getDbReader() + { + if (method_exists(Db::class, 'getReader')) { + return Db::getReader(); + } else { + return Db::get(); + } + } + + public function findRecordings($visitIds) + { + if (empty($visitIds)) { + return array(); + } + + $visitIds = array_map('intval', $visitIds); + + $extraWhere = ''; + if ($this->forceSleepInQuery) { + $extraWhere = 'SLEEP(1) AND'; + } + + $query = sprintf( + 'SELECT /* HeatmapSessionRecording.findRecordings */ hsrsite.idsitehsr, + min(hsr.idloghsr) as idloghsr, + hsr.idvisit + FROM %s hsr + LEFT JOIN %s hsrsite ON hsr.idloghsr = hsrsite.idloghsr + LEFT JOIN %s hsrevent ON hsrevent.idloghsr = hsr.idloghsr and hsrevent.event_type = %s + LEFT JOIN %s sitehsr ON hsrsite.idsitehsr = sitehsr.idsitehsr + WHERE %s hsr.idvisit IN ("%s") and sitehsr.record_type = ? and hsrevent.idhsrblob is not null and hsrsite.idsitehsr is not null + GROUP BY hsr.idvisit, hsrsite.idsitehsr', + Common::prefixTable('log_hsr'), + Common::prefixTable('log_hsr_site'), + Common::prefixTable('log_hsr_event'), + RequestProcessor::EVENT_TYPE_INITIAL_DOM, + Common::prefixTable('site_hsr'), + $extraWhere, + implode('","', $visitIds) + ); + + $readerDb = $this->getDbReader(); + $query = DbHelper::addMaxExecutionTimeHintToQuery($query, $this->getLiveQueryMaxExecutionTime()); + + try { + return $readerDb->fetchAll($query, array(SiteHsrDao::RECORD_TYPE_SESSION)); + } catch (\Exception $e) { + Model::handleMaxExecutionTimeError($readerDb, $e, '', Date::now(), Date::now(), null, 0, ['sql' => $query]); + throw $e; + } + } + + private function getLiveQueryMaxExecutionTime() + { + return Config::getInstance()->General['live_query_max_execution_time']; + } + + public function getEmbedSessionInfo($idSite, $idSiteHsr, $idLogHsr) + { + $logHsr = Common::prefixTable('log_hsr'); + $logHsrSite = Common::prefixTable('log_hsr_site'); + $logAction = Common::prefixTable('log_action'); + $logEvent = Common::prefixTable('log_hsr_event'); + $logBlob = Common::prefixTable('log_hsr_blob'); + + $query = sprintf( + 'SELECT laction.name as base_url, + laction.url_prefix, hsrblob.`value` as initial_mutation, hsrblob.compressed + FROM %s hsr + LEFT JOIN %s laction ON laction.idaction = hsr.idaction_url + LEFT JOIN %s hsr_site ON hsr_site.idloghsr = hsr.idloghsr + LEFT JOIN %s hsrevent ON hsrevent.idloghsr = hsr.idloghsr and hsrevent.event_type = %s + LEFT JOIN %s hsrblob ON hsrevent.idhsrblob = hsrblob.idhsrblob + WHERE hsr.idloghsr = ? and hsr.idsite = ? and hsr_site.idsitehsr = ? + and hsrevent.idhsrblob is not null and `hsrblob`.`value` is not null + LIMIT 1', + $logHsr, + $logAction, + $logHsrSite, + $logEvent, + RequestProcessor::EVENT_TYPE_INITIAL_DOM, + $logBlob + ); + + $row = $this->getDbReader()->fetchRow($query, array($idLogHsr, $idSite, $idSiteHsr)); + + if (!empty($row['compressed'])) { + $row['initial_mutation'] = gzuncompress($row['initial_mutation']); + } + + return $row; + } + + public function getRecordedSession($idLogHsr) + { + $select = 'log_action.name as url, + log_visit.idvisit, + log_visit.idvisitor, + log_hsr.idsite, + log_visit.location_country, + log_visit.location_region, + log_visit.location_city, + log_visit.config_os, + log_visit.config_device_type, + log_visit.config_device_model, + log_visit.config_browser_name, + log_hsr.time_on_page, + log_hsr.server_time, + log_hsr.viewport_w_px, + log_hsr.viewport_h_px, + log_hsr.scroll_y_max_relative, + log_hsr.fold_y_relative'; + + $logHsr = Common::prefixTable('log_hsr'); + $logVisit = Common::prefixTable('log_visit'); + $logAction = Common::prefixTable('log_action'); + + $query = sprintf('SELECT %s + FROM %s log_hsr + LEFT JOIN %s log_visit ON log_hsr.idvisit = log_visit.idvisit + LEFT JOIN %s log_action ON log_action.idaction = log_hsr.idaction_url + WHERE log_hsr.idloghsr = ?', $select, $logHsr, $logVisit, $logAction); + + return $this->getDbReader()->fetchRow($query, array($idLogHsr)); + } + + public function getRecordedSessions($idSite, $idSiteHsr, $period, $date, $segment) + { + $period = Period\Factory::build($period, $date); + $segment = new Segment($segment, array($idSite)); + $site = new Site($idSite); + + $from = array( + 'log_hsr', + array( + 'table' => 'log_hsr_site', + 'joinOn' => 'log_hsr_site.idloghsr = log_hsr.idloghsr' + ), + array( + 'table' => 'log_visit', + 'joinOn' => 'log_visit.idvisit = log_hsr.idvisit' + ), + array( + 'table' => 'log_action', + 'joinOn' => 'log_action.idaction = log_hsr.idaction_url' + ), + array( + 'table' => 'log_hsr_event', + 'joinOn' => 'log_hsr_event.idloghsr = log_hsr.idloghsr and log_hsr_event.event_type = ' . RequestProcessor::EVENT_TYPE_INITIAL_DOM + ) + ); + + // we need to make sure to show only sessions that have an initial mutation with time_since_load = 0, otherwise + // the recording won't work. + $logHsrEventTable = Common::prefixTable('log_hsr_event'); + + $actionQuery = sprintf('SELECT count(*) FROM %1$s as hsr_ev + WHERE hsr_ev.idloghsr = log_hsr_site.idloghsr and hsr_ev.event_type not in (%2$s, %3$s)', $logHsrEventTable, RequestProcessor::EVENT_TYPE_CSS, RequestProcessor::EVENT_TYPE_INITIAL_DOM); + + $select = 'log_hsr.idvisit as label, + count(*) as nb_pageviews, + log_hsr.idvisit, + SUBSTRING_INDEX(GROUP_CONCAT(CAST(log_action.name AS CHAR) ORDER BY log_hsr.server_time ASC SEPARATOR \'##\'), \'##\', 1) as first_url, + SUBSTRING_INDEX(GROUP_CONCAT(CAST(log_action.name AS CHAR) ORDER BY log_hsr.server_time DESC SEPARATOR \'##\'), \'##\', 1) as last_url, + sum(log_hsr.time_on_page) as time_on_site, + (' . $actionQuery . ') as total_events, + min(log_hsr_site.idloghsr) as idloghsr, + log_visit.idvisitor, + log_visit.location_country, + log_visit.location_region, + log_visit.location_city, + log_visit.config_os, + log_visit.config_device_type, + log_visit.config_device_model, + log_visit.config_browser_name, + min(log_hsr.server_time) as server_time'; + + $params = new ArchiveProcessor\Parameters($site, $period, $segment); + $logAggregator = new LogAggregator($params); + + $where = $logAggregator->getWhereStatement('log_hsr', 'server_time'); + $where .= sprintf(" and log_hsr_site.idsitehsr = %d and log_hsr_event.idhsrblob is not null", (int) $idSiteHsr); + $groupBy = 'log_hsr.idvisit'; + $orderBy = 'log_hsr.server_time DESC'; + + $revertSubselect = $this->applyForceSubselect($segment, 'log_hsr.idvisit,log_hsr_site.idloghsr'); + + $query = $logAggregator->generateQuery($select, $from, $where, $groupBy, $orderBy); + + if (!empty($revertSubselect) && is_callable($revertSubselect)) { + call_user_func($revertSubselect); + } + + $dbReader = $this->getDbReader(); + $query['sql'] = DbHelper::addMaxExecutionTimeHintToQuery($query['sql'], $this->getLiveQueryMaxExecutionTime()); + + try { + return $dbReader->fetchAll($query['sql'], $query['bind']); + } catch (\Exception $e) { + Model::handleMaxExecutionTimeError($dbReader, $e, '', Date::now(), Date::now(), null, 0, $query); + throw $e; + } + } + + private function applyForceSubselect($segment, $subselectForced) + { + // for performance reasons we use this and not `LogAggregator->allowUsageSegmentCache()` + // That's because this is a LIVE query and not archived... and HSR tables usually have few entries < 5000 + // so segmentation should be fairly fast using this method compared to allowUsageSegmentCache + // which would query the entire log_visit over several days with the applied query and then create the temp table + // and only then apply the log_hsr query. + // it should be a lot faster this way + if (class_exists('Piwik\DataAccess\LogQueryBuilder') && !$segment->isEmpty()) { + $logQueryBuilder = StaticContainer::get('Piwik\DataAccess\LogQueryBuilder'); + if ( + method_exists($logQueryBuilder, 'getForcedInnerGroupBySubselect') && + method_exists($logQueryBuilder, 'forceInnerGroupBySubselect') + ) { + $forceGroupByBackup = $logQueryBuilder->getForcedInnerGroupBySubselect(); + $logQueryBuilder->forceInnerGroupBySubselect($subselectForced); + + return function () use ($forceGroupByBackup, $logQueryBuilder) { + $logQueryBuilder->forceInnerGroupBySubselect($forceGroupByBackup); + }; + } + } + } + + public function getRecordedPageViewsInSession($idSite, $idSiteHsr, $idVisit, $period, $date, $segment) + { + $period = Period\Factory::build($period, $date); + $segment = new Segment($segment, array($idSite)); + $site = new Site($idSite); + + $from = array( + 'log_hsr', + array( + 'table' => 'log_hsr_site', + 'joinOn' => 'log_hsr_site.idloghsr = log_hsr.idloghsr' + ), + array( + 'table' => 'log_visit', + 'joinOn' => 'log_visit.idvisit = log_hsr.idvisit' + ), + array( + 'table' => 'log_action', + 'joinOn' => 'log_action.idaction = log_hsr.idaction_url' + ), + array( + 'table' => 'log_hsr_event', + 'joinOn' => 'log_hsr_event.idloghsr = log_hsr.idloghsr and log_hsr_event.event_type = ' . RequestProcessor::EVENT_TYPE_INITIAL_DOM + ) + ); + + // we need to make sure to show only sessions that have an initial mutation with time_since_load = 0, otherwise + // the recording won't work. If this happens often, we might "end / finish" a configured session recording + // earlier since we have eg recorded 1000 sessions, but user sees only 950 which will be confusing but we can + // for now not take this into consideration during tracking when we get number of available samples only using + // log_hsr_site to detect if the number of configured sessions have been reached. ideally we would at some point + // also make sure to include this check there but will be slower. + + $select = 'log_action.name as label, + log_visit.idvisitor, + log_hsr_site.idloghsr, + log_hsr.time_on_page as time_on_page, + CONCAT(log_hsr.viewport_w_px, "x", log_hsr.viewport_h_px) as resolution, + log_hsr.server_time, + log_hsr.scroll_y_max_relative, + log_hsr.fold_y_relative'; + + $params = new ArchiveProcessor\Parameters($site, $period, $segment); + $logAggregator = new LogAggregator($params); + + $where = $logAggregator->getWhereStatement('log_hsr', 'server_time'); + $where .= sprintf(" and log_hsr_site.idsitehsr = %d and log_hsr.idvisit = %d and log_hsr_event.idhsrblob is not null ", (int) $idSiteHsr, (int) $idVisit); + $groupBy = ''; + $orderBy = 'log_hsr.server_time ASC'; + + $revertSubselect = $this->applyForceSubselect($segment, 'log_hsr.idvisit,log_hsr_site.idloghsr'); + + $query = $logAggregator->generateQuery($select, $from, $where, $groupBy, $orderBy); + + if (!empty($revertSubselect) && is_callable($revertSubselect)) { + call_user_func($revertSubselect); + } + + return $this->getDbReader()->fetchAll($query['sql'], $query['bind']); + } + + public function aggregateHeatmap($idSiteHsr, $heatmapType, $deviceType, $idSite, $period, $date, $segment) + { + $heatmapTypeWhere = ''; + if ($heatmapType == RequestProcessor::EVENT_TYPE_CLICK) { + $heatmapTypeWhere .= 'log_hsr_event.event_type = ' . (int) $heatmapType; + } elseif ($heatmapType == RequestProcessor::EVENT_TYPE_MOVEMENT) { + $heatmapTypeWhere .= 'log_hsr_event.event_type IN(' . (int) RequestProcessor::EVENT_TYPE_MOVEMENT . ',' . (int) RequestProcessor::EVENT_TYPE_CLICK . ')'; + } else { + throw new \Exception('Heatmap type not supported'); + } + + $period = Period\Factory::build($period, $date); + $segment = new Segment($segment, array($idSite)); + $site = new Site($idSite); + + $from = array( + 'log_hsr', + array( + 'table' => 'log_hsr_site', + 'joinOn' => 'log_hsr_site.idloghsr = log_hsr.idloghsr' + ), + array( + 'table' => 'log_hsr_event', + 'joinOn' => 'log_hsr_site.idloghsr = log_hsr_event.idloghsr' + ), + array( + 'table' => 'log_action', + 'joinOn' => 'log_action.idaction = log_hsr_event.idselector' + ) + ); + + $select = 'log_action.name as selector, + log_hsr_event.x as offset_x, + log_hsr_event.y as offset_y, + count(*) as value'; + + $params = new ArchiveProcessor\Parameters($site, $period, $segment); + $logAggregator = new LogAggregator($params); + + $where = $logAggregator->getWhereStatement('log_hsr', 'server_time'); + $where .= ' and log_hsr_site.idsitehsr = ' . (int) $idSiteHsr . ' and log_hsr_event.idselector is not null and ' . $heatmapTypeWhere; + $where .= ' and log_hsr.device_type = ' . (int) $deviceType; + + $groupBy = 'log_hsr_event.idselector, log_hsr_event.x, log_hsr_event.y'; + $orderBy = ''; + + $query = $logAggregator->generateQuery($select, $from, $where, $groupBy, $orderBy); + + return $this->getDbReader()->fetchAll($query['sql'], $query['bind']); + } + + public function getRecordedHeatmapMetadata($idSiteHsr, $idSite, $period, $date, $segment) + { + $period = Period\Factory::build($period, $date); + $segment = new Segment($segment, array($idSite)); + $site = new Site($idSite); + + $from = array( + 'log_hsr', + array( + 'table' => 'log_hsr_site', + 'joinOn' => 'log_hsr_site.idloghsr = log_hsr.idloghsr' + ) + ); + + $select = 'log_hsr.device_type, count(*) as value, avg(log_hsr.fold_y_relative) as avg_fold'; + + $params = new ArchiveProcessor\Parameters($site, $period, $segment); + $logAggregator = new LogAggregator($params); + + $where = $logAggregator->getWhereStatement('log_hsr', 'server_time'); + $where .= ' and log_hsr_site.idsitehsr = ' . (int) $idSiteHsr; + $groupBy = 'log_hsr.device_type'; + $orderBy = ''; + + $query = $logAggregator->generateQuery($select, $from, $where, $groupBy, $orderBy); + + return $this->getDbReader()->fetchAll($query['sql'], $query['bind']); + } + + public function aggregateScrollHeatmap($idSiteHsr, $deviceType, $idSite, $period, $date, $segment) + { + $period = Period\Factory::build($period, $date); + $segment = new Segment($segment, array($idSite)); + $site = new Site($idSite); + + $from = array('log_hsr', + array( + 'table' => 'log_hsr_site', + 'joinOn' => 'log_hsr_site.idloghsr = log_hsr.idloghsr' + ), + ); + + $select = 'log_hsr.scroll_y_max_relative as label, + count(*) as value'; + + $params = new ArchiveProcessor\Parameters($site, $period, $segment); + $logAggregator = new LogAggregator($params); + $where = $logAggregator->getWhereStatement('log_hsr', 'server_time'); + $where .= ' and log_hsr_site.idsitehsr = ' . (int) $idSiteHsr; + $where .= ' and log_hsr.device_type = ' . (int) $deviceType; + + $groupBy = 'log_hsr.scroll_y_max_relative'; + $orderBy = 'label ASC'; // labels are no from 0-1000 i.e page from top to bottom, so top label should always come first 0..100..500..1000 + + $query = $logAggregator->generateQuery($select, $from, $where, $groupBy, $orderBy); + + return $this->getDbReader()->fetchAll($query['sql'], $query['bind']); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/CHANGELOG.md b/files/plugin-HeatmapSessionRecording-5.6.0/CHANGELOG.md new file mode 100644 index 0000000..342c4a6 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/CHANGELOG.md @@ -0,0 +1,514 @@ +## Changelog + +5.6.0 - 2026-08-03 +- Added option to export heatmaps to png +- Added a heatmap settings menu with a new delete and retake snapshot workflow +- Added empty state screens for heatmaps without a snapshot +- Deleting a snapshot is now possible for heatmaps that have finished recording +- The `HeatmapSessionRecording.deleteHeatmapScreenshot` API now accepts a `captureManually` parameter + +5.5.4 - 2026-07-27 +- Updated 2FA logic +- Added unsubscribe button to email when heatmap or session recording has finished + +5.5.3 - 2026-07-20 +- Updated Marketplace description +- Updated the finished heatmap and session recording email links in order to show the correct notification if the heatmap or session recording was deleted + +5.5.2 - 2026-07-13 +- Updated heatmap colors to be more accessible +- Removed horizontal line on target page component + +5.5.1 - 2026-07-06 +- Added two modes to target component, simple & advanced +- Redesigned view heatmap report page + +5.5.0 - 2026-06-29 +- Added email to notify create user when heatmap or session recording has finished + +5.4.1 - 2026-06-22 +- Added code to harden the client-side check before displaying DOM values +- Added code to make advanced settings an accordion + +5.4.0 - 2026-05-25 +- Added descriptions to heatmap and session recording creation forms +- Updated heatmap and session recording creation inline helptexts + +5.3.5 - 2026-04-14 +- Added code to ignore paused state when deleting logs + +5.3.4 - 2026-04-13 +- Added code to block more xss tags + +5.3.3 - 2025-12-08 +- Updated preview screenshot and video url + +5.3.2 - 2025-11-10 +- Fixes constant not loading errors during configs.php request + +5.3.1 - 2025-10-27 +- Update some CNIL policy setting text to be more readable + +5.3.0 - 2025-10-13 +- Added support for core CNIL policy control of setting values +- Added triggering of event when reports are copied + +5.2.7 - 2025-09-29 +- Adjusted action icons to ensure that delete is last + +5.2.6 - 2025-08-04 +- Added ability to copy configured heatmaps when Matomo 5.4.0-b4 or later is installed + +5.2.5 - 2025-07-07 +- Textual changes + +5.2.4 - 2025-06-09 +- Started showing the troubleshooting link even when no heatmap sample has been recorded +- Do not crash when displaying a heatmap for a page with invalid HTML + +5.2.3 - 2025-01-20 +- Added an activity for pause and resume action +- Added a troubleshooting FAQ link for heatmaps + +5.2.2 - 2024-12-16 +- Fixes PHP deprecation warnings + +5.2.1 - 2024-12-02 +- Added activities to track deleting recorded sessions and page views + +5.2.0 - 2024-11-04 +- Implemented a tooltip which displays click count and rate + +5.1.8 - 2024-10-17 +- Fixes excluded_elements not working for escaped values for a heatmap + +5.1.7 - 2024-10-11 +- Fixes classes with word script being removed due to xss filtering + +5.1.6 - 2024-08-26 +- Pricing updated + +5.1.5 +- Added cover image for marketplace + +5.1.4 +- Fixes captureInitialDom not working for single heatmap + +5.1.3 +- Added code to disable matomo.js file writable check code for Matomo Cloud + +5.1.2 +- Added code to alert if matomo.js is not writable + +5.1.1 +- Fixed applying segment returns error for SessionRecording + +5.1.0 +- Added an option to capture Heatmap DOM on demand + +5.0.10 +- Added total actions column in Session Recording listing page + +5.0.9 +- Added code to keep playing on resize event +- Added code to update Translation keys via event + +5.0.8 +- Changes for README.md +- Fixed an error that occurs when viewing posts that have heatmaps associated in WordPress. + +5.0.7 +- Fixed issue where form fields that were supposed to be unmasked weren't +- Added code to pause/resume heatmap for Matomo Cloud + +5.0.6 +- Fixed input[type="button"] background being ignored +- Added code to display AdBlocker banner when detected + +5.0.5 +- Fixed regression where good configs were disabled + +5.0.4 +- Fixed location provider not loading for cloud customers + +5.0.3 +- Fixed error when location provider is null + +5.0.2 +- Added option to fire heatmap/session recording only for certain geographies + +5.0.1 +- Compatibility with Matomo 5.0.0-b4 + +5.0.0 +- Compatibility with Matomo 5 + +4.5.10 +- Started skipping deletion of heatmap and session recordings for proxysite + +4.5.9 +- Started hiding period selector when viewing heatmaps + +4.5.8 +- Fixed scroll data not displaying correctly due to sort missing + +4.5.7 +- Fixed deprecation warnings for PHP 8.1 + +4.5.6 +- Changed time_on_page column to BIGINT for new installation for log_hsr and log_hsr_event table + +4.5.5 +- Fixed session recording not masking image with `data-matomo-mask` attribute set on parent node + +4.5.4 +- Fixed unmasking issue for text-node elements +- Fixed recording to not end on tabs switch + +4.5.3 +- Added support to pass media attribute if present for external stylesheets + +4.5.2 +- Made regex to work consistently, #PG-373 +- Added examples of possible xss from portswigger.net + +4.5.1 +- Fixed mutation id bug to load css from DB + +4.5.0 +- Starting migrating AngularJS to Vue. +- Migrated view code to VueJs +- Updated code to respect max execution time during Archiving + +4.4.3 +- Added code to remove attributes with possible XSS values + +4.4.2 +- Added support for lazy loaded images + +4.4.1 +- Fixed masking issue for dynamically added DOM elements + +4.4.0 +- Added option to disable heatmap independently +- Stopped showing visitor profile icon in session recording when visitor profile is disabled + +4.3.1 +- Fixed recorded session link not working for segmented logs in visit action + +4.3.0 +- Started storing CSS content in DB +- Fixed range error when range is disabled + +4.2.1 +- Fixed double encoded segments + +4.2.0 +- Fixed heatmap not triggering when tracker configured directly. +- Added masking for images with height and width +- Added masking for [input type="image"] +- Fixed non-masking bug for child elements with data-matomo-unmask + +4.1.2 +- Fix to record inputs with data-matomo-unmask + +4.1.1 +- Removed masking for input type button, submit and reset + +4.1.0 +- Added option to disable session recording independently + +4.0.14 +- Support Matomo's new content security policy header + +4.0.13 +- Fix sharing a session might not work anymore with latest Matomo version + +4.0.12 +- Ensure configs.php is loaded correctly with multiple trackers +- Translation updates + +4.0.11 +- Improve handling of attribute changes +- Add translations for Czech, Dutch & Portuguese + +4.0.10 +- Further improvements for loading for iframes + +4.0.9 +- Improve loading for iframes + +4.0.8 +- Improve tracking react pages + +4.0.7 +- Add category help texts +- Increase possible sample limit +- jQuery 3 compatibility for WP + +4.0.6 +- Performance improvements + +4.0.4 +- Compatibility with Matomo 4.X + +4.0.3 +- Compatibility with Matomo 4.X + +4.0.2 +- Compatibility with Matomo 4.X + +4.0.1 +- Handle base URLs better + +4.0.0 +- Compatibility with Matomo 4.X + +3.2.39 +- Better handling for base URL + +3.2.38 +- Improve SPA tracking + +3.2.37 +- Improve sorting of server time + +3.2.36 +- Fix number of recorded pages may be wrong when a segment is applied + +3.2.35 +- Improve widgetize feature when embedded as iframe + +3.2.34 +- Further improvements for WordPress + +3.2.33 +- Improve compatibilty with WordPress + +3.2.32 +- Improve checking for number of previously recorded sessions + +3.2.31 +- Matomo for WordPress support + +3.2.30 +- Send less tracking requests by queueing more requests together + +3.2.29 +- Use DB reader in Aggregator for better compatibility with Matomo 3.12 + +3.2.28 +- Improvements for Matomo 3.12 to support faster segment archiving +- Better support for single page applications + +3.2.27 + - Show search box for entities + - Support usage of a reader DB when configured + +3.2.26 + - Tracker improvements + +3.2.25 + - Tracker improvements + +3.2.24 + - Generate correct session recording link when a visitor matches multiple recordings in the visitor log + +3.2.23 + - Internal tracker performance improvements + +3.2.22 + - Add more translations + - Tracker improvements + - Internal changes + +3.2.21 + - title-text of JavaScript Tracking option help box shows HTML + - Add primary key to log_event table for new installs (existing users should receive the update with Matomo 4) + +3.2.20 + - Fix tracker may under circumstances not enable tracking after disabling it manually + +3.2.19 + - Add possibility to delete an already taken heatmap screenshot so it can be re-taken + +3.2.18 + - Performance improvements for high traffic websites + +3.2.17 + - Add possibility to define alternative CSS file through `data-matomo-href` + - Added new API method `HeatmapSessionRecording.deleteHeatmapScreenshot` to delete an already taken heatmap screenshot + - Add possibility to delete an already taken heatmap screenshot so it can be re-taken + +3.2.16 + - Add useDateUrl=0 to default Heatmap export URL so it can be used easier + +3.2.15 + - Support a URL parameter &useDateUrl=1 in exported heatmaps to fetch heatmaps only for a specific date range + +3.2.14 + - Improve compatibility with tag manager + - Fix possible notice when matching url array parameters + - Add command to remove a stored heatmap + +3.2.13 + - Fix some coordinate cannot be calculated for SVG elements + - Added more languages + - Use new brand colors + - If time on page is too high, abort the tracking request + +3.2.12 + - Update tracker file + +3.2.11 + - Add possibility to mask images + +3.2.10 + - Make sure to replay scrolling in element correctly + +3.2.9 + - Change min height of heatmaps to 400 pixels. + +3.2.8 + - When widgetizing the session player it bursts out of the iframe + - Log more debug information in tracker + - Use API calls instead of model + +3.2.7 + - Support new "Write" role + +3.2.6 + - Improve compatibility with styled-components and similar projects + - Add possibility to not record mouse and touch movements. + +3.2.5 + - Compatibility with SiteUrlTrackingID plugin + - Ensure selectors are generated correctly + +3.2.4 + - Allow users to pass sample limit of zero for unlimited recordings + - Show which page view within a session is currently being replayed + +3.2.3 + - In configs.php return a 403 if Matomo is not installed yet + +3.2.2 + - Validate an entered regular expression when configuring a heatmap or session recording + - Improve heatmap rendering of sharepoint sites + +3.2.1 + - Improve the rendering of heatmaps and session recordings + +3.2.0 + - Optimize tracker cache file + - Prevent recording injected CSS resources that only work on a visitors' computer such as Kaspersky Antivirus CSS. + - For better GDPR compliance disable capture keystroke in sessions by default. + - Added logic to support Matomo GDPR features + - Only specifically whitelisted form fields can now be recorded in plain text + - Some form fields that could potentially include personal information such as an address will be always masked and anonymized + - Trim any whitespace when configuring target pages + +3.1.9 + - Support new attribute `data-matomo-mask` which works similar to `data-piwik-mask` but additionally allows to mask content of elements. + +3.1.8 + - Support new CSS rendering classes matomoHsr, matomoHeatmap and matomoSessionRecording + - For input text fields prefer a set value on the element directly + - Differentiate between scrolling of the window and scrolling within an element (part of the window) + - Replay in the recorded session when a user is scrolling within an element + +3.1.7 + - Make sure validating URL works correctly with HTML entities + - Prevent possible fatal error when opening manage screen for all websites + +3.1.6 + - Renamed Piwik to Matomo + +3.1.5 + - Fix requested stylesheet URLs were requested lowercase when using a relative base href in the recorded page + - Show more accurate time on page and record pageviews for a longer period in case a user is not active right away. + +3.1.4 + - Prevent target rules in heatmap or session recording to visually disappear under circumstances when not using the cancel or back button. + - Respect URL prefix (eg www.) when replaying a session recording, may fix some displaying issues if website does not work without www. + - Improved look of widgetized session recording + +3.1.3 + - Make Heatmap & Session Recording compatible with canvas and webgl libraries like threejs and earcut + - Better detected of the embedded heatmap height + - Fix scroll heatmap did not paint the last scroll section correctly + - It is now possible to configure the sample limits in the config via `[HeatmapSessionRecording] session_recording_sample_limits = 50,100,...` + +3.1.2 + - Added URL to view heatmap and to replay a session recording to the API response + - Fix widgetized URL for heatmaps and sessions redirected to another page when authenticated via token_auth + +3.1.1 + - Better error code when a site does not exist + - Fix configs.php may fail if plugins directory is a symlink + - Available sessions are now also displayed in the visitor profile + +3.1.0 + - Added autoplay feature for page views within a visit + - Added possibility to change replay speed + - Added possibility to skip long pauses in a session recording automatically + - Better base URL detection in case a relative base URL is used + +3.0.15 + - Fix only max 100 heatmaps or session recordings were shown when managing them for a specific site. + - Mask closing body in embedded page so it won't be replaced by some server logic + +3.0.14 + - Make sure to find all matches for a root folder when "equals simple" is used + +3.0.13 + - Fix a custom set based URL was ignored. + +3.0.12 + - Fix session recording stops when a user changes a file form field because form value is not allowed to be changed. + +3.0.11 + - Improve the performance of a DB query of a daily task when cleaning up blob entries. + +3.0.10 + - Improve the performance of a DB query of a daily task + - Respect the new config setting `enable_internet_features` in the system check + +3.0.9 + - Make sure page rules work fine when using HTML entities + +3.0.8 + - Fix possible notice when tracking + - Avoid some logs in chrome when viewing a heatmaps or session recordings + - Always prefer same protocol when replaying sessions as currently used + +3.0.7 + - When using an "equals exactly" comparison, ignore a trailing slash when there is no path set + - Let users customize if the tracking code should be included only when active records are configured + +3.0.6 + - Fix link to replay session in visitor log may not work under circumstances + +3.0.5 + - More detailed "no data message" when nothing has been recorded yet + - Fix select fields were not recorded + +3.0.4 + - Only add tracker code when heatmap or sessions are actually active in any site + - Added index on site_hsr table + - Add custom stylesheets for custom styling + +3.0.3 + - Add system check for configs.php + - On install, if .htaccess was not created, create the file manually + +3.0.2 + - Enrich system summary widget + - Show an arrow instead of a dash between entry and exit url + - Added some German translations + +3.0.1 + - Updated translations + +3.0.0 + - Heatmap & Session Recording for Piwik 3 diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Categories/HeatmapCategory.php b/files/plugin-HeatmapSessionRecording-5.6.0/Categories/HeatmapCategory.php new file mode 100644 index 0000000..946c2ea --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Categories/HeatmapCategory.php @@ -0,0 +1,26 @@ +' . Piwik::translate('HeatmapSessionRecording_ManageHeatmapSubcategoryHelp') . '

    '; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Categories/ManageSessionRecordingSubcategory.php b/files/plugin-HeatmapSessionRecording-5.6.0/Categories/ManageSessionRecordingSubcategory.php new file mode 100644 index 0000000..fa5c615 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Categories/ManageSessionRecordingSubcategory.php @@ -0,0 +1,32 @@ +' . Piwik::translate('HeatmapSessionRecording_ManageSessionRecordingSubcategoryHelp') . '

    '; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Categories/SessionRecordingsCategory.php b/files/plugin-HeatmapSessionRecording-5.6.0/Categories/SessionRecordingsCategory.php new file mode 100644 index 0000000..f376af1 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Categories/SessionRecordingsCategory.php @@ -0,0 +1,26 @@ +getMetric($row, 'config_browser_name'); + } + + public function getDependentMetrics() + { + return array( + 'config_browser_name', + ); + } + + public function showsHtml() + { + return true; + } + + public function format($value, Formatter $formatter) + { + if (empty($value) || $value === 'UNK') { + return false; + } + + $title = \Piwik\Plugins\DevicesDetection\getBrowserName($value); + + return ''; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/Device.php b/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/Device.php new file mode 100644 index 0000000..c0c0c6b --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/Device.php @@ -0,0 +1,78 @@ + $this->getMetric($row, 'config_device_type'), + 'model' => $this->getMetric($row, 'config_device_model') + ); + } + + public function getDependentMetrics() + { + return array( + 'config_device_type', + 'config_device_model', + ); + } + + public function showsHtml() + { + return true; + } + + public function format($value, Formatter $formatter) + { + if (empty($value['type']) && $value['type'] !== 0 && $value['type'] !== '0') { + return false; + } + + $title = \Piwik\Plugins\DevicesDetection\getDeviceTypeLabel($value['type']); + + if (!empty($value['model'])) { + $title .= ', ' . SafeDecodeLabel::decodeLabelSafe($value['model']); + } + + return ''; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/Location.php b/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/Location.php new file mode 100644 index 0000000..671a658 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/Location.php @@ -0,0 +1,86 @@ + $this->getMetric($row, 'location_country'), + 'region' => $this->getMetric($row, 'location_region'), + 'city' => $this->getMetric($row, 'location_city'), + ); + } + + public function getDependentMetrics() + { + return array( + 'location_country', + 'location_region', + 'location_city' + ); + } + + public function showsHtml() + { + return true; + } + + public function format($value, Formatter $formatter) + { + if (empty($value['country']) || $value['country'] === Visit::UNKNOWN_CODE) { + return false; + } + + $title = \Piwik\Plugins\UserCountry\countryTranslate($value['country']); + + if (!empty($value['region']) && $value['region'] !== Visit::UNKNOWN_CODE) { + $title .= ', ' . \Piwik\Plugins\UserCountry\getRegionNameFromCodes($value['country'], $value['region']); + } + + if (!empty($value['city'])) { + $title .= ', ' . SafeDecodeLabel::decodeLabelSafe($value['city']); + } + + return ''; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/OperatingSystem.php b/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/OperatingSystem.php new file mode 100644 index 0000000..d78691b --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/OperatingSystem.php @@ -0,0 +1,67 @@ +getMetric($row, 'config_os'); + } + + public function getDependentMetrics() + { + return array( + 'config_os', + ); + } + + public function showsHtml() + { + return true; + } + + public function format($value, Formatter $formatter) + { + if (empty($value) || $value === 'UNK') { + return false; + } + + $title = \Piwik\Plugins\DevicesDetection\getOsFullName($value); + + return ''; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/SessionTime.php b/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/SessionTime.php new file mode 100644 index 0000000..0de98a4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/SessionTime.php @@ -0,0 +1,97 @@ +dateFormat = $dateFormat; + } + + public function getName() + { + return 'server_time'; + } + + public function getTranslatedName() + { + return Piwik::translate('HeatmapSessionRecording_ColumnTime'); + } + + public function getDocumentation() + { + return Piwik::translate('HeatmapSessionRecording_ColumnTimeDocumentation'); + } + + public function compute(Row $row) + { + return $this->getMetric($row, 'server_time'); + } + + public function getDependentMetrics() + { + return array($this->getName()); + } + + public function format($value, Formatter $formatter) + { + $date = Date::factory($value, $this->timezone); + + $dateTimeFormatProvider = StaticContainer::get('Piwik\Intl\Data\Provider\DateTimeFormatProvider'); + + $template = $dateTimeFormatProvider->getFormatPattern($this->dateFormat); + $template = str_replace(array(' y ', '.y '), ' ', $template); + + return $date->getLocalized($template); + } + + public function beforeFormat($report, DataTable $table) + { + $this->idSite = DataTableFactory::getSiteIdFromMetadata($table); + if (empty($this->idSite)) { + $this->idSite = Common::getRequestVar('idSite', 0, 'int'); + } + if (!empty($this->idSite)) { + $this->timezone = Site::getTimezoneFor($this->idSite); + return true; + } + return false; // skip formatting if there is no site to get currency info from + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/TimeOnPage.php b/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/TimeOnPage.php new file mode 100644 index 0000000..506472d --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/TimeOnPage.php @@ -0,0 +1,65 @@ +getMetric($row, $this->getName()); + } + + public function getDependentMetrics() + { + return array($this->getName()); + } + + public function format($value, Formatter $formatter) + { + if (!empty($value)) { + $value = round($value / 1000, 1); // convert ms to seconds + $value = (int) round($value); + } + + $time = $formatter->getPrettyTimeFromSeconds($value, $asSentence = false); + + if (strpos($time, '00:') === 0) { + $time = substr($time, 3); + } + + return $time; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/TimeOnSite.php b/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/TimeOnSite.php new file mode 100644 index 0000000..2ba27d2 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/TimeOnSite.php @@ -0,0 +1,37 @@ +getMetric($row, 'total_events'); + } + + public function getDependentMetrics() + { + return []; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Commands/RemoveHeatmapScreenshot.php b/files/plugin-HeatmapSessionRecording-5.6.0/Commands/RemoveHeatmapScreenshot.php new file mode 100644 index 0000000..86783de --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Commands/RemoveHeatmapScreenshot.php @@ -0,0 +1,101 @@ +setName('heatmapsessionrecording:remove-heatmap-screenshot'); + $this->setDescription('Removes a saved heatmap screenshot which can be useful if you want Matomo to re-take this screenshot. If the heatmap is currently ended, it will automatically restart it.'); + $this->addRequiredValueOption('idsite', null, 'The ID of the site the heatmap belongs to'); + $this->addRequiredValueOption('idheatmap', null, 'The ID of the heatamp'); + } + + /** + * @return int + */ + protected function doExecute(): int + { + $this->checkAllRequiredOptionsAreNotEmpty(); + $input = $this->getInput(); + $output = $this->getOutput(); + $idSite = $input->getOption('idsite'); + $idHeatmap = $input->getOption('idheatmap'); + + $heatmap = Request::processRequest('HeatmapSessionRecording.getHeatmap', array( + 'idSite' => $idSite, + 'idSiteHsr' => $idHeatmap + )); + + if ($heatmap['status'] === SiteHsrDao::STATUS_ENDED) { + $logHsrSite = new LogHsrSite(); + $numSamplesTakenSoFar = $logHsrSite->getNumPageViews($idHeatmap); + + $currentSampleLimit = $heatmap['sample_limit']; + $newSampleLimit = $numSamplesTakenSoFar + 50; // 50 heatmaps should be enough to collect at least once the dom. + + $update = array('status' => SiteHsrDao::STATUS_ACTIVE); + if ($currentSampleLimit >= $newSampleLimit) { + $output->writeln('Sample limit remains unchanged at ' . $currentSampleLimit); + if ($currentSampleLimit - $numSamplesTakenSoFar > 75) { + $output->writeln('make sure to end the heatmap again as soon as a screenshot has been taken!'); + } + } else { + $output->writeln('Going to increase sample limit from ' . $currentSampleLimit . ' to ' . $newSampleLimit . ' so a screenshot can be retaken. The heatmap will be automatically ended after about 50 new recordings have been recorded.'); + $output->writeln('Note: This means when you manage this heatmap the selected sample wont be shown correctly in the select field'); + $update['sample_limit'] = $newSampleLimit; + } + + $output->writeln('Going to change status of heatmap from ended to active'); + + $siteHsr = StaticContainer::get(SiteHsrDao::class); + $siteHsr->updateHsrColumns($idSite, $idHeatmap, array( + 'status' => SiteHsrDao::STATUS_ACTIVE, + 'sample_limit' => $newSampleLimit + )); + $output->writeln('Done'); + } + + $success = Request::processRequest('HeatmapSessionRecording.deleteHeatmapScreenshot', array( + 'idSite' => $idSite, + 'idSiteHsr' => $idHeatmap + )); + + if ($success) { + Filesystem::deleteAllCacheOnUpdate(); + /** @var HeatmapSessionRecording $hsr */ + $hsr = Plugin\Manager::getInstance()->getLoadedPlugin('HeatmapSessionRecording'); + $hsr->updatePiwikTracker(); + $output->writeln('Screenhot removed'); + + return self::SUCCESS; + } + + $output->writeln('Heatmap not found'); + return self::FAILURE; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Configuration.php b/files/plugin-HeatmapSessionRecording-5.6.0/Configuration.php new file mode 100644 index 0000000..b8dd31a --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Configuration.php @@ -0,0 +1,145 @@ +getConfig(); + $config->HeatmapSessionRecording = array( + self::KEY_OPTIMIZE_TRACKING_CODE => self::DEFAULT_OPTIMIZE_TRACKING_CODE, + self::KEY_SESSION_RECORDING_SAMPLE_LIMITS => self::DEFAULT_SESSION_RECORDING_SAMPLE_LIMITS, + self::KEY_ENABLE_LOAD_CSS_FROM_DB => self::DEFAULT_ENABLE_LOAD_CSS_FROM_DB, + self::MAX_ALLOWED_TIME_ON_PAGE_COLUMN_LIMIT => pow(2, 63), + self::KEY_DEFAULT_HEATMAP_WIDTH => self::DEFAULT_HEATMAP_WIDTH + + ); + $config->forceSave(); + } + + public function uninstall() + { + $config = $this->getConfig(); + $config->HeatmapSessionRecording = array(); + $config->forceSave(); + } + + public function shouldOptimizeTrackingCode() + { + $value = $this->getConfigValue(self::KEY_OPTIMIZE_TRACKING_CODE, self::DEFAULT_OPTIMIZE_TRACKING_CODE); + + return !empty($value); + } + + public function isAnonymousSessionRecordingAccessEnabled($idSite) + { + $value = $this->getDiValue(self::KEY_ENABLE_ANONYMOUS_SESSION_RECORDING_ACCESS, self::DEFAULT_ENABLE_ANONYMOUS_SESSION_RECORDING_ACCESS); + $idSites = explode(',', $value); + $idSites = array_map('trim', $idSites); + $idSites = array_filter($idSites); + return in_array($idSite, $idSites); + } + + public function getSessionRecordingSampleLimits() + { + $value = $this->getConfigValue(self::KEY_SESSION_RECORDING_SAMPLE_LIMITS, self::DEFAULT_SESSION_RECORDING_SAMPLE_LIMITS); + + if (empty($value)) { + $value = self::DEFAULT_SESSION_RECORDING_SAMPLE_LIMITS; + } + + $value = explode(',', $value); + $value = array_filter($value, function ($val) { + return !empty($val); + }); + $value = array_map(function ($val) { + return intval(trim($val)); + }, $value); + natsort($value); + + if (empty($value)) { + // just a fallback in case config is completely misconfigured + $value = explode(',', self::DEFAULT_SESSION_RECORDING_SAMPLE_LIMITS); + } + + return array_values($value); + } + + public function isLoadCSSFromDBEnabled() + { + return $this->getConfigValue(self::KEY_ENABLE_LOAD_CSS_FROM_DB, self::DEFAULT_ENABLE_LOAD_CSS_FROM_DB); + } + + public function getMaximumAllowedPageTime() + { + return $this->getConfigValue(self::MAX_ALLOWED_TIME_ON_PAGE_COLUMN_LIMIT, ''); + } + + public function getDefaultHeatmapWidth() + { + $width = $this->getConfigValue(self::KEY_DEFAULT_HEATMAP_WIDTH, 1280); + if (!in_array($width, self::HEATMAP_ALLOWED_WIDTHS)) { + $width = self::DEFAULT_HEATMAP_WIDTH; + } + + return $width; + } + + private function getConfig() + { + return Config::getInstance(); + } + + private function getConfigValue($name, $default) + { + $config = $this->getConfig(); + $values = $config->HeatmapSessionRecording; + if (isset($values[$name])) { + return $values[$name]; + } + return $default; + } + + private function getDiValue($name, $default) + { + $value = $default; + try { + $value = StaticContainer::get('HeatmapSessionRecording.' . $name); + } catch (NotFoundException $ex) { + // ignore + } + return $value; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Controller.php b/files/plugin-HeatmapSessionRecording-5.6.0/Controller.php new file mode 100644 index 0000000..8225d00 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Controller.php @@ -0,0 +1,664 @@ +validator = $validator; + $this->siteHsrModel = $model; + $this->systemSettings = $settings; + $this->mutationManipulator = $mutationManipulator; + $this->mutationManipulator->generateNonce(); + $this->configuration = $configuration; + $this->imageProxy = $imageProxy; + } + + /** + * Proxies an external image referenced by a heatmap screenshot so it can be embedded in an exported image. + * + * Reached as a controller action (authenticated by the browser session), so no token_auth is placed in the + * URL that gets injected into the recorded page. Outputs the raw image bytes and terminates the request. On + * failure it logs a sanitized warning and returns a non-200 response so the client degrades gracefully. + * + * @return void + */ + public function getProxiedImage() + { + if (!\Piwik\SettingsPiwik::isInternetEnabled()) { + throw new \Exception('Internet features are disabled.'); + } + + $request = \Piwik\Request::fromRequest(); + $idSite = $request->getIntegerParameter('idSite', 0); + $idSiteHsr = $request->getIntegerParameter('idSiteHsr', 0); + $nonce = $request->getStringParameter('nonce', ''); + $url = Common::unsanitizeInputValue($request->getStringParameter('url', '')); + + Piwik::checkUserHasAdminAccess($idSite); + $this->siteHsrModel->checkHeatmapExists($idSite, $idSiteHsr); + + if (!\Piwik\Nonce::verifyNonce(self::PROXY_NONCE_ID, $nonce, Url::getCurrentHost())) { + throw new \Exception('Invalid nonce.'); + } + + $host = null; + $tmpPath = null; + + try { + $clean = $this->imageProxy->validateUrl($url); + $host = parse_url($clean, PHP_URL_HOST); + $this->imageProxy->assertHostNotInternal($host); + $res = $this->imageProxy->fetchToFile($clean); + $tmpPath = $res['path']; + + Common::sendHeader('Content-Type: ' . $res['mime']); + Common::sendHeader('X-Content-Type-Options: nosniff'); + Common::sendHeader("Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'"); + readfile($tmpPath); + } catch (\Exception $e) { + $logger = StaticContainer::get(\Psr\Log\LoggerInterface::class); + $logger->debug('HeatmapSessionRecording: failed to proxy image for idSite {idSite} idSiteHsr {idSiteHsr} host {host}: {reason}', [ + 'idSite' => $idSite, + 'idSiteHsr' => $idSiteHsr, + 'host' => $host ?: 'unknown', + 'reason' => $e->getMessage(), + ]); + + Common::sendResponseCode(400); + } finally { + if ($tmpPath !== null) { + @unlink($tmpPath); + } + } + + exit; + } + + public function manageHeatmap() + { + $idSite = Common::getRequestVar('idSite'); + + if (strtolower($idSite) === 'all') { + // prevent fatal error... redirect to a specific site as it is not possible to manage for all sites + $this->validator->checkHasSomeWritePermission(); + $this->redirectToIndex('HeatmapSessionRecording', 'manageHeatmap'); + exit; + } + + $this->checkSitePermission(); + $this->validator->checkHeatmapReportWritePermission($this->idSite); + + return $this->renderTemplate('manageHeatmap', array( + 'breakpointMobile' => (int) $this->systemSettings->breakpointMobile->getValue(), + 'breakpointTablet' => (int) $this->systemSettings->breakpointTablet->getValue(), + 'pauseReason' => Piwik::translate(HeatmapSessionRecording::getTranslationKey('pause'), [Piwik::translate('HeatmapSessionRecording_Heatmap')]), + 'isMatomoJsWritable' => HeatmapSessionRecording::isMatomoJsWritable() + )); + } + + public function manageSessions() + { + $idSite = Common::getRequestVar('idSite'); + + if (strtolower($idSite) === 'all') { + // prevent fatal error... redirect to a specific site as it is not possible to manage for all sites + $this->validator->checkHasSomeWritePermission(); + $this->redirectToIndex('HeatmapSessionRecording', 'manageSessions'); + exit; + } + + $this->checkSitePermission(); + $this->validator->checkSessionReportWritePermission($this->idSite); + + return $this->renderTemplate('manageSessions', array( + 'pauseReason' => Piwik::translate(HeatmapSessionRecording::getTranslationKey('pause'), [Piwik::translate('HeatmapSessionRecording_SessionRecording')]), + 'isMatomoJsWritable' => HeatmapSessionRecording::isMatomoJsWritable() + )); + } + + /** + * Entry point for the links embedded in "finished" notification emails. Validates that the + * referenced heatmap/session recording still exists before handing off to the reporting SPA, + * so a deleted item does not silently fall back to another available report. If the item is + * gone the user is redirected to the relevant Manage page which shows a "no longer exists" + * notification instead. + */ + public function goToReport() + { + $request = PiwikRequest::fromRequest(); + $idSiteHsr = $request->getIntegerParameter('idSiteHsr', 0); + $recordType = $request->getIntegerParameter('recordType', SiteHsrDao::RECORD_TYPE_HEATMAP); + + if ($recordType === SiteHsrDao::RECORD_TYPE_SESSION) { + $this->validator->checkSessionReportViewPermission($this->idSite); + $category = 'HeatmapSessionRecording_SessionRecordings'; + $manageSubcategory = 'HeatmapSessionRecording_ManageSessionRecordings'; + $exists = $this->siteHsrModel->sessionRecordingExists($this->idSite, $idSiteHsr); + } else { + $this->validator->checkHeatmapReportViewPermission($this->idSite); + $category = 'HeatmapSessionRecording_Heatmaps'; + $manageSubcategory = 'HeatmapSessionRecording_ManageHeatmaps'; + $exists = $this->siteHsrModel->heatmapExists($this->idSite, $idSiteHsr); + } + + $url = $this->buildReportRedirectUrl((int) $this->idSite, $idSiteHsr, $category, $manageSubcategory, $exists); + + Url::redirectToUrl($url); + } + + /** + * Builds the reporting SPA URL the "finished" email link redirects to. When the referenced + * item still exists the URL opens its report directly; otherwise it points at the Manage page + * with the hsrReportNotFound flag so the SPA can show the "no longer exists" notification. + */ + protected function buildReportRedirectUrl(int $idSite, int $idSiteHsr, string $category, string $manageSubcategory, bool $exists): string + { + $url = rtrim(SettingsPiwik::getPiwikUrl(), '/') . '/' + . 'index.php?module=CoreHome&action=index' + . '&idSite=' . $idSite + . '&period=day&date=today' + . '#?idSite=' . $idSite + . '&period=day&date=today' + . '&category=' . urlencode($category); + + if ($exists) { + $url .= '&subcategory=' . $idSiteHsr; + } else { + $url .= '&subcategory=' . urlencode($manageSubcategory) + . '&hsrReportNotFound=1'; + } + + return $url; + } + + private function checkNotInternetExplorerWhenUsingToken() + { + if (Common::getRequestVar('token_auth', '', 'string') && !empty($_SERVER['HTTP_USER_AGENT'])) { + // we want to detect device type only once for faster performance + $ddFactory = StaticContainer::get(\Piwik\DeviceDetector\DeviceDetectorFactory::class); + $deviceDetector = $ddFactory->makeInstance($_SERVER['HTTP_USER_AGENT']); + $client = $deviceDetector->getClient(); + + if ( + (!empty($client['short_name']) && $client['short_name'] === 'IE') + || (!empty($client['name']) && $client['name'] === 'Internet Explorer') + || (!empty($client['name']) && $client['name'] === 'Opera Mini') + ) { + // see https://caniuse.com/?search=noreferrer + // and https://caniuse.com/?search=referrerpolicy + throw new \Exception('For security reasons this feature doesn\'t work in this browser when using authentication using token_auth. Please try a different browser or log in to view this.'); + } + } + } + + public function replayRecording() + { + $this->validator->checkSessionReportViewPermission($this->idSite); + $this->checkNotInternetExplorerWhenUsingToken(); + + $idLogHsr = Common::getRequestVar('idLogHsr', null, 'int'); + $idSiteHsr = Common::getRequestVar('idSiteHsr', null, 'int'); + + $_GET['period'] = 'year'; // setting it randomly to not having to pass it in the URL + $_GET['date'] = 'today'; // date is ignored anyway + + $recording = Request::processRequest('HeatmapSessionRecording.getRecordedSession', array( + 'idSite' => $this->idSite, + 'idLogHsr' => $idLogHsr, + 'idSiteHsr' => $idSiteHsr, + 'filter_limit' => '-1' + ), $default = []); + + $currentPage = null; + if (!empty($recording['pageviews']) && is_array($recording['pageviews'])) { + $allPageviews = array_values($recording['pageviews']); + foreach ($allPageviews as $index => $pageview) { + if (!empty($pageview['idloghsr']) && $idLogHsr == $pageview['idloghsr']) { + $currentPage = $index + 1; + break; + } + } + } + + $settings = $this->getPluginSettings(); + $settings = $settings->load(); + $skipPauses = !empty($settings['skip_pauses']); + $autoPlayEnabled = !empty($settings['autoplay_pageviews']); + $replaySpeed = !empty($settings['replay_speed']) ? (int) $settings['replay_speed'] : 1; + $isVisitorProfileEnabled = Manager::getInstance()->isPluginActivated('Live') && Live::isVisitorProfileEnabled(); + + if (!empty($recording['events'])) { + foreach ($recording['events'] as $recordingEventIndex => $recordingEventValue) { + if ( + !empty($recordingEventValue['event_type']) && + ( + $recordingEventValue['event_type'] == RequestProcessor::EVENT_TYPE_INITIAL_DOM || + $recordingEventValue['event_type'] == RequestProcessor::EVENT_TYPE_MUTATION + ) && + !empty( + $recordingEventValue['text'] + ) + ) { + $recording['events'][$recordingEventIndex]['text'] = $this->mutationManipulator->manipulate($recordingEventValue['text'], $idSiteHsr, $idLogHsr); + break; + } + } + } + + return $this->renderTemplate('replayRecording', array( + 'idLogHsr' => $idLogHsr, + 'idSiteHsr' => $idSiteHsr, + 'recording' => $recording, + 'scrollAccuracy' => LogHsr::SCROLL_ACCURACY, + 'offsetAccuracy' => LogHsrEvent::OFFSET_ACCURACY, + 'autoPlayEnabled' => $autoPlayEnabled, + 'visitorProfileEnabled' => $isVisitorProfileEnabled, + 'skipPausesEnabled' => $skipPauses, + 'replaySpeed' => $replaySpeed, + 'currentPage' => $currentPage + )); + } + + protected function setBasicVariablesView($view) + { + parent::setBasicVariablesView($view); + + if ( + Common::getRequestVar('module', '', 'string') === 'Widgetize' + && Common::getRequestVar('action', '', 'string') === 'iframe' + && Common::getRequestVar('moduleToWidgetize', '', 'string') === 'HeatmapSessionRecording' + ) { + $action = Common::getRequestVar('actionToWidgetize', '', 'string'); + if (in_array($action, array('replayRecording', 'showHeatmap'), true)) { + $view->enableFrames = true; + } + } + } + + private function getPluginSettings() + { + $login = Piwik::getCurrentUserLogin(); + + $settings = new PluginSettingsTable('HeatmapSessionRecording', $login); + return $settings; + } + + public function saveSessionRecordingSettings() + { + Piwik::checkUserHasSomeViewAccess(); + $this->validator->checkSessionRecordingEnabled(); + // there is no nonce for this action but that should also not be needed here. as it is just replay settings + + $autoPlay = Common::getRequestVar('autoplay', '0', 'int'); + $replaySpeed = Common::getRequestVar('replayspeed', '1', 'int'); + $skipPauses = Common::getRequestVar('skippauses', '0', 'int'); + + $settings = $this->getPluginSettings(); + $settings->save(array('autoplay_pageviews' => $autoPlay, 'replay_speed' => $replaySpeed, 'skip_pauses' => $skipPauses)); + } + + /** + * Public page reached from the "unsubscribe" link in a finished-recording email. It authenticates + * the request with a signed token (no login required) and turns off future finished notifications + * for the recipient. On GET it shows a confirmation form; on POST (confirm) it applies the change. + */ + public function unsubscribe() + { + $view = new View('@HeatmapSessionRecording/unsubscribe'); + $this->setBasicVariablesView($view); + $view->linkTitle = Piwik::getRandomTitle(); + + $matomoLink = 'https://matomo.org/'; + if (method_exists(Url::class, 'addCampaignParametersToMatomoLink')) { + $matomoLink = Url::addCampaignParametersToMatomoLink($matomoLink); + } + $view->matomoLink = $matomoLink; + + $token = Common::getRequestVar('token', '', 'string'); + $login = Common::getRequestVar('login', '', 'string'); + + if (empty($token) || empty($login)) { + $view->error = Piwik::translate('HeatmapSessionRecording_UnsubscribeNoTokenProvided'); + return $view->render(); + } + + $user = Access::doAsSuperUser(function () use ($login) { + return (new UsersManagerModel())->getUser($login); + }); + + if ( + empty($user) + || empty($user['email']) + || !hash_equals(Unsubscribe::generateToken($login, $user['email']), $token) + ) { + $view->error = Piwik::translate('HeatmapSessionRecording_UnsubscribeInvalid'); + return $view->render(); + } + + $confirm = Common::getRequestVar('confirm', '', 'string'); + + if (!empty($confirm)) { + Nonce::checkNonce('HeatmapSessionRecording.Unsubscribe'); + + Access::doAsSuperUser(function () use ($login) { + $setting = new UserSetting('notifyFinishedRecordings', true, FieldConfig::TYPE_BOOL, 'HeatmapSessionRecording', $login); + $setting->setValue(false); + $setting->save(); + }); + + $view->success = true; + } else { + $view->nonce = Nonce::getNonce('HeatmapSessionRecording.Unsubscribe'); + } + + return $view->render(); + } + + private function initHeatmapAuth() + { + // todo remove in Matomo 5 when we hopefully no longer support IE 11. + // This is mostly there to prevent forwarding tokens through referrer to third parties + // most browsers support this except IE11 + // we said we're technically OK with IE11 forwarding a view token in worst case but we still have this here for now + $token_auth = Common::getRequestVar('token_auth', '', 'string'); + + if (!empty($token_auth)) { + $auth = StaticContainer::get('Piwik\Auth'); + $auth->setTokenAuth($token_auth); + $auth->setPassword(null); + $auth->setPasswordHash(null); + $auth->setLogin(null); + + Session::start(); + $sessionInitializer = new SessionInitializer(); + $sessionInitializer->initSession($auth); + + $_SESSION[HeatmapSessionRecording::SESSION_TOKEN_EMBED_KEY] = true; + + $url = preg_replace('/&token_auth=[^&]{20,38}|$/i', '', Url::getCurrentUrl()); + if ($url) { + Url::redirectToUrl($url); + return; + } + } + + // if no token_auth, we just rely on an existing session auth check + } + + protected function setBasicVariablesNoneAdminView($view) + { + parent::setBasicVariablesNoneAdminView($view); + if (Piwik::getAction() === 'embedPage' && Piwik::getModule() === 'HeatmapSessionRecording') { + $view->setXFrameOptions('allow'); + } + } + + public function embedPage() + { + $this->checkNotInternetExplorerWhenUsingToken(); + $this->initHeatmapAuth(); + $nonceRandom = ''; + + if ( + property_exists($this, 'securityPolicy') && + method_exists($this->securityPolicy, 'allowEmbedPage') + ) { + $toSearch = array("'unsafe-inline' ", "'unsafe-eval' ", "'unsafe-inline'", "'unsafe-eval'"); + $nonceRandom = $this->mutationManipulator->getNonce(); + $this->securityPolicy->overridePolicy('default-src', $this->securityPolicy::RULE_EMBEDDED_FRAME); + $this->securityPolicy->overridePolicy('img-src', $this->securityPolicy::RULE_EMBEDDED_FRAME); + $this->securityPolicy->addPolicy('script-src', str_replace($toSearch, '', $this->securityPolicy::RULE_DEFAULT) . "'nonce-$nonceRandom'"); + } + + $pathPrefix = HeatmapSessionRecording::getPathPrefix(); + $jQueryPath = 'node_modules/jquery/dist/jquery.min.js'; + if (HeatmapSessionRecording::isMatomoForWordPress()) { + $jQueryPath = includes_url('js/jquery/jquery.js'); + } + + $idLogHsr = Common::getRequestVar('idLogHsr', 0, 'int'); + $idSiteHsr = Common::getRequestVar('idSiteHsr', null, 'int'); + + $_GET['period'] = 'year'; // setting it randomly to not having to pass it in the URL + $_GET['date'] = 'today'; // date is ignored anyway + + if (empty($idLogHsr)) { + $this->validator->checkHeatmapReportViewPermission($this->idSite); + + $heatmap = $this->getHeatmap($this->idSite, $idSiteHsr); + + if (isset($heatmap[0])) { + $heatmap = $heatmap[0]; + } + + $baseUrl = $heatmap['screenshot_url']; + $initialMutation = $heatmap['page_treemirror']; + } else { + $this->validator->checkSessionReportViewPermission($this->idSite); + $this->checkSessionRecordingExists($this->idSite, $idSiteHsr); + + $recording = Request::processRequest('HeatmapSessionRecording.getEmbedSessionInfo', [ + 'idSite' => $this->idSite, + 'idSiteHsr' => $idSiteHsr, + 'idLogHsr' => $idLogHsr, + ], $default = []); + + if (empty($recording)) { + throw new \Exception(Piwik::translate('HeatmapSessionRecording_ErrorSessionRecordingDoesNotExist')); + } + + $baseUrl = $recording['base_url']; + $map = array_flip(PageUrl::$urlPrefixMap); + + if (isset($recording['url_prefix']) !== null && isset($map[$recording['url_prefix']])) { + $baseUrl = $map[$recording['url_prefix']] . $baseUrl; + } + + if (!empty($recording['initial_mutation'])) { + $initialMutation = $recording['initial_mutation']; + } else { + $initialMutation = ''; + } + } + + $initialMutation = $this->mutationManipulator->manipulate($initialMutation, $idSiteHsr, $idLogHsr); + + return $this->renderTemplate('embedPage', array( + 'idLogHsr' => $idLogHsr, + 'idSiteHsr' => $idSiteHsr, + 'initialMutation' => $initialMutation, + 'baseUrl' => $baseUrl, + 'pathPrefix' => $pathPrefix, + 'jQueryPath' => $jQueryPath, + 'nonceRandom' => $nonceRandom + )); + } + + public function showHeatmap() + { + $this->validator->checkHeatmapReportViewPermission($this->idSite); + $this->checkNotInternetExplorerWhenUsingToken(); + + $idSiteHsr = Common::getRequestVar('idSiteHsr', null, 'int'); + $heatmapType = Common::getRequestVar('heatmapType', RequestProcessor::EVENT_TYPE_CLICK, 'int'); + $deviceType = Common::getRequestVar('deviceType', LogHsr::DEVICE_TYPE_DESKTOP, 'int'); + + $heatmap = Request::processRequest('HeatmapSessionRecording.getHeatmap', array( + 'idSite' => $this->idSite, + 'idSiteHsr' => $idSiteHsr + ), $default = []); + + if (isset($heatmap[0])) { + $heatmap = $heatmap[0]; + } + + $requestDate = $this->siteHsrModel->getPiwikRequestDate($heatmap); + $period = $requestDate['period']; + $dateRange = $requestDate['date']; + + if ( + !PeriodFactory::isPeriodEnabledForAPI($period) || + Common::getRequestVar('useDateUrl', 0, 'int') + ) { + $period = Common::getRequestVar('period', null, 'string'); + $dateRange = Common::getRequestVar('date', null, 'string'); + } + + try { + PeriodFactory::checkPeriodIsEnabled($period); + } catch (\Exception $e) { + $periodEscaped = Common::sanitizeInputValue(Piwik::translate('HeatmapSessionRecording_PeriodDisabledErrorMessage', $period)); + return '
    ' . $periodEscaped . '
    '; + } + + $metadata = Request::processRequest('HeatmapSessionRecording.getRecordedHeatmapMetadata', array( + 'idSite' => $this->idSite, + 'idSiteHsr' => $idSiteHsr, + 'period' => $period, + 'date' => $dateRange + ), $default = []); + + if (isset($metadata[0])) { + $metadata = $metadata[0]; + } + + $editUrl = 'index.php' . Url::getCurrentQueryStringWithParametersModified(array( + 'module' => 'HeatmapSessionRecording', + 'action' => 'manageHeatmap' + )) . '#?idSiteHsr=' . (int)$idSiteHsr; + + $reportDocumentation = ''; + if ($heatmap['status'] == SiteHsrDao::STATUS_ACTIVE) { + $reportDocumentation = Piwik::translate('HeatmapSessionRecording_RecordedHeatmapDocStatusActive', array($heatmap['sample_limit'], $heatmap['sample_rate'] . '%')); + } elseif ($heatmap['status'] == SiteHsrDao::STATUS_ENDED) { + $reportDocumentation = Piwik::translate('HeatmapSessionRecording_RecordedHeatmapDocStatusEnded'); + } elseif ($heatmap['status'] == SiteHsrDao::STATUS_ONHOLD) { + if (!empty($heatmap['scheduled_date_pretty'])) { + $reportDocumentation = Piwik::translate( + 'HeatmapSessionRecording_RecordedHeatmapDocStatusOnHoldWithDate', + $heatmap['scheduled_date_pretty'] + ); + } else { + $reportDocumentation = Piwik::translate('HeatmapSessionRecording_RecordedHeatmapDocStatusOnHold'); + } + } + + $includedCountries = $this->systemSettings->getIncludedCountries(); + + return $this->renderTemplate('showHeatmap', array( + 'idSiteHsr' => $idSiteHsr, + 'editUrl' => $editUrl, + 'heatmapType' => $heatmapType, + 'deviceType' => $deviceType, + 'heatmapPeriod' => $period, + 'heatmapDate' => $dateRange, + 'heatmap' => $heatmap, + 'isActive' => $heatmap['status'] == SiteHsrDao::STATUS_ACTIVE, + 'heatmapMetadata' => $metadata, + 'reportDocumentation' => $reportDocumentation, + 'isScroll' => $heatmapType == RequestProcessor::EVENT_TYPE_SCROLL, + 'offsetAccuracy' => LogHsrEvent::OFFSET_ACCURACY, + 'heatmapTypes' => API::getInstance()->getAvailableHeatmapTypes(), + 'deviceTypes' => API::getInstance()->getAvailableDeviceTypes(), + 'includedCountries' => !empty($includedCountries) ? implode(', ', $includedCountries) : '', + 'desktopPreviewSize' => $this->configuration->getDefaultHeatmapWidth(), + 'allowedWidth' => Configuration::HEATMAP_ALLOWED_WIDTHS, + 'noDataMessageKey' => HeatmapSessionRecording::getTranslationKey('noDataHeatmap'), + 'isMatomoJsWritable' => HeatmapSessionRecording::isMatomoJsWritable(), + 'imageProxyNonce' => \Piwik\Nonce::getNonce(self::PROXY_NONCE_ID), + )); + } + + private function getHeatmap($idSite, $idSiteHsr) + { + $heatmap = Request::processRequest('HeatmapSessionRecording.getHeatmap', [ + 'idSite' => $idSite, + 'idSiteHsr' => $idSiteHsr, + ], $default = []); + if (empty($heatmap)) { + throw new \Exception(Piwik::translate('HeatmapSessionRecording_ErrorHeatmapDoesNotExist')); + } + return $heatmap; + } + + private function checkSessionRecordingExists($idSite, $idSiteHsr) + { + $sessionRecording = Request::processRequest('HeatmapSessionRecording.getSessionRecording', [ + 'idSite' => $idSite, + 'idSiteHsr' => $idSiteHsr, + ], $default = []); + if (empty($sessionRecording)) { + throw new \Exception(Piwik::translate('HeatmapSessionRecording_ErrorSessionRecordingDoesNotExist')); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsr.php b/files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsr.php new file mode 100644 index 0000000..8851782 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsr.php @@ -0,0 +1,375 @@ +tablePrefixed = Common::prefixTable($this->table); + $this->logHsrSite = $logHsrSite; + } + + private function getDb() + { + if (!isset($this->db)) { + $this->db = Db::get(); + } + return $this->db; + } + + public function install() + { + DbHelper::createTable($this->table, " + `idloghsr` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, + `idsite` INT UNSIGNED NOT NULL, + `idvisit` BIGINT UNSIGNED NOT NULL, + `idhsrview` CHAR(6) NOT NULL, + `idpageview` CHAR(6) NULL, + `idaction_url` INT(10) UNSIGNED NOT NULL DEFAULT 0, + `device_type` TINYINT(1) NOT NULL DEFAULT 1, + `server_time` DATETIME NOT NULL, + `time_on_page` BIGINT(8) UNSIGNED NOT NULL, + `viewport_w_px` SMALLINT(5) UNSIGNED DEFAULT 0, + `viewport_h_px` SMALLINT(5) UNSIGNED DEFAULT 0, + `scroll_y_max_relative` SMALLINT(5) UNSIGNED DEFAULT 0, + `fold_y_relative` SMALLINT(5) UNSIGNED DEFAULT 0, + PRIMARY KEY(`idloghsr`), + UNIQUE KEY idvisit_idhsrview (`idvisit`,`idhsrview`), + KEY idsite_servertime (`idsite`,`server_time`)"); + + // idpageview is only there so we can add it to visitor log later. Please note that idpageview is only set on + // the first tracking request. As the user may track a new pageview during the recording, the pageview may + // change over time. This is why we need the idhsrview. + + // we need the idhsrview as there can be many recordings during one visit and this way we can control when + // to trigger a new recording / heatmap in the tracker by changing this id + } + + public function uninstall() + { + Db::query(sprintf('DROP TABLE IF EXISTS `%s`', $this->tablePrefixed)); + } + + protected function getDeviceWidth($resolution) + { + if (!empty($resolution)) { + $parts = explode('x', $resolution); + if (count($parts) === 2 && $parts[0] > 1 && $parts[1] > 1) { + $width = $parts[0]; + return (int) $width; + } + } + + return 1280; // default desktop + } + + protected function getDeviceType($hsrSiteIds, $idSite, $userAgent, $deviceWidth) + { + $deviceType = null; + + // we want to detect device type only once for faster performance + $ddFactory = StaticContainer::get(\Piwik\DeviceDetector\DeviceDetectorFactory::class); + $deviceDetector = $ddFactory->makeInstance($userAgent); + $device = $deviceDetector->getDevice(); + + $checkWidth = false; + if ( + in_array( + $device, + array( + AbstractDeviceParser::DEVICE_TYPE_FEATURE_PHONE, + AbstractDeviceParser::DEVICE_TYPE_PHABLET, + AbstractDeviceParser::DEVICE_TYPE_SMARTPHONE, + AbstractDeviceParser::DEVICE_TYPE_CAMERA, + AbstractDeviceParser::DEVICE_TYPE_CAR_BROWSER + ), + $strict = true + ) + ) { + $deviceType = self::DEVICE_TYPE_MOBILE; + } elseif (in_array($device, array(AbstractDeviceParser::DEVICE_TYPE_TABLET), $strict = true)) { + $deviceType = self::DEVICE_TYPE_TABLET; + } elseif ($deviceType === AbstractDeviceParser::DEVICE_TYPE_DESKTOP) { + $deviceType = LogHsr::DEVICE_TYPE_DESKTOP; + $checkWidth = true; + } else { + $checkWidth = true; + } + + if ($checkWidth && !empty($deviceWidth)) { + $hsrs = $this->getCachedHsrs($idSite); + + foreach ($hsrs as $hsr) { + // the device type is only relevant for heatmaps so we only look for breakpoints in heatmaps + if ( + $hsr['record_type'] == SiteHsrDao::RECORD_TYPE_HEATMAP + && in_array($hsr['idsitehsr'], $hsrSiteIds) + ) { + if ($deviceWidth < $hsr['breakpoint_mobile']) { + // resolution has to be lower than this + $deviceType = self::DEVICE_TYPE_MOBILE; + } elseif ($deviceWidth < $hsr['breakpoint_tablet']) { + $deviceType = self::DEVICE_TYPE_TABLET; + } else { + $deviceType = self::DEVICE_TYPE_DESKTOP; + } + + break; + } + } + } + + if (empty($deviceType)) { + $deviceType = LogHsr::DEVICE_TYPE_DESKTOP; + } + + return $deviceType; + } + + protected function getCachedHsrs($idSite) + { + $cache = Tracker\Cache::getCacheWebsiteAttributes($idSite); + + if (!empty($cache['hsr'])) { + return $cache['hsr']; + } + + return array(); + } + + public function findIdLogHsr($idVisit, $idHsrView) + { + $query = sprintf('SELECT idloghsr FROM %s WHERE idvisit = ? and idhsrview = ? LIMIT 1', $this->tablePrefixed); + + return $this->getDb()->fetchOne($query, array($idVisit, $idHsrView)); + } + + public function hasRecordedIdVisit($idVisit, $idSiteHsr) + { + $siteTable = Common::prefixTable('log_hsr_site'); + $query = sprintf('SELECT lhsr.idvisit + FROM %s lhsr + LEFT JOIN %s lhsrsite ON lhsr.idloghsr=lhsrsite.idloghsr + WHERE lhsr.idvisit = ? and lhsrsite.idsitehsr = ? + LIMIT 1', $this->tablePrefixed, $siteTable); + $id = $this->getDb()->fetchOne($query, array($idVisit, $idSiteHsr)); + return !empty($id); + } + + // $hsrSiteIds => one recording may be long to several actual recordings. + public function record($hsrSiteIds, $idSite, $idVisit, $idHsrView, $idPageview, $url, $serverTime, $userAgent, $resolution, $timeOnPage, $viewportW, $viewportH, $scrollYMaxRelative, $foldYRelative) + { + if ($foldYRelative > self::SCROLL_ACCURACY) { + $foldYRelative = self::SCROLL_ACCURACY; + } + + if ($scrollYMaxRelative > self::SCROLL_ACCURACY) { + $scrollYMaxRelative = self::SCROLL_ACCURACY; + } + + $idLogHsr = $this->findIdLogHsr($idVisit, $idHsrView); + + if (empty($idLogHsr)) { + // to prevent race conditions we use atomic insert. It may lead to more gaps in auto increment but there is + // no way around it + + Piwik::postEvent('HeatmapSessionRecording.trackNewHsrSiteIds', array(&$hsrSiteIds, array('idSite' => $idSite, 'serverTime' => $serverTime, 'idVisit' => $idVisit))); + + if (empty($hsrSiteIds)) { + throw new \Exception('No hsrSiteIds'); + } + + $values = array( + 'idvisit' => $idVisit, + 'idsite' => $idSite, + 'idhsrview' => $idHsrView, + 'idpageview' => $idPageview, + 'server_time' => $serverTime, + 'time_on_page' => $timeOnPage, + 'viewport_w_px' => $viewportW, + 'viewport_h_px' => $viewportH, + 'scroll_y_max_relative' => (int)$scrollYMaxRelative, + 'fold_y_relative' => (int) $foldYRelative, + ); + + $columns = implode('`,`', array_keys($values)); + $bind = array_values($values); + $sql = sprintf('INSERT INTO %s (`%s`) VALUES(?,?,?,?,?,?,?,?,?,?)', $this->tablePrefixed, $columns); + + try { + $result = $this->getDb()->query($sql, $bind); + } catch (\Exception $e) { + if (Db::get()->isErrNo($e, \Piwik\Updater\Migration\Db::ERROR_CODE_DUPLICATE_ENTRY)) { + // race condition where two tried to insert at same time... we need to update instead + + $idLogHsr = $this->findIdLogHsr($idVisit, $idHsrView); + $this->updateRecord($idLogHsr, $timeOnPage, $scrollYMaxRelative); + return $idLogHsr; + } + throw $e; + } + + $all = $this->getDb()->rowCount($result); + + $idLogHsr = $this->getDb()->lastInsertId(); + + if ($all === 1 || $all === '1') { + // was inserted, resolve idaction! would be 2 or 0 on update + // to be efficient we want to resolve idaction only once + $url = PageUrl::normalizeUrl($url); + $ids = TableLogAction::loadIdsAction(array('idaction_url' => array($url['url'], Action::TYPE_PAGE_URL, $url['prefixId']))); + + if (!empty($viewportW)) { + $deviceWidth = (int) $viewportW; + } else { + $deviceWidth = $this->getDeviceWidth($resolution); + } + $deviceType = $this->getDeviceType($hsrSiteIds, $idSite, $userAgent, $deviceWidth); + + $idaction = $ids['idaction_url']; + $this->getDb()->query( + sprintf('UPDATE %s set idaction_url = ?, device_type = ? where idloghsr = ?', $this->tablePrefixed), + array($idaction, $deviceType, $idLogHsr) + ); + + foreach ($hsrSiteIds as $hsrId) { + // for performance reasons we check the limit only on hsr start and we make this way sure to still + // accept all following requests to that hsr + $this->logHsrSite->linkRecord($idLogHsr, $hsrId); + } + } + } else { + $this->updateRecord($idLogHsr, $timeOnPage, $scrollYMaxRelative); + } + + return $idLogHsr; + } + + public function updateRecord($idLogHsr, $timeOnPage, $scrollYMaxRelative) + { + $sql = sprintf( + 'UPDATE %s SET + time_on_page = if(? > time_on_page, ?, time_on_page), + scroll_y_max_relative = if(? > scroll_y_max_relative, ?, scroll_y_max_relative) + WHERE idloghsr = ?', + $this->tablePrefixed + ); + + $bind = array(); + $bind[] = $timeOnPage; + $bind[] = $timeOnPage; + $bind[] = $scrollYMaxRelative; + $bind[] = $scrollYMaxRelative; + $bind[] = $idLogHsr; + + $this->getDb()->query($sql, $bind); + } + + public function getAllRecords() + { + return $this->getDb()->fetchAll('SELECT * FROM ' . $this->tablePrefixed); + } + + public function findLogHsrIdsInVisit($idSite, $idVisit) + { + $rows = Db::fetchAll(sprintf('SELECT idloghsr FROM %s WHERE idvisit = ? and idsite = ?', $this->tablePrefixed), array($idVisit, $idSite)); + + $idLogHsrs = array(); + foreach ($rows as $row) { + $idLogHsrs[] = (int) $row['idloghsr']; + } + + return $idLogHsrs; + } + + public function findDeletedLogHsrIds() + { + // DELETE ALL LOG ENTRIES WHOSE IDSITEHSR DOES NO LONGER EXIST + $rows = Db::fetchAll(sprintf( + 'SELECT DISTINCT log_hsr.idloghsr FROM %s log_hsr LEFT OUTER JOIN %s log_hsr_site ON log_hsr.idloghsr = log_hsr_site.idloghsr WHERE log_hsr_site.idsitehsr IS NULL', + $this->tablePrefixed, + Common::prefixTable('log_hsr_site') + )); + + $idLogHsrsToDelete = array(); + foreach ($rows as $row) { + $idLogHsrsToDelete[] = (int) $row['idloghsr']; + } + + return $idLogHsrsToDelete; + } + + public function deleteIdLogHsrsFromAllTables($idLogHsrsToDelete) + { + if (!is_array($idLogHsrsToDelete)) { + throw new \Exception('idLogHsrsToDelete is not an array'); + } + + if (empty($idLogHsrsToDelete)) { + return; + } + + // we delete them in chunks of 2500 + $idLogHsrsToDelete = array_chunk($idLogHsrsToDelete, 2500); + + $tablesToDelete = array( + Common::prefixTable('log_hsr_event'), + Common::prefixTable('log_hsr_site'), + Common::prefixTable('log_hsr'), + ); + foreach ($idLogHsrsToDelete as $idsToDelete) { + $idsToDelete = array_map('intval', $idsToDelete); + $idsToDelete = implode(',', $idsToDelete); + foreach ($tablesToDelete as $tableToDelete) { + $sql = sprintf('DELETE FROM %s WHERE idloghsr IN(%s)', $tableToDelete, $idsToDelete); + Db::query($sql); + } + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsrBlob.php b/files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsrBlob.php new file mode 100644 index 0000000..9945d50 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsrBlob.php @@ -0,0 +1,180 @@ +tablePrefixed = Common::prefixTable($this->table); + } + + private function getDb() + { + if (!isset($this->db)) { + $this->db = Db::get(); + } + return $this->db; + } + + public function install() + { + DbHelper::createTable($this->table, " + `idhsrblob` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, + `hash` INT(10) UNSIGNED NOT NULL, + `compressed` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, + `value` MEDIUMBLOB NULL DEFAULT NULL, + PRIMARY KEY (`idhsrblob`), + INDEX (`hash`)"); + + // we always build the hash on the raw text for simplicity + } + + public function uninstall() + { + Db::query(sprintf('DROP TABLE IF EXISTS `%s`', $this->tablePrefixed)); + } + + public function findEntry($textHash, $text, $textCompressed) + { + $sql = sprintf('SELECT idhsrblob FROM %s WHERE `hash` = ? and (`value` = ? or `value` = ?) LIMIT 1', $this->tablePrefixed); + $id = $this->getDb()->fetchOne($sql, array($textHash, $text, $textCompressed)); + + return $id; + } + + public function createEntry($textHash, $text, $isCompressed) + { + $sql = sprintf('INSERT INTO %s (`hash`, `compressed`, `value`) VALUES(?,?,?) ', $this->tablePrefixed); + $this->getDb()->query($sql, array($textHash, (int) $isCompressed, $text)); + + return $this->getDb()->lastInsertId(); + } + + public function record($text) + { + if ($text === null || $text === false) { + return null; + } + + $textHash = abs(crc32($text)); + $textCompressed = $this->compress($text); + + $id = $this->findEntry($textHash, $text, $textCompressed); + + if (!empty($id)) { + return $id; + } + + $isCompressed = 0; + if ($text !== $textCompressed && strlen($textCompressed) < strlen($text)) { + // detect if it is more efficient to store compressed or raw text + $text = $textCompressed; + $isCompressed = 1; + } + + return $this->createEntry($textHash, $text, $isCompressed); + } + + public function deleteUnusedBlobEntries() + { + $eventTable = Common::prefixTable('log_hsr_event'); + $blobTable = Common::prefixTable('log_hsr_blob'); + + $blobEntries = Db::fetchAll('SELECT distinct idhsrblob FROM ' . $eventTable . ' LIMIT 2'); + $blobEntries = array_filter($blobEntries, function ($val) { + return $val['idhsrblob'] !== null; + }); // remove null values. + + if (empty($blobEntries)) { + // no longer any blobs in use... delete all blobs + $sql = 'DELETE FROM ' . $blobTable; + Db::query($sql); + return $sql; + } + + $indexes = Db::fetchAll('SHOW INDEX FROM ' . $eventTable); + $indexSql = ''; + foreach ($indexes as $index) { + if ( + (!empty($index['Column_name']) && !empty($index['Key_name']) && $index['Column_name'] === 'idhsrblob') + || (!empty($index['Key_name']) && $index['Key_name'] === 'idhsrblob') + || (!empty($index['Key_name']) && $index['Key_name'] === 'index_idhsrblob') + ) { + $indexSql = 'FORCE INDEX FOR JOIN (' . $index['Key_name'] . ')'; + break; + } + } + + $sql = sprintf('DELETE hsrblob + FROM %s hsrblob + LEFT JOIN %s hsrevent %s on hsrblob.idhsrblob = hsrevent.idhsrblob + WHERE hsrevent.idloghsr is null', $blobTable, $eventTable, $indexSql); + + Db::query($sql); + return $sql; + } + + public function getAllRecords() + { + $blobs = $this->getDb()->fetchAll('SELECT * FROM ' . $this->tablePrefixed); + return $this->enrichRecords($blobs); + } + + private function enrichRecords($blobs) + { + if (!empty($blobs)) { + foreach ($blobs as $index => &$blob) { + if (!empty($blob['compressed'])) { + $blob['value'] = $this->uncompress($blob['value']); + } + } + } + + return $blobs; + } + + private function compress($data) + { + if (!empty($data)) { + return gzcompress($data); + } + + return $data; + } + + private function uncompress($data) + { + if (!empty($data)) { + return gzuncompress($data); + } + + return $data; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsrEvent.php b/files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsrEvent.php new file mode 100644 index 0000000..6a64065 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsrEvent.php @@ -0,0 +1,166 @@ +tablePrefixed = Common::prefixTable($this->table); + $this->logBlobHsr = $logBlobHsr; + } + + private function getDb() + { + if (!isset($this->db)) { + $this->db = Db::get(); + } + return $this->db; + } + + public function install() + { + DbHelper::createTable($this->table, " + `idhsrevent` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, + `idloghsr` INT(10) UNSIGNED NOT NULL, + `time_since_load` BIGINT(8) UNSIGNED NOT NULL DEFAULT 0, + `event_type` TINYINT UNSIGNED NOT NULL DEFAULT 0, + `idselector` INT(10) UNSIGNED NULL DEFAULT NULL, + `x` SMALLINT(5) NOT NULL DEFAULT 0, + `y` SMALLINT(5) NOT NULL DEFAULT 0, + `idhsrblob` INT(10) UNSIGNED DEFAULT NULL, + PRIMARY KEY(`idhsrevent`), + INDEX idloghsr (`idloghsr`), + INDEX idhsrblob (`idhsrblob`)"); + // x and y is not unsigned on purpose as it may hold rarely a negative value + } + + public function uninstall() + { + Db::query(sprintf('DROP TABLE IF EXISTS `%s`', $this->tablePrefixed)); + } + + public function record($idloghsr, $timeSinceLoad, $eventType, $idSelector, $x, $y, $text) + { + if ($x > self::MAX_SIZE) { + $x = self::MAX_SIZE; + } + + if ($y > self::MAX_SIZE) { + $y = self::MAX_SIZE; + } + + if ($x === null || $x === false) { + $x = 0; + } + + if ($y === null || $y === false) { + $y = 0; + } + + $idHsrBlob = $this->logBlobHsr->record($text); + + $values = array( + 'idloghsr' => $idloghsr, + 'time_since_load' => $timeSinceLoad, + 'event_type' => $eventType, + 'idselector' => $idSelector, + 'x' => $x, + 'y' => $y, + 'idhsrblob' => $idHsrBlob, + ); + + $columns = implode('`,`', array_keys($values)); + + $sql = sprintf('INSERT INTO %s (`%s`) VALUES(?,?,?,?,?,?,?) ', $this->tablePrefixed, $columns); + + $bind = array_values($values); + + $this->getDb()->query($sql, $bind); + } + + public function getEventsForPageview($idLogHsr) + { + $sql = sprintf('SELECT %1$s.time_since_load, %1$s.event_type, %1$s.x, %1$s.y, %2$s.name as selector, %3$s.value as text, %3$s.compressed + FROM %1$s + LEFT JOIN %2$s ON %1$s.idselector = %2$s.idaction + LEFT JOIN %3$s ON %1$s.idhsrblob = %3$s.idhsrblob + WHERE %1$s.idloghsr = ? and %1$s.event_type != ? + ORDER BY time_since_load ASC', $this->tablePrefixed, Common::prefixTable('log_action'), Common::prefixTable('log_hsr_blob')); + + $rows = $this->getDb()->fetchAll($sql, array($idLogHsr, RequestProcessor::EVENT_TYPE_CSS)); + foreach ($rows as $index => $row) { + if (!empty($row['compressed'])) { + $rows[$index]['text'] = gzuncompress($row['text']); + } + unset($rows[$index]['compressed']); + } + return $rows; + } + + public function getCssEvents($idSiteHsr, $idLoghsr = '') + { + //idLogHsr will be empty in case of heatmaps, we cannot use it in where clause to resolve that, when its heatmap the where condition is `AND 1=1` and for session recording its `AND x.idloghsr=$idLoghsr` + $idLogHsrLhs = '1'; + $idLogHsrRhs = '1'; + if (!empty($idLoghsr)) { + $idLogHsrLhs = 'x.idloghsr'; + $idLogHsrRhs = $idLoghsr; + } + $sql = sprintf('SELECT distinct z.idhsrblob,a.name as url, z.value as text, z.compressed + FROM %2$s x,%3$s y,%4$s z,%5$s a + WHERE x.idsitehsr=? AND %1$s=? and y.event_type=? and x.idloghsr=y.idloghsr and y.idhsrblob = z.idhsrblob and a.idaction=y.idselector + order by z.idhsrblob ASC', $idLogHsrLhs, Common::prefixTable('log_hsr_site'), Common::prefixTable('log_hsr_event'), Common::prefixTable('log_hsr_blob'), Common::prefixTable('log_action')); + + $rows = $this->getDb()->fetchAll($sql, array($idSiteHsr, $idLogHsrRhs, RequestProcessor::EVENT_TYPE_CSS)); + foreach ($rows as $index => $row) { + if (!empty($row['compressed'])) { + $rows[$index]['text'] = gzuncompress($row['text']); + } + unset($rows[$index]['compressed']); + } + return $rows; + } + + public function getAllRecords() + { + return $this->getDb()->fetchAll('SELECT * FROM ' . $this->tablePrefixed); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsrSite.php b/files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsrSite.php new file mode 100644 index 0000000..aa116c9 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsrSite.php @@ -0,0 +1,143 @@ +tablePrefixed = Common::prefixTable($this->table); + } + + private function getDb() + { + if (!isset($this->db)) { + $this->db = Db::get(); + } + return $this->db; + } + + public function install() + { + // it actually also has the advantage that removing an entry will be fast because when a user clicks on + // "delete heatmap" we could only remove this entry, and then have a daily cronjob to delete all entries that are + // no longer linked. instead of having to directly delete all data. Also it is more efficient to track when eg + // a session and a heatmap is being recording at the same time or when several heatmaps are being recorded at once + DbHelper::createTable($this->table, " + `idsitehsr` INT(10) UNSIGNED NOT NULL, + `idloghsr` INT(10) UNSIGNED NOT NULL, + PRIMARY KEY(`idsitehsr`, `idloghsr`), + INDEX index_idloghsr (`idloghsr`)"); + } + + public function uninstall() + { + Db::query(sprintf('DROP TABLE IF EXISTS `%s`', $this->tablePrefixed)); + } + + public function linkRecord($idLogHsr, $idSiteHsr) + { + $bind = array($idLogHsr,$idSiteHsr); + $sql = sprintf('INSERT INTO %s (`idloghsr`, `idsitehsr`) VALUES(?,?)', $this->tablePrefixed); + + try { + $this->getDb()->query($sql, $bind); + } catch (\Exception $e) { + if (Db::get()->isErrNo($e, \Piwik\Updater\Migration\Db::ERROR_CODE_DUPLICATE_ENTRY)) { + return; + } + throw $e; + } + } + + // should be fast as covered index + public function getNumPageViews($idSiteHsr) + { + $sql = sprintf('SELECT count(*) as numsamples FROM %s WHERE idsitehsr = ?', $this->tablePrefixed); + + return (int) $this->getDb()->fetchOne($sql, array($idSiteHsr)); + } + + // should be fast as covered index + public function getNumSessions($idSiteHsr) + { + $sql = sprintf( + 'SELECT count(distinct idvisit) + FROM %s loghsrsite + left join %s loghsr on loghsr.idloghsr = loghsrsite.idloghsr + left join %s loghsrevent on loghsr.idloghsr = loghsrevent.idloghsr and loghsrevent.event_type = %s + WHERE loghsrsite.idsitehsr = ? and loghsrevent.idhsrblob is not null', + $this->tablePrefixed, + Common::prefixTable('log_hsr'), + Common::prefixTable('log_hsr_event'), + RequestProcessor::EVENT_TYPE_INITIAL_DOM + ); + + return (int) $this->getDb()->fetchOne($sql, array($idSiteHsr)); + } + + public function unlinkRecord($idLogHsr, $idSiteHsr) + { + $sql = sprintf('DELETE FROM %s WHERE idsitehsr = ? and idloghsr = ?', $this->tablePrefixed); + + return $this->getDb()->query($sql, array($idSiteHsr, $idLogHsr)); + } + + public function unlinkSiteRecords($idSiteHsr) + { + $sql = sprintf('DELETE FROM %s WHERE idsitehsr = ?', $this->tablePrefixed); + + return $this->getDb()->query($sql, array($idSiteHsr)); + } + + public function getAllRecords() + { + return $this->getDb()->fetchAll('SELECT * FROM ' . $this->tablePrefixed); + } + + public function deleteNoLongerNeededRecords() + { + // DELETE ALL linked LOG ENTRIES WHOSE idsite does no longer exist or was removed + // we delete links for removed site_hsr entries, and for site_hsr entries with status deleted + // this query should only delete entries when they were deleted manually in the database basically. + // otherwise the application takes already care of removing the needed links + $sql = sprintf( + 'DELETE FROM %1$s WHERE %1$s.idsitehsr NOT IN (select site_hsr.idsitehsr from %2$s site_hsr where site_hsr.status = "%3$s" or site_hsr.status = "%4$s" or site_hsr.status = "%5$s" or site_hsr.status = "%6$s")', + Common::prefixTable('log_hsr_site'), + Common::prefixTable('site_hsr'), + SiteHsrDao::STATUS_ACTIVE, + SiteHsrDao::STATUS_ENDED, + SiteHsrDao::STATUS_PAUSED, + SiteHsrDao::STATUS_ONHOLD + ); + + Db::query($sql); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Dao/SiteHsrDao.php b/files/plugin-HeatmapSessionRecording-5.6.0/Dao/SiteHsrDao.php new file mode 100644 index 0000000..f839278 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Dao/SiteHsrDao.php @@ -0,0 +1,638 @@ +tablePrefixed = Common::prefixTable($this->table); + } + + private function getDb() + { + if (!isset($this->db)) { + $this->db = Db::get(); + } + return $this->db; + } + + public function install() + { + DbHelper::createTable($this->table, " + `idsitehsr` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, + `idsite` INT(10) UNSIGNED NOT NULL, + `name` VARCHAR(" . Name::MAX_LENGTH . ") NOT NULL, + `description` VARCHAR(" . Description::MAX_LENGTH . ") NOT NULL DEFAULT '', + `sample_rate` DECIMAL(4,1) UNSIGNED NOT NULL DEFAULT " . SampleRate::MAX_RATE . ", + `sample_limit` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT 1000, + `match_page_rules` TEXT DEFAULT '', + `excluded_elements` TEXT DEFAULT '', + `record_type` TINYINT(1) UNSIGNED DEFAULT 0, + `page_treemirror` MEDIUMBLOB NULL DEFAULT NULL, + `screenshot_url` VARCHAR(300) NULL DEFAULT NULL, + `breakpoint_mobile` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0, + `breakpoint_tablet` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0, + `min_session_time` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0, + `requires_activity` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, + `capture_keystrokes` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, + `created_date` DATETIME NOT NULL, + `updated_date` DATETIME NOT NULL, + `status` VARCHAR(10) NOT NULL DEFAULT '" . self::STATUS_ACTIVE . "', + `capture_manually` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, + `screenshot_deleted_date` DATETIME NULL DEFAULT NULL, + `login` VARCHAR(100) NULL DEFAULT NULL, + `finished_notified` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, + `auto_repeat` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, + `repeat_source_idsitehsr` INT(10) UNSIGNED NULL DEFAULT NULL, + `scheduled_date` DATETIME NULL, + PRIMARY KEY(`idsitehsr`), + UNIQUE KEY unique_repeat_source (`repeat_source_idsitehsr`), + INDEX index_status_idsite (`status`, `idsite`), + INDEX index_idsite_record_type (`idsite`, `record_type`)"); + } + + /** + * @param string|null|false $login The login to store. Pass `false` (the default) to fall back to the current user, + * or an explicit value - including `null` - to store it as given. + * @param int|null $repeatSourceIdSiteHsr The heatmap this record is a repeat copy of. A unique key on the column + * makes creating a repeat copy idempotent. + */ + public function createHeatmapRecord( + $idSite, + $name, + $sampleLimit, + $sampleRate, + $matchPageRules, + $excludedElements, + $screenshotUrl, + $breakpointMobile, + $breakpointTablet, + $status, + $captureDomManually, + $createdDate, + $description = '', + $autoRepeat = false, + $login = false, + $scheduledDate = null, + $repeatSourceIdSiteHsr = null + ) { + $columns = array( + 'idsite' => $idSite, + 'name' => $name, + 'description' => (string) $description, + 'sample_limit' => $sampleLimit, + 'match_page_rules' => $matchPageRules, + 'sample_rate' => $sampleRate, + 'status' => $status, + 'record_type' => self::RECORD_TYPE_HEATMAP, + 'created_date' => $createdDate, + 'updated_date' => $createdDate, + 'capture_manually' => !empty($captureDomManually) ? 1 : 0, + 'auto_repeat' => !empty($autoRepeat) ? 1 : 0, + ); + + if (!empty($excludedElements)) { + $columns['excluded_elements'] = $excludedElements; + } + + if (!empty($screenshotUrl)) { + $columns['screenshot_url'] = $screenshotUrl; + } + if ($breakpointMobile !== false && $breakpointMobile !== null) { + $columns['breakpoint_mobile'] = $breakpointMobile; + } + + if ($breakpointTablet !== false && $breakpointTablet !== null) { + $columns['breakpoint_tablet'] = $breakpointTablet; + } + + if (!empty($scheduledDate)) { + $columns['scheduled_date'] = $scheduledDate; + } + + if (!empty($repeatSourceIdSiteHsr)) { + $columns['repeat_source_idsitehsr'] = (int) $repeatSourceIdSiteHsr; + } + + if ($login === false) { + $login = Piwik::getCurrentUserLogin(); + } + + if (!empty($login)) { + $columns['login'] = $login; + } + + return $this->insertColumns($columns); + } + + public function getRecordLogin($idSite, $idSiteHsr) + { + $sql = sprintf('SELECT login FROM %s WHERE idsite = ? AND idsitehsr = ? LIMIT 1', $this->tablePrefixed); + + return $this->getDb()->fetchOne($sql, array((int) $idSite, (int) $idSiteHsr)); + } + + public function getRecordStatus($idSite, $idSiteHsr, $recordType) + { + $sql = sprintf('SELECT status FROM %s WHERE idsite = ? AND idsitehsr = ? AND record_type = ? LIMIT 1', $this->tablePrefixed); + + return $this->getDb()->fetchOne($sql, array((int) $idSite, (int) $idSiteHsr, $recordType)); + } + + /** + * @param string|null|false $login The login to store. Pass `false` (the default) to fall back to the current user, + * or an explicit value - including `null` - to store it as given. + * @param int|null $repeatSourceIdSiteHsr The record this record is a repeat copy of. A unique key on the column + * makes creating a repeat copy idempotent. + */ + public function createSessionRecord( + $idSite, + $name, + $sampleLimit, + $sampleRate, + $matchPageRules, + $minSessionTime, + $requiresActivity, + $captureKeystrokes, + $status, + $createdDate, + $description = '', + $autoRepeat = false, + $login = false, + $scheduledDate = null, + $repeatSourceIdSiteHsr = null + ) { + $columns = array( + 'idsite' => $idSite, + 'name' => $name, + 'description' => (string) $description, + 'sample_limit' => $sampleLimit, + 'match_page_rules' => $matchPageRules, + 'sample_rate' => $sampleRate, + 'status' => $status, + 'record_type' => self::RECORD_TYPE_SESSION, + 'min_session_time' => !empty($minSessionTime) ? $minSessionTime : 0, + 'requires_activity' => !empty($requiresActivity) ? 1 : 0, + 'capture_keystrokes' => !empty($captureKeystrokes) ? 1 : 0, + 'created_date' => $createdDate, + 'updated_date' => $createdDate, + 'auto_repeat' => !empty($autoRepeat) ? 1 : 0, + ); + + if (!empty($scheduledDate)) { + $columns['scheduled_date'] = $scheduledDate; + } + + if (!empty($repeatSourceIdSiteHsr)) { + $columns['repeat_source_idsitehsr'] = (int) $repeatSourceIdSiteHsr; + } + + if ($login === false) { + $login = Piwik::getCurrentUserLogin(); + } + + if (!empty($login)) { + $columns['login'] = $login; + } + + return $this->insertColumns($columns); + } + + private function insertColumns($columns) + { + $columns = $this->encodeFieldsWhereNeeded($columns); + + $bind = array_values($columns); + $placeholder = Common::getSqlStringFieldsArray($columns); + + $sql = sprintf( + 'INSERT INTO %s (`%s`) VALUES(%s)', + $this->tablePrefixed, + implode('`,`', array_keys($columns)), + $placeholder + ); + + $this->getDb()->query($sql, $bind); + + $idSiteHsr = $this->getDb()->lastInsertId(); + + return (int) $idSiteHsr; + } + + protected function getCurrentTime() + { + return Date::now()->getDatetime(); + } + + public function updateHsrColumns($idSite, $idSiteHsr, $columns) + { + $columns = $this->encodeFieldsWhereNeeded($columns); + + if (!empty($columns)) { + if (!isset($columns['updated_date'])) { + $columns['updated_date'] = $this->getCurrentTime(); + } + + if (!empty($columns['page_treemirror'])) { + $columns['capture_manually'] = 0; + } elseif (!empty($columns['capture_manually'])) { + $columns['page_treemirror'] = null; + } + + $fields = array(); + $bind = array(); + foreach ($columns as $key => $value) { + $fields[] = ' ' . $key . ' = ?'; + $bind[] = $value; + } + $fields = implode(',', $fields); + + $query = sprintf('UPDATE %s SET %s WHERE idsitehsr = ? AND idsite = ?', $this->tablePrefixed, $fields); + $bind[] = (int) $idSiteHsr; + $bind[] = (int) $idSite; + + // we do not use $db->update() here as this method is as well used in Tracker mode and the tracker DB does not + // support "->update()". Therefore we use the query method where we know it works with tracker and regular DB + $this->getDb()->query($query, $bind); + } + } + + public function hasRecords($idSite, $recordType) + { + $sql = sprintf('SELECT idsite FROM %s WHERE record_type = ? and `status` IN(?,?,?) and idsite = ? LIMIT 1', $this->tablePrefixed); + $records = $this->getDb()->fetchRow($sql, array($recordType, self::STATUS_ENDED, self::STATUS_ACTIVE, self::STATUS_ONHOLD, $idSite)); + + return !empty($records); + } + + public function deleteRecord($idSite, $idSiteHsr) + { + // now we delete the heatmap manually and it should notice all log entries for that heatmap are no longer needed + $sql = sprintf('DELETE FROM %s WHERE idsitehsr = ? and idsite = ?', $this->tablePrefixed); + Db::query($sql, array($idSiteHsr, $idSite)); + } + + public function getFinishedRecordsPendingNotification() + { + $sql = sprintf('SELECT idsitehsr, idsite, name, record_type, login FROM %s WHERE status = ? AND finished_notified = 0 AND login IS NOT NULL', $this->tablePrefixed); + + return $this->getDb()->fetchAll($sql, array(self::STATUS_ENDED)); + } + + public function markNotified($idSiteHsr) + { + $sql = sprintf('UPDATE %s SET finished_notified = 1 WHERE idsitehsr = ?', $this->tablePrefixed); + $this->getDb()->query($sql, array((int) $idSiteHsr)); + } + + /** + * A record is pending a repeat while no copy referencing it exists yet. Deriving this from the copies themselves + * means a failed run simply retries, and the unique key on repeat_source_idsitehsr prevents a second copy. + */ + public function getRecordsPendingRepeat($recordType) + { + $sql = sprintf( + 'SELECT s.idsitehsr, s.idsite, s.name FROM %1$s s WHERE s.status = ? AND s.auto_repeat = 1 AND s.record_type = ? + AND NOT EXISTS (SELECT 1 FROM %1$s c WHERE c.repeat_source_idsitehsr = s.idsitehsr)', + $this->tablePrefixed + ); + + return $this->getDb()->fetchAll($sql, array(self::STATUS_ENDED, $recordType)); + } + + public function getOnHoldRecordsToActivate($recordType) + { + $sql = sprintf('SELECT idsitehsr, idsite FROM %s WHERE status = ? AND scheduled_date IS NOT NULL AND scheduled_date <= ? AND record_type = ?', $this->tablePrefixed); + + return $this->getDb()->fetchAll($sql, array(self::STATUS_ONHOLD, $this->getCurrentTime(), $recordType)); + } + + /** + * Activates an on hold record only while it is still on hold and still due, so a record that was ended, deleted or + * rescheduled after the batch was selected is left untouched. + * + * @return bool whether the record was activated + */ + public function activateOnHoldRecord($idSite, $idSiteHsr, $activatedDate, $recordType) + { + $sql = sprintf( + 'UPDATE %s SET status = ?, created_date = ?, updated_date = ? + WHERE idsitehsr = ? AND idsite = ? AND record_type = ? AND status = ? AND scheduled_date IS NOT NULL AND scheduled_date <= ?', + $this->tablePrefixed + ); + + $query = $this->getDb()->query($sql, array( + self::STATUS_ACTIVE, + $activatedDate, + $activatedDate, + (int) $idSiteHsr, + (int) $idSite, + $recordType, + self::STATUS_ONHOLD, + $this->getCurrentTime(), + )); + + return $query->rowCount() > 0; + } + + public function anonymizeLogin($userLogin) + { + $sql = sprintf('UPDATE %s SET login = NULL WHERE login = ?', $this->tablePrefixed); + $this->getDb()->query($sql, array($userLogin)); + } + + private function getAllFieldNames($includePageTreeMirror) + { + $fields = '`idsitehsr`,`idsite`,`name`, `description`, `sample_rate`, `sample_limit`, `match_page_rules`, `excluded_elements`, `record_type`, '; + if (!empty($includePageTreeMirror)) { + $fields .= '`page_treemirror`,'; + } + $fields .= '`screenshot_url`, `breakpoint_mobile`, `breakpoint_tablet`, `min_session_time` , `requires_activity`, `capture_keystrokes`, `created_date`, `updated_date`, `status`, '; + $fields .= '`capture_manually`, `screenshot_deleted_date`, `auto_repeat`, `scheduled_date`'; + return $fields; + } + + public function getRecords($idSite, $recordType, $includePageTreeMirror) + { + $fields = $this->getAllFieldNames($includePageTreeMirror); + $sql = sprintf('SELECT ' . $fields . ' FROM %s WHERE record_type = ? and `status` IN(?,?,?,?) and idsite = ? order by created_date desc', $this->tablePrefixed); + $records = $this->getDb()->fetchAll($sql, array($recordType, self::STATUS_ENDED, self::STATUS_ACTIVE, self::STATUS_PAUSED, self::STATUS_ONHOLD, $idSite)); + + return $this->enrichRecords($records); + } + + /** + * Returns only active heatmaps that have a snapshot, page_treemirror included. + * + * Unlike {@see getRecords()} this filters in SQL, so ended/paused heatmaps and their + * potentially large page_treemirror blobs are never loaded into memory. + */ + public function getActiveHeatmapsWithPageTreemirror($idSite) + { + $fields = $this->getAllFieldNames($includePageTreeMirror = true); + $sql = sprintf('SELECT ' . $fields . ' FROM %s WHERE record_type = ? and `status` = ? and idsite = ? and page_treemirror IS NOT NULL and page_treemirror != \'\' order by created_date desc', $this->tablePrefixed); + $records = $this->getDb()->fetchAll($sql, array(self::RECORD_TYPE_HEATMAP, self::STATUS_ACTIVE, $idSite)); + + return $this->enrichRecords($records); + } + + public function getRecord($idSite, $idSiteHsr, $recordType) + { + $sql = sprintf('SELECT * FROM %s WHERE record_type = ? and `status` IN(?,?,?,?) and idsite = ? and idsitehsr = ? LIMIT 1', $this->tablePrefixed); + $record = $this->getDb()->fetchRow($sql, array($recordType, self::STATUS_ENDED, self::STATUS_ACTIVE, self::STATUS_PAUSED, self::STATUS_ONHOLD, $idSite, $idSiteHsr)); + + return $this->enrichRecord($record); + } + + public function getNumRecordsTotal($recordType) + { + $sql = sprintf('SELECT count(*) as total FROM %s WHERE record_type = ? and `status` IN(?,?,?,?)', $this->tablePrefixed); + return $this->getDb()->fetchOne($sql, array($recordType, self::STATUS_ENDED, self::STATUS_ACTIVE, self::STATUS_PAUSED, self::STATUS_ONHOLD)); + } + + public function hasActiveRecordsAcrossSites() + { + $query = $this->getQueryActiveRequests(); + + $sql = sprintf("SELECT count(*) as numrecords FROM %s WHERE %s LIMIT 1", $this->tablePrefixed, $query['where']); + $numRecords = $this->getDb()->fetchOne($sql, $query['bind']); + + return !empty($numRecords); + } + + private function getQueryActiveRequests() + { + // for sessions we also need to return ended sessions to make sure to record all page views once a user takes part in + // a session recording. Otherwise as soon as the limit of sessions has reached, it would stop recording any further page views in already started session recordings + + // we only fetch recorded sessions with status ended for the last 24 hours to not expose any potential config and for faster processing etc + $oneDayAgo = Date::now()->subDay(1)->getDatetime(); + + return array( + 'where' => '(status = ? or (record_type = ? and status = ? and updated_date > ?))', + 'bind' => array(self::STATUS_ACTIVE, self::RECORD_TYPE_SESSION, self::STATUS_ENDED, $oneDayAgo) + ); + } + + /** + * For performance reasons the page_treemirror will be read only partially! + * @param $idSite + * @return mixed + * @throws \Piwik\Tracker\Db\DbException + */ + public function getActiveRecords($idSite) + { + $query = $this->getQueryActiveRequests(); + + $bind = $query['bind']; + $bind[] = $idSite; + + $fields = $this->getAllFieldNames(false); + // we want to avoid needing to read all the entire treemirror every time the tracking cache will be updated + // as in worst case every treemirror can be 16MB or in rare cases even more. Most of the time it's only like 50KB or so + // but we want to avoid fetching heaps of unneeded data + $fields .= ', SUBSTRING(page_treemirror, 1, 10) as page_treemirror'; + + // NOTE: If you adjust this query, you might also + $sql = sprintf("SELECT " . $fields . " FROM %s WHERE %s and idsite = ? ORDER BY idsitehsr asc", $this->tablePrefixed, $query['where']); + $records = $this->getDb()->fetchAll($sql, $bind); + + foreach ($records as $index => $record) { + if (!empty($record['page_treemirror'])) { + // avoids an error when it tries to uncompress + $records[$index]['page_treemirror'] = $this->compress($record['page_treemirror']); + } + } + + return $this->enrichRecords($records); + } + + private function enrichRecords($records) + { + if (empty($records)) { + return $records; + } + + foreach ($records as $index => $record) { + $records[$index] = $this->enrichRecord($record); + } + + return $records; + } + + private function enrichRecord($record) + { + if (empty($record)) { + return $record; + } + + $record['idsitehsr'] = (int) $record['idsitehsr']; + $record['idsite'] = (int) $record['idsite']; + $record['sample_rate'] = number_format($record['sample_rate'], 1, '.', ''); + $record['record_type'] = (int) $record['record_type']; + $record['sample_limit'] = (int) $record['sample_limit']; + $record['min_session_time'] = (int) $record['min_session_time']; + $record['breakpoint_mobile'] = (int) $record['breakpoint_mobile']; + $record['breakpoint_tablet'] = (int) $record['breakpoint_tablet']; + $record['match_page_rules'] = $this->decodeField($record['match_page_rules']); + $record['requires_activity'] = !empty($record['requires_activity']); + $record['capture_keystrokes'] = !empty($record['capture_keystrokes']); + $record['capture_manually'] = !empty($record['capture_manually']) ? 1 : 0; + $record['auto_repeat'] = !empty($record['auto_repeat']) ? 1 : 0; + + if (!empty($record['page_treemirror'])) { + $record['page_treemirror'] = $this->uncompress($record['page_treemirror']); + } else { + $record['page_treemirror'] = ''; + } + + if ($record['record_type'] === self::RECORD_TYPE_SESSION) { + // screenshot_deleted_date is heatmap-only; never expose it on session records + unset($record['screenshot_deleted_date']); + } + + // these columns are internal and should not be exposed via getRecord()/getRecords(). + // getAllEntities() restores them explicitly. + unset($record['login'], $record['finished_notified'], $record['repeat_source_idsitehsr']); + + return $record; + } + + public function uninstall() + { + Db::query(sprintf('DROP TABLE IF EXISTS `%s`', $this->tablePrefixed)); + } + + public function getAllEntities() + { + $records = $this->getDb()->fetchAll('SELECT * FROM ' . $this->tablePrefixed); + + $enriched = $this->enrichRecords($records); + + // enrichRecord() strips the internal login/finished_notified columns; restore them here + foreach ($enriched as $index => $record) { + if (array_key_exists('login', $records[$index])) { + $enriched[$index]['login'] = $records[$index]['login']; + } + if (array_key_exists('finished_notified', $records[$index])) { + $enriched[$index]['finished_notified'] = (int) $records[$index]['finished_notified']; + } + if (array_key_exists('repeat_source_idsitehsr', $records[$index])) { + $source = $records[$index]['repeat_source_idsitehsr']; + $enriched[$index]['repeat_source_idsitehsr'] = $source === null ? null : (int) $source; + } + } + + return $enriched; + } + + private function encodeFieldsWhereNeeded($columns) + { + foreach ($columns as $column => $value) { + if ($column === 'match_page_rules') { + $columns[$column] = $this->encodeField($value); + } elseif ($column === 'page_treemirror') { + if (!empty($value)) { + $columns[$column] = $this->compress($value); + } else { + $columns[$column] = null; + } + } elseif (in_array($column, array('breakpoint_mobile', 'breakpoint_tablet', 'min_session_time', 'sample_rate'), $strict = true)) { + if ($value > self::MAX_SMALLINT) { + $columns[$column] = self::MAX_SMALLINT; + } + } elseif (in_array($column, array('requires_activity', 'capture_keystrokes'), $strict = true)) { + if (!empty($value)) { + $columns[$column] = 1; + } else { + $columns[$column] = 0; + } + } + } + + return $columns; + } + + private function compress($data) + { + if (!empty($data)) { + return gzcompress($data); + } + + return $data; + } + + private function uncompress($data) + { + if (!empty($data)) { + return gzuncompress($data); + } + + return $data; + } + + private function encodeField($field) + { + if (empty($field) || !is_array($field)) { + $field = array(); + } + + return json_encode($field); + } + + private function decodeField($field) + { + if (!empty($field)) { + $field = @json_decode($field, true); + } + + if (empty($field) || !is_array($field)) { + $field = array(); + } + + return $field; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/DataTable/Filter/EnrichRecordedSessions.php b/files/plugin-HeatmapSessionRecording-5.6.0/DataTable/Filter/EnrichRecordedSessions.php new file mode 100644 index 0000000..0a306e7 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/DataTable/Filter/EnrichRecordedSessions.php @@ -0,0 +1,73 @@ +getRowsWithoutSummaryRow() as $row) { + if ($isAnonymous) { + foreach (self::getBlockedFields() as $blockedField) { + if ($row->getColumn($blockedField) !== false) { + $row->setColumn($blockedField, false); + } + } + } else { + $row->setColumn('idvisitor', bin2hex($row->getColumn('idvisitor'))); + } + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Diagnostic/ConfigsPhpCheck.php b/files/plugin-HeatmapSessionRecording-5.6.0/Diagnostic/ConfigsPhpCheck.php new file mode 100644 index 0000000..c436154 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Diagnostic/ConfigsPhpCheck.php @@ -0,0 +1,112 @@ +translator = $translator; + } + + public function execute() + { + $label = $this->translator->translate('Heatmap & Session Recording Tracking'); + + $site = new Model(); + $idSites = $site->getSitesId(); + $idSite = array_shift($idSites); + + $baseUrl = SettingsPiwik::getPiwikUrl(); + if (!Common::stringEndsWith($baseUrl, '/')) { + $baseUrl .= '/'; + } + + $baseUrl .= HeatmapSessionRecording::getPathPrefix() . '/'; + $baseUrl .= 'HeatmapSessionRecording/configs.php'; + $testUrl = $baseUrl . '?idsite=' . (int) $idSite . '&trackerid=5lX6EM&url=http%3A%2F%2Ftest.test%2F'; + + $error = null; + $response = null; + + $errorResult = $this->translator->translate('HeatmapSessionRecording_ConfigsPhpErrorResult'); + $manualCheck = $this->translator->translate('HeatmapSessionRecording_ConfigsPhpManualCheck'); + + if (method_exists('\Piwik\SettingsPiwik', 'isInternetEnabled')) { + $isInternetEnabled = SettingsPiwik::isInternetEnabled(); + if (!$isInternetEnabled) { + $unknown = $this->translator->translate('HeatmapSessionRecording_ConfigsInternetDisabled', $testUrl) . ' ' . $manualCheck; + return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_WARNING, $unknown)); + } + } + + try { + $response = Http::sendHttpRequest($testUrl, $timeout = 2); + } catch (\Exception $e) { + $error = $e->getMessage(); + } + + if (!empty($response)) { + $response = Common::mb_strtolower($response); + if (strpos($response, 'piwik.heatmapsessionrecording') !== false) { + $message = $this->translator->translate('HeatmapSessionRecording_ConfigsPhpSuccess', $baseUrl); + return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_OK, $message)); + } elseif (strpos($response, 'forbidden') !== false || strpos($response, ' forbidden') !== false || strpos($response, ' denied ') !== false || strpos($response, '403 ') !== false || strpos($response, '404 ') !== false) { + // Likely the server returned eg a 403 HTML + $message = $this->translator->translate('HeatmapSessionRecording_ConfigsPhpNotAccessible', array($testUrl)) . ' ' . $errorResult; + return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_ERROR, $message)); + } + } + + if (!empty($error)) { + $error = Common::mb_strtolower($error); + + if (strpos($error, 'forbidden ') !== false || strpos($error, ' forbidden') !== false || strpos($error, 'denied ') !== false || strpos($error, '403 ') !== false || strpos($error, '404 ') !== false) { + $message = $this->translator->translate('HeatmapSessionRecording_ConfigsPhpNotAccessible', array($testUrl)) . ' ' . $errorResult; + return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_ERROR, $message)); + } + + if (strpos($error, 'ssl ') !== false || strpos($error, ' ssl') !== false || strpos($error, 'self signed') !== false || strpos($error, 'certificate ') !== false) { + $message = $this->translator->translate('HeatmapSessionRecording_ConfigsPhpSelfSignedError', array($testUrl)) . ' ' . $manualCheck; + return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_WARNING, $message)); + } + + $unknownError = $this->translator->translate('HeatmapSessionRecording_ConfigsPhpUnknownError', array($testUrl, $error)) . ' ' . $errorResult; + return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_WARNING, $unknownError)); + } + + $unknown = $this->translator->translate('HeatmapSessionRecording_ConfigsPhpUnknown', $testUrl) . $manualCheck; + return array(DiagnosticResult::singleResult($label, DiagnosticResult::STATUS_WARNING, $unknown)); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Emails/FinishedEmail.php b/files/plugin-HeatmapSessionRecording-5.6.0/Emails/FinishedEmail.php new file mode 100644 index 0000000..f10b809 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Emails/FinishedEmail.php @@ -0,0 +1,132 @@ +toEmail = $toEmail; + $this->name = $name; + $this->idSite = $idSite; + $this->idSiteHsr = $idSiteHsr; + $this->login = $login; + + $this->setUpEmail(); + } + + private function setUpEmail() + { + $this->setDefaultFromPiwik(); + $this->addTo($this->toEmail); + $this->setSubject($this->getEmailSubject()); + $this->addReplyTo($this->getFrom(), $this->getFromName()); + $this->setWrappedHtmlBody($this->getBodyView()); + } + + protected function getBodyView() + { + $view = new View('@HeatmapSessionRecording/_finishedEmail.twig'); + $view->bodyText = $this->getEmailBodyText(); + $view->greeting = Piwik::translate('HeatmapSessionRecording_EmailFinishedGreeting'); + $view->regards = Piwik::translate('HeatmapSessionRecording_EmailFinishedRegards'); + $view->team = Piwik::translate('HeatmapSessionRecording_EmailFinishedTeam'); + $view->unsubscribeText = $this->getUnsubscribeText(); + + return $view; + } + + protected function buildReportUrl(): string + { + $baseUrl = rtrim(SettingsPiwik::getPiwikUrl(), '/') . '/'; + + $idSite = (int) $this->idSite; + $idSiteHsr = (int) $this->idSiteHsr; + $recordType = (int) $this->getRecordType(); + + // Route through the goToReport action so the id can be validated server-side before the + // reporting SPA loads. If the heatmap/session recording was deleted after the email was + // sent, the action redirects to the Manage page with a "no longer exists" notice instead + // of silently falling back to another available report. + return $baseUrl + . 'index.php?module=HeatmapSessionRecording&action=goToReport' + . '&idSite=' . $idSite + . '&idSiteHsr=' . $idSiteHsr + . '&recordType=' . $recordType; + } + + protected function getEmailBodyText(): string + { + // Escape both the link and the (user-controlled) name so they are safe under {{ bodyText|raw }}. + $safeUrl = Common::sanitizeInputValue($this->buildReportUrl()); + $linkText = Common::sanitizeInputValue(Piwik::translate('HeatmapSessionRecording_EmailViewResultsLink')); + $link = '' . $linkText . ''; + $safeName = Common::sanitizeInputValue(Common::unsanitizeInputValue($this->name)); + + return Piwik::translate($this->getBodyTranslationKey(), array($safeName, $link)); + } + + protected function getUnsubscribeText(): string + { + // Escape the link so it is safe under {{ unsubscribeText|raw }}. + $safeUrl = Common::sanitizeInputValue(Unsubscribe::buildUrl($this->login, $this->toEmail)); + $linkText = Common::sanitizeInputValue(Piwik::translate('HeatmapSessionRecording_Unsubscribe')); + $link = '' . $linkText . ''; + + return Piwik::translate('HeatmapSessionRecording_EmailUnsubscribeText', array($link)); + } + + abstract protected function getEmailSubject(): string; + + abstract protected function getBodyTranslationKey(): string; + + abstract protected function getRecordType(): int; +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Emails/HeatmapFinishedEmail.php b/files/plugin-HeatmapSessionRecording-5.6.0/Emails/HeatmapFinishedEmail.php new file mode 100644 index 0000000..7ae0eb9 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Emails/HeatmapFinishedEmail.php @@ -0,0 +1,38 @@ + + private const WEIGHT_TEXT = 1; // headings / paragraphs (stray clicks) + + /** tags that are not rendered / have no visible area, so movement never lands on them */ + private const NON_VISIBLE_TAGS = [ + 'script', 'style', 'head', 'title', 'meta', 'link', 'base', 'noscript', + 'template', 'br', 'wbr', 'param', 'source', 'track', 'col', 'colgroup', + ]; + + /** @var array weighted interactive targets for clicks */ + private $clickTargets = []; + /** @var int */ + private $totalWeight = 0; + /** @var string[] selectors of all visible elements, for (near-uniform) mouse movement */ + private $moveTargets = []; + + public function __construct(string $treemirrorJson) + { + $decoded = json_decode($treemirrorJson, true); + if (!is_array($decoded) || empty($decoded['children'])) { + return; + } + $this->buildTargets(new HsrCssPath($decoded)); + } + + public function hasTargets(): bool + { + return $this->totalWeight > 0; + } + + private function buildTargets(HsrCssPath $cssPath): void + { + foreach ($cssPath->elementIds() as $id) { + $tag = $cssPath->getTagName($id); + $isVisible = !in_array($tag, self::NON_VISIBLE_TAGS, true); + $weight = $this->weightFor($cssPath, $id, $tag); + if ($weight <= 0 && !$isVisible) { + continue; // neither clickable nor a valid movement target + } + + $selector = $cssPath->getSelector($id); + if ($selector === '') { + continue; + } + if ($weight > 0) { + $this->clickTargets[] = ['selector' => $selector, 'weight' => $weight]; + $this->totalWeight += $weight; + } + if ($isVisible) { + $this->moveTargets[] = $selector; + } + } + } + + private function weightFor(HsrCssPath $cssPath, int $id, ?string $tag): int + { + switch ($tag) { + case 'a': + return self::WEIGHT_LINK; + case 'button': + return self::WEIGHT_CTA; + case 'select': + case 'textarea': + return self::WEIGHT_FIELD; + case 'input': + $type = strtolower((string) $cssPath->getAttribute($id, 'type')); + if (in_array($type, ['submit', 'button', 'reset'], true)) { + return self::WEIGHT_CTA; + } + if (in_array($type, ['hidden', 'checkbox', 'radio'], true)) { + return 0; + } + return self::WEIGHT_FIELD; + case 'img': + return $cssPath->isWithinTag($id, 'a') ? self::WEIGHT_LINK_IMAGE : 0; + case 'h1': + case 'h2': + case 'h3': + case 'p': + return self::WEIGHT_TEXT; + default: + if (strtolower((string) $cssPath->getAttribute($id, 'role')) === 'button') { + return self::WEIGHT_CTA; + } + return 0; + } + } + + /** + * Build one recording's worth of events for a visit. + * + * The viewport is taken from the visit's tracked screen resolution when given: the `res` + * tracking param determines the heatmap device group (LogHsr::getDeviceType()), so a mobile + * visit must not carry a desktop-sized viewport/fold. + * + * @param mixed $faker \Faker\Generator; Faker ships in VisitorGenerator's vendor dir, so the + * class is not resolvable from this plugin and the param stays untyped + * @param int|null $screenWidth the visit's tracked resolution, used as the viewport + * @param int|null $screenHeight + * @return array{events:array,total_time:int,viewport_width:int,viewport_height:int,scroll_max:int,fold:int}|null + */ + public function generateVisit($faker, ?int $screenWidth = null, ?int $screenHeight = null): ?array + { + if (!$this->hasTargets()) { + return null; + } + + if (!empty($screenWidth) && !empty($screenHeight)) { + [$vw, $vh] = [$screenWidth, $screenHeight]; + } else { + [$vw, $vh] = $faker->randomElement([[1920, 1080], [1536, 864], [1440, 900], [1366, 768]]); + } + $docHeight = $faker->numberBetween(2400, 6000); + $fold = (int) round(($vh / $docHeight) * self::SCROLL_ACCURACY); + + $numClicks = $faker->numberBetween(1, 6); + $numMoves = $faker->numberBetween(2, 8); + $numScrolls = $faker->numberBetween(1, 4); + + $events = []; + $time = $faker->numberBetween(200, 900); + + // interleave moves and clicks + $actions = array_merge(array_fill(0, $numClicks, 'click'), array_fill(0, $numMoves, 'move')); + shuffle($actions); + foreach ($actions as $action) { + $time += $faker->numberBetween(150, 1400); + $isClick = ($action === 'click'); + $events[] = [ + 'ti' => $time, + 'ty' => $isClick ? RequestProcessor::EVENT_TYPE_CLICK : RequestProcessor::EVENT_TYPE_MOVEMENT, + 's' => $isClick ? $this->pickClickSelector($faker) : $this->pickMoveSelector($faker), + // even numbers only, matching the tracker (it bumps odd offsets to even to + // reduce row cardinality when grouping / archiving, see tracker.js) + 'x' => $faker->numberBetween(self::OFFSET_MIN / 2, self::OFFSET_MAX / 2) * 2, + 'y' => $faker->numberBetween(self::OFFSET_MIN / 2, self::OFFSET_MAX / 2) * 2, + ]; + } + + // scrolls (down the page) + $scrollMax = $faker->numberBetween(150, 350); + for ($i = 0; $i < $numScrolls; $i++) { + $time += $faker->numberBetween(300, 2000); + $scrollMax = min(self::SCROLL_ACCURACY, $scrollMax + $faker->numberBetween(0, 200)); + $events[] = ['ti' => $time, 'ty' => RequestProcessor::EVENT_TYPE_SCROLL, 'x' => 0, 'y' => $scrollMax]; + } + + usort($events, function ($a, $b) { + return $a['ti'] <=> $b['ti']; + }); + + return [ + 'events' => $events, + 'total_time' => $time + $faker->numberBetween(500, 3000), + 'viewport_width' => $vw, + 'viewport_height' => $vh, + 'scroll_max' => $scrollMax, + 'fold' => $fold, + ]; + } + + /** Weighted toward interactive elements, with some spread. */ + private function pickClickSelector($faker): string + { + // 30% uniform for spread, otherwise weighted toward interactive elements + if ($faker->boolean(30)) { + return $this->clickTargets[$faker->numberBetween(0, count($this->clickTargets) - 1)]['selector']; + } + $r = $faker->numberBetween(1, $this->totalWeight); + foreach ($this->clickTargets as $target) { + $r -= $target['weight']; + if ($r <= 0) { + return $target['selector']; + } + } + return $this->clickTargets[count($this->clickTargets) - 1]['selector']; + } + + /** Near-uniform across all visible elements - movement is not tied to interactive elements. */ + private function pickMoveSelector($faker): string + { + if (empty($this->moveTargets)) { + return $this->pickClickSelector($faker); + } + return $this->moveTargets[$faker->numberBetween(0, count($this->moveTargets) - 1)]; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Fake/HsrCssPath.php b/files/plugin-HeatmapSessionRecording-5.6.0/Fake/HsrCssPath.php new file mode 100644 index 0000000..87c8d53 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Fake/HsrCssPath.php @@ -0,0 +1,283 @@ + id => node (nodeType, tagName, attributes, parentId, childIds, elementChildIds) */ + private $nodes = []; + + /** + * @param array $treemirror decoded page_treemirror: ['rootId' => int, 'children' => [...]] + */ + public function __construct(array $treemirror) + { + // Synthetic document node so top-level elements have a DOCUMENT parent, matching the browser DOM. + // A non-numeric sentinel key is used instead of the treemirror rootId: some snapshots number + // their nodes starting from the same value as rootId, which would otherwise overwrite the + // document node and create a parent-pointer cycle (infinite loop when walking ancestors). + $this->nodes[self::DOCUMENT_KEY] = ['nodeType' => self::NODE_DOCUMENT, 'tagName' => null, 'attributes' => [], 'parentId' => null, 'childIds' => []]; + foreach (($treemirror['children'] ?? []) as $child) { + $this->addNode($child, self::DOCUMENT_KEY); + } + // precompute element-only child lists (matches JS parent.children) + foreach ($this->nodes as $id => $node) { + $this->nodes[$id]['elementChildIds'] = array_values(array_filter( + $node['childIds'], + function ($cid) { + return $this->nodes[$cid]['nodeType'] === self::NODE_ELEMENT; + } + )); + } + } + + private function addNode(array $node, $parentId): void + { + if (!isset($node['id'])) { + return; + } + $id = (int) $node['id']; + $this->nodes[$id] = [ + 'nodeType' => $node['nodeType'] ?? 0, + 'tagName' => $node['tagName'] ?? null, + 'attributes' => $node['attributes'] ?? [], + 'parentId' => $parentId, + 'childIds' => [], + ]; + $this->nodes[$parentId]['childIds'][] = $id; + foreach (($node['childNodes'] ?? []) as $child) { + $this->addNode($child, $id); + } + } + + /** @return int[] ids of all element nodes */ + public function elementIds(): array + { + $ids = []; + foreach ($this->nodes as $id => $node) { + if ($node['nodeType'] === self::NODE_ELEMENT) { + $ids[] = $id; + } + } + return $ids; + } + + public function getTagName(int $id): ?string + { + $tag = $this->nodes[$id]['tagName'] ?? null; + return $tag === null ? null : strtolower($tag); + } + + public function getAttribute(int $id, string $name): ?string + { + return $this->nodes[$id]['attributes'][$name] ?? null; + } + + /** Whether the node has an ancestor with the given (lowercase) tag name. */ + public function isWithinTag(int $id, string $tagName): bool + { + $parentId = $this->nodes[$id]['parentId'] ?? null; + while ($parentId !== null && isset($this->nodes[$parentId])) { + if (strtolower((string) ($this->nodes[$parentId]['tagName'] ?? '')) === $tagName) { + return true; + } + $parentId = $this->nodes[$parentId]['parentId'] ?? null; + } + return false; + } + + public function getSelector(int $id): string + { + return $this->cssPath($id); + } + + private function cssPath(int $id): string + { + if (($this->nodes[$id]['nodeType'] ?? null) !== self::NODE_ELEMENT) { + return ''; + } + $steps = []; + $contextId = $id; + while ($contextId !== null && isset($this->nodes[$contextId])) { + $step = $this->cssPathStep($contextId, $contextId === $id); + if ($step === null) { + break; + } + $steps[] = $step['value']; + if ($step['optimized']) { + break; + } + $contextId = $this->nodes[$contextId]['parentId']; + } + return implode(' > ', array_reverse($steps)); + } + + /** @return array{value:string,optimized:bool}|null */ + private function cssPathStep($id, bool $isTargetNode): ?array + { + $node = $this->nodes[$id]; + if ($node['nodeType'] !== self::NODE_ELEMENT) { + return null; + } + + $idAttr = $node['attributes']['id'] ?? null; + $nodeName = strtolower($node['tagName']); + + if ($idAttr !== null && $idAttr !== '') { + return ['value' => $nodeName . $this->idSelector($idAttr), 'optimized' => true]; + } + + $parentId = $node['parentId']; + $parent = ($parentId !== null) ? ($this->nodes[$parentId] ?? null) : null; + if ($parent === null || $parent['nodeType'] === self::NODE_DOCUMENT) { + return ['value' => $nodeName, 'optimized' => true]; + } + + $prefixedOwn = $this->prefixedClassNames($node); + $needsClassNames = false; + $needsNthChild = false; + $ownIndex = -1; + + $siblings = $parent['elementChildIds']; + $count = count($siblings); + for ($i = 0; ($ownIndex === -1 || !$needsNthChild) && $i < $count; $i++) { + $sibId = $siblings[$i]; + if ($sibId === $id) { + $ownIndex = $i; + continue; + } + if ($needsNthChild) { + continue; + } + $sibling = $this->nodes[$sibId]; + if (strtolower($sibling['tagName']) !== $nodeName) { + continue; + } + $needsClassNames = true; + $ownClassNames = array_fill_keys($prefixedOwn, true); + $ownClassNameCount = count($prefixedOwn); + if ($ownClassNameCount === 0) { + $needsNthChild = true; + continue; + } + foreach ($this->prefixedClassNames($sibling) as $siblingClass) { + if (!array_key_exists($siblingClass, $ownClassNames)) { + continue; + } + unset($ownClassNames[$siblingClass]); + $ownClassNameCount--; + if ($ownClassNameCount === 0) { + $needsNthChild = true; + break; + } + } + } + + $result = $nodeName; + $attrs = $node['attributes']; + if ($isTargetNode && $nodeName === 'input' && !empty($attrs['type']) && empty($attrs['id']) && empty($attrs['class'])) { + $result .= '[type="' . $attrs['type'] . '"]'; + } + if ($needsNthChild) { + $result .= ':nth-child(' . ($ownIndex + 1) . ')'; + } elseif ($needsClassNames) { + foreach ($prefixedOwn as $prefixed) { + $result .= '.' . $this->escapeIdentifierIfNeeded(substr($prefixed, 1)); + } + } + return ['value' => $result, 'optimized' => false]; + } + + /** @return string[] class names prefixed with "$" (matches JS prefixedElementClassNames) */ + private function prefixedClassNames(array $node): array + { + $class = (string) ($node['attributes']['class'] ?? ''); + if ($class === '') { + return []; + } + $parts = preg_split('/\s+/', $class, -1, PREG_SPLIT_NO_EMPTY); + return array_map(function ($n) { + return '$' . $n; + }, $parts); + } + + private function idSelector(string $id): string + { + return '#' . $this->escapeIdentifierIfNeeded($id); + } + + private function escapeIdentifierIfNeeded(string $ident): string + { + if ($this->isCssIdentifier($ident)) { + return $ident; + } + $shouldEscapeFirst = (bool) preg_match('/^(?:[0-9]|-[0-9-]?)/', $ident); + $chars = preg_split('//u', $ident, -1, PREG_SPLIT_NO_EMPTY); + $lastIndex = count($chars) - 1; + $out = ''; + foreach ($chars as $i => $c) { + if (($shouldEscapeFirst && $i === 0) || !$this->isCssIdentChar($c)) { + $out .= $this->escapeAsciiChar($c, $i === $lastIndex); + } else { + $out .= $c; + } + } + return $out; + } + + private function escapeAsciiChar(string $c, bool $isLast): string + { + return '\\' . $this->toHexByte($c) . ($isLast ? '' : ' '); + } + + private function toHexByte(string $c): string + { + $code = mb_ord($c, 'UTF-8'); + $hex = dechex($code); + if (strlen($hex) === 1) { + $hex = '0' . $hex; + } + return $hex; + } + + private function isCssIdentChar(string $c): bool + { + if (preg_match('/[a-zA-Z0-9_\-]/', $c)) { + return true; + } + return mb_ord($c, 'UTF-8') >= 0xA0; + } + + private function isCssIdentifier(string $value): bool + { + return (bool) preg_match('/^-?[a-zA-Z_][a-zA-Z0-9_\-]*$/', $value); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/HeatmapSessionRecording.php b/files/plugin-HeatmapSessionRecording-5.6.0/HeatmapSessionRecording.php new file mode 100644 index 0000000..04d5145 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/HeatmapSessionRecording.php @@ -0,0 +1,1088 @@ +register_route('HeatmapSessionRecording', 'getHeatmap'); + $api->register_route('HeatmapSessionRecording', 'getHeatmaps'); + $api->register_route('HeatmapSessionRecording', 'getRecordedHeatmapMetadata'); + $api->register_route('HeatmapSessionRecording', 'getRecordedHeatmap'); + + $api->register_route('HeatmapSessionRecording', 'getSessionRecording'); + $api->register_route('HeatmapSessionRecording', 'getSessionRecordings'); + $api->register_route('HeatmapSessionRecording', 'getRecordedSessions'); + $api->register_route('HeatmapSessionRecording', 'getRecordedSession'); + }); + + /** + * @param array $actions + * @param \WP_Post $post + * + * @return mixed + */ + function add_new_heat_map_link($actions, $post) + { + if ( + !$post + || !is_plugin_active('matomo/matomo.php') + || !current_user_can('write_matomo') + ) { + return $actions; + } + + if ($post->post_status !== 'publish') { + // the permalink url wouldn't be correct yet for unpublished post + return $actions; + } + + $postUrl = get_permalink($post); + $rules = array(array( + 'attribute' => 'url', + 'type' => 'equals_simple', + 'inverted' => 0, + 'value' => $postUrl + )); + + $hsrParams = array( + 'idSite' => 1, + 'idSiteHsr' => 0, + 'name' => $post->post_title, + // Encoded to avoid pitfalls of decoding multi-dimensional array URL params in JavaScript + 'matchPageRules' => json_encode($rules) + ); + + $url = Menu::get_matomo_reporting_url( + 'HeatmapSessionRecording_Heatmaps', + 'HeatmapSessionRecording_ManageHeatmaps', + $hsrParams + ); + + $actions['create_heatmap'] = 'Create Heatmap'; + return $actions; + } + + function get_matomo_heatmaps() + { + static $heatmaps_cached; + + global $wpdb; + + if (!isset($heatmaps_cached)) { + $site = new Site(); + $idsite = $site->get_current_matomo_site_id(); + + if (!$idsite) { + $heatmaps_cached = array(); // prevent it not being executed again + } else { + $wpDbSettings = new \WpMatomo\Db\Settings(); + $tableName = $wpDbSettings->prefix_table_name('site_hsr'); + $idsite = (int) $idsite;// needed cause we don't bind parameters below + + $heatmaps_cached = $wpdb->get_results( + "select * from $tableName WHERE record_type = 1 AND idsite = $idsite AND status != 'deleted'", + ARRAY_A + ); + } + } + return $heatmaps_cached; + } + + /** + * @param array $actions + * @param \WP_Post $post + * + * @return mixed + */ + function add_view_heat_map_link($actions, $post) + { + if ( + !$post + || !is_plugin_active('matomo/matomo.php') + || !current_user_can('write_matomo') + ) { + return $actions; + } + + $heatmaps = get_matomo_heatmaps(); + + if (empty($heatmaps)) { + return $actions; + } + + $postUrl = get_permalink($post); + + if (!$postUrl) { + return $actions; + } + + if (class_exists(Bootstrap::class)) { + Bootstrap::do_bootstrap(); + } + + require_once('Tracker/PageRuleMatcher.php'); + require_once('Tracker/HsrMatcher.php'); + + $heatmaps = array_values(array_filter($heatmaps, function ($heatmap) use ($postUrl) { + $systemSettings = StaticContainer::get(SystemSettings::class); + $includedCountries = $systemSettings->getIncludedCountries(); + return HsrMatcher::matchesAllPageRules(json_decode($heatmap['match_page_rules'], true), $postUrl) && HsrMatcher::isIncludedCountry($includedCountries); + })); + + $numMatches = count($heatmaps); + foreach ($heatmaps as $i => $heatmap) { + $url = Menu::get_matomo_reporting_url( + 'HeatmapSessionRecording_Heatmaps', + $heatmap['idsitehsr'], + array() + ); + $linkText = 'View Heatmap'; + if ($numMatches > 1) { + $linkText .= ' #' . ($i + 1); + } + $actions['view_heatmap_' . $i] = + '' . esc_html($linkText) . ''; + } + + return $actions; + } +} + +class HeatmapSessionRecording extends \Piwik\Plugin +{ + public const EMBED_SESSION_TIME = 43200; // half day in seconds + public const SESSION_TOKEN_EMBED_KEY = 'hsr.tokenEmbed'; + public const ULR_PARAM_FORCE_SAMPLE = 'pk_hsr_forcesample'; + public const ULR_PARAM_FORCE_CAPTURE_SCREEN = 'pk_hsr_capturescreen'; + public const EMBED_SESSION_NAME = 'HSR_EMBED_SESSID'; + + public const TRACKER_READY_HOOK_NAME = '/*!! hsrTrackerReadyHook */'; + public const TRACKER_READY_HOOK_NAME_WHEN_MINIFIED = '/*!!! hsrTrackerReadyHook */'; + + public function registerEvents() + { + return array( + 'Db.getActionReferenceColumnsByTable' => 'addActionReferenceColumnsByTable', + 'Tracker.Cache.getSiteAttributes' => 'addSiteTrackerCache', + 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles', + 'AssetManager.getJavaScriptFiles' => 'getJsFiles', + 'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys', + 'Template.jsGlobalVariables' => 'addJsGlobalVariables', + 'Category.addSubcategories' => 'addSubcategories', + 'SitesManager.deleteSite.end' => 'onDeleteSite', + 'UsersManager.deleteUser' => 'onUserDeleted', + 'Tracker.PageUrl.getQueryParametersToExclude' => 'getQueryParametersToExclude', + 'Widget.addWidgetConfigs' => 'addWidgetConfigs', + 'System.addSystemSummaryItems' => 'addSystemSummaryItems', + 'API.HeatmapSessionRecording.addHeatmap.end' => 'updatePiwikTracker', + 'API.HeatmapSessionRecording.addSessionRecording.end' => 'updatePiwikTracker', + 'CustomJsTracker.shouldAddTrackerFile' => 'shouldAddTrackerFile', + 'Updater.componentUpdated' => 'installHtAccess', + 'Live.visitorLogViewBeforeActionsInfo' => 'visitorLogViewBeforeActionsInfo', + 'Widgetize.shouldEmbedIframeEmpty' => 'shouldEmbedIframeEmpty', + 'Session.beforeSessionStart' => 'changeSessionLengthIfEmbedPage', + 'TwoFactorAuth.requiresTwoFactorAuthentication' => 'requiresTwoFactorAuthentication', + 'API.getPagesComparisonsDisabledFor' => 'getPagesComparisonsDisabledFor', + 'CustomJsTracker.manipulateJsTracker' => 'disableHeatmapsDefaultIfNeeded', + 'AssetManager.addStylesheets' => [ + 'function' => 'addStylesheets', + 'after' => true, + ], + 'Db.getTablesInstalled' => 'getTablesInstalled', + 'VisitorGenerator.VisitsFake.trackVisit' => 'generateHeatmapData', + ); + } + + /** + * Adds fabricated heatmap data (clicks/moves/scrolls) to visits created by the VisitorGenerator plugin. + * + * For active heatmaps that already have a snapshot, selectors are derived from the stored + * page_treemirror so the generated events align with the elements the heatmap renders. The request + * is queued on the tracker's bulk actions (not sent directly), per the VisitorGenerator contract. + * + * @param \MatomoTracker $tracker + * @param mixed $faker \Faker\Generator; Faker ships in VisitorGenerator's vendor dir, so the + * class is not resolvable from this plugin and the param stays untyped + */ + public function generateHeatmapData($tracker, $faker) + { + // only a portion of generated visits carry heatmap data, mimicking real-world sample rates + if (!$faker->boolean(60)) { + return; + } + + $idSite = (int) $tracker->idSite; + $generators = $this->getHeatmapGenerators($idSite); + if (empty($generators)) { + return; + } + + $idSiteHsr = $faker->randomElement(array_keys($generators)); + + // use the visit's tracked resolution as the viewport: `res` determines the heatmap + // device group (LogHsr::getDeviceType()), so a mobile visit must not get a desktop viewport + $screenWidth = !empty($tracker->width) ? (int) $tracker->width : null; + $screenHeight = !empty($tracker->height) ? (int) $tracker->height : null; + $visit = $generators[$idSiteHsr]->generateVisit($faker, $screenWidth, $screenHeight); + if ($visit === null) { + return; + } + + $tracker->setCustomTrackingParameter('ca', '1'); + $tracker->setCustomTrackingParameter('pv_id', Common::getRandomString(6)); + $tracker->setCustomTrackingParameter(RequestProcessor::TRACKING_PARAM_HSR_ID_VIEW, Common::getRandomString(6)); + // hsr_ids and hsr_ev are arrays by design: http_build_query() serializes them into the + // request and the tracker endpoint requires arrays (RequestProcessor::afterRequestProcessed); + // only the docblock of setCustomTrackingParameter() is narrower than what it supports + // @phpstan-ignore argument.type + $tracker->setCustomTrackingParameter(RequestProcessor::TRACKING_PARAM_HSR_IDS, [$idSiteHsr]); + // @phpstan-ignore argument.type + $tracker->setCustomTrackingParameter(RequestProcessor::TRACKING_PARAM_EVENTS, $visit['events']); + $tracker->setCustomTrackingParameter(RequestProcessor::TRACKING_PARAM_TOTAL_TIME, (string) $visit['total_time']); + $tracker->setCustomTrackingParameter(RequestProcessor::TRACKING_PARAM_VIEWPORT_WIDTH, (string) $visit['viewport_width']); + $tracker->setCustomTrackingParameter(RequestProcessor::TRACKING_PARAM_VIEWPORT_HEIGHT, (string) $visit['viewport_height']); + $tracker->setCustomTrackingParameter(RequestProcessor::TRACKING_PARAM_FOLD_Y_PERCENT, (string) $visit['fold']); + $tracker->setCustomTrackingParameter(RequestProcessor::TRACKING_PARAM_SCROLL_MAX_PERCENTAGE, (string) $visit['scroll_max']); + + // queue with the visit's other requests; presence of hsr_vid makes the server skip the pageview/action + $tracker->storedTrackingActions[] = $tracker->getUrlTrackPageView('Heatmap data (generated)'); + $tracker->clearCustomTrackingParameters(); + } + + /** + * @param int $idSite + * @return HeatmapDataGenerator[] indexed by idsitehsr (active heatmaps that have a snapshot) + */ + private function getHeatmapGenerators($idSite) + { + $cache = Cache::getTransientCache(); + $cacheKey = 'HeatmapSessionRecording.heatmapDataGenerators.' . (int) $idSite; + if ($cache->contains($cacheKey)) { + return $cache->fetch($cacheKey); + } + + $generators = []; + $model = StaticContainer::get(SiteHsrModel::class); + foreach ($model->getActiveHeatmapsWithPageTreemirror($idSite) as $heatmap) { + if (empty($heatmap['page_treemirror'])) { + continue; + } + $generator = new HeatmapDataGenerator($heatmap['page_treemirror']); + if ($generator->hasTargets()) { + $generators[(int) $heatmap['idsitehsr']] = $generator; + } + } + + $cache->save($cacheKey, $generators); + return $generators; + } + + public function disableHeatmapsDefaultIfNeeded(&$content) + { + $settings = StaticContainer::get(SystemSettings::class); + if ($settings->disableTrackingByDefault->getValue()) { + $replace = 'Matomo.HeatmapSessionRecording._setDisabled();'; + } else { + $replace = ''; + } + + $content = str_replace(array(self::TRACKER_READY_HOOK_NAME_WHEN_MINIFIED, self::TRACKER_READY_HOOK_NAME), $replace, $content); + } + + /** + * Register the new tables, so Matomo knows about them. + * + * @param array $allTablesInstalled + */ + public function getTablesInstalled(&$allTablesInstalled) + { + $allTablesInstalled[] = Common::prefixTable('log_hsr'); + $allTablesInstalled[] = Common::prefixTable('log_hsr_blob'); + $allTablesInstalled[] = Common::prefixTable('log_hsr_event'); + $allTablesInstalled[] = Common::prefixTable('log_hsr_site'); + $allTablesInstalled[] = Common::prefixTable('site_hsr'); + } + + public static function getPathPrefix() + { + $webRootDirs = Manager::getInstance()->getWebRootDirectoriesForCustomPluginDirs(); + if (!empty($webRootDirs['HeatmapSessionRecording'])) { + $baseUrl = trim($webRootDirs['HeatmapSessionRecording'], '/'); + } else { + $baseUrl = 'plugins'; + } + return $baseUrl; + } + + public static function isMatomoForWordPress() + { + return defined('ABSPATH') && function_exists('add_action'); + } + + public function addStylesheets(&$mergedContent) + { + if (self::isMatomoForWordPress()) { + // we hide this icon since it uses the widgetize feature which is disabled in WordPress + $mergedContent .= '.manageHsr .action .icon-show { display: none; }'; + } + } + public function getPagesComparisonsDisabledFor(&$pages) + { + $pages[] = 'HeatmapSessionRecording_Heatmaps.*'; + $pages[] = 'HeatmapSessionRecording_SessionRecordings.*'; + } + + public function addJsGlobalVariables() + { + $idSite = Common::getRequestVar('idSite', 0, 'int'); + + if ($idSite > 0 && Piwik::isUserHasWriteAccess($idSite)) { + echo 'piwik.heatmapWriteAccess = true;'; + } else { + echo 'piwik.heatmapWriteAccess = false;'; + } + + if ($idSite > 0 && Piwik::isUserHasAdminAccess($idSite)) { + echo 'piwik.heatmapAdminAccess = true;'; + } else { + echo 'piwik.heatmapAdminAccess = false;'; + } + } + + public function requiresTwoFactorAuthentication(&$requiresAuth, $module, $action, $parameters) + { + if ( + $module == 'HeatmapSessionRecording' + && $action === 'embedPage' + && !empty($_SESSION[self::SESSION_TOKEN_EMBED_KEY]) + ) { + $requiresAuth = false; + } + } + + public function shouldEmbedIframeEmpty(&$shouldEmbedEmpty, $controllerName, $actionName) + { + if ($controllerName == 'HeatmapSessionRecording' && ($actionName == 'replayRecording' || $actionName == 'embedPage')) { + $shouldEmbedEmpty = true; + } + } + + /** + * Fallback to add play session link for Matomo < 3.1.0 + * + * NOTE: TO BE REMOVED EG FROM FEBRUARY OR MARCH 2018 + * + * @param string $out + * @param Row $visitor + */ + public function visitorLogViewBeforeActionsInfo(&$out, $visitor) + { + if (class_exists('\\Piwik\\Plugins\\Live\\VisitorDetailsAbstract')) { + return; + } + + $idVisit = $visitor->getColumn('idVisit'); + $idSite = (int) $visitor->getColumn('idSite'); + + if (empty($idSite) || empty($idVisit) || !$this->getValidator()->canViewSessionReport($idSite)) { + return; + } + + $aggregator = new Aggregator(); + $recording = $aggregator->findRecording($idVisit); + if (!empty($recording['idsitehsr'])) { + $title = Piwik::translate('HeatmapSessionRecording_ReplayRecordedSession'); + $out .= ' ' . $title . '
    '; + } + } + + public function shouldAddTrackerFile(&$shouldAdd, $pluginName) + { + if ($pluginName === 'HeatmapSessionRecording') { + if (defined('PIWIK_TEST_MODE') && PIWIK_TEST_MODE) { + $this->install(); + } + $config = new Configuration(); + + $siteHsrDao = $this->getSiteHsrDao(); + if ($config->shouldOptimizeTrackingCode() && !$siteHsrDao->hasActiveRecordsAcrossSites()) { + // saves requests to configs.php while no heatmap or session recording configured. + $shouldAdd = false; + } + } + } + + public function updatePiwikTracker() + { + if (Plugin\Manager::getInstance()->isPluginActivated('CustomJsTracker')) { + $trackerUpdater = StaticContainer::get('Piwik\Plugins\CustomJsTracker\TrackerUpdater'); + if (!empty($trackerUpdater)) { + $trackerUpdater->update(); + } + } + } + + public function addSystemSummaryItems(&$systemSummary) + { + $dao = $this->getSiteHsrDao(); + $numHeatmaps = $dao->getNumRecordsTotal(SiteHsrDao::RECORD_TYPE_HEATMAP); + $numSessions = $dao->getNumRecordsTotal(SiteHsrDao::RECORD_TYPE_SESSION); + + $systemSummary[] = new SystemSummary\Item( + $key = 'heatmaps', + Piwik::translate('HeatmapSessionRecording_NHeatmaps', $numHeatmaps), + $value = null, + array('module' => 'HeatmapSessionRecording', 'action' => 'manageHeatmap'), + $icon = 'icon-drop', + $order = 6 + ); + $systemSummary[] = new SystemSummary\Item( + $key = 'sessionrecordings', + Piwik::translate('HeatmapSessionRecording_NSessionRecordings', $numSessions), + $value = null, + array('module' => 'HeatmapSessionRecording', 'action' => 'manageSessions'), + $icon = 'icon-play', + $order = 7 + ); + } + + public function getQueryParametersToExclude(&$parametersToExclude) + { + // these are used by the tracker + $parametersToExclude[] = self::ULR_PARAM_FORCE_CAPTURE_SCREEN; + $parametersToExclude[] = self::ULR_PARAM_FORCE_SAMPLE; + } + + public function onDeleteSite($idSite) + { + $model = $this->getSiteHsrModel(); + $model->deactivateRecordsForSite($idSite); + } + + public function onUserDeleted($userLogin) + { + $this->getSiteHsrDao()->anonymizeLogin($userLogin); + } + + private function getSiteHsrModel() + { + return StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Model\SiteHsrModel'); + } + + private function getValidator() + { + return StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Input\Validator'); + } + + public function addWidgetConfigs(&$configs) + { + $idSite = Common::getRequestVar('idSite', 0, 'int'); + + if (!$this->getValidator()->canViewHeatmapReport($idSite)) { + return; + } + + $heatmaps = $this->getHeatmaps($idSite); + + foreach ($heatmaps as $heatmap) { + $widget = new WidgetConfig(); + $widget->setCategoryId('HeatmapSessionRecording_Heatmaps'); + $widget->setSubcategoryId($heatmap['idsitehsr']); + $widget->setModule('HeatmapSessionRecording'); + $widget->setAction('showHeatmap'); + $widget->setParameters(array('idSiteHsr' => $heatmap['idsitehsr'])); + $widget->setIsNotWidgetizable(); + $configs[] = $widget; + } + } + + public function addSubcategories(&$subcategories) + { + $idSite = Common::getRequestVar('idSite', 0, 'int'); + + if (empty($idSite)) { + // fallback for eg API.getReportMetadata which uses idSites + $idSite = Common::getRequestVar('idSites', 0, 'int'); + + if (empty($idSite)) { + return; + } + } + + if ($this->getValidator()->canViewHeatmapReport($idSite)) { + $heatmaps = $this->getHeatmaps($idSite); + + // we list recently created heatmaps first + $order = 20; + foreach ($heatmaps as $heatmap) { + $subcategory = new Subcategory(); + $subcategory->setName($heatmap['name']); + $subcategory->setCategoryId('HeatmapSessionRecording_Heatmaps'); + $subcategory->setId($heatmap['idsitehsr']); + $subcategory->setOrder($order++); + $subcategories[] = $subcategory; + } + } + + if ($this->getValidator()->canViewSessionReport($idSite)) { + $recordings = $this->getSessionRecordings($idSite); + + // we list recently created recordings first + $order = 20; + foreach ($recordings as $recording) { + $subcategory = new Subcategory(); + $subcategory->setName($recording['name']); + $subcategory->setCategoryId('HeatmapSessionRecording_SessionRecordings'); + $subcategory->setId($recording['idsitehsr']); + $subcategory->setOrder($order++); + $subcategories[] = $subcategory; + } + } + } + + public function getClientSideTranslationKeys(&$result) + { + $result[] = 'General_Save'; + $result[] = 'General_Done'; + $result[] = 'General_Actions'; + $result[] = 'General_Yes'; + $result[] = 'General_No'; + $result[] = 'General_Add'; + $result[] = 'General_Remove'; + $result[] = 'General_Id'; + $result[] = 'General_Ok'; + $result[] = 'General_Cancel'; + $result[] = 'General_Name'; + $result[] = 'General_Loading'; + $result[] = 'General_LoadingData'; + $result[] = 'General_Mobile'; + $result[] = 'General_All'; + $result[] = 'General_Search'; + $result[] = 'CorePluginsAdmin_Status'; + $result[] = 'DevicesDetection_Tablet'; + $result[] = 'CoreUpdater_UpdateTitle'; + $result[] = 'DevicesDetection_Device'; + $result[] = 'Installation_Legend'; + $result[] = 'HeatmapSessionRecording_HeatmapSettings'; + $result[] = 'HeatmapSessionRecording_LoadingHeatmap'; + $result[] = 'HeatmapSessionRecording_EditHeatmap'; + $result[] = 'HeatmapSessionRecording_DeleteRetakeSnapshot'; + $result[] = 'HeatmapSessionRecording_DeleteRetakeSnapshotTitle'; + $result[] = 'HeatmapSessionRecording_DeleteRetakeSnapshotDescription'; + $result[] = 'HeatmapSessionRecording_DeleteRetakeAutomatically'; + $result[] = 'HeatmapSessionRecording_DeleteRetakeManually'; + $result[] = 'HeatmapSessionRecording_DeleteSnapshotTitle'; + $result[] = 'HeatmapSessionRecording_DeleteSnapshotDescription'; + $result[] = 'HeatmapSessionRecording_DeleteSnapshotConfirm'; + $result[] = 'HeatmapSessionRecording_EmptyStateNoInteractionsTitle'; + $result[] = 'HeatmapSessionRecording_EmptyStateNoInteractionsSubtitle'; + $result[] = 'HeatmapSessionRecording_EmptyStateSnapshotDeletedTitle'; + $result[] = 'HeatmapSessionRecording_EmptyStateSnapshotDeletedAutoSubtitle'; + $result[] = 'HeatmapSessionRecording_EmptyStateSnapshotDeletedManualSubtitle'; + $result[] = 'HeatmapSessionRecording_EmptyStateSnapshotDeletedPausedSubtitle'; + $result[] = 'HeatmapSessionRecording_EmptyStateSnapshotDeletedEndedSubtitle'; + $result[] = 'HeatmapSessionRecording_ReadTheGuide'; + $result[] = 'HeatmapSessionRecording_enable'; + $result[] = 'HeatmapSessionRecording_disable'; + $result[] = 'HeatmapSessionRecording_ChangeReplaySpeed'; + $result[] = 'HeatmapSessionRecording_ClickToSkipPauses'; + $result[] = 'HeatmapSessionRecording_AutoPlayNextPageview'; + $result[] = 'HeatmapSessionRecording_XSamples'; + $result[] = 'HeatmapSessionRecording_StatusActive'; + $result[] = 'HeatmapSessionRecording_StatusEnded'; + $result[] = 'HeatmapSessionRecording_StatusPaused'; + $result[] = 'HeatmapSessionRecording_StatusOnHold'; + $result[] = 'HeatmapSessionRecording_StatusOnHoldHelp'; + $result[] = 'HeatmapSessionRecording_StatusOnHoldHelpSessionRecording'; + $result[] = 'HeatmapSessionRecording_RecordedHeatmapDocStatusOnHold'; + $result[] = 'HeatmapSessionRecording_RecordedHeatmapDocStatusOnHoldWithDate'; + $result[] = 'HeatmapSessionRecording_RequiresActivity'; + $result[] = 'HeatmapSessionRecording_RequiresActivityHelp'; + $result[] = 'HeatmapSessionRecording_CaptureKeystrokes'; + $result[] = 'HeatmapSessionRecording_CaptureKeystrokesHelp'; + $result[] = 'HeatmapSessionRecording_SessionRecording'; + $result[] = 'HeatmapSessionRecording_Heatmap'; + $result[] = 'HeatmapSessionRecording_ReportNoLongerExists'; + $result[] = 'HeatmapSessionRecording_ActivityClick'; + $result[] = 'HeatmapSessionRecording_ActivityMove'; + $result[] = 'HeatmapSessionRecording_ActivityScroll'; + $result[] = 'HeatmapSessionRecording_ActivityResize'; + $result[] = 'HeatmapSessionRecording_ActivityFormChange'; + $result[] = 'HeatmapSessionRecording_ActivityPageChange'; + $result[] = 'HeatmapSessionRecording_HeatmapWidth'; + $result[] = 'HeatmapSessionRecording_Width'; + $result[] = 'HeatmapSessionRecording_CustomWidth'; + $result[] = 'HeatmapSessionRecording_LegendLow'; + $result[] = 'HeatmapSessionRecording_LegendHigh'; + $result[] = 'HeatmapSessionRecording_Action'; + $result[] = 'HeatmapSessionRecording_ExportImage'; + $result[] = 'HeatmapSessionRecording_ExportImageError'; + $result[] = 'HeatmapSessionRecording_ExportImageInProgress'; + $result[] = 'HeatmapSessionRecording_DeviceType'; + $result[] = 'HeatmapSessionRecording_PlayerDurationXofY'; + $result[] = 'HeatmapSessionRecording_PlayerPlay'; + $result[] = 'HeatmapSessionRecording_PlayerPause'; + $result[] = 'HeatmapSessionRecording_PlayerRewindFast'; + $result[] = 'HeatmapSessionRecording_PlayerForwardFast'; + $result[] = 'HeatmapSessionRecording_PlayerReplay'; + $result[] = 'HeatmapSessionRecording_PlayerPageViewPrevious'; + $result[] = 'HeatmapSessionRecording_PlayerPageViewNext'; + $result[] = 'HeatmapSessionRecording_SessionRecordingsUsageBenefits'; + $result[] = 'HeatmapSessionRecording_ManageSessionRecordings'; + $result[] = 'HeatmapSessionRecording_ManageHeatmaps'; + $result[] = 'HeatmapSessionRecording_NoSessionRecordingsFound'; + $result[] = 'HeatmapSessionRecording_FieldIncludedTargetsHelpSessions'; + $result[] = 'HeatmapSessionRecording_NoHeatmapsFound'; + $result[] = 'HeatmapSessionRecording_AvgFold'; + $result[] = 'HeatmapSessionRecording_AvgAboveFoldDescription'; + $result[] = 'HeatmapSessionRecording_TargetPage'; + $result[] = 'HeatmapSessionRecording_TargetPages'; + $result[] = 'HeatmapSessionRecording_ViewReport'; + $result[] = 'HeatmapSessionRecording_SampleLimit'; + $result[] = 'HeatmapSessionRecording_SessionNameHelpText'; + $result[] = 'HeatmapSessionRecording_HeatmapDescriptionHelpText'; + $result[] = 'HeatmapSessionRecording_DescriptionOptional'; + $result[] = 'HeatmapSessionRecording_HeatmapSampleLimit'; + $result[] = 'HeatmapSessionRecording_SessionSampleLimit'; + $result[] = 'HeatmapSessionRecording_HeatmapSampleLimitHelp'; + $result[] = 'HeatmapSessionRecording_SessionSampleLimitHelp'; + $result[] = 'HeatmapSessionRecording_MinSessionTime'; + $result[] = 'HeatmapSessionRecording_MinSessionTimeHelp'; + $result[] = 'HeatmapSessionRecording_EditX'; + $result[] = 'HeatmapSessionRecording_StopX'; + $result[] = 'HeatmapSessionRecording_HeatmapUsageBenefits'; + $result[] = 'HeatmapSessionRecording_AdvancedOptions'; + $result[] = 'HeatmapSessionRecording_ShowAdvancedOptions'; + $result[] = 'HeatmapSessionRecording_HideAdvancedOptions'; + $result[] = 'HeatmapSessionRecording_HeatmapAdvancedOptionsSummary'; + $result[] = 'HeatmapSessionRecording_AutomaticSnapshot'; + $result[] = 'HeatmapSessionRecording_ManualSnapshot'; + $result[] = 'HeatmapSessionRecording_SampleRate'; + $result[] = 'HeatmapSessionRecording_HeatmapSampleRateHelp'; + $result[] = 'HeatmapSessionRecording_SessionSampleRateHelp'; + $result[] = 'HeatmapSessionRecording_HeatmapAdvancedSectionRecordingSettings'; + $result[] = 'HeatmapSessionRecording_HeatmapAdvancedSectionRecordingSettingsHelp'; + $result[] = 'HeatmapSessionRecording_HeatmapAdvancedSectionPageSnapshot'; + $result[] = 'HeatmapSessionRecording_HeatmapAdvancedSectionPageSnapshotHelp'; + $result[] = 'HeatmapSessionRecording_HeatmapAdvancedSectionContentMasking'; + $result[] = 'HeatmapSessionRecording_HeatmapAdvancedSectionContentMaskingHelp'; + $result[] = 'HeatmapSessionRecording_HeatmapAdvancedSectionDeviceBreakpoints'; + $result[] = 'HeatmapSessionRecording_HeatmapAdvancedSectionDeviceBreakpointsHelp'; + $result[] = 'HeatmapSessionRecording_ExcludedElements'; + $result[] = 'HeatmapSessionRecording_ExcludedElementsHelp'; + $result[] = 'HeatmapSessionRecording_ScreenshotUrl'; + $result[] = 'HeatmapSessionRecording_ScreenshotUrlHelp'; + $result[] = 'HeatmapSessionRecording_BreakpointX'; + $result[] = 'HeatmapSessionRecording_BreakpointGeneralHelp'; + $result[] = 'HeatmapSessionRecording_BreakpointMobileManageHelp'; + $result[] = 'HeatmapSessionRecording_BreakpointTabletManageHelp'; + $result[] = 'HeatmapSessionRecording_Rule'; + $result[] = 'HeatmapSessionRecording_UrlParameterValueToMatchPlaceholder'; + $result[] = 'HeatmapSessionRecording_EditHeatmapX'; + $result[] = 'HeatmapSessionRecording_TargetTypeIsAny'; + $result[] = 'HeatmapSessionRecording_TargetTypeIsNot'; + $result[] = 'HeatmapSessionRecording_PersonalInformationNote'; + $result[] = 'HeatmapSessionRecording_UpdatingData'; + $result[] = 'HeatmapSessionRecording_FieldIncludedTargetsHelp'; + $result[] = 'HeatmapSessionRecording_FieldIncludedTargetsHelpSimple'; + $result[] = 'HeatmapSessionRecording_FieldIncludedTargetsHelpSimpleSessions'; + $result[] = 'HeatmapSessionRecording_FieldIncludedTargetsHelpAdvanced'; + $result[] = 'HeatmapSessionRecording_FieldIncludedTargetsHelpAdvancedSessions'; + $result[] = 'HeatmapSessionRecording_UseAdvancedTargeting'; + $result[] = 'HeatmapSessionRecording_UseSimpleTargeting'; + $result[] = 'HeatmapSessionRecording_DeleteX'; + $result[] = 'HeatmapSessionRecording_DeleteHeatmapConfirm'; + $result[] = 'HeatmapSessionRecording_BreakpointGeneralHelpManage'; + $result[] = 'HeatmapSessionRecording_TargetPageTestTitle'; + $result[] = 'HeatmapSessionRecording_TargetPageTestErrorInvalidUrl'; + $result[] = 'HeatmapSessionRecording_TargetPageTestUrlMatches'; + $result[] = 'HeatmapSessionRecording_TargetPageTestUrlNotMatches'; + $result[] = 'HeatmapSessionRecording_TargetPageTestLabel'; + $result[] = 'HeatmapSessionRecording_ErrorXNotProvided'; + $result[] = 'HeatmapSessionRecording_ErrorPageRuleRequired'; + $result[] = 'HeatmapSessionRecording_CreationDate'; + $result[] = 'HeatmapSessionRecording_HeatmapCreated'; + $result[] = 'HeatmapSessionRecording_HeatmapUpdated'; + $result[] = 'HeatmapSessionRecording_FieldNamePlaceholder'; + $result[] = 'HeatmapSessionRecording_FieldNamePlaceholderV2'; + $result[] = 'HeatmapSessionRecording_FieldDescriptionPlaceholder'; + $result[] = 'HeatmapSessionRecording_HeatmapNameHelpText'; + $result[] = 'HeatmapSessionRecording_CreateNewHeatmap'; + $result[] = 'HeatmapSessionRecording_CreateNewSessionRecording'; + $result[] = 'HeatmapSessionRecording_EditSessionRecordingX'; + $result[] = 'HeatmapSessionRecording_DeleteSessionRecordingConfirm'; + $result[] = 'HeatmapSessionRecording_EndHeatmapConfirm'; + $result[] = 'HeatmapSessionRecording_EndHeatmapRepeatNotice'; + $result[] = 'HeatmapSessionRecording_EndSessionRecordingConfirm'; + $result[] = 'HeatmapSessionRecording_EndSessionRecordingRepeatNotice'; + $result[] = 'HeatmapSessionRecording_SessionRecordingCreated'; + $result[] = 'HeatmapSessionRecording_SessionRecordingUpdated'; + $result[] = 'HeatmapSessionRecording_Filter'; + $result[] = 'HeatmapSessionRecording_PlayRecordedSession'; + $result[] = 'HeatmapSessionRecording_DeleteRecordedSession'; + $result[] = 'HeatmapSessionRecording_DeleteRecordedPageview'; + $result[] = 'Live_ViewVisitorProfile'; + $result[] = 'HeatmapSessionRecording_HeatmapXRecordedSamplesSince'; + $result[] = 'HeatmapSessionRecording_PageviewsInVisit'; + $result[] = 'HeatmapSessionRecording_ColumnTime'; + $result[] = 'General_TimeOnPage'; + $result[] = 'Goals_URL'; + $result[] = 'General_Close'; + $result[] = 'HeatmapSessionRecording_HeatmapX'; + $result[] = 'HeatmapSessionRecording_NoHeatmapSamplesRecordedYet'; + $result[] = 'HeatmapSessionRecording_NoHeatmapScreenshotRecordedYet'; + $result[] = 'HeatmapSessionRecording_NoHeatmapSamplesRecordedYetWithoutSystemConfiguration'; + $result[] = 'HeatmapSessionRecording_NoHeatmapScreenshotRecordedYetWithoutSystemConfiguration'; + $result[] = 'HeatmapSessionRecording_HeatmapInfoTrackVisitsFromCountries'; + $result[] = 'HeatmapSessionRecording_SessionRecordingInfoTrackVisitsFromCountries'; + $result[] = 'HeatmapSessionRecording_AdBlockerDetected'; + $result[] = 'HeatmapSessionRecording_CaptureDomTitle'; + $result[] = 'HeatmapSessionRecording_CaptureDomInlineHelp'; + $result[] = 'HeatmapSessionRecording_AutoRepeatHeatmap'; + $result[] = 'HeatmapSessionRecording_AutoRepeatHeatmapHelp'; + $result[] = 'HeatmapSessionRecording_AutoRepeatSessionRecording'; + $result[] = 'HeatmapSessionRecording_AutoRepeatSessionRecordingHelp'; + $result[] = 'HeatmapSessionRecording_AutoRepeatHeatmapColumn'; + $result[] = 'HeatmapSessionRecording_AutoRepeatHeatmapColumnHelp'; + $result[] = 'HeatmapSessionRecording_AutoRepeatSessionRecordingColumn'; + $result[] = 'HeatmapSessionRecording_AutoRepeatSessionRecordingColumnHelp'; + $result[] = 'HeatmapSessionRecording_MatomoJSNotWritableErrorMessage'; + $result[] = 'HeatmapSessionRecording_SessionRecordings'; + $result[] = 'HeatmapSessionRecording_Heatmaps'; + $result[] = 'HeatmapSessionRecording_Clicks'; + $result[] = 'HeatmapSessionRecording_ClickRate'; + $result[] = 'HeatmapSessionRecording_Moves'; + $result[] = 'HeatmapSessionRecording_MoveRate'; + $result[] = 'HeatmapSessionRecording_HeatmapTroubleshoot'; + $result[] = 'General_Required'; + $result[] = 'HeatmapSessionRecording_ErrorHeatmapNameDuplicate'; + $result[] = 'HeatmapSessionRecording_QuotaReachedForX'; + $result[] = 'HeatmapSessionRecording_HeatmapDuplicationError'; + $result[] = 'HeatmapSessionRecording_None'; + $result[] = 'HeatmapSessionRecording_Recordings'; + $result[] = 'HeatmapSessionRecording_WaitingForFirstRecording'; + $result[] = 'HeatmapSessionRecording_TopClickedElements'; + $result[] = 'HeatmapSessionRecording_NoClickedElements'; + $result[] = 'HeatmapSessionRecording_ScrollReach'; + $result[] = 'HeatmapSessionRecording_NoScrollData'; + $result[] = 'HeatmapSessionRecording_ScrollReachTop'; + $result[] = 'HeatmapSessionRecording_ScrollReachBottom'; + $result[] = 'HeatmapSessionRecording_TopClickedElementLabel'; + $result[] = 'HeatmapSessionRecording_ElementTypeArticle'; + $result[] = 'HeatmapSessionRecording_ElementTypeButton'; + $result[] = 'HeatmapSessionRecording_ElementTypeField'; + $result[] = 'HeatmapSessionRecording_ElementTypeFooter'; + $result[] = 'HeatmapSessionRecording_ElementTypeForm'; + $result[] = 'HeatmapSessionRecording_ElementTypeHeader'; + $result[] = 'HeatmapSessionRecording_ElementTypeHeading'; + $result[] = 'HeatmapSessionRecording_ElementTypeImage'; + $result[] = 'HeatmapSessionRecording_ElementTypeLink'; + $result[] = 'HeatmapSessionRecording_ElementTypeList'; + $result[] = 'HeatmapSessionRecording_ElementTypeMainContent'; + $result[] = 'HeatmapSessionRecording_ElementTypeNavigation'; + $result[] = 'HeatmapSessionRecording_ElementTypeSection'; + $result[] = 'HeatmapSessionRecording_ElementTypeSidebar'; + $result[] = 'General_Table'; + } + + public function getJsFiles(&$jsFiles) + { + $jsFiles[] = "plugins/HeatmapSessionRecording/javascripts/rowaction.js"; + } + + public function getStylesheetFiles(&$stylesheets) + { + $stylesheets[] = "plugins/HeatmapSessionRecording/stylesheets/list-entities.less"; + $stylesheets[] = "plugins/HeatmapSessionRecording/stylesheets/edit-entities.less"; + $stylesheets[] = "plugins/HeatmapSessionRecording/vue/src/HsrTargetTest/HsrTargetTest.less"; + $stylesheets[] = "plugins/HeatmapSessionRecording/vue/src/HsrUrlTarget/HsrUrlTarget.less"; + $stylesheets[] = "plugins/HeatmapSessionRecording/stylesheets/recordings.less"; + $stylesheets[] = "plugins/HeatmapSessionRecording/vue/src/SessionRecordingVis/SessionRecordingVis.less"; + $stylesheets[] = "plugins/HeatmapSessionRecording/vue/src/HeatmapVis/HeatmapVis.less"; + $stylesheets[] = "plugins/HeatmapSessionRecording/vue/src/Tooltip/Tooltip.less"; + } + + public function activate() + { + $this->installHtAccess(); + } + + public function install() + { + $siteHsr = new SiteHsrDao(); + $siteHsr->install(); + + $hsrSite = new LogHsrSite(); + $hsrSite->install(); + + $hsr = new LogHsr($hsrSite); + $hsr->install(); + + $blobHsr = new LogHsrBlob(); + $blobHsr->install(); + + $event = new LogHsrEvent($blobHsr); + $event->install(); + + $this->installHtAccess(); + + $configuration = new Configuration(); + $configuration->install(); + } + + public function installHtAccess() + { + $htaccess = new HtAccess(); + $htaccess->install(); + } + + public function uninstall() + { + $siteHsr = new SiteHsrDao(); + $siteHsr->uninstall(); + + $hsrSite = new LogHsrSite(); + $hsrSite->uninstall(); + + $hsr = new LogHsr($hsrSite); + $hsr->uninstall(); + + $blobHsr = new LogHsrBlob(); + $blobHsr->uninstall(); + + $event = new LogHsrEvent($blobHsr); + $event->uninstall(); + + $configuration = new Configuration(); + $configuration->uninstall(); + } + + public function isTrackerPlugin() + { + return true; + } + + private function getSiteHsrDao() + { + return StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Dao\SiteHsrDao'); + } + + public function addSiteTrackerCache(&$content, $idSite) + { + $hsr = $this->getSiteHsrDao(); + $hsrs = $hsr->getActiveRecords($idSite); + + foreach ($hsrs as $index => $hsr) { + // we make sure to keep the cache file small as this is not needed in the cache + $hsrs[$index]['page_treemirror'] = !empty($hsr['page_treemirror']) ? '1' : null; + } + + $content['hsr'] = $hsrs; + } + + public function addActionReferenceColumnsByTable(&$result) + { + $result['log_hsr'] = array('idaction_url'); + $result['log_hsr_event'] = array('idselector'); + } + + public function changeSessionLengthIfEmbedPage() + { + if ( + SettingsServer::isTrackerApiRequest() + || Common::isPhpCliMode() + ) { + return; + } + + // if there's no token_auth=... in the URL and there's no existing HSR session, then + // we don't change the session options and try to use the normal matomo session. + if ( + Common::getRequestVar('token_auth', false) === false + && empty($_COOKIE[self::EMBED_SESSION_NAME]) + ) { + return; + } + + $module = Common::getRequestVar('module', '', 'string'); + $action = Common::getRequestVar('action', '', 'string'); + if ( + $module == 'HeatmapSessionRecording' + && $action == 'embedPage' + ) { + Config::getInstance()->General['login_cookie_expire'] = self::EMBED_SESSION_TIME; + + Session::$sessionName = self::EMBED_SESSION_NAME; + Session::rememberMe(Config::getInstance()->General['login_cookie_expire']); + } + } + + public static function getTranslationKey($type) + { + $key = ''; + switch ($type) { + case 'pause': + $key = 'HeatmapSessionRecording_PauseReason'; + break; + case 'noDataSession': + $key = 'HeatmapSessionRecording_NoSessionRecordedYetWithoutSystemConfiguration'; + break; + case 'noDataHeatmap': + $key = 'HeatmapSessionRecording_NoHeatmapSamplesRecordedYetWithoutSystemConfiguration'; + break; + } + + if (!$key) { + return null; + } + + Piwik::postEvent('HeatmapSessionRecording.updateTranslationKey', [&$key]); + return $key; + } + + public static function isMatomoJsWritable($checkSpecificFile = '') + { + if (Manager::getInstance()->isPluginActivated('Cloud')) { + return true; + } + + $updater = StaticContainer::get('Piwik\Plugins\CustomJsTracker\TrackerUpdater'); + $filePath = $updater->getToFile()->getPath(); + $filesToCheck = array($filePath); + $jsCodeGenerator = new TrackerCodeGenerator(); + if (SettingsPiwik::isMatomoInstalled() && $jsCodeGenerator->shouldPreferPiwikEndpoint()) { + // if matomo is not installed yet, we definitely prefer matomo.js... check for isMatomoInstalled is needed + // cause otherwise it would perform a db query before matomo DB is configured + $filesToCheck[] = str_replace('matomo.js', 'piwik.js', $filePath); + } + + if (!empty($checkSpecificFile)) { + $filesToCheck = [$checkSpecificFile]; // mostly used for testing isMatomoJsWritable functionality + } + + if (!Manager::getInstance()->isPluginActivated('CustomJsTracker')) { + return false; + } + + foreach ($filesToCheck as $fileToCheck) { + $file = new File($fileToCheck); + + if (!$file->hasWriteAccess()) { + return false; + } + } + + return true; + } + + private function getHeatmaps($idSite) + { + return Request::processRequest('HeatmapSessionRecording.getHeatmaps', [ + 'idSite' => $idSite, 'filter_limit' => -1, + 'includePageTreeMirror' => 0 // IMPORTANT for performance and IO. If you need page tree mirror please add another method and don't remove this parameter + ], $default = []); + } + + private function getSessionRecordings($idSite) + { + return Request::processRequest('HeatmapSessionRecording.getSessionRecordings', [ + 'idSite' => $idSite, 'filter_limit' => -1 + ], $default = []); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/ImageProxy.php b/files/plugin-HeatmapSessionRecording-5.6.0/ImageProxy.php new file mode 100644 index 0000000..b83b103 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/ImageProxy.php @@ -0,0 +1,194 @@ + self::MAX_URL_LENGTH) { + throw new \Exception('URL is too long.'); + } + + $parts = parse_url($raw); + if ($parts === false || empty($parts['host']) || empty($parts['scheme'])) { + throw new \Exception('URL is missing a host or scheme.'); + } + + $scheme = strtolower($parts['scheme']); + if (!in_array($scheme, self::ALLOWED_SCHEMES, true)) { + throw new \Exception('URL scheme is not allowed.'); + } + + if (isset($parts['user']) || isset($parts['pass'])) { + throw new \Exception('URL must not contain credentials.'); + } + + if (isset($parts['port'])) { + $defaultPort = $scheme === 'https' ? 443 : 80; + if ((int) $parts['port'] !== $defaultPort) { + throw new \Exception('URL must not use a non-default port.'); + } + } + + $host = $parts['host']; + + if (strlen($host) >= 2 && $host[0] === '[' && substr($host, -1) === ']') { + throw new \Exception('IP-literal hosts are not allowed.'); + } + + if (filter_var($host, FILTER_VALIDATE_IP) !== false) { + throw new \Exception('IP-literal hosts are not allowed.'); + } + + if (function_exists('idn_to_ascii')) { + $asciiHost = idn_to_ascii($host, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46); + if ($asciiHost === false) { + throw new \Exception('URL host is malformed.'); + } + $host = $asciiHost; + } + + $cleanUrl = $scheme . '://' . $host; + if (isset($parts['port'])) { + $cleanUrl .= ':' . (int) $parts['port']; + } + $cleanUrl .= $parts['path'] ?? ''; + if (isset($parts['query'])) { + $cleanUrl .= '?' . $parts['query']; + } + + return $cleanUrl; + } + + public function assertHostNotInternal(string $host): void + { + $ips = []; + + $aRecords = gethostbynamel($host); + if (is_array($aRecords)) { + $ips = array_merge($ips, $aRecords); + } + + $aaaaRecords = @dns_get_record($host, DNS_AAAA); + if (is_array($aaaaRecords)) { + foreach ($aaaaRecords as $record) { + if (!empty($record['ipv6'])) { + $ips[] = $record['ipv6']; + } + } + } + + if (empty($ips)) { + throw new \Exception('Could not resolve host.'); + } + + foreach ($ips as $ip) { + if ($this->isInternalIp($ip)) { + throw new \Exception('Host resolves to an internal IP.'); + } + } + } + + private function isInternalIp(string $ip): bool + { + if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) === false) { + return true; + } + + return IP::fromStringIP($ip)->isInRanges(['169.254.0.0/16', '100.64.0.0/10']); + } + + public function fetchToFile(string $url): array + { + $tmpPath = tempnam(sys_get_temp_dir(), 'hsrimg'); + if ($tmpPath === false) { + throw new \Exception('Could not create a temporary file.'); + } + + try { + Http::sendHttpRequest($url, self::TIMEOUT, null, $tmpPath, 0, false, [0, self::MAX_BYTES], false); + + if (filesize($tmpPath) === 0) { + throw new \Exception('Empty response body.'); + } + + $mime = $this->validateDownloadedFile($tmpPath); + } catch (\Exception $e) { + @unlink($tmpPath); + throw $e; + } + + return ['path' => $tmpPath, 'mime' => $mime]; + } + + private function validateDownloadedFile(string $path): string + { + if (filesize($path) > self::MAX_BYTES) { + throw new \Exception('Downloaded file exceeds the maximum allowed size.'); + } + + $info = @getimagesize($path); + if ($info !== false && !empty($info['mime']) && in_array($info['mime'], self::ALLOWED_MIME, true)) { + return $info['mime']; + } + + if (in_array('image/svg+xml', self::ALLOWED_MIME, true) && $this->isSvg($path)) { + return 'image/svg+xml'; + } + + throw new \Exception('Downloaded file is not an allowed image type.'); + } + + private function isSvg(string $path): bool + { + $reader = new \XMLReader(); + + if (@$reader->open($path, null, LIBXML_NONET | LIBXML_NOERROR | LIBXML_NOWARNING) !== true) { + return false; + } + + $isSvg = false; + + try { + while (@$reader->read()) { + if ($reader->nodeType === \XMLReader::ELEMENT) { + $isSvg = strtolower($reader->localName) === 'svg'; + break; + } + } + } catch (\Throwable $e) { + $isSvg = false; + } finally { + $reader->close(); + } + + return $isSvg; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/Breakpoint.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/Breakpoint.php new file mode 100644 index 0000000..bb0eb6a --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/Breakpoint.php @@ -0,0 +1,66 @@ +breakpoint = $breakpoint; + $this->name = $name; + } + + public function check() + { + $title = Piwik::translate('HeatmapSessionRecording_BreakpointX', array($this->name)); + + // zero is a valid value! + if ($this->breakpoint === false || $this->breakpoint === null || $this->breakpoint === '') { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXNotProvided', $title)); + } + + if (!is_numeric($this->breakpoint)) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXNotANumber', array($title))); + } + + if ($this->breakpoint < 0) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXTooLow', array($title, 0))); + } + + if ($this->breakpoint > self::MAX_LIMIT) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXTooHigh', array($title, self::MAX_LIMIT))); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/CaptureKeystrokes.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/CaptureKeystrokes.php new file mode 100644 index 0000000..b6004f9 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/CaptureKeystrokes.php @@ -0,0 +1,40 @@ +value = $value; + } + + public function check() + { + $allowedValues = array('0', '1', 0, 1, true, false); + + if (!in_array($this->value, $allowedValues, $strict = true)) { + $message = Piwik::translate('HeatmapSessionRecording_ErrorXNotWhitelisted', array('captureKeystrokes', '"1", "0"')); + throw new Exception($message); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/Description.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/Description.php new file mode 100644 index 0000000..fddf4af --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/Description.php @@ -0,0 +1,50 @@ +description = $description; + } + + public function check() + { + if ($this->description === null || $this->description === false || $this->description === '') { + // description is optional + return; + } + + $title = Piwik::translate('General_Description'); + + if (Common::mb_strlen($this->description) > static::MAX_LENGTH) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXTooLong', array($title, static::MAX_LENGTH))); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/ExcludedElements.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/ExcludedElements.php new file mode 100644 index 0000000..2395013 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/ExcludedElements.php @@ -0,0 +1,50 @@ +selector = $name; + } + + public function check() + { + if ($this->selector === null || $this->selector === false || $this->selector === '') { + // selecto may not be set + return; + } + + $title = Piwik::translate('HeatmapSessionRecording_ExcludedElements'); + + if (Common::mb_strlen($this->selector) > static::MAX_LENGTH) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXTooLong', array($title, static::MAX_LENGTH))); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/MinSessionTime.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/MinSessionTime.php new file mode 100644 index 0000000..22dd6d4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/MinSessionTime.php @@ -0,0 +1,57 @@ +minSessionTime = $minSessionTime; + } + + public function check() + { + $title = 'HeatmapSessionRecording_MinSessionTime'; + + if ($this->minSessionTime === false || $this->minSessionTime === null || $this->minSessionTime === '') { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXNotProvided', $title)); + } + + if (!is_numeric($this->minSessionTime)) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXNotANumber', array($title))); + } + + if ($this->minSessionTime < 0) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXTooLow', array($title, 0))); + } + + if ($this->minSessionTime > self::MAX_LIMIT) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXTooHigh', array($title, self::MAX_LIMIT))); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/Name.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/Name.php new file mode 100644 index 0000000..002a0e9 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/Name.php @@ -0,0 +1,51 @@ +name = $name; + } + + public function check() + { + $title = 'General_Name'; + + if (empty($this->name)) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXNotProvided', $title)); + } + + if (Common::mb_strlen($this->name) > static::MAX_LENGTH) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXTooLong', array($title, static::MAX_LENGTH))); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/PageRule.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/PageRule.php new file mode 100644 index 0000000..3c09d15 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/PageRule.php @@ -0,0 +1,80 @@ +target = $targets; + $this->parameterName = $parameterName; + $this->index = $index; + } + + public function check() + { + $titleSingular = 'HeatmapSessionRecording_PageRule'; + + if (!is_array($this->target)) { + $titleSingular = Piwik::translate($titleSingular); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorInnerIsNotAnArray', array($titleSingular, $this->parameterName))); + } + + if (empty($this->target['attribute'])) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorArrayMissingKey', array('attribute', $this->parameterName, $this->index))); + } + + if (empty($this->target['type'])) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorArrayMissingKey', array('type', $this->parameterName, $this->index))); + } + + if (!array_key_exists('inverted', $this->target)) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorArrayMissingKey', array('inverted', $this->parameterName, $this->index))); + } + + if (empty($this->target['value']) && Tracker\PageRuleMatcher::doesTargetTypeRequireValue($this->target['type'])) { + // any is the only target type that may have an empty value + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorArrayMissingValue', array('value', $this->parameterName, $this->index))); + } + + if ($this->target['type'] === Tracker\PageRuleMatcher::TYPE_REGEXP && isset($this->target['value'])) { + $pattern = Tracker\PageRuleMatcher::completeRegexpPattern($this->target['value']); + if (@preg_match($pattern, '') === false) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorInvalidRegExp', array($this->target['value']))); + } + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/PageRules.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/PageRules.php new file mode 100644 index 0000000..562c871 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/PageRules.php @@ -0,0 +1,61 @@ +targets = $targets; + $this->parameterName = $parameterName; + $this->needsAtLeastOneEntry = $needsAtLeastOneEntry; + } + + public function check() + { + if ($this->needsAtLeastOneEntry && empty($this->targets)) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXNotProvided', $this->parameterName)); + } + + if (!is_array($this->targets)) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorNotAnArray', $this->parameterName)); + } + + foreach ($this->targets as $index => $target) { + $target = new PageRule($target, $this->parameterName, $index); + $target->check(); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/RequiresActivity.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/RequiresActivity.php new file mode 100644 index 0000000..61ff6a6 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/RequiresActivity.php @@ -0,0 +1,40 @@ +value = $value; + } + + public function check() + { + $allowedValues = array('0', '1', 0, 1, true, false); + + if (!in_array($this->value, $allowedValues, $strict = true)) { + $message = Piwik::translate('HeatmapSessionRecording_ErrorXNotWhitelisted', array('activated', '"1", "0"')); + throw new Exception($message); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/SampleLimit.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/SampleLimit.php new file mode 100644 index 0000000..daa8686 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/SampleLimit.php @@ -0,0 +1,57 @@ +sampleLimit = $sampleLimit; + } + + public function check() + { + $title = 'HeatmapSessionRecording_SampleLimit'; + + if ($this->sampleLimit === false || $this->sampleLimit === null || $this->sampleLimit === '') { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXNotProvided', $title)); + } + + if (!is_numeric($this->sampleLimit)) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXNotANumber', array($title))); + } + + if ($this->sampleLimit < 0) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXTooLow', array($title, 0))); + } + + if ($this->sampleLimit > self::MAX_LIMIT) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXTooHigh', array($title, self::MAX_LIMIT))); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/SampleRate.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/SampleRate.php new file mode 100644 index 0000000..b0f6261 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/SampleRate.php @@ -0,0 +1,62 @@ +sampleRate = $sampleRate; + } + + public function check() + { + $title = 'HeatmapSessionRecording_SampleRate'; + + if ($this->sampleRate === false || $this->sampleRate === null || $this->sampleRate === '') { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXNotProvided', $title)); + } + + if (!is_numeric($this->sampleRate)) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXNotANumber', array($title))); + } + + if ($this->sampleRate < 0) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXTooLow', array($title, 0))); + } + + if ($this->sampleRate > self::MAX_RATE) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXTooHigh', array($title, self::MAX_RATE))); + } + + if (!preg_match('/^\d{1,3}\.?\d?$/', (string) $this->sampleRate)) { + $title = Piwik::translate($title); + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXNotANumber', array($title))); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/ScreenshotUrl.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/ScreenshotUrl.php new file mode 100644 index 0000000..2b40332 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/ScreenshotUrl.php @@ -0,0 +1,58 @@ +url = $name; + } + + public function check() + { + if ($this->url === null || $this->url === false || $this->url === '') { + // url may not be set + return; + } + + $title = Piwik::translate('HeatmapSessionRecording_ScreenshotUrl'); + + if (preg_match('/\s/', $this->url)) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXContainsWhitespace', $title)); + } + + if (strpos($this->url, '//') === false) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_UrlXDoesNotLookLikeUrl', array($title, static::MAX_LENGTH))); + } + + if (Common::mb_strlen($this->url) > static::MAX_LENGTH) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorXTooLong', array($title, static::MAX_LENGTH))); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Input/Validator.php b/files/plugin-HeatmapSessionRecording-5.6.0/Input/Validator.php new file mode 100644 index 0000000..c70bb1c --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Input/Validator.php @@ -0,0 +1,233 @@ +configuration = new Configuration(); + $this->systemSettings = $systemSettings; + } + + private function supportsMethod($method) + { + return method_exists('Piwik\Piwik', $method); + } + + public function checkHasSomeWritePermission() + { + Piwik::checkUserHasSomeWriteAccess(); + } + + public function checkWritePermission($idSite) + { + $this->checkSiteExists($idSite); + Piwik::checkUserIsNotAnonymous(); + Piwik::checkUserHasWriteAccess($idSite); + } + + public function checkHeatmapReportViewPermission($idSite) + { + $this->checkSiteExists($idSite); + Piwik::checkUserHasViewAccess($idSite); + $this->checkHeatmapRecordingEnabled($idSite); + } + + public function checkSessionReportViewPermission($idSite) + { + $this->checkSiteExists($idSite); + $this->checkUserIsNotAnonymousForView($idSite); + Piwik::checkUserHasViewAccess($idSite); + $this->checkSessionRecordingEnabled($idSite); + } + + public function checkSessionReportWritePermission($idSite) + { + $this->checkWritePermission($idSite); + $this->checkSessionRecordingEnabled($idSite); + } + + public function checkHeatmapReportWritePermission($idSite) + { + $this->checkWritePermission($idSite); + $this->checkHeatmapRecordingEnabled($idSite); + } + + public function checkSessionRecordingEnabled(?int $idSite = null) + { + if ($this->isSessionRecordingDisabled($idSite)) { + throw new \Exception(Piwik::translate('HeatmapSessionRecording_ErrorSessionRecordingDisabled')); + } + } + + public function checkHeatmapRecordingEnabled(?int $idSite = null) + { + if ($this->isHeatmapRecordingDisabled($idSite)) { + throw new \Exception(Piwik::translate('HeatmapSessionRecording_ErrorHeatmapRecordingDisabled')); + } + } + + /** + * Check whether the current user is allowed to duplicate to specified sites. + * + * @param int[] $idSites + * @param int $hsrType Optional type indicating the permission check is for Heatmaps (1) or SessionRecordings (2). + * The default is Heatmaps. + * @return void + * @throws \Exception If heatmaps aren't enabled, the user doesn't have write permission, or the site is a rollup + */ + public function checkSitesDuplicationPermission(array $idSites, int $hsrType = SiteHsrDao::RECORD_TYPE_HEATMAP) + { + if ($hsrType === SiteHsrDao::RECORD_TYPE_HEATMAP) { + foreach ($idSites as $idSite) { + $this->checkHeatmapRecordingEnabled($idSite); + } + } elseif ($hsrType === SiteHsrDao::RECORD_TYPE_SESSION) { + foreach ($idSites as $idSite) { + $this->checkSessionRecordingEnabled($idSite); + } + } else { + throw new \Exception('Unsupported HSR Type: ' . $hsrType); + } + + if (count($idSites) < 1) { + throw new \Exception(Piwik::translate('General_Required', ['idSites'])); + } + + Piwik::checkUserHasWriteAccess($idSites); + // Check if any of the specified sites are rollups + $rollupSiteNames = []; + foreach ($idSites as $idSite) { + if (Site::getTypeFor($idSite) === 'rollup') { + $rollupSiteNames[] = Site::getNameFor($idSite); + } + } + + if (count($rollupSiteNames) > 0) { + throw new \Exception(Piwik::translate( + 'HeatmapSessionRecording_HeatmapDuplicationSiteTypeError', + ['\'' . implode('\', \'', $rollupSiteNames) . '\''] + )); + } + } + + private function checkUserIsNotAnonymousForView($idSite) + { + if ($this->configuration->isAnonymousSessionRecordingAccessEnabled($idSite)) { + Piwik::checkUserHasViewAccess($idSite); + return; + } + + Piwik::checkUserIsNotAnonymous(); + } + + private function checkSiteExists($idSite) + { + new Site($idSite); + } + + public function canViewSessionReport(int $idSite) + { + if (empty($idSite) || $this->isSessionRecordingDisabled($idSite)) { + return false; + } + + if ( + !$this->configuration->isAnonymousSessionRecordingAccessEnabled($idSite) + && Piwik::isUserIsAnonymous() + ) { + return false; + } + + return Piwik::isUserHasViewAccess($idSite); + } + + public function canViewHeatmapReport(int $idSite) + { + if (empty($idSite) || $this->isHeatmapRecordingDisabled($idSite)) { + return false; + } + + return Piwik::isUserHasViewAccess($idSite); + } + + public function canWrite($idSite) + { + if (empty($idSite)) { + return false; + } + + return Piwik::isUserHasWriteAccess($idSite); + } + + public function isSessionRecordingDisabled(?int $idSite = null) + { + + try { + $featureFlagManager = StaticContainer::get(FeatureFlagManager::class); + if ($featureFlagManager->isFeatureActive('Piwik\Plugins\PrivacyManager\FeatureFlags\PrivacyCompliance')) { + return DisableSessionRecording::getInstance($idSite)->getValue(); + } + } catch (NotFoundException $e) { + /* + if the feature flag manager cannot be loaded, + just move on to backup/original setting + value retrieval + */ + } + return $this->systemSettings->disableSessionRecording->getValue(); + } + + public function isHeatmapRecordingDisabled(?int $idSite = null) + { + try { + $featureFlagManager = StaticContainer::get(FeatureFlagManager::class); + if ($featureFlagManager->isFeatureActive('Piwik\Plugins\PrivacyManager\FeatureFlags\PrivacyCompliance')) { + return DisableHeatmapRecording::getInstance($idSite)->getValue(); + } + } catch (NotFoundException $e) { + /* + if the feature flag manager cannot be loaded, + just move on to backup/original setting + value retrieval + */ + } + return $this->systemSettings->disableHeatmapRecording->getValue(); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Install/HtAccess.php b/files/plugin-HeatmapSessionRecording-5.6.0/Install/HtAccess.php new file mode 100644 index 0000000..dc7017d --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Install/HtAccess.php @@ -0,0 +1,66 @@ +getPluginDir() . '/.htaccess'; + } + + private function getSourcePath() + { + return $this->getPluginDir() . '/Install/htaccessTemplate'; + } + + private function exists() + { + $path = $this->getTargetPath(); + return file_exists($path); + } + + private function canCreate() + { + return is_writable($this->getPluginDir()); + } + + private function isContentDifferent() + { + $templateContent = trim(file_get_contents($this->getSourcePath())); + $fileContent = trim(file_get_contents($this->getTargetPath())); + + return $templateContent !== $fileContent; + } + + public function install() + { + if ( + $this->canCreate() && (!$this->exists() || (is_readable($this->getTargetPath()) && $this->isContentDifferent())) + ) { + Filesystem::copy($this->getSourcePath(), $this->getTargetPath()); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Install/htaccessTemplate b/files/plugin-HeatmapSessionRecording-5.6.0/Install/htaccessTemplate new file mode 100644 index 0000000..c302274 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Install/htaccessTemplate @@ -0,0 +1,23 @@ +# This file is generated by InnoCraft - Piwik, do not edit directly +# Please report any issue or improvement directly to the InnoCraft team. +# Allow to serve configs.php which is safe + + + + Order Allow,Deny + Allow from All + + = 2.4> + Require all granted + + + + + Order Allow,Deny + Allow from All + + + Require all granted + + + \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/LEGALNOTICE b/files/plugin-HeatmapSessionRecording-5.6.0/LEGALNOTICE new file mode 100644 index 0000000..b8a6bb2 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/LEGALNOTICE @@ -0,0 +1,46 @@ +COPYRIGHT + + The software package is: + + Copyright (C) 2017 InnoCraft Ltd (NZBN 6106769) + + +SOFTWARE LICENSE + + This software is licensed under the InnoCraft EULA and the license has been included in this + software package in the file LICENSE. + + +THIRD-PARTY COMPONENTS AND LIBRARIES + + The following components/libraries are redistributed in this package, + and subject to their respective licenses. + + Name: heatmap.js + Link: https://www.patrick-wied.at/static/heatmapjs/ + License: MIT + License File: ibs/heatmap.js/LICENSE + + Name: mutation-summary + Link: https://github.com/rafaelw/mutation-summary/ + License: Apache 2.0 + License File: libs/mutation-summary/COPYING + + Name: MutationObserver.js + Link: https://github.com/megawac/MutationObserver.js/tree/master + License: WTFPL, Version 2 + License File: libs/MutationObserver.js/license + + Name: svg.js + Link: http://tkyk.github.com/jquery-history-plugin/ + License: http://svgjs.com/ + License File: libs/svg.js/LICENSE.txt + + Name: Get Element CSS Selector + Link: https://gist.github.com/asfaltboy/8aea7435b888164e8563 + License: MIT + License File: included in tracker.min.js + + Name: Material icons ("repeat", "looks_one", "looks_two", "looks_four", "looks_six") in angularjs/sessionvis/sessionvis.directive.html + Link: https://design.google.com/icons/ + License: Apache License Version 2.0 diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/LICENSE b/files/plugin-HeatmapSessionRecording-5.6.0/LICENSE new file mode 100644 index 0000000..4686f35 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/LICENSE @@ -0,0 +1,49 @@ +InnoCraft License + +This InnoCraft End User License Agreement (the "InnoCraft EULA") is between you and InnoCraft Ltd (NZBN 6106769) ("InnoCraft"). If you are agreeing to this Agreement not as an individual but on behalf of your company, then "Customer" or "you" means your company, and you are binding your company to this Agreement. InnoCraft may modify this Agreement from time to time, subject to the terms in Section (xii) below. + +By clicking on the "Iโ€™ve read and accept the terms & conditions (https://shop.matomo.org/terms-conditions/)" (or similar button) that is presented to you at the time of your Order, or by using or accessing InnoCraft products, you indicate your assent to be bound by this Agreement. + + +InnoCraft EULA + +(i) InnoCraft is the licensor of the Plugin for Matomo Analytics (the "Software"). + +(ii) Subject to the terms and conditions of this Agreement, InnoCraft grants you a limited, worldwide, non-exclusive, non-transferable and non-sublicensable license to install and use the Software only on hardware systems owned, leased or controlled by you, during the applicable License Term. The term of each Software license ("License Term") will be specified in your Order. Your License Term will end upon any breach of this Agreement. + +(iii) Unless otherwise specified in your Order, for each Software license that you purchase, you may install one production instance of the Software in a Matomo Analytics instance owned or operated by you, and accessible via one URL ("Matomo instance"). Additional licenses must be purchased in order to deploy the Software in multiple Matomo instances, including when these multiple Matomo instances are hosted on a single hardware system. + +(iv) Licenses granted by InnoCraft are granted subject to the condition that you must ensure the maximum number of Authorized Users and Authorized Sites that are able to access and use the Software is equal to the number of User and Site Licenses for which the necessary fees have been paid to InnoCraft for the Subscription period. You may upgrade your license at any time on payment of the appropriate fees to InnoCraft in order to increase the maximum number of authorized users or sites. The number of User and Site Licenses granted to you is dependent on the fees paid by you. โ€œUser Licenseโ€ means a license granted under this EULA to you to permit an Authorized User to use the Software. โ€œAuthorized Userโ€ means a person who has an account in the Matomo instance and for which the necessary fees (โ€œSubscription feesโ€) have been paid to InnoCraft for the current license term. "Site License" means a license granted under this EULA to you to permit an Authorized Site to use the Matomo Marketplace Plugin. โ€œAuthorized Sitesโ€ means a website or a measurable within Matomo instance and for which the necessary fees (โ€œSubscription feesโ€) have been paid to InnoCraft for the current license term. These restrictions also apply if you install the Matomo Analytics Platform as part of your WordPress. + +(v) Piwik Analytics was renamed to Matomo Analytics in January 2018. The same terms and conditions as well as any restrictions or grants apply if you are using any version of Piwik. + +(vi) The Software requires a license key in order to operate, which will be delivered to the email addresses specified in your Order when we have received payment of the applicable fees. + +(vii) Any information that InnoCraft may collect from you or your device will be subject to InnoCraft Privacy Policy (https://www.innocraft.com/privacy). + +(viii) You are bound by the Matomo Marketplace Terms and Conditions (https://shop.matomo.org/terms-conditions/). + +(ix) You may not reverse engineer or disassemble or re-distribute the Software in whole or in part, or create any derivative works from or sublicense any rights in the Software, unless otherwise expressly authorized in writing by InnoCraft. + +(x) The Software is protected by copyright and other intellectual property laws and treaties. InnoCraft own all title, copyright and other intellectual property rights in the Software, and the Software is licensed to you directly by InnoCraft, not sold. + +(xi) The Software is provided under an "as is" basis and without any support or maintenance. Nothing in this Agreement shall require InnoCraft to provide you with support or fixes to any bug, failure, mis-performance or other defect in The Software. InnoCraft may provide you, from time to time, according to his sole discretion, with updates of the Software. You hereby warrant to keep the Software up-to-date and install all relevant updates. InnoCraft shall provide any update free of charge. + +(xii) The Software is provided "as is", and InnoCraft hereby disclaim all warranties, including but not limited to any implied warranties of title, non-infringement, merchantability or fitness for a particular purpose. InnoCraft shall not be liable or responsible in any way for any losses or damage of any kind, including lost profits or other indirect or consequential damages, relating to your use of or reliance upon the Software. + +(xiii) We may update or modify this Agreement from time to time, including the referenced Privacy Policy and the Matomo Marketplace Terms and Conditions. If a revision meaningfully reduces your rights, we will use reasonable efforts to notify you (by, for example, sending an email to the billing or technical contact you designate in the applicable Order). If we modify the Agreement during your License Term or Subscription Term, the modified version will be effective upon your next renewal of a License Term. + + +About InnoCraft Ltd + +At InnoCraft Ltd, we create innovating quality products to grow your business and to maximize your success. + +Our software products are built on top of Matomo Analytics: the leading open digital analytics platform used by more than one million websites worldwide. We are the creators and makers of the Matomo Analytics platform. + + +Contact + +Email: contact@innocraft.com +Contact form: https://www.innocraft.com/#contact +Website: https://www.innocraft.com/ +Buy our products: Premium Features for Matomo Analytics https://plugins.matomo.org/premium diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Menu.php b/files/plugin-HeatmapSessionRecording-5.6.0/Menu.php new file mode 100644 index 0000000..68799fa --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Menu.php @@ -0,0 +1,50 @@ +validator = $validator; + } + + public function configureAdminMenu(MenuAdmin $menu) + { + $idSite = Common::getRequestVar('idSite', 0, 'int'); + + if (!empty($idSite) && !Piwik::isUserIsAnonymous() && $this->validator->canWrite($idSite)) { + if (!$this->validator->isHeatmapRecordingDisabled($idSite)) { + $menu->addMeasurableItem('HeatmapSessionRecording_Heatmaps', $this->urlForAction('manageHeatmap'), $orderId = 30); + } + if (!$this->validator->isSessionRecordingDisabled($idSite)) { + $menu->addMeasurableItem('HeatmapSessionRecording_SessionRecordings', $this->urlForAction('manageSessions'), $orderId = 30); + } + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Model/RepeatName.php b/files/plugin-HeatmapSessionRecording-5.6.0/Model/RepeatName.php new file mode 100644 index 0000000..77543ca --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Model/RepeatName.php @@ -0,0 +1,111 @@ +getDefaultLanguage(); + } + + $shortMonths = self::getLocalizedShortMonths($translator, $language); + $monthOfYear = (int) $date->toString('n'); + + return self::buildName($baseName, $shortMonths[$monthOfYear], $date->toString('Y'), self::getStrippableShortMonths($translator, $shortMonths)); + } + + public static function buildName($baseName, $shortMonth, $year, array $allShortMonths) + { + $baseName = self::stripExistingSuffix((string) $baseName, $allShortMonths); + $suffix = $shortMonth . '-' . $year; + + return self::appendWithinLimit($baseName, $suffix); + } + + private static function getLocalizedShortMonths(Translator $translator, $language) + { + $months = array(); + + for ($month = 1; $month <= 12; $month++) { + $name = $translator->translate('Intl_Month_Short_' . $month, array(), $language); + $months[$month] = Common::mb_strtolower($name) === $name + ? Common::mb_substr(Common::mb_strtoupper($name), 0, 1) . Common::mb_substr($name, 1) + : $name; + } + + return $months; + } + + /** + * A suffix generated earlier must stay recognisable after the owner changes their language, or suffixes stack. + * Earlier suffixes were written either in the owner's language, the configured default one, or English. + */ + private static function getStrippableShortMonths(Translator $translator, array $shortMonths) + { + $months = array_values($shortMonths); + + foreach (array($translator->getDefaultLanguage(), 'en') as $language) { + $months = array_merge($months, array_values(self::getLocalizedShortMonths($translator, $language))); + } + + return array_unique($months); + } + + private static function stripExistingSuffix($baseName, array $allShortMonths) + { + $quoted = array(); + foreach ($allShortMonths as $shortMonth) { + $quoted[] = preg_quote($shortMonth, '/'); + } + + $pattern = '/\s(?:' . implode('|', $quoted) . ')-\d{4}$/u'; + + return preg_replace($pattern, '', $baseName); + } + + private static function appendWithinLimit($baseName, $suffix) + { + $full = $baseName . ' ' . $suffix; + + if (Common::mb_strlen($full) <= Name::MAX_LENGTH) { + return $full; + } + + $maxBaseLength = Name::MAX_LENGTH - Common::mb_strlen($suffix) - 1; + if ($maxBaseLength < 0) { + $maxBaseLength = 0; + } + + $truncatedBase = rtrim(Common::mb_substr($baseName, 0, $maxBaseLength)); + + if ($truncatedBase === '') { + return $suffix; + } + + return $truncatedBase . ' ' . $suffix; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Model/SiteHsrModel.php b/files/plugin-HeatmapSessionRecording-5.6.0/Model/SiteHsrModel.php new file mode 100644 index 0000000..428dec1 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Model/SiteHsrModel.php @@ -0,0 +1,828 @@ +dao = $dao; + $this->logHsrSite = $logHsrSite; + } + + public function addHeatmap($idSite, $name, $matchPageRules, $sampleLimit, $sampleRate, $excludedElements, $screenshotUrl, $breakpointMobile, $breakpointTablet, $captureDomManually, $createdDate, $description = '', $autoRepeat = false) + { + $this->checkHeatmap($name, $matchPageRules, $sampleLimit, $sampleRate, $excludedElements, $screenshotUrl, $breakpointMobile, $breakpointTablet, $description); + + $status = SiteHsrDao::STATUS_ACTIVE; + + $idSiteHsr = $this->dao->createHeatmapRecord( + $idSite, + $name, + $sampleLimit, + $sampleRate, + $matchPageRules, + $excludedElements, + $screenshotUrl, + $breakpointMobile, + $breakpointTablet, + $status, + $captureDomManually, + $createdDate, + $description, + $autoRepeat + ); + $this->clearTrackerCache($idSite); + + return (int) $idSiteHsr; + } + + /** + * @return int|null the id of the copy, or null when the source is no longer eligible to be repeated + */ + public function createRepeatCopy($idSite, $idSiteHsr) + { + $heatmap = $this->getHeatmap($idSite, $idSiteHsr); + + if (empty($heatmap)) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorHeatmapDoesNotExist')); + } + + $repeat = $this->prepareRepeat($idSite, $idSiteHsr, $heatmap); + + if (empty($repeat)) { + return null; + } + + $login = $repeat['login']; + $createdDate = $repeat['created_date']; + $scheduledDate = $repeat['scheduled_date']; + $name = $repeat['name']; + + $matchPageRules = $heatmap['match_page_rules']; + $sampleLimit = $heatmap['sample_limit'] ?? 1000; + $sampleRate = $heatmap['sample_rate'] ?? 5; + $excludedElements = $heatmap['excluded_elements'] ?? false; + $screenshotUrl = $heatmap['screenshot_url'] ?? false; + $breakpointMobile = $heatmap['breakpoint_mobile'] ?? false; + $breakpointTablet = $heatmap['breakpoint_tablet'] ?? false; + $captureDomManually = $heatmap['capture_manually'] ?? false; + $description = $heatmap['description'] ?? ''; + + $this->checkHeatmap($name, $matchPageRules, $sampleLimit, $sampleRate, $excludedElements, $screenshotUrl, $breakpointMobile, $breakpointTablet, $description); + + $idSiteHsrNew = $this->dao->createHeatmapRecord( + $idSite, + $name, + $sampleLimit, + $sampleRate, + $matchPageRules, + $excludedElements, + $screenshotUrl, + $breakpointMobile, + $breakpointTablet, + SiteHsrDao::STATUS_ONHOLD, + $captureDomManually, + $createdDate, + $description, + true, + $login, + $scheduledDate, + $idSiteHsr + ); + + $this->clearTrackerCache($idSite); + + return (int) $idSiteHsrNew; + } + + public function updateHeatmap( + $idSite, + $idSiteHsr, + $name, + $matchPageRules, + $sampleLimit, + $sampleRate, + $excludedElements, + $screenshotUrl, + $breakpointMobile, + $breakpointTablet, + $captureDomManually, + $updatedDate, + $description = '', + $autoRepeat = false + ) { + $this->checkHeatmap($name, $matchPageRules, $sampleLimit, $sampleRate, $excludedElements, $screenshotUrl, $breakpointMobile, $breakpointTablet, $description); + + $columns = array( + 'name' => $name, + 'description' => (string) $description, + 'sample_limit' => $sampleLimit, + 'match_page_rules' => $matchPageRules, + 'sample_rate' => $sampleRate, + 'excluded_elements' => $excludedElements, + 'screenshot_url' => $screenshotUrl, + 'breakpoint_mobile' => $breakpointMobile, + 'breakpoint_tablet' => $breakpointTablet, + 'updated_date' => $updatedDate, + ); + + if (!empty($captureDomManually)) { + $columns['capture_manually'] = 1; + $columns['page_treemirror'] = null; + } else { + $columns['capture_manually'] = 0; + } + + $columns['auto_repeat'] = !empty($autoRepeat) ? 1 : 0; + + $this->updateHsrColumns($idSite, $idSiteHsr, $columns); + $this->clearTrackerCache($idSite); + } + + private function checkHeatmap($name, $matchPageRules, $sampleLimit, $sampleRate, $excludedElements, $screenshotUrl, $breakpointMobile, $breakpointTablet, $description = '') + { + $name = new Name($name); + $name->check(); + + $description = new Description($description); + $description->check(); + + $pageRules = new PageRules($matchPageRules, 'matchPageRules', $needsOneEntry = true); + $pageRules->check(); + + $sampleLimit = new SampleLimit($sampleLimit); + $sampleLimit->check(); + + $sampleRate = new SampleRate($sampleRate); + $sampleRate->check(); + + $screenshotUrl = new ScreenshotUrl($screenshotUrl); + $screenshotUrl->check(); + + $excludedElements = new ExcludedElements($excludedElements); + $excludedElements->check(); + + $breakpointMobile = new Breakpoint($breakpointMobile, 'Mobile'); + $breakpointMobile->check(); + + $breakpointTablet = new Breakpoint($breakpointTablet, 'Tablet'); + $breakpointTablet->check(); + } + + public function addSessionRecording($idSite, $name, $matchPageRules, $sampleLimit, $sampleRate, $minSessionTime, $requiresActivity, $captureKeystrokes, $createdDate, $description = '', $autoRepeat = false) + { + $this->checkSession($name, $matchPageRules, $sampleLimit, $sampleRate, $minSessionTime, $requiresActivity, $captureKeystrokes, $description); + $status = SiteHsrDao::STATUS_ACTIVE; + + $idSiteHsr = $this->dao->createSessionRecord($idSite, $name, $sampleLimit, $sampleRate, $matchPageRules, $minSessionTime, $requiresActivity, $captureKeystrokes, $status, $createdDate, $description, $autoRepeat); + + $this->clearTrackerCache($idSite); + return (int) $idSiteHsr; + } + + /** + * @return int|null the id of the copy, or null when the source is no longer eligible to be repeated + */ + public function createSessionRepeatCopy($idSite, $idSiteHsr) + { + $session = $this->getSessionRecording($idSite, $idSiteHsr); + + if (empty($session)) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorSessionRecordingDoesNotExist')); + } + + $repeat = $this->prepareRepeat($idSite, $idSiteHsr, $session); + + if (empty($repeat)) { + return null; + } + + $login = $repeat['login']; + $createdDate = $repeat['created_date']; + $scheduledDate = $repeat['scheduled_date']; + $name = $repeat['name']; + + $matchPageRules = $session['match_page_rules']; + $sampleLimit = $session['sample_limit'] ?? 1000; + $sampleRate = $session['sample_rate'] ?? 10; + $minSessionTime = $session['min_session_time'] ?? 0; + $requiresActivity = $session['requires_activity'] ?? true; + $captureKeystrokes = $session['capture_keystrokes'] ?? true; + $description = $session['description'] ?? ''; + + $this->checkSession($name, $matchPageRules, $sampleLimit, $sampleRate, $minSessionTime, $requiresActivity, $captureKeystrokes, $description); + + $idSiteHsrNew = $this->dao->createSessionRecord( + $idSite, + $name, + $sampleLimit, + $sampleRate, + $matchPageRules, + $minSessionTime, + $requiresActivity, + $captureKeystrokes, + SiteHsrDao::STATUS_ONHOLD, + $createdDate, + $description, + true, + $login, + $scheduledDate, + $idSiteHsr + ); + + $this->clearTrackerCache($idSite); + + return (int) $idSiteHsrNew; + } + + public function updateSessionRecording($idSite, $idSiteHsr, $name, $matchPageRules, $sampleLimit, $sampleRate, $minSessionTime, $requiresActivity, $captureKeystrokes, $updatedDate, $description = '', $autoRepeat = false) + { + $this->checkSession($name, $matchPageRules, $sampleLimit, $sampleRate, $minSessionTime, $requiresActivity, $captureKeystrokes, $description); + + $columns = array( + 'name' => $name, + 'description' => (string) $description, + 'sample_limit' => $sampleLimit, + 'match_page_rules' => $matchPageRules, + 'sample_rate' => $sampleRate, + 'min_session_time' => $minSessionTime, + 'requires_activity' => $requiresActivity, + 'capture_keystrokes' => $captureKeystrokes, + 'updated_date' => $updatedDate, + ); + + $columns['auto_repeat'] = !empty($autoRepeat) ? 1 : 0; + + $this->updateHsrColumns($idSite, $idSiteHsr, $columns); + $this->clearTrackerCache($idSite); + } + + private function checkSession($name, $matchPageRules, $sampleLimit, $sampleRate, $minSessionTime, $requiresActivity, $captureKeystrokes, $description = '') + { + $name = new Name($name); + $name->check(); + + $description = new Description($description); + $description->check(); + + $pageRules = new PageRules($matchPageRules, 'matchPageRules', $needsOneEntry = false); + $pageRules->check(); + + $sampleLimit = new SampleLimit($sampleLimit); + $sampleLimit->check(); + + $sampleRate = new SampleRate($sampleRate); + $sampleRate->check(); + + $minSessionTime = new MinSessionTime($minSessionTime); + $minSessionTime->check(); + + $requiresActivity = new RequiresActivity($requiresActivity); + $requiresActivity->check(); + + $captureKeystrokes = new CaptureKeystrokes($captureKeystrokes); + $captureKeystrokes->check(); + } + + public function getHeatmap($idSite, $idSiteHsr) + { + $record = $this->dao->getRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_HEATMAP); + + return $this->enrichHeatmap($record); + } + + public function getSessionRecording($idSite, $idSiteHsr) + { + $record = $this->dao->getRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_SESSION); + return $this->enrichSessionRecording($record); + } + + public function pauseHeatmap($idSite, $idSiteHsr) + { + $this->pauseRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_HEATMAP); + } + + public function resumeHeatmap($idSite, $idSiteHsr) + { + $this->resumeRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_HEATMAP); + } + + private function pauseRecord($idSite, $idSiteHsr, $recordType) + { + $status = $this->dao->getRecordStatus($idSite, $idSiteHsr, $recordType); + + // only an active record can be paused. Pausing an ended or on hold one would let resumeRecord() turn it + // active, reviving a finished record or starting a scheduled one before its date. + if ($status !== SiteHsrDao::STATUS_ACTIVE) { + return; + } + + $this->updateHsrColumns($idSite, $idSiteHsr, array('status' => SiteHsrDao::STATUS_PAUSED)); + } + + private function resumeRecord($idSite, $idSiteHsr, $recordType) + { + $status = $this->dao->getRecordStatus($idSite, $idSiteHsr, $recordType); + + // only a paused record can be resumed, an on hold record needs to stay on hold until its scheduled date + if ($status === SiteHsrDao::STATUS_PAUSED) { + $this->updateHsrColumns($idSite, $idSiteHsr, array('status' => SiteHsrDao::STATUS_ACTIVE)); + } + } + + private function endRecord($idSite, $idSiteHsr, $recordType, $eventName) + { + $status = $this->dao->getRecordStatus($idSite, $idSiteHsr, $recordType); + + // only a record that has started can be ended. Ending an on hold one would finish a record that never + // recorded anything, and as it repeats the daily task would immediately queue its next copy. It can only + // be deleted. + if ($status !== SiteHsrDao::STATUS_ACTIVE && $status !== SiteHsrDao::STATUS_PAUSED) { + return; + } + + $this->updateHsrColumns($idSite, $idSiteHsr, array('status' => SiteHsrDao::STATUS_ENDED)); + + Piwik::postEvent($eventName, array($idSite, $idSiteHsr)); + } + + public function deactivateHeatmap($idSite, $idSiteHsr) + { + $heatmap = $this->getHeatmap($idSite, $idSiteHsr); + + if (!empty($heatmap)) { + $this->updateHsrColumns($idSite, $idSiteHsr, array('status' => SiteHsrDao::STATUS_DELETED)); + + // the actual recorded heatmap data will still exist but we remove the "links" which is quick. a task will later remove all entries + $this->logHsrSite->unlinkSiteRecords($idSiteHsr); + } + } + + public function heatmapExists($idSite, $idSiteHsr): bool + { + $hsr = $this->dao->getRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_HEATMAP); + + return !empty($hsr); + } + + public function sessionRecordingExists($idSite, $idSiteHsr): bool + { + $hsr = $this->dao->getRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_SESSION); + + return !empty($hsr); + } + + public function checkHeatmapExists($idSite, $idSiteHsr) + { + if (!$this->heatmapExists($idSite, $idSiteHsr)) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorHeatmapDoesNotExist')); + } + } + + public function checkSessionRecordingExists($idSite, $idSiteHsr) + { + if (!$this->sessionRecordingExists($idSite, $idSiteHsr)) { + throw new Exception(Piwik::translate('HeatmapSessionRecording_ErrorSessionRecordingDoesNotExist')); + } + } + + public function pauseSessionRecording($idSite, $idSiteHsr) + { + $this->pauseRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_SESSION); + } + + public function resumeSessionRecording($idSite, $idSiteHsr) + { + $this->resumeRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_SESSION); + } + + public function deactivateSessionRecording($idSite, $idSiteHsr) + { + $session = $this->getSessionRecording($idSite, $idSiteHsr); + + if (!empty($session)) { + $this->updateHsrColumns($idSite, $idSiteHsr, array('status' => SiteHsrDao::STATUS_DELETED)); + + // the actual recording will still exist but we remove the "links" which is quick. a task will later remove all entries + $this->logHsrSite->unlinkSiteRecords($idSiteHsr); + } + } + + public function deactivateRecordsForSite($idSite) + { + foreach ($this->dao->getRecords($idSite, SiteHsrDao::RECORD_TYPE_HEATMAP, false) as $heatmap) { + $this->deactivateHeatmap($idSite, $heatmap['idsitehsr']); + } + + foreach ($this->dao->getRecords($idSite, SiteHsrDao::RECORD_TYPE_SESSION, false) as $session) { + $this->deactivateSessionRecording($idSite, $session['idsitehsr']); + } + } + + public function pauseRecordsForSite($idSite) + { + foreach ($this->dao->getRecords($idSite, SiteHsrDao::RECORD_TYPE_HEATMAP, false) as $heatmap) { + $this->pauseHeatmap($idSite, $heatmap['idsitehsr']); + } + + foreach ($this->dao->getRecords($idSite, SiteHsrDao::RECORD_TYPE_SESSION, false) as $session) { + $this->pauseSessionRecording($idSite, $session['idsitehsr']); + } + } + + public function resumeRecordsForSite($idSite) + { + foreach ($this->dao->getRecords($idSite, SiteHsrDao::RECORD_TYPE_HEATMAP, false) as $heatmap) { + $this->resumeHeatmap($idSite, $heatmap['idsitehsr']); + } + + foreach ($this->dao->getRecords($idSite, SiteHsrDao::RECORD_TYPE_SESSION, false) as $session) { + $this->resumeSessionRecording($idSite, $session['idsitehsr']); + } + } + + /** + * @return bool whether the heatmap was activated. False when it is no longer on hold or no longer due. + */ + public function activateOnHoldHeatmap($idSite, $idSiteHsr) + { + return $this->activateOnHoldRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_HEATMAP); + } + + /** + * @return bool whether the session recording was activated. False when it is no longer on hold or no longer due. + */ + public function activateOnHoldSessionRecording($idSite, $idSiteHsr) + { + return $this->activateOnHoldRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_SESSION); + } + + private function activateOnHoldRecord($idSite, $idSiteHsr, $recordType) + { + $activated = $this->dao->activateOnHoldRecord($idSite, $idSiteHsr, $this->getCurrentDateTime(), $recordType); + + if ($activated) { + $this->clearTrackerCache($idSite); + } + + return $activated; + } + + public function endHeatmap($idSite, $idSiteHsr) + { + $this->endRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_HEATMAP, 'HeatmapSessionRecording.endHeatmap'); + } + + public function endSessionRecording($idSite, $idSiteHsr) + { + $this->endRecord($idSite, $idSiteHsr, SiteHsrDao::RECORD_TYPE_SESSION, 'HeatmapSessionRecording.endSessionRecording'); + } + + /** + * @param $idSite + * @param bool $includePageTreeMirror performance and IO tweak has some heatmaps might have a 16MB or more treemirror and it would be loaded on every request causing a lot of IO etc. + * @param bool $skipEnrich option to skip enriching heatmaps in order to get unaltered data + * @return array + */ + public function getHeatmaps($idSite, $includePageTreeMirror, $skipEnrich = false) + { + $heatmaps = $this->dao->getRecords($idSite, SiteHsrDao::RECORD_TYPE_HEATMAP, $includePageTreeMirror); + + if ($skipEnrich) { + return $heatmaps; + } + + return $this->enrichHeatmaps($heatmaps); + } + + /** + * Only active heatmaps that have a snapshot, page_treemirror included, not enriched. + * Filters in SQL so other heatmaps' potentially large treemirror blobs are never loaded. + * + * @param int $idSite + * @return array + */ + public function getActiveHeatmapsWithPageTreemirror($idSite) + { + return $this->dao->getActiveHeatmapsWithPageTreemirror($idSite); + } + + public function getSessionRecordings($idSite) + { + $sessionRecordings = $this->dao->getRecords($idSite, SiteHsrDao::RECORD_TYPE_SESSION, $includePageTreeMirror = false); + + return $this->enrichSessionRecordings($sessionRecordings); + } + + public function hasSessionRecordings($idSite) + { + $hasSession = $this->dao->hasRecords($idSite, SiteHsrDao::RECORD_TYPE_SESSION); + + return !empty($hasSession); + } + + public function hasHeatmaps($idSite) + { + $hasHeatmap = $this->dao->hasRecords($idSite, SiteHsrDao::RECORD_TYPE_HEATMAP); + + return !empty($hasHeatmap); + } + + public function setPageTreeMirror($idSite, $idSiteHsr, $treeMirror, $screenshotUrl) + { + $heatmap = $this->getHeatmap($idSite, $idSiteHsr); + if (!empty($heatmap)) { + // only supported by heatmaps + $columns = array( + 'page_treemirror' => $treeMirror, + 'screenshot_url' => $screenshotUrl + ); + if (!empty($treeMirror)) { + // a new snapshot leaves the "snapshot deleted" empty state + $columns['screenshot_deleted_date'] = null; + + if (!empty($heatmap['capture_manually'])) { + $columns['capture_manually'] = 0; + } + } + $this->updateHsrColumns($idSite, $idSiteHsr, $columns); + } + } + + /** + * Records that the heatmap's snapshot was deleted so the report can show the matching empty state. + * Setting $captureManually stops the snapshot from being retaken automatically on the next visit. + */ + public function markScreenshotDeleted($idSite, $idSiteHsr, $captureManually = false) + { + // Always persist the requested flag so switching a deleted snapshot from manual back to + // automatic (or vice versa) actually takes effect, not just when enabling manual capture. + $this->updateHsrColumns($idSite, $idSiteHsr, array( + 'screenshot_deleted_date' => Date::now()->getDatetime(), + 'capture_manually' => $captureManually ? 1 : 0, + )); + } + + public function getPiwikRequestDate($hsr) + { + // we sub one day to make sure to include them all + $from = Date::factory($hsr['created_date'])->subDay(1)->toString(); + $to = Date::now()->addDay(1)->toString(); + + if ($from === $to) { + $dateRange = $from; + $period = 'year'; + } else { + $period = 'range'; + $dateRange = $from . ',' . $to; + } + + return array('period' => $period, 'date' => $dateRange); + } + + private function enrichHeatmaps($heatmaps) + { + if (empty($heatmaps)) { + return array(); + } + + foreach ($heatmaps as $index => $heatmap) { + $heatmaps[$index] = $this->enrichHeatmap($heatmap); + } + + return $heatmaps; + } + + private function enrichHeatmap($heatmap) + { + if (empty($heatmap)) { + return $heatmap; + } + + unset($heatmap['record_type']); + unset($heatmap['min_session_time']); + unset($heatmap['requires_activity']); + unset($heatmap['capture_keystrokes']); + $heatmap['created_date_pretty'] = Date::factory($heatmap['created_date'])->getLocalized(DateTimeFormatProvider::DATE_FORMAT_SHORT); + + if (!empty($heatmap['scheduled_date'])) { + $heatmap['scheduled_date_pretty'] = Date::factory($heatmap['scheduled_date'])->getLocalized(DateTimeFormatProvider::DATE_FORMAT_SHORT); + } else { + $heatmap['scheduled_date_pretty'] = null; + } + + if ((!method_exists(SettingsServer::class, 'isMatomoForWordPress') || !SettingsServer::isMatomoForWordPress()) && !SettingsServer::isTrackerApiRequest()) { + $heatmap['heatmapViewUrl'] = self::completeWidgetUrl('showHeatmap', 'idSiteHsr=' . (int) $heatmap['idsitehsr'] . '&useDateUrl=0', (int) $heatmap['idsite']); + } + + return $heatmap; + } + + public static function completeWidgetUrl($action, $params, $idSite, $period = null, $date = null) + { + if (!isset($date)) { + if (empty(self::$defaultDate)) { + $userPreferences = new UserPreferences(); + self::$defaultDate = $userPreferences->getDefaultDate(); + if (empty(self::$defaultDate)) { + self:: $defaultDate = 'today'; + } + } + $date = self::$defaultDate; + } + + if (!isset($period)) { + if (!isset(self::$defaultPeriod)) { + $userPreferences = new UserPreferences(); + self::$defaultPeriod = $userPreferences->getDefaultPeriod(false); + if (empty(self::$defaultPeriod)) { + self::$defaultPeriod = 'day'; + } + } + $period = self::$defaultPeriod; + } + + $token = Access::getInstance()->getTokenAuth(); + + $url = 'index.php?module=Widgetize&action=iframe&moduleToWidgetize=HeatmapSessionRecording&actionToWidgetize=' . urlencode($action) . '&' . $params . '&idSite=' . (int) $idSite . '&period=' . urlencode($period) . '&date=' . urlencode($date); + if (!empty($token)) { + $url .= '&token_auth=' . urlencode($token); + } + return $url; + } + + private function enrichSessionRecordings($sessionRecordings) + { + if (empty($sessionRecordings)) { + return array(); + } + + foreach ($sessionRecordings as $index => $sessionRecording) { + $sessionRecordings[$index] = $this->enrichSessionRecording($sessionRecording); + } + + return $sessionRecordings; + } + + private function enrichSessionRecording($session) + { + if (empty($session)) { + return $session; + } + + unset($session['record_type']); + unset($session['screenshot_url']); + unset($session['page_treemirror']); + unset($session['excluded_elements']); + unset($session['breakpoint_mobile']); + unset($session['breakpoint_tablet']); + $session['created_date_pretty'] = Date::factory($session['created_date'])->getLocalized(DateTimeFormatProvider::DATE_FORMAT_SHORT); + + if (!empty($session['scheduled_date'])) { + $session['scheduled_date_pretty'] = Date::factory($session['scheduled_date'])->getLocalized(DateTimeFormatProvider::DATE_FORMAT_SHORT); + } else { + $session['scheduled_date_pretty'] = null; + } + + return $session; + } + + protected function getCurrentDateTime() + { + return Date::now()->getDatetime(); + } + + /** + * The parts of a repeat copy that are the same whatever the record type: whether the source may still be + * repeated, who owns the copy, and when it is created, scheduled and what it is called. + * + * @param int $idSite + * @param int $idSiteHsr + * @param array $record the source record + * @return array|null the `login`, `created_date`, `scheduled_date` and `name` for the copy, or null when the + * source is no longer eligible to be repeated + */ + private function prepareRepeat($idSite, $idSiteHsr, $record) + { + // the source may have been resumed or had repetition turned off since the batch was selected + if ($record['status'] !== SiteHsrDao::STATUS_ENDED || empty($record['auto_repeat'])) { + return null; + } + + $login = $this->dao->getRecordLogin($idSite, $idSiteHsr); + + $createdDate = $this->getCurrentDateTime(); + // the delay runs from when the source finished, not from whenever the daily task happened to run + $scheduledDate = $this->getRepeatAnchorDate($record, $createdDate)->addDay(self::REPEAT_DELAY_DAYS)->getDatetime(); + + return array( + 'login' => $login, + 'created_date' => $createdDate, + 'scheduled_date' => $scheduledDate, + 'name' => RepeatName::generate($record['name'], Date::factory($scheduledDate), $this->getRecordLanguage($login)), + ); + } + + /** + * `updated_date` is set whenever the status changes, so for an ended heatmap it is the time it finished. + * + * @param array $heatmap + * @param string $fallbackDate + * @return Date + */ + private function getRepeatAnchorDate($heatmap, $fallbackDate) + { + if (!empty($heatmap['updated_date'])) { + try { + return Date::factory($heatmap['updated_date']); + } catch (Exception $e) { + // fall through to the fallback below + } + } + + return Date::factory($fallbackDate); + } + + /** + * @param string|null $login + * @return string|null the language of the record's owner, or null to use the configured default language + */ + private function getRecordLanguage($login) + { + if (empty($login)) { + return null; + } + + $language = (new LanguagesManagerModel())->getLanguageForUser($login); + + return !empty($language) ? $language : null; + } + + private function updateHsrColumns($idSite, $idSiteHsr, $columns) + { + if (!isset($columns['updated_date'])) { + $columns['updated_date'] = $this->getCurrentDateTime(); + } + + $this->dao->updateHsrColumns($idSite, $idSiteHsr, $columns); + $this->clearTrackerCache($idSite); + } + + private function clearTrackerCache($idSite) + { + Tracker\Cache::deleteCacheWebsiteAttributes($idSite); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/MutationManipulator.php b/files/plugin-HeatmapSessionRecording-5.6.0/MutationManipulator.php new file mode 100644 index 0000000..2b61c6b --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/MutationManipulator.php @@ -0,0 +1,319 @@ +configuration = $configuration; + $this->generateNonce(); + } + + public function manipulate($initialMutation, $idSiteHsr, $idLogHsr) + { + $parseAndSanitizeCssLinks = $this->updateCssLinks($initialMutation, $idSiteHsr, $idLogHsr); + + return $this->sanitizeNodeAttributes($parseAndSanitizeCssLinks); + } + + public function updateCssLinks($initialMutation, $idSiteHsr, $idLogHsr) + { + if ($this->configuration->isLoadCSSFromDBEnabled()) { + $blob = new LogHsrBlob(); + $dao = new LogHsrEvent($blob); + $cssEvents = $dao->getCssEvents($idSiteHsr, $idLogHsr); + if (!empty($cssEvents) && !empty($initialMutation)) { + $initialMutation = $this->updateInitialMutationWithInlineCss($initialMutation, $cssEvents); + } + } + + return $initialMutation; + } + + public function getNonce() + { + if (!$this->nonce) { + $this->generateNonce(); + } + + + return $this->nonce; + } + + public function generateNonce() + { + $this->nonce = $this->generateRandomString(); + } + + private function generateRandomString($length = 10) + { + $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + $charactersLength = strlen($characters); + $randomString = ''; + for ($i = 0; $i < $length; $i++) { + $randomString .= $characters[rand(0, $charactersLength - 1)]; + } + return $randomString; + } + + public function sanitizeNodeAttributes($initialMutation) + { + $initialMutationArray = json_decode($initialMutation, true); + if (!empty($initialMutationArray['children'])) { + $this->parseMutationArrayRecursivelyToSanitizeNodes($initialMutationArray['children']); + $initialMutation = json_encode($initialMutationArray); + } + + return $initialMutation; + } + + public function updateInitialMutationWithInlineCss($initialMutation, $cssEvents) + { + $formattedCssEvents = $this->formatCssEvents($cssEvents); + $initialMutationArray = json_decode($initialMutation, true); + if (!empty($initialMutationArray['children']) && !empty($formattedCssEvents)) { + $this->parseMutationArrayRecursivelyForCssLinks($initialMutationArray['children'], $formattedCssEvents); + + $initialMutation = json_encode($initialMutationArray); + } + + return $initialMutation; + } + + public function formatCssEvents($cssEvents) + { + $formatted = array(); + foreach ($cssEvents as $cssEvent) { + if (!isset($formatted[md5(trim($cssEvent['url']))])) { //Only use the first one since the o/p is sorted by ID in ascending order + $formatted[md5(trim($cssEvent['url']))] = $cssEvent; + } + } + + return $formatted; + } + + private function parseMutationArrayRecursivelyForCssLinks(&$nodes, $cssEvents, &$id = 900000000) + { + foreach ($nodes as &$node) { + $parseChildNodes = true; + if (isset($node['tagName']) && $node['tagName'] == 'LINK' && !empty($node['attributes']['url']) && !empty($cssEvents) && !empty($cssEvents[md5(trim($node['attributes']['url']))]['text'])) { + $parseChildNodes = false; + $content = $cssEvents[md5(trim($node['attributes']['url']))]['text']; + if (!empty($content)) { + $node['tagName'] = 'STYLE'; + $media = $node['attributes']['media'] ?? ''; + if (isset($node['attributes'])) { + $node['attributes'] = []; + } + $node['attributes']['nonce'] = $this->getNonce(); + if ($media) { + $node['attributes']['media'] = $media; + } + $node['childNodes'] = [ + [ + 'nodeType' => 3, + 'id' => $id++, + 'textContent' => $content + ] + ]; + } + } + + if ($parseChildNodes && !empty($node['childNodes'])) { + $this->parseMutationArrayRecursivelyForCssLinks($node['childNodes'], $cssEvents, $id); + } + } + } + + private function parseMutationArrayRecursivelyToSanitizeNodes(&$nodes) + { + foreach ($nodes as &$node) { + if ($this->shouldReplaceBlockedNode($node)) { + $this->replaceBlockedNode($node); + } + + if (!empty($node['attributes'])) { + // empty all the attributes with base64 and contains javascript/script/"(" + // Eg: OR + foreach ($node['attributes'] as $nodeAttributeKey => &$nodeAttributeValue) { + // had to double encode `\x09` as `\\\\x09` in MutationManipulatorTest.php to make json_decode work, else it was giving "syntax error" via json_last_error_msg() + // Due to double encoding had to add entry for both "\\x09" and "\x09" + $nodeAttributeValue = str_replace(["\\x09", "\\x0a", "\\x0d", "\\0", "\x09", "\x0a", "\x0d", "\0"], "", $nodeAttributeValue); + $htmlDecodedAttributeValue = html_entity_decode($nodeAttributeValue, ENT_COMPAT, 'UTF-8'); + if ( + $htmlDecodedAttributeValue && + ( + stripos($htmlDecodedAttributeValue, 'ecmascript') !== false || + stripos($htmlDecodedAttributeValue, 'javascript') !== false || + stripos($htmlDecodedAttributeValue, 'script:') !== false || + stripos($htmlDecodedAttributeValue, 'jscript') !== false || + stripos($htmlDecodedAttributeValue, 'vbscript') !== false + ) + ) { + $nodeAttributeValue = ''; + } elseif (stripos($nodeAttributeValue, 'base64') !== false) { + $base64KeywordMadeLowerCase = str_ireplace('base64', 'base64', $nodeAttributeValue); + //For values like data:text/javascript;base64,YWxlcnQoMSk= we split the value into 2 parts + // part1: data:text/javascript;base64 + // part2: ,YWxlcnQoMSk= we split the value into 2 parts + // we determine the position of first comma from second part and try to decode the base64 string and check fo possible XSS + // cannot assume the position of firstComma to be `0` since there can be string with spaces in beginning + $attributeExploded = explode('base64', $base64KeywordMadeLowerCase); + array_shift($attributeExploded); + if (!empty($attributeExploded)) { + foreach ($attributeExploded as $attributeExplodedValue) { + $htmlDecodedAttributeString = html_entity_decode($attributeExplodedValue, ENT_COMPAT, 'UTF-8'); + $base64DecodedString = $this->decodeBase64Payload($attributeExplodedValue); + $base64UrlDecodedString = $this->decodeBase64Payload(urldecode($attributeExplodedValue)); + if ( + $this->isXssString($base64DecodedString) || + $this->isXssString($base64UrlDecodedString) || + $this->isXssString($htmlDecodedAttributeString) || + $this->isXssString(urldecode($htmlDecodedAttributeString)) + ) { + $nodeAttributeValue = ''; + break; + } + } + } + } elseif ($nodeAttributeValue) { + $htmlDecodedString = html_entity_decode($nodeAttributeValue, ENT_COMPAT, 'UTF-8'); + if ( + $this->isXssString($htmlDecodedString) || + $this->isXssString(urldecode($htmlDecodedString)) + ) { + $nodeAttributeValue = ''; + } + } + } + } + + if (!empty($node['childNodes'])) { + $this->parseMutationArrayRecursivelyToSanitizeNodes($node['childNodes']); + } + } + } + + private function isXssString($value) + { + $value = $this->normalizeDecodedText($value); + + if ( + !empty($value) && + ( + stripos($value, 'script:') !== false || + stripos($value, 'javascript') !== false || + stripos($value, 'ecmascript') !== false || + stripos($value, '') !== false || + stripos($value, ' + ) + ) { + return true; + } + + return false; + } + + private function shouldReplaceBlockedNode($node) + { + if (empty($node['tagName']) || !is_string($node['tagName'])) { + return false; + } + + return in_array(strtoupper($node['tagName']), self::BLOCKED_TAG_NAMES, true); + } + + private function replaceBlockedNode(&$node) + { + $node['tagName'] = 'NO_SCRIPT'; + $node['attributes'] = array('blocked' => 1); + $node['childNodes'] = array(); + } + + private function decodeBase64Payload($value) + { + if (!is_string($value) || '' === $value) { + return $value; + } + + $parts = explode(',', $value, 2); + $payload = count($parts) === 2 ? $parts[1] : $parts[0]; + $payload = trim($payload); + + if ($payload === '') { + return ''; + } + + $decoded = base64_decode($payload, true); + if ($decoded === false) { + return ''; + } + + return $this->normalizeDecodedText($decoded); + } + + private function normalizeDecodedText($value) + { + if (!is_string($value) || $value === '') { + return $value; + } + + if (strpos($value, "\xFF\xFE") === 0) { + return $this->convertEncoding($value, 'UTF-16LE'); + } + + if (strpos($value, "\xFE\xFF") === 0) { + return $this->convertEncoding($value, 'UTF-16BE'); + } + + if ($this->seemsUtf16WithNullBytes($value)) { + return $this->convertEncoding($value, strpos($value, "\x00") === 1 ? 'UTF-16LE' : 'UTF-16BE'); + } + + return $value; + } + + private function seemsUtf16WithNullBytes($value) + { + if (!is_string($value) || strlen($value) < 4) { + return false; + } + + return (bool) preg_match('/^(?:[\x20-\x7E]\x00){2,}|^(?:\x00[\x20-\x7E]){2,}/', $value); + } + + private function convertEncoding($value, $fromEncoding) + { + if (!function_exists('mb_convert_encoding')) { + return $value; + } + + $converted = @mb_convert_encoding($value, 'UTF-8', $fromEncoding); + + return is_string($converted) && $converted !== '' ? $converted : $value; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/README.md b/files/plugin-HeatmapSessionRecording-5.6.0/README.md new file mode 100644 index 0000000..e35a968 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/README.md @@ -0,0 +1,117 @@ +# Matomo HeatmapSessionRecording Plugin + +## Description + +Discover how visitors interact with your website, from the elements they engage with to the journeys they abandon. + +Traditional analytics can tell you what happened. [Heatmaps](https://matomo.org/guide/reports/heatmaps/) and [Session Recordings](https://matomo.org/guide/reports/session-recordings/) reveal how visitors navigate your website, where they hesitate, what attracts attention, and where they encounter obstacles. + +Replace assumptions with direct observation of visitor behaviour on desktop and mobile devices. + +### How Heatmaps & Session Recordings work + +#### Uncover visitor behaviour with Heatmaps + +
    +
    +

    Identify the areas of your pages that attract attention and the elements that are ignored. A heatmap shows where visitors click, move their cursor, and how far they scroll. Use these insights to evaluate content placement, navigation, forms, and calls to action across different devices and screen sizes.

    +

    Create heatmaps in minutes and start evaluating page performance without building complex reports.

    +
    +
    +Uncover visitor behaviour with Heatmaps +
    +
    + +#### Support UX and design decisions with evidence + +
    +
    +

    Website changes often involve competing opinions and assumptions. Heatmaps provide a visual record of visitor behaviour, helping teams evaluate content based on how people actually interact with the page.

    +

    Compare the impact of design updates over time, identify overlooked content, and assess whether important elements receive the attention they were designed to attract.

    +
    +
    +Support UX and design decisions with evidence +
    +
    + +#### Replay real visitor journeys + +
    +
    +

    Watch anonymised session recordings to see exactly how visitors move through your website. Follow mouse movements, clicks, scrolling behaviour, and navigation patterns to understand where visitors abandon tasks or encounter usability issues. Small usability issues can have a significant impact on the user experience. Let Session Recordings detect barriers that affect form completion, checkout flows, content engagement, and conversion paths.

    +
    +
    +Replay real visitor journeys +
    +
    + +#### Connect behaviour with analytics data + +
    +
    +

    Combine your heatmap or session recording with Matomo analytics data to understand the pages a visitor explored, the events they triggered, the campaigns they arrived from, and whether they completed a goal or conversion. Additional context brings together quantitative and behavioural data for converting and non-converting visitors to uncover what affects engagement and conversion rates.

    +
    +
    +Connect behaviour with analytics data +
    +
    + +### Try Heatmaps & Session Recordings Today + +Stop losing conversions you can't explain. Heatmaps and session recordings show you exactly what users do on your site. Record actual sessions. See where people click, pause, and drop off and understand why visitors leave without converting. + +Free for 30 days. No credit card required. + +### Heatmap visualisation features +* View click, mouse move (hover) and scroll heatmaps. +* View the heatmaps for desktop, [tablet and mobile devices](https://matomo.org/faq/heatmap-session-recording/faq_24232/). +* See how much of the content is visible on average when users open the website (above the fold). +* See how far down your visitors scroll. +* Delete an already taken [heatmap screenshot](https://matomo.org/faq/heatmap-session-recording/faq_32488/). +* Choose between different heatmap widths. +* Apply [segments](https://matomo.org/docs/segmentation/) to drill down your visitors and gain insights into specific target groups. + +### Recording features +* Visitor summary shows used browser, operating system, location, viewport resolution, time spent on the page, and more. +* Video controls like play, pause, replay and seek. +* Video timeline shows you when a certain event like a click, mouse move, or scroll will happen. +* Replays all clicks, mouse movements, scrolls, window resizes, form interactions, and page changes (e.g when a popup appears). +* Replay all recorded page views of a visitor within a session one after another. +* Delete individual [recordings](https://matomo.org/faq/heatmap-session-recording/faq_24226/). +* Enable autoplay to replay all page views within a visit automatically. +* Change the replay speed. +* Skip long pauses in a recording automatically. +* Use shortcuts when replaying a recorded session. +* View the [Visitor Profile](https://matomo.org/docs/user-profile/) to get all information about a visitor. +* Replay a recorded session directly from the [Visitor Log](https://matomo.org/docs/real-time/#visitor-log). +* Apply [segments](https://matomo.org/docs/segmentation/) to find the recordings you are interested in. + +### Manage Heatmap +* Create [unlimited heatmaps](https://matomo.org/faq/reports/create-and-manage-heatmaps/). +* Select how many page views you want to record. +* Define on which page a heatmap should be recorded by applying patterns like "starts with", "contains", "regular expressions" to URL, URL path and URL parameter. +* Choose a sample rate. +* [Hide certain elements](https://matomo.org/faq/heatmap-session-recording/faq_24266/) in the heatmap (for example a pop-up). +* Define on which URL a screenshot should be taken. +* Set custom mobile and tablet breakpoints. + +### Manage Session Recordings +* Record unlimited sessions. +* Select how many page views you want to record. +* Restrict on [which pages](https://matomo.org/faq/heatmap-session-recording/faq_24263/) a visitor should be recorded by using patterns like "starts with" based on URL, URL path and URL parameter. +* Choose a sample rate. +* Only record activities when a visitor spends at least a specific time on a page. +* Only record activities when a user has clicked and scrolled at least once. +* Define if keystrokes on text form fields should be captured or not. +* It only takes a few seconds to create a new session recording. + +### Privacy features +* [Anonymising / Masking](https://matomo.org/faq/heatmap-session-recording/data-masking-in-heatmaps-and-session-recordings/) of personal or sensitive information that a user enters into a form field (keystrokes) to not record personal data. +* Possibility to record [form fields](https://matomo.org/faq/form-analytics/faq_23737/) in plain text except for form fields that may contain personal information. +* Supports Matomo's [privacy](https://matomo.org/faq/general/eprivacy-directive-national-implementations-and-website-analytics/) and [GDPR features](https://matomo.org/faq/new-to-piwik/is-matomo-analytics-gdpr-compliant/) like the right to erase data or the right to export data. GDPR stands for General Data Protection Regulation and is for example also known as RGPD in French, DS-GVO in German. +* The session recording feature can be [disabled](https://matomo.org/faq/heatmap-session-recording/how-do-i-disable-only-the-heatmaps-feature/) while keeping the heatmap feature enabled and vice versa. + +### Export and API features +* HTTP API to manage your heatmaps and session recordings. +* HTTP API to fetch and export all [Heatmap & Session Recording reports](https://developer.matomo.org/api-reference/reporting-api#HeatmapSessionRecording). +* Get access to all the raw data via MySQL for 100% data ownership. diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Reports/GetRecordedSessions.php b/files/plugin-HeatmapSessionRecording-5.6.0/Reports/GetRecordedSessions.php new file mode 100644 index 0000000..c48e50f --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Reports/GetRecordedSessions.php @@ -0,0 +1,353 @@ +categoryId = 'HeatmapSessionRecording_SessionRecordings'; + $this->name = Piwik::translate('HeatmapSessionRecording_SessionRecordings'); + $this->dimension = null; + $this->documentation = Piwik::translate('HeatmapSessionRecording_ReportRecordedSessionsDocumentation'); + + $this->metrics = array( + 'server_time', + 'idloghsr', + 'time_on_site', + 'nb_pageviews', + 'config_os', + 'config_device_type', + 'config_device_model', + 'config_browser_name', + ); + $this->processedMetrics = array(); + $this->actionToLoadSubTables = $this->action; + + $this->order = 1; + } + + private function getValidator() + { + return StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Input\Validator'); + } + + + public function configureView(ViewDataTable $view) + { + $view->requestConfig->filter_limit = 100; + + if ($view->isViewDataTableId(HtmlTable::ID)) { + $view->config->disable_row_evolution = true; + } + + $view->config->documentation = $this->documentation; + + if (!empty($_GET['filter_sort_column'])) { + // because we show html in reporting ui we cannot use processed metrics and we need to map it therefore + // manually + + $paramsToFixSort = array( + 'os' => 'config_os', + 'device' => 'config_device_type', + 'browser' => 'config_browser_name', + 'location' => 'country', + ); + $sort = $_GET['filter_sort_column']; + + if (isset($paramsToFixSort[$sort])) { + $_GET['filter_sort_column'] = $paramsToFixSort[$sort]; + } + $view->config->filters[] = function () use ($view, $sort, $paramsToFixSort) { + if (isset($paramsToFixSort[$sort])) { + // we make sure correct column will be selected (sort icon) + $_GET['filter_sort_column'] = $sort; + return; + } + $key = array_search($sort, $paramsToFixSort); + if ($key !== false) { + $_GET['filter_sort_column'] = $key; + } + }; + } + + if (property_exists($view->config, 'show_totals_row')) { + // since Matomo 3.7 for htmltables + $view->config->show_totals_row = false; + } + + $view->config->show_all_views_icons = false; + $view->config->show_exclude_low_population = false; + $view->config->show_table_all_columns = false; + $view->config->show_table = false; + $view->config->show_flatten_table = false; + $view->config->show_search = false; + $view->config->metrics_documentation['resolution'] = Piwik::translate('HeatmapSessionRecording_ColumnResolutionDocumentation'); + $view->config->addTranslation('resolution', Piwik::translate('Resolution_ColumnResolution')); + $view->config->no_data_message = Piwik::translate(HeatmapSessionRecording::getTranslationKey('noDataSession')); + + $idSubtable = Common::getRequestVar('idSubtable', 0, 'int'); + + $idSite = Common::getRequestVar('idSite', 0, 'int'); + $idSiteHsr = Common::getRequestVar('idSiteHsr', 0, 'int'); + if (!empty($idSite) && !empty($idSiteHsr)) { + $model = StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Model\SiteHsrModel'); + $recording = Request::processRequest('HeatmapSessionRecording.getSessionRecording', [ + 'idSite' => $idSite, + 'idSiteHsr' => $idSiteHsr, + ], $default = []); + + if (!empty($recording)) { + $requestDate = $model->getPiwikRequestDate($recording); + + if (!PeriodFactory::isPeriodEnabledForAPI($requestDate['period'])) { + $requestDate['period'] = Common::getRequestVar('period', $requestDate['period'], 'string'); + $requestDate['date'] = Common::getRequestVar('date', $requestDate['date'], 'string'); + } + + // we want to fetch all recordings + $view->requestConfig->request_parameters_to_modify['period'] = $requestDate['period']; + $view->requestConfig->request_parameters_to_modify['date'] = $requestDate['date']; + $view->requestConfig->request_parameters_to_modify['idSiteHsr'] = (int)$idSiteHsr; + + if (empty($idSubtable)) { + if ($this->getValidator()->canWrite($idSite)) { + $view->config->title_edit_entity_url = 'index.php' . Url::getCurrentQueryStringWithParametersModified(array( + 'module' => 'HeatmapSessionRecording', + 'action' => 'manageSessions' + )) . '#?idSiteHsr=' . (int)$idSiteHsr; + } + + $view->config->title = Piwik::translate('HeatmapSessionRecording_SessionRecordingX', '"' . $recording['name'] . '"'); + + if ($recording['status'] == SiteHsrDao::STATUS_ACTIVE) { + $view->config->show_footer_message = Piwik::translate('HeatmapSessionRecording_RecordedSessionsDocStatusActive', array($recording['sample_limit'], $recording['sample_rate'] . '%')); + } elseif ($recording['status'] == SiteHsrDao::STATUS_ENDED) { + $view->config->show_footer_message = Piwik::translate('HeatmapSessionRecording_RecordedSessionsDocStatusEnded'); + } elseif ($recording['status'] == SiteHsrDao::STATUS_ONHOLD) { + if (!empty($recording['scheduled_date_pretty'])) { + $view->config->show_footer_message = Piwik::translate( + 'HeatmapSessionRecording_RecordedSessionsDocStatusOnHoldWithDate', + $recording['scheduled_date_pretty'] + ); + } else { + $view->config->show_footer_message = Piwik::translate('HeatmapSessionRecording_RecordedSessionsDocStatusOnHold'); + } + } + } + } + } + + $report = $this; + + if (empty($idSubtable)) { + $view->config->addTranslation('label', Piwik::translate('HeatmapSessionRecording_ColumnLabelRecordedSessions')); + } else { + $view->config->addTranslation('label', 'URL'); + $view->config->enable_sort = false; + $view->requestConfig->filter_sort_column = 'server_time'; + $view->requestConfig->filter_sort_order = 'asc'; + $_GET['filter_sort_column'] = 'server_time'; + $_GET['filter_sort_order'] = 'asc'; + } + + $view->config->metrics_documentation['nb_pageviews'] = Piwik::translate('HeatmapSessionRecording_ColumnPageviewsDocumentation'); + + $validator = StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Input\Validator'); + $view->config->custom_parameters['writeAccess'] = $validator->canWrite($idSite); + + $view->config->filters[] = function (DataTable $table) use ($report, $view, $idSiteHsr, $idSubtable) { + // we need to handle the metrics manually and cannot use processed metrics! + // this is because we "merge" columns in those metrics using arrays (compute() returns sometimes arrays) + // returning arrays in compute() wouldn't work in UI tests so we do it here manually and in API always return + // raw response. This way the API response is also more usable as the HTML those methods return is only + // interesting for us when visualizing it + + if (empty($idSubtable)) { + $metrics = array(new TotalEvents(), new TimeOnSite(), new Location(), new Browser(), + new Device(), new OperatingSystem(), new SessionTime(DateTimeFormatProvider::DATETIME_FORMAT_SHORT)); + } else { + $metrics = array(new TimeOnPage(), new SessionTime(DateTimeFormatProvider::TIME_FORMAT)); + } + + $formatter = new Formatter(); + + foreach ($table->getRowsWithoutSummaryRow() as $row) { + $row->setMetadata('idvisitor', $row->getColumn('idvisitor')); + $row->setMetadata('idsitehsr', $idSiteHsr); + $row->setMetadata('idloghsr', $row->getColumn('idloghsr')); + + if (empty($idSubtable)) { + $row->setMetadata('idvisit', $row->getColumn('idvisit')); + } + + if (!empty($idSubtable)) { + $label = $row->getColumn('label'); + $row->setMetadata('url', $label); + $row->setColumn('label', EnrichRecordedSessions::shortUrl($label)); + } elseif ($row->getColumn('nb_pageviews') == 1) { + $firstUrl = $row->getColumn('first_url'); + $row->setColumn('label', EnrichRecordedSessions::shortUrl($firstUrl)); + $row->setMetadata('url', $firstUrl); + $row->setNonLoadedSubtableId(null); // no need to have it expandable I reckon + } else { + $firstUrl = EnrichRecordedSessions::shortUrl($row->getColumn('first_url')); + $lastUrl = EnrichRecordedSessions::shortUrl($row->getColumn('last_url')); + $row->setColumn('label', $firstUrl . ' โ†’ ' . $lastUrl); + } + } + + foreach ($metrics as $processedMetric) { + /** @var BaseMetric $processedMetric */ + $name = $processedMetric->getName(); + $view->config->addTranslation($name, $processedMetric->getTranslatedName()); + + $documentation = $processedMetric->getDocumentation(); + if (!empty($documentation)) { + $view->config->metrics_documentation[$name] = $documentation; + } + + if (!$processedMetric->beforeCompute($report, $table)) { + continue; + } + + $doFormat = $processedMetric->beforeFormat($report, $table); + + foreach ($table->getRowsWithoutSummaryRow() as $row) { + $value = $row->getColumn($name); + if ($value === false) { + // only compute the metric if it has not been computed already + $value = $processedMetric->compute($row); + } + if ($doFormat) { + $value = $processedMetric->format($value, $formatter); + } + + if ($processedMetric->showsHtml() && $value !== false) { + $row->setColumn($name, ' '); + $row->setMetadata('html_column_' . $name . '_prefix', $value); + } else { + $row->setColumn($name, $value); + } + } + } + }; + + if (!empty($idSubtable)) { + $view->config->columns_to_display = array( + 'label', + 'server_time', + 'time_on_page', + 'resolution' + ); + } else { + $systemSettings = StaticContainer::get(SystemSettings::class); + $includedCountries = $systemSettings->getIncludedCountries(); + $headerMessage = ''; + if (!HeatmapSessionRecording::isMatomoJsWritable()) { + $headerMessage .= '
    ' . + Piwik::translate('HeatmapSessionRecording_MatomoJSNotWritableErrorMessage', [ + Piwik::translate('HeatmapSessionRecording_SessionRecordings'), + '', + '' + ]) . '
    '; + } + if (!empty($includedCountries)) { + $headerMessage .= '
    ' . Piwik::translate('HeatmapSessionRecording_SessionRecordingInfoTrackVisitsFromCountries', [implode(', ', $includedCountries)]) . '
    '; + } + $detectAdBlockerView = new View('@HeatmapSessionRecording/_detectAdBlocker'); + $detectAdBlockerView->type = 'Session recordings'; + $headerMessage .= $detectAdBlockerView->render(); + if ($headerMessage) { + $view->config->show_header_message = $headerMessage; + } + + $view->config->columns_to_display = array( + 'label', + 'nb_pageviews', + 'total_events', + 'server_time', + 'time_on_site', + 'location', + 'device', + 'os', + 'browser', + ); + } + } + + public function alwaysUseDefaultViewDataTable() + { + return true; + } + + public function configureWidgets(WidgetsList $widgetsList, ReportWidgetFactory $factory) + { + $idSite = Common::getRequestVar('idSite', $default = 0, 'int'); + + if ($this->getValidator()->canViewSessionReport($idSite)) { + $recordings = Request::processRequest('HeatmapSessionRecording.getSessionRecordings', [ + 'idSite' => $idSite, 'filter_limit' => -1 + ], $default = []); + + foreach ($recordings as $recording) { + $widget = $factory->createWidget(); + $widget->setName(sprintf('Session recording "%s"', $recording['name'])); + $widget->setSubcategoryId($recording['idsitehsr']); + $widget->setIsNotWidgetizable(); + $widget->setParameters(array('idSiteHsr' => $recording['idsitehsr'])); + $widgetsList->addWidgetConfig($widget); + } + } + } + + public function configureReportMetadata(&$availableReports, $infos) + { + // disabled for now + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableHeatmapRecording.php b/files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableHeatmapRecording.php new file mode 100644 index 0000000..be41196 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableHeatmapRecording.php @@ -0,0 +1,119 @@ + + */ + use PolicyComparisonTrait; + + /** + * @use SystemGetterTrait + */ + use SystemGetterTrait; + + /** + * @var bool + */ + private $value; + + private function __construct(bool $value) + { + $this->value = $value; + } + + public function getValue() + { + return $this->value; + } + + protected static function getSystemDefaultValue() + { + return false; + } + + protected static function getSystemName(): string + { + return 'disableHeatmapRecording'; + } + + protected static function getSystemType(): string + { + return FieldConfig::TYPE_BOOL; + } + + public static function getComplianceRequirementNote(?int $idSite = null): string + { + return Piwik::translate('HeatmapSessionRecording_PolicyHeatmapRequirementNote'); + } + + public static function getInstance(?int $idSite = null) + { + $values = self::getPolicyRequiredValues($idSite); + $values['system'] = self::getSystemValue(); + + $strictest = self::getStrictestValueFromArray($values); + return new self($strictest); + } + + public static function getTitle(): string + { + return Piwik::translate('HeatmapSessionRecording_PolicyHeatmapTitle'); + } + + public static function getInlineHelp(): string + { + return ''; + } + + protected static function compareStrictness($value1, $value2) + { + return $value1 || $value2; + } + + public static function getPolicyRequirements(): array + { + return [ + CnilPolicy::class => true + ]; + } + + public static function isCompliant(string $policy, ?int $idSite = null): bool + { + $policyValues = self::getPolicyRequirements(); + + if (!array_key_exists($policy, $policyValues)) { + return true; + } + + $currentValue = self::getInstance($idSite)->getValue(); + + return $currentValue === $policyValues[$policy]; + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableHeatmapRecordingNoInterfaces.php b/files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableHeatmapRecordingNoInterfaces.php new file mode 100644 index 0000000..86c29c2 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableHeatmapRecordingNoInterfaces.php @@ -0,0 +1,34 @@ +value = $value; + } + + public static function getInstance(?int $idSite = null): self + { + $systemSetting = new SystemSetting( + 'disableHeatmapRecording', + false, + FieldConfig::TYPE_BOOL, + 'HeatmapSessionRecording' + ); + return new self($systemSetting->getValue()); + } + + public function getValue(): bool + { + return $this->value; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableSessionRecording.php b/files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableSessionRecording.php new file mode 100644 index 0000000..02139b8 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableSessionRecording.php @@ -0,0 +1,119 @@ + + */ + use PolicyComparisonTrait; + + /** + * @use SystemGetterTrait + */ + use SystemGetterTrait; + + /** + * @var bool + */ + private $value; + + private function __construct(bool $value) + { + $this->value = $value; + } + + public function getValue() + { + return $this->value; + } + + protected static function getSystemDefaultValue() + { + return false; + } + + protected static function getSystemName(): string + { + return 'disableSessionRecording'; + } + + protected static function getSystemType(): string + { + return FieldConfig::TYPE_BOOL; + } + + public static function getComplianceRequirementNote(?int $idSite = null): string + { + return Piwik::translate('HeatmapSessionRecording_PolicySessionRequirementNote'); + } + + public static function getInstance(?int $idSite = null) + { + $values = self::getPolicyRequiredValues($idSite); + $values['system'] = self::getSystemValue(); + + $strictest = self::getStrictestValueFromArray($values); + return new self($strictest); + } + + public static function getTitle(): string + { + return Piwik::translate('HeatmapSessionRecording_PolicySessionTitle'); + } + + public static function getInlineHelp(): string + { + return ''; + } + + protected static function compareStrictness($value1, $value2) + { + return $value1 || $value2; + } + + public static function getPolicyRequirements(): array + { + return [ + CnilPolicy::class => true + ]; + } + + public static function isCompliant(string $policy, ?int $idSite = null): bool + { + $policyValues = self::getPolicyRequirements(); + + if (!array_key_exists($policy, $policyValues)) { + return true; + } + + $currentValue = self::getInstance($idSite)->getValue(); + + return $currentValue === $policyValues[$policy]; + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableSessionRecordingNoInterfaces.php b/files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableSessionRecordingNoInterfaces.php new file mode 100644 index 0000000..8ab71c5 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableSessionRecordingNoInterfaces.php @@ -0,0 +1,34 @@ +value = $value; + } + + public static function getInstance(?int $idSite = null): self + { + $systemSetting = new SystemSetting( + 'disableSessionRecording', + false, + FieldConfig::TYPE_BOOL, + 'HeatmapSessionRecording' + ); + return new self($systemSetting->getValue()); + } + + public function getValue(): bool + { + return $this->value; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Settings/TrackingDisableDefault.php b/files/plugin-HeatmapSessionRecording-5.6.0/Settings/TrackingDisableDefault.php new file mode 100644 index 0000000..716a5ed --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Settings/TrackingDisableDefault.php @@ -0,0 +1,36 @@ +oldValue; + } + + public function setValue($value) + { + $this->oldValue = $this->getValue(); + + parent::setValue($value); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/SystemSettings.php b/files/plugin-HeatmapSessionRecording-5.6.0/SystemSettings.php new file mode 100644 index 0000000..bde0d56 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/SystemSettings.php @@ -0,0 +1,326 @@ +breakpointMobile = $this->createBreakpointMobileSetting(); + $this->breakpointTablet = $this->createBreakpointTabletSetting(); + $this->disableTrackingByDefault = $this->createDisableTrackingByDefaultSetting(); + $this->disableSessionRecording = $this->createDisableSessionRecordingSetting(); + $this->disableHeatmapRecording = $this->createDisableHeatmapRecordingSetting(); + $this->includeCountries = $this->createIncludeCountriesSetting(); + + if (Plugin\Manager::getInstance()->isPluginActivated('CustomJsTracker')) { + $trackerUpdater = StaticContainer::get(TrackerUpdater::class); + if (!$trackerUpdater || !$trackerUpdater->getToFile() || !$trackerUpdater->getToFile()->hasWriteAccess()) { + // only works if matomo file can be updated + $this->disableTrackingByDefault->setIsWritableByCurrentUser(false); + } + } else { + $this->disableTrackingByDefault->setIsWritableByCurrentUser(false); + } + } + + private function createDisableTrackingByDefaultSetting() + { + $setting = new TrackingDisableDefault('trackingDisabledDefault', false, FieldConfig::TYPE_BOOL, $this->pluginName); + $setting->setConfigureCallback(function (FieldConfig $field) { + $field->title = Piwik::translate('HeatmapSessionRecording_TrackingDisabledDefaultSettingTitle'); + $field->uiControl = FieldConfig::UI_CONTROL_CHECKBOX; + $field->description = Piwik::translate('HeatmapSessionRecording_TrackingDisabledDefaultSettingDescription'); + }); + $this->addSetting($setting); + return $setting; + } + + private function createBreakpointMobileSetting() + { + return $this->makeSetting('breakpointMobile', Breakpoint::DEFAULT_MOBILE, FieldConfig::TYPE_INT, function (FieldConfig $field) { + $field->title = Piwik::translate('HeatmapSessionRecording_BreakpointX', Piwik::translate('General_Mobile')); + $field->uiControl = FieldConfig::UI_CONTROL_TEXT; + $field->description = Piwik::translate('HeatmapSessionRecording_BreakpointGeneralHelp'); + $field->validate = function ($value) { + $breakpoint = new Breakpoint($value, Piwik::translate('General_Mobile')); + $breakpoint->check(); + }; + }); + } + + private function createBreakpointTabletSetting() + { + return $this->makeSetting('breakpointTablet', Breakpoint::DEFAULT_TABLET, FieldConfig::TYPE_INT, function (FieldConfig $field) { + $field->title = Piwik::translate('HeatmapSessionRecording_BreakpointX', Piwik::translate('DevicesDetection_Tablet')); + $field->uiControl = FieldConfig::UI_CONTROL_TEXT; + $field->description = Piwik::translate('HeatmapSessionRecording_BreakpointGeneralHelp'); + $field->validate = function ($value) { + $breakpoint = new Breakpoint($value, Piwik::translate('DevicesDetection_Tablet')); + $breakpoint->check(); + }; + }); + } + + private function createDisableSessionRecordingSetting() + { + $setting = new TrackingDisableDefault('disableSessionRecording', false, FieldConfig::TYPE_BOOL, $this->pluginName); + $setting->setConfigureCallback(function (FieldConfig $field) { + $field->title = Piwik::translate('HeatmapSessionRecording_DisableSessionRecordingTitle', Piwik::translate('General_Mobile')); + $field->description = Piwik::translate('HeatmapSessionRecording_DisableSessionRecordingDescription'); + $field->inlineHelp = Piwik::translate('HeatmapSessionRecording_DisableSessionRecordingInlineHelp', array('','')); + }); + $this->addSetting($setting); + + return $setting; + } + + private function createDisableHeatmapRecordingSetting() + { + $setting = new TrackingDisableDefault('disableHeatmapRecording', false, FieldConfig::TYPE_BOOL, $this->pluginName); + $setting->setConfigureCallback(function (FieldConfig $field) { + $field->title = Piwik::translate('HeatmapSessionRecording_DisableHeatmapRecordingTitle', Piwik::translate('General_Mobile')); + $field->description = Piwik::translate('HeatmapSessionRecording_DisableHeatmapRecordingDescription'); + $field->inlineHelp = Piwik::translate('HeatmapSessionRecording_DisableHeatmapRecordingInlineHelp', array('','')); + }); + $this->addSetting($setting); + + return $setting; + } + + public function createIncludeCountriesSetting() + { + return $this->makeSetting('included_countries', [], FieldConfig::TYPE_ARRAY, function (FieldConfig $field) { + $field->title = Piwik::translate('HeatmapSessionRecording_EnableIncludeCountriesTitle'); + $field->description = Piwik::translate('HeatmapSessionRecording_EnableIncludeCountriesDescription'); + $field->uiControl = FieldConfig::UI_CONTROL_MULTI_TUPLE; + $field1 = new FieldConfig\MultiPair(Piwik::translate('HeatmapSessionRecording_Country'), 'country', FieldConfig::UI_CONTROL_SINGLE_SELECT); + $field1->availableValues = $this->getAvailableCountries(); + $field->uiControlAttributes['field1'] = $field1->toArray(); + + $self = $this; + $field->transform = function ($value) use ($self) { + return $self->transformCountryList($value); + }; + $field->validate = function ($value) use ($field1) { + foreach ($value as $country) { + if (empty($country['country'])) { + continue; + } + if ($country['country'] === 'xx') { + continue; // valid, country not detected + } + if (!isset($field1->availableValues[$country['country']])) { + throw new \Exception('Invalid country code'); + } + } + }; + }); + } + + public function transformCountryList($value) + { + if (!empty($value) && is_array($value)) { + $newVal = []; + foreach ($value as $index => $val) { + if (empty($val['country'])) { + continue; + } + $newVal[] = ['country' => $val['country']]; + } + return $newVal; + } + return $value; + } + + public function save() + { + $this->endSessionRecordings(); + $this->endHeatmapRecordings(); + parent::save(); + + if (!empty($this->disableTrackingByDefault)) { + $oldValue = $this->disableTrackingByDefault->getOldValue(); + $newValue = $this->disableTrackingByDefault->getValue(); + if ($oldValue != $newValue) { + $plugin = Plugin\Manager::getInstance()->getLoadedPlugin($this->pluginName); + if (!empty($plugin) && $plugin instanceof HeatmapSessionRecording) { + $plugin->updatePiwikTracker(); + } + } + } + } + + public function getIncludedCountries($applyTransformation = true) + { + $includedCountries = $this->includeCountries->getValue(); + $transformedList = []; + + if (!empty($includedCountries)) { + foreach ($includedCountries as $value) { + $transformedList[] = $value['country']; + } + } + + if (!empty($transformedList) && $applyTransformation) { + $transformedList = $this->getAvailableCountries($transformedList); + } + + return $transformedList; + } + + private function getAvailableCountries($countryCodesToFilter = []) + { + $regionDataProvider = StaticContainer::get(RegionDataProvider::class); + $countryList = $regionDataProvider->getCountryList(); + array_walk($countryList, function (&$item, $key) { + $item = Piwik::translate('Intl_Country_' . strtoupper($key)); + }); + asort($countryList); //order by localized name + + if (!empty($countryCodesToFilter)) { + $filteredList = []; + foreach ($countryList as $countryCode => $countryName) { + if (in_array($countryCode, $countryCodesToFilter)) { + $filteredList[$countryCode] = $countryName; + } + } + + return $filteredList; + } + + return $countryList; + } + + private function endSessionRecordings() + { + $settingValue = $this->disableSessionRecording->getValue(); + try { + $featureFlagManager = StaticContainer::get(FeatureFlagManager::class); + if ($featureFlagManager->isFeatureActive('Piwik\Plugins\PrivacyManager\FeatureFlags\PrivacyCompliance')) { + $settingValue = DisableSessionRecording::getInstance()->getValue(); + } + } catch (NotFoundException $e) { + /* + if the feature flag manager cannot be loaded, + just move on to backup/original setting + value retrieval + */ + } + if ( + !empty($settingValue) && + $this->disableSessionRecording->getOldValue() != $settingValue + ) { + $sites = SitesManagerAPI::getInstance()->getAllSitesId(); + $this->disableSessionRecording->setValue(false); //added this to fetch results, else it throws an exception + foreach ($sites as $idSite) { + if (Site::getTypeFor($idSite) === 'proxysite') { + continue; //do not delete session recording for proxySite as it will throw an exception due to read only behaviour + } + $recordings = Request::processRequest('HeatmapSessionRecording.getSessionRecordings', [ + 'idSite' => $idSite, 'filter_limit' => -1 + ]); + foreach ($recordings as $recording) { + Request::processRequest('HeatmapSessionRecording.deleteSessionRecording', [ + 'idSite' => $idSite, + 'idSiteHsr' => $recording['idsitehsr'] + ]); + } + } + + $this->disableSessionRecording->setValue(true); + Cache::deleteTrackerCache(); + } + } + + private function endHeatmapRecordings() + { + $settingValue = $this->disableHeatmapRecording->getValue(); + try { + $featureFlagManager = StaticContainer::get(FeatureFlagManager::class); + if ($featureFlagManager->isFeatureActive('Piwik\Plugins\PrivacyManager\FeatureFlags\PrivacyCompliance')) { + $settingValue = DisableHeatmapRecording::getInstance()->getValue(); + } + } catch (NotFoundException $e) { + /* + if the feature flag manager cannot be loaded, + just move on to backup/original setting + value retrieval + */ + } + if ( + !empty($settingValue) && + $this->disableHeatmapRecording->getOldValue() != $settingValue + ) { + $sites = SitesManagerAPI::getInstance()->getAllSitesId(); + $this->disableHeatmapRecording->setValue(false); //added this to fetch results, else it throws an exception + foreach ($sites as $idSite) { + if (Site::getTypeFor($idSite) === 'proxysite') { + continue; //do not delete heatmap for proxySite as it will throw an exception due to read only behaviour + } + $recordings = Request::processRequest('HeatmapSessionRecording.getHeatmaps', [ + 'idSite' => $idSite, 'filter_limit' => -1 + ]); + foreach ($recordings as $recording) { + Request::processRequest('HeatmapSessionRecording.deleteHeatmap', [ + 'idSite' => $idSite, + 'idSiteHsr' => $recording['idsitehsr'] + ]); + } + } + + $this->disableHeatmapRecording->setValue(true); + Cache::deleteTrackerCache(); + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Tasks.php b/files/plugin-HeatmapSessionRecording-5.6.0/Tasks.php new file mode 100644 index 0000000..107a90e --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Tasks.php @@ -0,0 +1,370 @@ +daily('removeDeletedRecordings'); + + // we are doing this rarely to avoid removing actions that might be used eg a day later or so again + $this->monthly('removeUnusedHsrBlobs'); + + $this->hourly('notifyFinishedRecordings'); + + $this->daily('createRepeatHeatmaps'); + + $this->hourly('activateOnHoldHeatmaps'); + + $this->daily('createRepeatSessionRecordings'); + + $this->hourly('activateOnHoldSessionRecordings'); + } + + public function __construct(LogHsr $logHsr, LogHsrSite $logHsrSite, LogHsrBlob $logHsrBlob, SiteHsrDao $siteHsrDao, SiteHsrModel $siteHsrModel) + { + $this->logHsr = $logHsr; + $this->logHsrSite = $logHsrSite; + $this->logHsrBlob = $logHsrBlob; + $this->siteHsrDao = $siteHsrDao; + $this->siteHsrModel = $siteHsrModel; + } + + /** + * To test execute the following command: + * `./console core:run-scheduled-tasks "Piwik\Plugins\HeatmapSessionRecording\Tasks.removeDeletedRecordings"` + * + * @throws \Exception + */ + public function removeDeletedRecordings() + { + $this->logHsrSite->deleteNoLongerNeededRecords(); + + $idLogHsrsToDelete = $this->logHsr->findDeletedLogHsrIds(); + $this->logHsr->deleteIdLogHsrsFromAllTables($idLogHsrsToDelete); + } + + /** + * To test execute the following command: + * `./console core:run-scheduled-tasks "Piwik\Plugins\HeatmapSessionRecording\Tasks.removeDeletedHsrBlobs"` + */ + public function removeUnusedHsrBlobs() + { + $this->logHsrBlob->deleteUnusedBlobEntries(); + } + + /** + * To test execute the following command: + * `./console core:run-scheduled-tasks "Piwik\Plugins\HeatmapSessionRecording\Tasks.notifyFinishedRecordings"` + */ + public function notifyFinishedRecordings() + { + Access::doAsSuperUser(function () { + $records = $this->siteHsrDao->getFinishedRecordsPendingNotification(); + + foreach ($records as $record) { + try { + $this->notifyFinishedRecord($record); + } catch (\Throwable $e) { + StaticContainer::get(\Piwik\Log\LoggerInterface::class)->error( + 'Failed to send finished recording notification for idsitehsr {idsitehsr}: {message}', + array( + 'idsitehsr' => isset($record['idsitehsr']) ? $record['idsitehsr'] : null, + 'message' => $e->getMessage(), + 'exception' => $e, + ) + ); + } + } + }); + } + + /** + * To test execute the following command: + * `./console core:run-scheduled-tasks "Piwik\Plugins\HeatmapSessionRecording\Tasks.createRepeatHeatmaps"` + */ + public function createRepeatHeatmaps() + { + $this->createRepeatRecords(SiteHsrDao::RECORD_TYPE_HEATMAP, 'heatmap', 'HeatmapSessionRecording.createRepeatHeatmap', array($this->siteHsrModel, 'createRepeatCopy')); + } + + /** + * To test execute the following command: + * `./console core:run-scheduled-tasks "Piwik\Plugins\HeatmapSessionRecording\Tasks.activateOnHoldHeatmaps"` + */ + public function activateOnHoldHeatmaps() + { + $this->activateOnHoldRecords(SiteHsrDao::RECORD_TYPE_HEATMAP, 'heatmap', 'HeatmapSessionRecording.activateRepeatHeatmap', array($this->siteHsrModel, 'activateOnHoldHeatmap')); + } + + /** + * To test execute the following command: + * `./console core:run-scheduled-tasks "Piwik\Plugins\HeatmapSessionRecording\Tasks.createRepeatSessionRecordings"` + */ + public function createRepeatSessionRecordings() + { + $this->createRepeatRecords(SiteHsrDao::RECORD_TYPE_SESSION, 'session recording', 'HeatmapSessionRecording.createRepeatSessionRecording', array($this->siteHsrModel, 'createSessionRepeatCopy')); + } + + /** + * To test execute the following command: + * `./console core:run-scheduled-tasks "Piwik\Plugins\HeatmapSessionRecording\Tasks.activateOnHoldSessionRecordings"` + */ + public function activateOnHoldSessionRecordings() + { + $this->activateOnHoldRecords(SiteHsrDao::RECORD_TYPE_SESSION, 'session recording', 'HeatmapSessionRecording.activateRepeatSessionRecording', array($this->siteHsrModel, 'activateOnHoldSessionRecording')); + } + + /** + * @param int $recordType + * @param string $label Entity wording used in the log messages, eg `heatmap` + * @param string $eventName + * @param callable $createCopy Receives `$idSite` and `$idSiteHsr` and returns the new idsitehsr, or null + */ + private function createRepeatRecords($recordType, $label, $eventName, $createCopy) + { + Access::doAsSuperUser(function () use ($recordType, $label, $eventName, $createCopy) { + $records = $this->siteHsrDao->getRecordsPendingRepeat($recordType); + + foreach ($records as $record) { + $idSite = (int) $record['idsite']; + $idSiteHsr = (int) $record['idsitehsr']; + $name = isset($record['name']) ? $record['name'] : ''; + + try { + $this->checkRepeatAllowed($idSite, $idSiteHsr, $recordType, $eventName); + + if (null === $createCopy($idSite, $idSiteHsr)) { + StaticContainer::get(\Piwik\Log\LoggerInterface::class)->info( + 'Skipped creating repeat ' . $label . ' copy for idsitehsr {idsitehsr} "{name}" (idsite {idsite}) as it is no longer ended or no longer set to repeat', + array( + 'idsitehsr' => $idSiteHsr, + 'idsite' => $idSite, + 'name' => $name, + ) + ); + } + } catch (\Throwable $e) { + if ($e instanceof \Exception && Db::get()->isErrNo($e, MigrationDb::ERROR_CODE_DUPLICATE_ENTRY)) { + // another run already created the copy for this record + continue; + } + + StaticContainer::get(\Piwik\Log\LoggerInterface::class)->error( + 'Failed to create repeat ' . $label . ' copy for idsitehsr {idsitehsr} "{name}" (idsite {idsite}). It will be retried on the next run: {message}', + array( + 'idsitehsr' => $idSiteHsr, + 'idsite' => $idSite, + 'name' => $name, + 'message' => $e->getMessage(), + 'exception' => $e, + ) + ); + } + } + }); + } + + /** + * @param int $recordType + * @param string $label Entity wording used in the log messages, eg `heatmap` + * @param string $eventName + * @param callable $activate Receives `$idSite` and `$idSiteHsr` and returns whether the record was activated + */ + private function activateOnHoldRecords($recordType, $label, $eventName, $activate) + { + Access::doAsSuperUser(function () use ($recordType, $label, $eventName, $activate) { + $records = $this->siteHsrDao->getOnHoldRecordsToActivate($recordType); + + foreach ($records as $record) { + $idSite = (int) $record['idsite']; + $idSiteHsr = (int) $record['idsitehsr']; + + try { + $this->checkRepeatAllowed($idSite, $idSiteHsr, $recordType, $eventName); + + if (!$activate($idSite, $idSiteHsr)) { + StaticContainer::get(\Piwik\Log\LoggerInterface::class)->info( + 'Skipped activating on-hold ' . $label . ' for idsitehsr {idsitehsr} (idsite {idsite}) as it is no longer on hold or no longer due', + array( + 'idsitehsr' => $idSiteHsr, + 'idsite' => $idSite, + ) + ); + } + } catch (\Throwable $e) { + StaticContainer::get(\Piwik\Log\LoggerInterface::class)->error( + 'Failed to activate on-hold ' . $label . ' for idsitehsr {idsitehsr} (idsite {idsite}): {message}', + array( + 'idsitehsr' => $idSiteHsr, + 'idsite' => $idSite, + 'message' => $e->getMessage(), + 'exception' => $e, + ) + ); + } + } + }); + } + + /** + * Throws when a repeat record must not be created or activated for the given site. + * + * The event lets other plugins apply the feature and quota checks they apply to + * `API.HeatmapSessionRecording.addHeatmap`, which these scheduled tasks do not go through. + * Heatmaps and session recordings post distinct events so each is checked against its own quota. + * + * @param int $idSite + * @param int $idSiteHsr + * @param int $recordType + * @param string $eventName + * @throws \Exception + */ + private function checkRepeatAllowed($idSite, $idSiteHsr, $recordType, $eventName) + { + if ($recordType === SiteHsrDao::RECORD_TYPE_HEATMAP) { + StaticContainer::get(Validator::class)->checkHeatmapRecordingEnabled($idSite); + } else { + StaticContainer::get(Validator::class)->checkSessionRecordingEnabled($idSite); + } + + /** + * Triggered before a scheduled task creates or activates the repeat copy of a heatmap or a session + * recording that has automatic repeating enabled. + * + * Depending on which task is running, `$eventName` is one of + * `HeatmapSessionRecording.createRepeatHeatmap`, `HeatmapSessionRecording.activateRepeatHeatmap`, + * `HeatmapSessionRecording.createRepeatSessionRecording` or + * `HeatmapSessionRecording.activateRepeatSessionRecording`. Heatmaps and session recordings post + * distinct events so each can be checked against its own quota. + * + * These tasks do not go through `API.HeatmapSessionRecording.addHeatmap` or + * `API.HeatmapSessionRecording.addSessionRecording`, so throwing an exception in an observer is the + * way to apply the same feature and quota checks. When an observer throws, the copy is not created + * or activated and the source is retried on the next run. + * + * **Example** + * + * Piwik::addAction('HeatmapSessionRecording.createRepeatSessionRecording', function ($idSite, $idSiteHsr) { + * if (myQuotaIsReached($idSite)) { + * throw new \Exception('Session recording quota reached'); + * } + * }); + * + * @param int $idSite The ID of the site the repeating heatmap or session recording belongs to. + * @param int $idSiteHsr The ID of the source heatmap or session recording that is repeating. + */ + Piwik::postEvent($eventName, array($idSite, $idSiteHsr)); + } + + private function notifyFinishedRecord(array $record) + { + $login = $record['login']; + $idSite = (int) $record['idsite']; + $idSiteHsr = (int) $record['idsitehsr']; + $recordType = (int) $record['record_type']; + $name = $record['name']; + + // Claim immediately so the record is never reprocessed, even if we end up skipping or failing below. + $this->siteHsrDao->markNotified($idSiteHsr); + + $userModel = new Model(); + $user = $userModel->getUser($login); + + if (empty($user) || empty($user['email'])) { + return; + } + + $hasAccess = !empty($user['superuser_access']); + if (!$hasAccess) { + $access = $userModel->getUsersAccessFromSite($idSite); + $hasAccess = array_key_exists($login, $access); + } + + if (!$hasAccess) { + return; + } + + $setting = new UserSetting('notifyFinishedRecordings', true, FieldConfig::TYPE_BOOL, 'HeatmapSessionRecording', $login); + if (!$setting->getValue()) { + return; + } + + $language = (new LanguagesManagerModel())->getLanguageForUser($login); + + /** @var Translator $translator */ + $translator = StaticContainer::get('Piwik\Translation\Translator'); + + if (empty($language)) { + $language = $translator->getDefaultLanguage(); + } + + $translator->setCurrentLanguage($language); + + if ($recordType === SiteHsrDao::RECORD_TYPE_HEATMAP) { + $mail = new HeatmapFinishedEmail($user['email'], $name, $idSite, $idSiteHsr, $login); + } else { + $mail = new SessionRecordingFinishedEmail($user['email'], $name, $idSite, $idSiteHsr, $login); + } + $mail->safeSend(); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/Configs.php b/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/Configs.php new file mode 100644 index 0000000..d1cc86c --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/Configs.php @@ -0,0 +1,160 @@ + $validator + )); + try { + $environment->init(); + } catch (NotYetInstalledException $e) { + http_response_code(403); + exit; + } catch (Exception $e) { + if (!\Piwik\SettingsPiwik::isMatomoInstalled()) { + // the validator is disabled for performance so we would not detect a not installed matomo + http_response_code(403); + exit; + } + throw $e; + } + } + + public function sendResponse($response, $originalIdSite, $trackerId) + { + $response['idsite'] = $originalIdSite; + $response['trackerid'] = $trackerId; + header('Content-Type: application/javascript'); + echo 'Piwik.HeatmapSessionRecording.configuration.assign(' . json_encode($response) . ');'; + } + + public function loadTrackerEnvironment() + { + if (!$this->hasLoadedTrackerEnvironment) { + $this->hasLoadedTrackerEnvironment = true; + try { + Tracker::loadTrackerEnvironment(); + $GLOBALS['PIWIK_TRACKER_DEBUG'] = false; + } catch (Exception $e) { + $GLOBALS['PIWIK_TRACKER_DEBUG'] = false; + if (!\Piwik\SettingsPiwik::isMatomoInstalled()) { + // the validator is disabled for performance so we would not detect a not installed matomo + http_response_code(403); + exit; + } + throw $e; + } + } + } + + private function isNumber($value) + { + return preg_match('/^\d+$/', (string) $value); + } + + public function getIdSite($idSite) + { + if (is_string($idSite) && !$this->isNumber($idSite)) { + $this->loadTrackerEnvironment(); + + /** + * Triggered when obtaining the ID of the site we are tracking a visit for. + * + * This event can be used to change the site ID so data is tracked for a different + * website. + * + * @param int &$idSite Initialized to the value of the **idsite** query parameter. If a + * subscriber sets this variable, the value it uses must be greater + * than 0. + * @param array $params The entire array of request parameters in the current tracking + * request. + */ + \Piwik\Piwik::postEvent('Tracker.Request.getIdSite', array(&$idSite, array_merge($_GET, $_POST))); + + if (!$this->isNumber($idSite)) { + // the string idsite was not converted to an integer / number... + // we do not cast to int as it could result in using the wrong idsite when eg string is '5Tk3k' => could result + // in idsite=5 which may not be the correct idsite + http_response_code(400); + exit; + } + } + + $idSite = (int) abs($idSite); + return $idSite; + } + + public function getCachedWebsiteAttributes($idSite) + { + try { + $cache = Tracker\Cache::getCacheWebsiteAttributes($idSite); + } catch (\Piwik\Exception\UnexpectedWebsiteFoundException $exception) { + http_response_code(400); + exit; + } catch (Exception $e) { + if (!\Piwik\SettingsPiwik::isMatomoInstalled()) { + // the validator is disabled for performance so we would not detect a not installed matomo + http_response_code(403); + exit; + } + throw $e; + } + + if (empty($cache)) { + ob_start(); + // this is a performance improvement to bootstrap the plugins only if the cache does not exist right now + $this->loadTrackerEnvironment(); + + try { + $cache = Tracker\Cache::getCacheWebsiteAttributes($idSite); + } catch (\Piwik\Exception\UnexpectedWebsiteFoundException $exception) { + http_response_code(400); + exit; + } catch (Exception $e) { + if (!\Piwik\SettingsPiwik::isMatomoInstalled()) { + // the validator is disabled for performance so we would not detect a not installed matomo + http_response_code(403); + exit; + } + throw $e; + } + ob_end_clean(); + } + + return $cache; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/HsrMatcher.php b/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/HsrMatcher.php new file mode 100644 index 0000000..ac70179 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/HsrMatcher.php @@ -0,0 +1,224 @@ +fetch($samplesKey); + + if ($hsr['record_type'] == SiteHsrDao::RECORD_TYPE_HEATMAP) { + if (empty($numSamples)) { + $numSamples = $logHsrSite->getNumPageViews($idSiteHsr); + $lazyCache->save($samplesKey, $numSamples, $ttlInSec = 300); + } + + if ($numSamples >= $hsr['sample_limit']) { + $siteHsr = \Piwik\Container\StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Model\SiteHsrModel'); + $siteHsr->endHeatmap($idSite, $idSiteHsr); + // we make sure in the future the completed HSR won't receive any recordings anymore afterwards + Cache::deleteCacheWebsiteAttributes($idSite); + + return false; + } + } elseif ($hsr['record_type'] == SiteHsrDao::RECORD_TYPE_SESSION) { + if (empty($numSamples)) { + $numSamples = $logHsrSite->getNumSessions($idSiteHsr); + $lazyCache->save($samplesKey, $numSamples, $ttlInSec = 300); + } + + if ($numSamples >= $hsr['sample_limit']) { + $siteHsr = \Piwik\Container\StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Model\SiteHsrModel'); + + $siteHsr->endSessionRecording($idSite, $idSiteHsr); + // we make sure in the future the completed HSR won't receive any recordings anymore afterwards + Cache::deleteCacheWebsiteAttributes($idSite); + + return false; + } + } + + return true; + } + + public static function makeCookieSampleKey($idSiteHsr) + { + return self::QUERY_NAMESPACE . (int) $idSiteHsr; + } + + public static function isUserPartOfSampleGroup($recordType, $idSiteHsr) + { + if ($recordType == SiteHsrDao::RECORD_TYPE_SESSION) { + $key = self::makeCookieSampleKey($idSiteHsr); + if (isset($_GET[$key]) && $_GET[$key] == '1') { + return self::SAMPLE_GROUP_IS_PART; + } elseif (isset($_GET[$key]) && $_GET[$key] == '0') { + return self::SAMPLE_GROUP_NOT_PART; + } + } + + return self::SAMPLE_GROUP_TO_BE_DETECTED; + } + + /** + * @param $matchPageRules + * @param $url + * @return bool + */ + public static function matchesAllPageRules($matchPageRules, $url) + { + if (empty($matchPageRules)) { + // no restrictions, we track any page + return true; + } + + if (is_array($matchPageRules)) { + // ALL RULES NEED TO MATCH! + + foreach ($matchPageRules as $pageRule) { + $pageRule = new PageRuleMatcher($pageRule); + if (!$pageRule->matches($url)) { + return false; + } + } + + return true; + } + + return false; + } + + public static function isIncludedCountry($includedCountries) + { + if (empty($includedCountries)) { + return true; + } + $ipAddress = IP::getIpFromHeader(); + $browserLanguage = Common::getBrowserLanguage(); + + if (defined('PIWIK_TEST_MODE') && PIWIK_TEST_MODE) { + //Need to use MockLocationProvider else it will throw an error, need to do it here instead of test as `configs.php` is called via HTTP call + $visitorLocator = new MockLocationProvider(); + } else { + $visitorLocator = new VisitorGeolocator(); + } + + $info = array('lang' => $browserLanguage, 'ip' => $ipAddress); + + $provider = $visitorLocator->getProvider(); + if ($provider === null) { + // Try even without a provider because something might be cached + try { + $visitorLocator = $visitorLocator->getLocation($info, $useClassCache = true); + } catch (\Throwable $throwable) { + return false; + } + } else { + $visitorLocator = $visitorLocator->getLocation($info, $useClassCache = true); + } + + if (empty($visitorLocator[LocationProvider::COUNTRY_CODE_KEY])) { + return false; + } + + $countryCode = strtolower($visitorLocator[LocationProvider::COUNTRY_CODE_KEY]); + + if (in_array($countryCode, $includedCountries, true)) { + return true; + } + + return false; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/LogTable/LogHsr.php b/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/LogTable/LogHsr.php new file mode 100644 index 0000000..eb8a31c --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/LogTable/LogHsr.php @@ -0,0 +1,42 @@ + 'idhsrblob'); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/LogTable/LogHsrEvent.php b/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/LogTable/LogHsrEvent.php new file mode 100644 index 0000000..b011f0d --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/LogTable/LogHsrEvent.php @@ -0,0 +1,37 @@ + 'idloghsr'); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/PageRuleMatcher.php b/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/PageRuleMatcher.php new file mode 100644 index 0000000..427d870 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/PageRuleMatcher.php @@ -0,0 +1,305 @@ +pageRule = $pageRule; + } + + /** + * Check if the experiment matches the given target. + * + * @param string $url + * @return bool + * @throws \Exception + */ + public function matches($url) + { + if (empty($this->pageRule['type']) || empty($this->pageRule['attribute'])) { + return true; + } + + $attributeValue = $this->getValueForAttribute($url); + + switch (strtolower($this->pageRule['attribute'])) { + case self::ATTRIBUTE_URL: + case self::ATTRIBUTE_PATH: + return $this->matchesTargetValue($attributeValue, $this->pageRule['type'], $this->pageRule['inverted'], $this->pageRule['value']); + case self::ATTRIBUTE_URLPARAM: + $value2 = null; + if (isset($this->pageRule['value2'])) { + $value2 = $this->pageRule['value2']; + } + + if (is_array($attributeValue)) { + // eg when url param is `&foo=bar&foo=baz` and trying to match foo url param + if ($this->pageRule['inverted']) { + $matchesOne = true; + foreach ($attributeValue as $attrVal) { + $matchesOne = $matchesOne && $this->matchesTargetValue($attrVal, $this->pageRule['type'], $this->pageRule['inverted'], $value2); + } + return $matchesOne; + } else { + $matchesOne = false; + foreach ($attributeValue as $attrVal) { + $matchesOne = $matchesOne || $this->matchesTargetValue($attrVal, $this->pageRule['type'], $this->pageRule['inverted'], $value2); + } + return $matchesOne; + } + } + return $this->matchesTargetValue($attributeValue, $this->pageRule['type'], $this->pageRule['inverted'], $value2); + } + + return false; + } + + protected function getValueForAttribute($url) + { + if (!empty($url) && is_string($url)) { + $enabledForceSample = HeatmapSessionRecording::ULR_PARAM_FORCE_SAMPLE . '=1'; + $disabledForceSample = HeatmapSessionRecording::ULR_PARAM_FORCE_SAMPLE . '=0'; + $enabledForceScreen = HeatmapSessionRecording::ULR_PARAM_FORCE_CAPTURE_SCREEN . '=1'; + $disabledForceScreen = HeatmapSessionRecording::ULR_PARAM_FORCE_CAPTURE_SCREEN . '=0'; + + $url = str_replace(array( + '?' . $enabledForceSample, + '?' . $disabledForceSample, + '?' . $enabledForceScreen, + '?' . $disabledForceScreen + ), '?', $url); + $url = rtrim($url, '?'); // eg when https://www.example.com?pk_hsr_forcesample=1 + $url = str_replace(array( + '&' . $enabledForceSample, + '&' . $disabledForceSample, + '&' . $enabledForceScreen, + '&' . $disabledForceScreen + ), '', $url); + } + + switch (strtolower($this->pageRule['attribute'])) { + case self::ATTRIBUTE_URL: + return $url; + case self::ATTRIBUTE_PATH: + $urlParsed = parse_url($url); + if (isset($urlParsed['path'])) { + return $urlParsed['path']; + } + return ''; + case self::ATTRIBUTE_URLPARAM: + $urlParsed = parse_url($url); + $targetValue = null; + if (!empty($urlParsed['query']) && !empty($this->pageRule['value'])) { + $paramName = $this->pageRule['value']; + $params = UrlHelper::getArrayFromQueryString($urlParsed['query']); + if (isset($params[$paramName])) { + $targetValue = $params[$paramName]; + } + } + return $targetValue; + } + } + + private function removeWwwSubdomain($host) + { + return str_replace('www.', '', $host); + } + + protected function matchesTargetValue($attributeValue, $type, $invert, $valueToMatch) + { + $matches = false; + + if (is_string($attributeValue)) { + $attributeValue = strtolower($attributeValue); + } + + if (is_string($valueToMatch) && $type !== 'regexp') { + $valueToMatch = strtolower($valueToMatch); + } + + switch ($type) { + case self::TYPE_ANY: + $matches = true; + break; + case self::TYPE_EXISTS: + if ($attributeValue !== null) { + $matches = true; + } + break; + case self::TYPE_EQUALS_SIMPLE: + $parsedActual = parse_url($attributeValue); + $parsedMatch = parse_url($valueToMatch); + + if (isset($parsedActual['host'])) { + $parsedActual['host'] = $this->removeWwwSubdomain($parsedActual['host']); + } + if (isset($parsedMatch['host'])) { + $parsedMatch['host'] = $this->removeWwwSubdomain($parsedMatch['host']); + } + + if (!isset($parsedMatch['host']) || !isset($parsedActual['host']) || $parsedActual['host'] == $parsedMatch['host']) { + if (!isset($parsedActual['path']) && !isset($parsedMatch['path'])) { + $matches = true; + } elseif (isset($parsedActual['path']) && isset($parsedMatch['path'])) { + if ( + $parsedActual['path'] == $parsedMatch['path'] || + $parsedActual['path'] == $parsedMatch['path'] . '/' || + $parsedActual['path'] == '/' . $parsedMatch['path'] || + $parsedActual['path'] == '/' . $parsedMatch['path'] . '/' || + $parsedActual['path'] . '/' == $parsedMatch['path'] + ) { + $matches = true; + } + } elseif (isset($parsedActual['path']) && $parsedActual['path'] === '/' && !isset($parsedMatch['path'])) { + $matches = true; + } elseif (isset($parsedMatch['path']) && $parsedMatch['path'] === '/' && !isset($parsedActual['path'])) { + $matches = true; + } + } + + break; + case self::TYPE_EQUALS_EXACTLY: + if ($attributeValue && $attributeValue === $valueToMatch) { + $matches = true; + } + + if ($valueToMatch && @parse_url($valueToMatch, PHP_URL_PATH) === '/' && $valueToMatch === ($attributeValue . '/')) { + $matches = true; + } + + if ($attributeValue && @parse_url($attributeValue, PHP_URL_PATH) === '/' && $attributeValue === ($valueToMatch . '/')) { + $matches = true; + } + + break; + case self::TYPE_CONTAINS: + if (isset($valueToMatch) && $attributeValue && !is_array($valueToMatch) && !is_object($valueToMatch) && strlen($valueToMatch) && strpos($attributeValue, (string) $valueToMatch) !== false) { + $matches = true; + } + break; + case self::TYPE_STARTS_WITH: + if ($attributeValue && !is_array($valueToMatch) && !is_object($valueToMatch) && strlen($valueToMatch) && strpos($attributeValue, (string) $valueToMatch) === 0) { + $matches = true; + } + break; + case self::TYPE_REGEXP: + $pattern = self::completeRegexpPattern($valueToMatch); + if ($pattern && $attributeValue && preg_match($pattern, $attributeValue)) { + $matches = true; + } + break; + } + + if ($invert) { + return !$matches; + } + + return $matches; + } + + public static function completeRegexpPattern($pattern) + { + return $pattern ? ('/' . str_replace('/', '\/', stripslashes($pattern)) . '/i') : $pattern; + } + + public static function doesTargetTypeRequireValue($type) + { + return $type !== self::TYPE_ANY; + } + + public static function getAvailableTargetTypes() + { + $targetTypes = array(); + + $urlOptions = array( + self::TYPE_EQUALS_EXACTLY => Piwik::translate('HeatmapSessionRecording_TargetTypeEqualsExactly'), + self::TYPE_EQUALS_SIMPLE => Piwik::translate('HeatmapSessionRecording_TargetTypeEqualsSimple'), + self::TYPE_CONTAINS => Piwik::translate('HeatmapSessionRecording_TargetTypeContains'), + self::TYPE_STARTS_WITH => Piwik::translate('HeatmapSessionRecording_TargetTypeStartsWith'), + self::TYPE_REGEXP => Piwik::translate('HeatmapSessionRecording_TargetTypeRegExp'), + ); + + $urlAttribute = array( + 'value' => self::ATTRIBUTE_URL, + 'name' => Piwik::translate('HeatmapSessionRecording_TargetAttributeUrl'), + 'types' => array(), + 'example' => 'http://www.example.com/' . Piwik::translate('HeatmapSessionRecording_FilesystemDirectory') + ); + foreach ($urlOptions as $key => $value) { + $urlAttribute['types'][] = array('value' => $key, 'name' => $value); + } + $targetTypes[] = $urlAttribute; + + + $urlAttribute = array( + 'value' => self::ATTRIBUTE_PATH, + 'name' => Piwik::translate('HeatmapSessionRecording_TargetAttributePath'), + 'types' => array(), + 'example' => '/' . Piwik::translate('HeatmapSessionRecording_FilesystemDirectory') + ); + foreach ($urlOptions as $key => $value) { + $urlAttribute['types'][] = array('value' => $key, 'name' => $value); + } + $targetTypes[] = $urlAttribute; + + + $urlAttribute = array( + 'value' => self::ATTRIBUTE_URLPARAM, + 'name' => Piwik::translate('HeatmapSessionRecording_TargetAttributeUrlParameter'), + 'types' => array(), + 'example' => Piwik::translate('HeatmapSessionRecording_TargetAttributeUrlParameterExample') + ); + + $parameterOptions = array( + self::TYPE_EXISTS => Piwik::translate('HeatmapSessionRecording_TargetTypeExists'), + self::TYPE_EQUALS_EXACTLY => Piwik::translate('HeatmapSessionRecording_TargetTypeEqualsExactly'), + self::TYPE_CONTAINS => Piwik::translate('HeatmapSessionRecording_TargetTypeContains'), + self::TYPE_REGEXP => Piwik::translate('HeatmapSessionRecording_TargetTypeRegExp'), + ); + + foreach ($parameterOptions as $key => $value) { + $urlAttribute['types'][] = array('value' => $key, 'name' => $value); + } + + $targetTypes[] = $urlAttribute; + + return $targetTypes; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/RequestProcessor.php b/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/RequestProcessor.php new file mode 100644 index 0000000..ba94e54 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Tracker/RequestProcessor.php @@ -0,0 +1,312 @@ +logHsr = $logHsr; + $this->logEvent = $logEvent; + $this->logMutation = $logMutation; + $this->siteHsr = $siteHsr; + $this->logHsrSite = $logHsrSite; + } + + public function afterRequestProcessed(VisitProperties $visitProperties, Request $request) + { + $params = $request->getParams(); + + if (!empty($params[self::TRACKING_PARAM_HSR_ID_VIEW])) { + // we need to make sure no action will be recorded! especially since we might go into record logs! + $request->setMetadata('Actions', 'action', null); + // make sure no goals will be recorded! + $request->setMetadata('Goals', 'goalsConverted', array()); + + // for all tracking requests further down we need at least one hsrid + if (empty($params[self::TRACKING_PARAM_HSR_IDS]) || !is_array($params[self::TRACKING_PARAM_HSR_IDS])) { + // nothing to record, abort request + return true; + } + + $idVisit = $visitProperties->getProperty('idvisit'); + + if (empty($idVisit)) { + // this is a NEW VISIT request, this should usually not happen as HSR requests are usually sent after + // pageviews. We need to handle the visit during recordLogs() + // For faster performance and to reduce load on visit table etc we want to record those requests + // ideally always here in afterRequestProcessed and terminate as early as possible + return false; + } + + $this->handleHsrRequest($idVisit, $request); + + // abort anything else + return true; + } + } + + public function recordLogs(VisitProperties $visitProperties, Request $request) + { + // we try to insert the request again if it is a new visit, as we now have the idVisit (should have) + return $this->afterRequestProcessed($visitProperties, $request); + } + + private function handleHsrRequest($idVisit, Request $request) + { + $params = $request->getParams(); + $url = $request->getParam('url'); + $idPageview = $request->getParam('pv_id'); + $idSite = $request->getIdSite(); + + $serverTime = Date::getDatetimeFromTimestamp($request->getCurrentTimestamp()); + $timeOnPage = $params[self::TRACKING_PARAM_TOTAL_TIME]; + $viewportW = $params[self::TRACKING_PARAM_VIEWPORT_WIDTH]; + $viewportH = $params[self::TRACKING_PARAM_VIEWPORT_HEIGHT]; + $scrollYMaxPercent = $params[self::TRACKING_PARAM_SCROLL_MAX_PERCENTAGE]; + $foldYpercent = $params[self::TRACKING_PARAM_FOLD_Y_PERCENT]; + $hsrIds = $params[self::TRACKING_PARAM_HSR_IDS]; + $idHsrView = $params[self::TRACKING_PARAM_HSR_ID_VIEW]; + + $maxAllowedTimeOnPage = self::MYSQL_MAX_MEDIUM_UINT; + $configuration = new Configuration(); + $maxAllowedTimeOnPageConfigValue = $configuration->getMaximumAllowedPageTime(); + if (!empty($maxAllowedTimeOnPageConfigValue)) { + $maxAllowedTimeOnPage = $maxAllowedTimeOnPageConfigValue; + } + + if ($timeOnPage > $maxAllowedTimeOnPage) { + return; + } + + $hsrIds = $this->getValidHsrIds($idSite, $hsrIds); + + if (empty($hsrIds)) { + Common::printDebug('Warning! no active hsrIds provided, will ignore tracking request'); + throw new InvalidRequestParameterException('No active hsrIds provided'); + } + + $action = $request->getMetadata('Actions', 'action'); + if (!empty($action)) { + /** @var Tracker\Action $action */ + $action->loadIdsFromLogActionTable(); + $url = $action->getActionUrl(); + } + $userAgent = $request->getUserAgent(); + $resolution = $request->getParam('res'); + + $idLogHsr = $this->logHsr->record($hsrIds, $idSite, $idVisit, $idHsrView, $idPageview, $url, $serverTime, $userAgent, $resolution, $timeOnPage, $viewportW, $viewportH, $scrollYMaxPercent, $foldYpercent); + + $events = $params[self::TRACKING_PARAM_EVENTS]; + + $selectors = array(); + foreach ($events as $index => $event) { + // DO NOT USE VARIABLE REFERENCE HERE! + if (isset($event['s'])) { + $key = md5($event['s']); + $events[$index]['skey'] = $key; + $selectors[$key] = array($event['s'], self::ACTION_TYPE_HSR_SELECTOR, null); + } + } + + $selectorIds = array(); + if (!empty($selectors)) { + $selectorIds = Tracker\TableLogAction::loadIdsAction($selectors); + } + + foreach ($events as $event) { + $this->recordEvent($idLogHsr, $idSite, $event, $url, $selectorIds); + } + } + + private function recordEvent($idLogHsr, $idSite, $event, $url, $selectorIds) + { + $event['ty'] = (int) $event['ty']; + + switch ($event['ty']) { + case self::EVENT_TYPE_STOP_RECORDING: + // we don't record any event for this, only there to track accurate recording time (time when we stopped recording) + break; + case self::EVENT_TYPE_PAGE_TREEMIRROR: + if (!empty($event['dom'])) { + // we need to save the initial DOM for heatmap + $clearCache = false; + $cachedHsrs = $this->getCachedHsrs($idSite); + // we cannot overwrite simply all matching idsitehsr because someone might define a screenshot url and this + // url might be different per hsr. + foreach ($cachedHsrs as $hsr) { + if (empty($hsr['page_treemirror']) && $hsr['idsitehsr'] == $event['id'] && $hsr['record_type'] == SiteHsrDao::RECORD_TYPE_HEATMAP) { + $screenshotUrl = $hsr['screenshot_url']; + if (empty($hsr['screenshot_url'])) { + $screenshotUrl = $url; + } + + if (!empty($screenshotUrl)) { + // we need to make sure a url is set + $this->siteHsr->setPageTreeMirror($idSite, $hsr['idsitehsr'], $event['dom'], $screenshotUrl); + $clearCache = true; + } + } + } + if ($clearCache) { + // prevent tracking initial dom again + Tracker\Cache::deleteCacheWebsiteAttributes($idSite); + } + } + + break; + + case self::EVENT_TYPE_LINK_HSR: + if (isset($event['id'])) { + // we need to link a new idsitehsr to an existing recording + $idSiteHsr = (int) $event['id']; + + if (!empty($idSiteHsr)) { + $this->logHsrSite->linkRecord($idLogHsr, $idSiteHsr); + } + } + + break; + + default: + $idSelector = null; + if (isset($event['skey']) && isset($selectorIds[$event['skey']])) { + $idSelector = $selectorIds[$event['skey']]; + } + $x = null; + if (isset($event['x'])) { + $x = $event['x']; + } + $y = null; + if (isset($event['y'])) { + $y = $event['y']; + } + $text = null; + if (isset($event['te'])) { + $text = $event['te']; + } + + if ($event['ty'] == RequestProcessor::EVENT_TYPE_INITIAL_DOM) { + $event['ti'] = 0;// we make sure to force 0 time since load + } + + $this->logEvent->record($idLogHsr, $event['ti'], $event['ty'], $idSelector, $x, $y, $text); + } + } + + // we need to make sure it is only possible to track data into currently active heatmaps, and currently + // active or ended session recordings. Otherwise other users could track in advance data into any heatmap or recording + // it is still possible to track data into completed sessions because we want to make sure to include all tracking requests + // of a session + private function getValidHsrIds($idSite, $hsrIds) + { + $hsrs = $this->getCachedHsrs($idSite); + + $existingIds = array(); + foreach ($hsrs as $hsr) { + $existingIds[] = $hsr['idsitehsr']; + } + + $ids = array(); + foreach ($hsrIds as $hsrId) { + if (in_array($hsrId, $existingIds)) { + $ids[] = $hsrId; + } else { + Common::printDebug(sprintf("Notice! hsrId %d is not active anymore and will be ignored", (int) $hsrId)); + } + } + + $ids = array_unique($ids); + return $ids; + } + + private function getCachedHsrs($idSite) + { + $cache = Tracker\Cache::getCacheWebsiteAttributes($idSite); + if (!empty($cache['hsr'])) { + return $cache['hsr']; + } + return array(); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Unsubscribe.php b/files/plugin-HeatmapSessionRecording-5.6.0/Unsubscribe.php new file mode 100644 index 0000000..bab9a1c --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Unsubscribe.php @@ -0,0 +1,46 @@ +migration = $factory; + } + + public function getMigrations(Updater $updater) + { + $migration = $this->migration->db->addIndex('log_hsr_site', 'idloghsr'); + + return array( + $migration + ); + } + + public function doUpdate(Updater $updater) + { + $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Updates/3.0.11.php b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/3.0.11.php new file mode 100644 index 0000000..f200234 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/3.0.11.php @@ -0,0 +1,51 @@ +migration = $factory; + } + + public function getMigrations(Updater $updater) + { + $migration = $this->migration->db->addIndex('log_hsr_event', 'idhsrblob'); + + return array( + $migration + ); + } + + public function doUpdate(Updater $updater) + { + $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Updates/3.0.3.php b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/3.0.3.php new file mode 100644 index 0000000..c79e8f5 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/3.0.3.php @@ -0,0 +1,30 @@ +install(); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Updates/4.0.0.php b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/4.0.0.php new file mode 100644 index 0000000..2a66759 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/4.0.0.php @@ -0,0 +1,55 @@ +migration = $factory; + } + + public function getMigrations(Updater $updater) + { + $eventTable = Common::prefixTable('log_hsr_event'); + $columns = DbHelper::getTableColumns($eventTable); + + $migrations = array(); + if (!array_key_exists('idhsrevent', $columns)) { + // if installed < 3.2.21 where column wasn't added yet + $migrations[] = $this->migration->db->addColumn('log_hsr_event', 'idhsrevent', 'BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY'); + } + + return $migrations; + } + + public function doUpdate(Updater $updater) + { + $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.1.0.php b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.1.0.php new file mode 100644 index 0000000..5cd40d1 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.1.0.php @@ -0,0 +1,54 @@ +migration = $factory; + } + + public function getMigrations(Updater $updater) + { + $siteHsrTable = Common::prefixTable('site_hsr'); + $columns = DbHelper::getTableColumns($siteHsrTable); + + $migrations = array(); + if (!array_key_exists('capture_manually', $columns)) { + $migrations[] = $this->migration->db->addColumn('site_hsr', 'capture_manually', 'TINYINT(1) UNSIGNED NOT NULL DEFAULT 0'); + } + + return $migrations; + } + + public function doUpdate(Updater $updater) + { + $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.4.0.php b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.4.0.php new file mode 100644 index 0000000..c12aa6f --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.4.0.php @@ -0,0 +1,55 @@ +migration = $factory; + } + + public function getMigrations(Updater $updater) + { + $siteHsrTable = Common::prefixTable('site_hsr'); + $columns = DbHelper::getTableColumns($siteHsrTable); + + $migrations = array(); + if (!array_key_exists('description', $columns)) { + $migrations[] = $this->migration->db->addColumn('site_hsr', 'description', "VARCHAR(" . Description::MAX_LENGTH . ") NOT NULL DEFAULT ''"); + } + + return $migrations; + } + + public function doUpdate(Updater $updater) + { + $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.5.0.php b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.5.0.php new file mode 100644 index 0000000..7f81a13 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.5.0.php @@ -0,0 +1,63 @@ +migration = $factory; + } + + public function getMigrations(Updater $updater) + { + $siteHsrTable = Common::prefixTable('site_hsr'); + $columns = DbHelper::getTableColumns($siteHsrTable); + + $migrations = array(); + if (!array_key_exists('login', $columns)) { + $migrations[] = $this->migration->db->addColumn('site_hsr', 'login', 'VARCHAR(100) NULL DEFAULT NULL'); + } + + if (!array_key_exists('finished_notified', $columns)) { + $migrations[] = $this->migration->db->addColumn('site_hsr', 'finished_notified', 'TINYINT(1) UNSIGNED NOT NULL DEFAULT 0'); + + // defensively flag existing finished records so the upgrade does not trigger a backlog of notification emails + $migrations[] = $this->migration->db->sql( + sprintf("UPDATE %s SET finished_notified = 1 WHERE status = 'ended'", $siteHsrTable) + ); + } + + return $migrations; + } + + public function doUpdate(Updater $updater) + { + $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.5.5.php b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.5.5.php new file mode 100644 index 0000000..70d030d --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.5.5.php @@ -0,0 +1,75 @@ +migration = $factory; + } + + public function getMigrations(Updater $updater) + { + $siteHsrTable = Common::prefixTable('site_hsr'); + $columns = DbHelper::getTableColumns($siteHsrTable); + + $migrations = array(); + if (!array_key_exists('auto_repeat', $columns)) { + $migrations[] = $this->migration->db->addColumn('site_hsr', 'auto_repeat', 'TINYINT(1) UNSIGNED NOT NULL DEFAULT 0'); + } + + if (!array_key_exists('repeat_source_idsitehsr', $columns)) { + $migrations[] = $this->migration->db->addColumn('site_hsr', 'repeat_source_idsitehsr', 'INT(10) UNSIGNED NULL DEFAULT NULL'); + } + + if (!DbHelper::tableHasIndex($siteHsrTable, 'unique_repeat_source')) { + $migrations[] = $this->migration->db->addUniqueKey('site_hsr', 'repeat_source_idsitehsr', 'unique_repeat_source'); + } + + // repeat_processed was only ever added by an earlier revision of this migration, it is now derived + // from the copies themselves + if (array_key_exists('repeat_processed', $columns)) { + $migrations[] = $this->migration->db->dropColumn('site_hsr', 'repeat_processed'); + } + + if (!array_key_exists('scheduled_date', $columns)) { + $migrations[] = $this->migration->db->addColumn('site_hsr', 'scheduled_date', 'DATETIME NULL'); + } + + $migrations[] = $this->migration->db->changeColumnType('site_hsr', 'name', 'VARCHAR(' . Name::MAX_LENGTH . ') NOT NULL'); + + return $migrations; + } + + public function doUpdate(Updater $updater) + { + $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.6.0.php b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.6.0.php new file mode 100644 index 0000000..ebf062a --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.6.0.php @@ -0,0 +1,54 @@ +migration = $factory; + } + + public function getMigrations(Updater $updater) + { + $siteHsrTable = Common::prefixTable('site_hsr'); + $columns = DbHelper::getTableColumns($siteHsrTable); + + $migrations = array(); + if (!array_key_exists('screenshot_deleted_date', $columns)) { + $migrations[] = $this->migration->db->addColumn('site_hsr', 'screenshot_deleted_date', 'DATETIME NULL DEFAULT NULL'); + } + + return $migrations; + } + + public function doUpdate(Updater $updater) + { + $updater->executeMigrations(__FILE__, $this->getMigrations($updater)); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/UserSettings.php b/files/plugin-HeatmapSessionRecording-5.6.0/UserSettings.php new file mode 100644 index 0000000..990063c --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/UserSettings.php @@ -0,0 +1,35 @@ +notifyFinishedRecordings = $this->makeSetting('notifyFinishedRecordings', $default = true, FieldConfig::TYPE_BOOL, function (FieldConfig $field) { + $field->title = Piwik::translate('HeatmapSessionRecording_NotifyFinishedSetting'); + $field->uiControl = FieldConfig::UI_CONTROL_CHECKBOX; + $field->inlineHelp = Piwik::translate('HeatmapSessionRecording_NotifyFinishedSettingHelp'); + }); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/VisitorDetails.php b/files/plugin-HeatmapSessionRecording-5.6.0/VisitorDetails.php new file mode 100644 index 0000000..a1bf919 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/VisitorDetails.php @@ -0,0 +1,125 @@ +recordings = array_fill_keys($visitIds, null); + + $aggregator = new Aggregator(); + $recordings = $aggregator->findRecordings($visitIds); + + foreach ($recordings as $recording) { + $this->recordings[$recording['idvisit']] = $recording; + } + } + + public function extendVisitorDetails(&$visitor) + { + $visitor['sessionReplayUrl'] = null; + + $idVisit = $visitor['idVisit']; + $idSite = $visitor['idSite']; + + if (empty($idSite) || empty($idVisit) || !$this->getValidator()->canViewSessionReport($idSite)) { + return; + } + + $recording = $this->getRecoding($idVisit); + + if (!empty($recording) && !empty($recording['idsitehsr'])) { + $visitor['sessionReplayUrl'] = '?module=HeatmapSessionRecording&action=replayRecording&idSite=' . (int)$idSite . '&idLogHsr=' . (int)$recording['idloghsr'] . '&idSiteHsr=' . (int)$recording['idsitehsr']; + + $token_auth = Common::getRequestVar('token_auth', '', 'string'); + $force_api_session = Common::getRequestVar('force_api_session', 0, 'int'); + if ( + !empty($token_auth) + && ctype_xdigit($token_auth) && strlen($token_auth) > 30 && strlen($token_auth) < 81 + && !HeatmapSessionRecording::isMatomoForWordPress() + && !$force_api_session + ) { + $visitor['sessionReplayUrl'] .= '&token_auth=' . rawurlencode($token_auth); + } + } + } + + protected function getRecoding($idVisit) + { + if (empty($this->recordings) || !array_key_exists($idVisit, $this->recordings)) { + // if not prefetched + $aggregator = new Aggregator(); + return $aggregator->findRecording($idVisit); + } + + return $this->recordings[$idVisit]; + } + + /** + * @return \Piwik\Plugins\HeatmapSessionRecording\Input\Validator + */ + protected function getValidator() + { + return StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Input\Validator'); + } + + public function renderIcons($visitorDetails) + { + if (!empty($visitorDetails['sessionReplayUrl'])) { + $title = htmlentities( + Piwik::translate('HeatmapSessionRecording_ReplayRecordedSession'), + ENT_COMPAT | ENT_HTML401, + 'UTF-8' + ); + return ''; + } + + return ''; + } + + public function renderVisitorDetails($visitorDetails) + { + if (!empty($visitorDetails['sessionReplayUrl'])) { + $title = htmlentities( + Piwik::translate('HeatmapSessionRecording_ReplayRecordedSession'), + ENT_COMPAT | ENT_HTML401, + 'UTF-8' + ); + return [ + [ + 100, + ' ' . $title . '
    ' + ] + ]; + } + + return []; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GetManageHeatmaps.php b/files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GetManageHeatmaps.php new file mode 100644 index 0000000..f1215e5 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GetManageHeatmaps.php @@ -0,0 +1,77 @@ +settings = $settings; + } + + public static function configure(WidgetConfig $config) + { + $config->setCategoryId('HeatmapSessionRecording_Heatmaps'); + $config->setSubcategoryId('HeatmapSessionRecording_ManageHeatmaps'); + $config->setName('HeatmapSessionRecording_ManageHeatmaps'); + $config->setParameters(array('showtitle' => 0)); + $config->setOrder(99); + $config->setIsNotWidgetizable(); + + $idSite = Common::getRequestVar('idSite', 0, 'int'); + if (self::getAccessValidator()->canWrite($idSite) && !self::getAccessValidator()->isHeatmapRecordingDisabled()) { + $config->enable(); + } else { + $config->disable(); + } + } + + private static function getAccessValidator() + { + return StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Input\Validator'); + } + + public function render() + { + $idSite = Common::getRequestVar('idSite', null, 'int'); + self::getAccessValidator()->checkWritePermission($idSite); + + return sprintf( + '
    ', + (int)$this->settings->breakpointMobile->getValue(), + (int)$this->settings->breakpointTablet->getValue(), + Piwik::translate( + HeatmapSessionRecording::getTranslationKey('pause'), + [Piwik::translate('HeatmapSessionRecording_Heatmap')] + ), + HeatmapSessionRecording::isMatomoJsWritable() + ); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GetManageSessionRecordings.php b/files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GetManageSessionRecordings.php new file mode 100644 index 0000000..7a9908f --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GetManageSessionRecordings.php @@ -0,0 +1,66 @@ +setCategoryId('HeatmapSessionRecording_SessionRecordings'); + $config->setSubcategoryId('HeatmapSessionRecording_ManageSessionRecordings'); + $config->setName('HeatmapSessionRecording_ManageSessionRecordings'); + $config->setParameters(array('showtitle' => 0)); + $config->setOrder(99); + $config->setIsNotWidgetizable(); + + $idSite = Common::getRequestVar('idSite', 0, 'int'); + if (self::getAccessValidator()->canWrite($idSite) && !self::getAccessValidator()->isSessionRecordingDisabled()) { + $config->enable(); + } else { + $config->disable(); + } + } + + private static function getAccessValidator() + { + return StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Input\Validator'); + } + + public function render() + { + $idSite = Common::getRequestVar('idSite', null, 'int'); + self::getAccessValidator()->checkWritePermission($idSite); + + return sprintf( + '
    ', + Piwik::translate( + HeatmapSessionRecording::getTranslationKey('pause'), + [ + Piwik::translate('HeatmapSessionRecording_Heatmap') + ] + ), + HeatmapSessionRecording::isMatomoJsWritable() + ); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GettingStartedHeatmap.php b/files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GettingStartedHeatmap.php new file mode 100644 index 0000000..82b053b --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GettingStartedHeatmap.php @@ -0,0 +1,75 @@ +setIsNotWidgetizable(); + $config->setCategoryId('HeatmapSessionRecording_Heatmaps'); + $config->setName('HeatmapSessionRecording_GettingStarted'); + $config->setOrder(5); + + $idSite = Common::getRequestVar('idSite', 0, 'int'); + + if (self::shouldEnable($idSite) && !self::getAccessValidator()->isHeatmapRecordingDisabled()) { + $config->enable(); + $hsrs = StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Model\SiteHsrModel'); + $hsrs = $hsrs->hasSessionRecordings($idSite); + if (empty($hsrs)) { + // we only make it visible in the UI when there are no hsrs. We cannot disable/enable it + // as we otherwise would show an error message "not allowed to view widget" when suddenly + // hsrs are configured + $config->setSubcategoryId('HeatmapSessionRecording_GettingStarted'); + } + } else { + $config->disable(); + } + } + + private static function getAccessValidator() + { + return StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Input\Validator'); + } + + private static function shouldEnable($idSite) + { + $validator = self::getAccessValidator(); + return !empty($idSite) && $validator->canViewHeatmapReport($idSite) && !$validator->canWrite($idSite); + } + + public function render() + { + $idSite = Common::getRequestVar('idSite', null, 'int'); + + self::getAccessValidator()->checkHeatmapReportViewPermission($idSite); + + if (self::shouldEnable($idSite)) { + return $this->renderTemplate('gettingStartedHeatmaps'); + } + + return ''; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GettingStartedSessions.php b/files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GettingStartedSessions.php new file mode 100644 index 0000000..aa15cf7 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GettingStartedSessions.php @@ -0,0 +1,75 @@ +setIsNotWidgetizable(); + $config->setCategoryId('HeatmapSessionRecording_SessionRecordings'); + $config->setName('HeatmapSessionRecording_GettingStarted'); + $config->setOrder(5); + + $idSite = Common::getRequestVar('idSite', 0, 'int'); + + if (self::shouldEnable($idSite) && !self::getAccessValidator()->isSessionRecordingDisabled()) { + $config->enable(); + $hsrs = StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Model\SiteHsrModel'); + $hsrs = $hsrs->hasSessionRecordings($idSite); + if (empty($hsrs)) { + // we only make it visible in the UI when there are no hsrs. We cannot disable/enable it + // as we otherwise would show an error message "not allowed to view widget" when suddenly + // hsrs are configured + $config->setSubcategoryId('HeatmapSessionRecording_GettingStarted'); + } + } else { + $config->disable(); + } + } + + private static function getAccessValidator() + { + return StaticContainer::get('Piwik\Plugins\HeatmapSessionRecording\Input\Validator'); + } + + private static function shouldEnable($idSite) + { + $validator = self::getAccessValidator(); + // only for VIEW users, not for anonymous and not for admin users + return !empty($idSite) && $validator->canViewSessionReport($idSite) && !$validator->canWrite($idSite); + } + + public function render() + { + $idSite = Common::getRequestVar('idSite', null, 'int'); + self::getAccessValidator()->checkSessionReportViewPermission($idSite); + + if (self::shouldEnable($idSite)) { + return $this->renderTemplate('gettingStartedSessions'); + } + + return ''; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/config/config.php b/files/plugin-HeatmapSessionRecording-5.6.0/config/config.php new file mode 100644 index 0000000..2c33444 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/config/config.php @@ -0,0 +1,21 @@ + Piwik\DI::add(array( + Piwik\DI::get('Piwik\Plugins\HeatmapSessionRecording\Diagnostic\ConfigsPhpCheck'), + )), +); diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/configs.php b/files/plugin-HeatmapSessionRecording-5.6.0/configs.php new file mode 100644 index 0000000..4607e8c --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/configs.php @@ -0,0 +1,164 @@ +init(); + +$originalIdSite = $_GET['idsite']; +$trackerId = (string) $_GET['trackerid']; +$url = (string) $_GET['url']; + +$idSite = $configs->getIdSite($originalIdSite); + +if ($idSite <= 0) { + http_response_code(400); + exit; +} + +$trackerConfig = array( + 'heatmaps' => array(), // for getdom we later need to check if a screenhot url is configured array('enabled' => false, 'getdom' => []) + 'sessions' => array(), // array('enabled' => false) +); + +$cache = $configs->getCachedWebsiteAttributes($idSite); + +if (empty($cache['hsr'])) { + $configs->sendResponse($trackerConfig, $originalIdSite, $trackerId); + exit; +} + +$systemSettings = StaticContainer::get(SystemSettings::class); +$includedCountries = $systemSettings->getIncludedCountries(false); +$isIncludedCountry = true; +if (!empty($includedCountries)) { + $configs->loadTrackerEnvironment(); + $isIncludedCountry = HsrMatcher::isIncludedCountry($includedCountries); +} + +foreach ($cache['hsr'] as $hsr) { + $sessionGroup = HsrMatcher::isUserPartOfSampleGroup($hsr['record_type'], $hsr['idsitehsr']); + + if ($sessionGroup === HsrMatcher::SAMPLE_GROUP_NOT_PART) { + // user is not part of sample group + continue; + } + + $shouldForceBeIncluded = $sessionGroup === HsrMatcher::SAMPLE_GROUP_IS_PART; + // For sessions we need to record all pages, even if page rules does not match as soon as the session is being recorded. That is + // as soon as the visitor has visited at least one page that matches the page rules + + if ( + ( + $shouldForceBeIncluded || + ( + HsrMatcher::matchesAllPageRules($hsr['match_page_rules'], $url) && + HsrMatcher::checkIsNotEnded($hsr) + ) + ) && + $isIncludedCountry + ) { + // by returning the hsrid IDs here we can make sure to record all updates for this user + // also it makes request processor faster since we won't have to match the records there again + // it also prevents starting to track only partial data after a heatmap or session was created while a different + // session or heatmap is already being recorded + // it will also make the JS tracker easier since user will be able to configure manually which ids to track + // also because the sample rate is based on random number generation we cannot check sample rate and whether a user + // is in the group or not on each tracking request. We would need to send a cookie + + if ($hsr['record_type'] == \Piwik\Plugins\HeatmapSessionRecording\Dao\SiteHsrDao::RECORD_TYPE_SESSION) { + $trackerConfig['sessions'][] = array( + 'id' => $hsr['idsitehsr'], + 'sample_rate' => $hsr['sample_rate'], + 'min_time' => $hsr['min_session_time'], + 'activity' => $hsr['requires_activity'], + 'keystrokes' => $hsr['capture_keystrokes'], + ); + } elseif ($hsr['record_type'] == \Piwik\Plugins\HeatmapSessionRecording\Dao\SiteHsrDao::RECORD_TYPE_HEATMAP) { + $heatmap = array('id' => $hsr['idsitehsr'], 'getdom' => false, 'sample_rate' => $hsr['sample_rate'], 'capture_manually' => $hsr['capture_manually']); + + if ( + empty($hsr['page_treemirror']) && + empty($hsr['capture_manually']) && + \Piwik\Plugins\HeatmapSessionRecording\Tracker\HsrMatcher::doesScreenshotUrlMatch($hsr['screenshot_url'], $url) + ) { + $heatmap['getdom'] = true; + } + + $trackerConfig['heatmaps'][] = $heatmap; + } + } +} + +$configs->sendResponse($trackerConfig, $originalIdSite, $trackerId); diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/docs/index.md b/files/plugin-HeatmapSessionRecording-5.6.0/docs/index.md new file mode 100644 index 0000000..aad3729 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/docs/index.md @@ -0,0 +1,3 @@ +## Documentation + +The [Heatmap User Guide](https://matomo.org/docs/heatmaps/), [Session Recording User Guide](https://matomo.org/docs/session-recording/) and the [Heatmap & Session Recording User FAQ](https://matomo.org/faq/heatmap-session-recording/) cover how to get the most out of this plugin. The [Heatmap & Session Recording developer guides](https://developer.matomo.org/guides/heatmap-session-recording) help you customizing the tracking of your heatmaps and session recordings. \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/images/no-interactions.svg b/files/plugin-HeatmapSessionRecording-5.6.0/images/no-interactions.svg new file mode 100644 index 0000000..595fd5d --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/images/no-interactions.svg @@ -0,0 +1,3 @@ + + + diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/javascripts/recording.js b/files/plugin-HeatmapSessionRecording-5.6.0/javascripts/recording.js new file mode 100644 index 0000000..3e7d3ee --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/javascripts/recording.js @@ -0,0 +1,732 @@ +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret or copyright law. + * Redistribution of this information or reproduction of this material is strictly forbidden + * unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ + +function HsrRecordingIframe (url) { + url = String(url); + if (url.indexOf('?') >= 0) { + url = url.substr(0, url.indexOf('?')); + } + + if (url.indexOf('#') >= 0) { + url = url.substr(0, url.indexOf('#')); + } + + if (url.indexOf('http') === -1) { + // we need to load http or at least same protocol as current piwik install + url = String(location.protocol) + '//' + url; + } + + var requireSecureProtocol = String(location.protocol).toLowerCase() === 'https:'; + + function convertUrlToSecureProtocolIfNeeded(url) + { + // otherwise we get problems re insecure content + if (requireSecureProtocol && String(url).toLowerCase().indexOf('http:') === 0) { + url = 'https' + url.substr('http'.length); + } + + return url; + } + + url = convertUrlToSecureProtocolIfNeeded(url); + + var baseUrl = url; + + this.enableDebugMode = false; + + function addRemoveSupport(window) + { + if (window && !('remove' in window.Element.prototype)) { + window.Element.prototype.remove = function() { + if (this.parentNode && this.parentNode.removeChild) { + this.parentNode.removeChild(this); + } + }; + } + } + + addRemoveSupport(window); + + this.isSupportedBrowser = function () { + if (typeof WebKitMutationObserver !== 'undefined') { + return true; + } else if (typeof MutationObserver !== 'undefined') { + return true; + } + + return false; + }; + + this.scrollTo = function (x,y) { + window.scrollTo(x,y); + }; + + this.getIframeWindow = function () { + return window; + }; + + this.findElement = function (selector) { + selector = this.sanitizeSelector(selector); + return $(selector); + }; + + this.sanitizeSelector = function (selector) { + if (typeof selector !== 'string') { + return null; + } + + selector = selector.trim(); + + if (!selector) { + return null; + } + + if (selector.indexOf('<') !== -1) { + return null; + } + + return selector; + }; + + this.makeSvg = function (width, height) { + var canvas = this.findElement('#mouseMoveCanvas'); + if (canvas.length) { + canvas.empty(); + } else { + this.appendContent('
    '); + } + + this.draw = SVG('mouseMoveCanvas').size(width, height); + }; + + this.drawLine = function (x1, y1, x2, y2, color) { + if (this.draw) { + var line = this.draw.line(x1, y1, x2, y2); + line.stroke({ width: 1,color:color }); + } + }; + + this.drawCircle = function (x, y, color) { + if (this.draw) { + if (x > 4) { + x = x - 4; // because of radius of 8 we need to center it + } + if (y > 4) { + y = y - 4; // because of radius of 8 we need to center it + } + var circle = this.draw.circle(8); + circle.fill(color); + circle.move(x,y); + } + }; + + this.appendContent = function (html) { + return $('body').append(html); + }; + + this.getIframeSandboxValue = function (nodeOrUrl) { + var youtubeRegex = /^((?:https?:)\/\/)((?:www|m)\.)?((?:youtube\.com|youtube-nocookie\.com|youtu\.be))(\/(?:[\w\-]+\?v=|embed\/|v\/)?)([\w\-]+)([a-zA-Z_=&]*)?$/; + var source = ''; + + if (nodeOrUrl) { + if (typeof nodeOrUrl === 'string') { + source = nodeOrUrl; + } else if (nodeOrUrl.src) { + source = nodeOrUrl.src; + } else if (nodeOrUrl.getAttribute) { + source = nodeOrUrl.getAttribute('src') || ''; + } + } + + if (source && youtubeRegex.test(String(source).toLowerCase())) { + return 'allow-scripts allow-same-origin'; + } + + return 'allow-scripts'; + }; + + this.restoreIframeSandboxPolicy = function (node) { + if (!node || node.nodeType !== Node.ELEMENT_NODE) { + return; + } + + if (node.tagName === 'IFRAME' && !node.getAttribute('sandbox')) { + node.setAttribute('sandbox', this.getIframeSandboxValue(node)); + } + + if (node.querySelectorAll) { + var frames = node.querySelectorAll('iframe:not([sandbox])'); + for (var i = 0; i < frames.length; i++) { + frames[i].setAttribute('sandbox', this.getIframeSandboxValue(frames[i])); + } + } + }; + + this.isBlockedMetaAttributeMutation = function (node, name, value) { + if (!node || node.tagName !== 'META' || !name) { + return false; + } + + var nameLower = String(name).trim().toLowerCase(); + + if (nameLower === 'http-equiv' && value) { + var httpEquiv = String(value).trim().toLowerCase(); + return httpEquiv === 'content-security-policy' || httpEquiv === 'refresh'; + } + + if (nameLower === 'name' && value) { + var metaName = String(value).trim().toLowerCase(); + return metaName === 'csrf-token' || metaName === 'referrer'; + } + + return false; + }; + + this.initialMutation = function(event) { + var self = this; + if (document.documentElement) { + document.documentElement.remove(); + } + + if (document && document.doctype) { + if (document.doctype && document.doctype.remove) { + document.doctype.remove(); + } else if (document.doctype) { + // fix remove is not available on IE + document.removeChild(document.doctype); + } + } + + addRemoveSupport(window); + + this.mirror = new TreeMirror(document, { + createElement: function(tagName, data) { + if (!tagName) { + return; + } + + tagName = tagName.toLowerCase().trim(); + + if (tagName === 'script') { + // prevent execution of this element! we still need to have it in the dom eg for nth-child selector etc. + var element = document.createElement('NO_SCRIPT'); + element.style.display = 'none'; + return element; + + } else if (tagName === 'form') { + var element = document.createElement('FORM'); + element.addEventListener('submit', function (event) { + event.preventDefault(); + event.stopPropagation(); + return false; + }); + return element; + + } else if (tagName === 'link' || tagName === 'img' || tagName === 'iframe') { + var element; + var isLinkHrefAttr = (tagName === 'link' && data && typeof data.attributes === 'object'); + function shouldUnresolve(href) { + var posHref = href.toLowerCase().indexOf('.scr.kaspersky-labs.com'); + if (posHref > 5 && posHref < 20) { + return true; + } + return false; + } + if (tagName === 'iframe' && data && 'src' in data.attributes && data.attributes.src.indexOf('google.com/recaptcha') !== -1) { + var element = document.createElement('NO_SCRIPT'); + element.style.display = 'none'; + return element; + } + if (isLinkHrefAttr && data && 'href' in data.attributes && data.attributes['href']) { + if (shouldUnresolve(String(data.attributes['href']))) { + data.attributes['href'] = '#not_possible_to_resolve'; + // this URL cannot be resolved and is injected dynamically + element = document.createElement('NO_LINK'); + element.style.display = 'none'; + } + } + if (isLinkHrefAttr && data && 'data-matomo-href' in data.attributes && data.attributes['data-matomo-href']) { + if (shouldUnresolve(String(data.attributes['data-matomo-href']))) { + data.attributes['href'] = '#not_possible_to_resolve'; + // this URL cannot be resolved and is injected dynamically + element = document.createElement('NO_LINK'); + element.style.display = 'none'; + } else { + data.attributes['href'] = data.attributes['data-matomo-href']; + } + } + + if (!element) { + element = document.createElement(tagName.toUpperCase()); + } + + if (element.tagName === 'IFRAME') { + element.setAttribute('sandbox', self.getIframeSandboxValue(data && data.attributes ? data.attributes.src : '')); + } + + element.setAttribute('referrerpolicy', 'no-referrer'); + return element; + } else if (tagName === 'head') { + var element = document.createElement('HEAD'); + + // we need to add ours first, because multiple base elements may exist and their base might only + // appear after few resources are already loaded + element.appendChild(document.createElement('BASE')); + element.firstChild.href = baseUrl; + + var style = document.createElement('style'); + style.setAttribute('type', 'text/css') + style.appendChild(document.createTextNode('[data-matomo-mask] {background-image: none !important; }' + + ' img[data-matomo-mask][src^="http"] {visibility:hidden !important;opacity: 0; }' + + ' img[data-matomo-mask][src^="/"] {visibility:hidden !important;opacity: 0; }' + + ' img[data-matomo-mask][src*=".png"] {visibility:hidden !important;opacity: 0; }' + + ' img[data-matomo-mask][src*=".jpg"] {visibility:hidden !important;opacity: 0; }' + + ' img[data-matomo-mask][src*=".webp"] {visibility:hidden !important;opacity: 0; }' + + ' img[data-matomo-mask][src*=".jepg"] {visibility:hidden !important;opacity: 0; }' + + ' img[data-matomo-mask][src*=".gif"] {visibility:hidden !important;opacity: 0; }' + + ' input:not([type="submit"]):not([type="button"]):not([value=""]){ background: unset !important; }' + )); + element.appendChild(style); + element.appendChild(document.createElement('BASE')); + + var metaElement = document.createElement('META'); + metaElement.name = 'referrer'; + metaElement.content = 'no-referrer'; + element.appendChild(metaElement); + + if (typeof data === 'object' && 'childNodes' in data && data.childNodes && data.childNodes.length) { + for (var k = 0; k < data.childNodes.length; k++) { + if (k in data.childNodes && 'object' === typeof data.childNodes[k] && 'tagName' in data.childNodes[k] && data.childNodes[k].tagName && data.childNodes[k].tagName === 'BASE') { + if ('attributes' in data.childNodes[k] && data.childNodes[k].attributes && data.childNodes[k].attributes.href) { + // no need to add a BASE ourselves, we prefer to use existing base set by user + + var thisBaseUrl = data.childNodes[k].attributes.href; + + var lowerThisBaseUrl = ('' + thisBaseUrl).toLowerCase(); + if (lowerThisBaseUrl.indexOf('http') === 0 || lowerThisBaseUrl.indexOf('//') === 0) { + // absolute base URL is set, we can simply use that URL + continue; // there might be multiple base URLs so need to continue + } + + // it has to be a relative URL, trying to resolve it + if ('function' === typeof URL) { + var theUrl = new URL(thisBaseUrl, baseUrl); + if (theUrl && theUrl.href) { + baseUrl = theUrl.href; + } else if (theUrl) { + baseUrl = '' + theUrl; + } + } else { + // browser does not support URL api... won't work in IE11 or lower + if ('undefined' !== typeof console && 'undefined' !== typeof console.log){ + console.log('browser does not support URL api, cannot resolve relative base URL'); + } + } + + // make sure to use this absolute base url + data.childNodes[k].attributes.href = baseUrl; + continue; // there might be multiple base URLs so need to continue + } + } + } + } + + return element; + + } else if (tagName === 'a') { + var element = document.createElement('A'); + element.addEventListener('click', function (event) { + event.preventDefault(); + event.stopPropagation(); + return false; + }); + return element; + + } else if (['svg', 'path', 'g', 'polygon', 'polyline', 'rect', 'text', 'circle', 'line'].indexOf(tagName) !== -1) { + return document.createElementNS('http://www.w3.org/2000/svg', tagName) + } else if (tagName === 'meta') { + if (data && typeof data.attributes === 'object') { + if ('http-equiv' in data.attributes && data.attributes['http-equiv']) { + var httpEquiv = String(data.attributes['http-equiv']).trim().toLowerCase(); + + if (httpEquiv === 'content-security-policy' || httpEquiv === 'refresh') { + return document.createElement('NO_META'); + } + } + if ('name' in data.attributes && data.attributes['name']) { + var metaName = String(data.attributes['name']).trim().toLowerCase(); + if (metaName === 'csrf-token') { + return document.createElement('NO_META'); + } + if (metaName === 'referrer') { + // we want to apply our own policy + return document.createElement('NO_META'); + } + } + } + } + }, + removeAttribute: function (node, name) { + if (!name) { + return node; + } + + var nameLower = String(name).trim().toLowerCase(); + + if (nameLower === 'sandbox' || nameLower === 'referrerpolicy') { + // do not remove our policy + return node; + } + }, + setAttribute: function(node, name, value) { + if (!name) { + return node; + } + + var nameLower = String(name).trim().toLowerCase(); + + if (nameLower === 'src' && value && (String(value).indexOf('/piwik.js') >= 0 || String(value).indexOf('/matomo.js') >= 0)) { + // we do not want to set piwik.js + return node; + } + + if (nameLower === 'srcdoc') { + // we ignore srcdoc + return node; + } + + if (nameLower === 'referrerpolicy') { + // we always set our value + node.setAttribute(nameLower, 'no-referrer'); + return node; + } + + if (nameLower === 'src' && value && String(value).indexOf('/HeatmapSessionRecording/') > 0) { + // we do not want to set configs.php etc + return node; + } + + if (value + && (String(value).toLowerCase().replace(/\x09|\x0a|\x0d/g, '').indexOf('javascript') >= 0 + || String(value).toLowerCase().replace(/\x09|\x0a|\x0d/g, '').indexOf('ecmascript') >= 0 + || String(value).toLowerCase().replace(/\x09|\x0a|\x0d/g, '').indexOf('vbscript') >= 0 + || String(value).toLowerCase().replace(/\x09|\x0a|\x0d/g, '').indexOf('jscript') >= 0)) { + // we do not want to set any javascript URL, eg href and src and attribute + return node; + } + if (value && String(value).toLowerCase().indexOf('xmlhttprequest') >= 0) { + // prevent simple input of xmlhttprequest + return node; + } + if (value && /fetch\s*\(/.test(String(value).toLowerCase())) { + // prevent simple input of fetch( + return node; + } + + var blockedAttributes = ['onchange', 'onload', 'onshow', 'onhashchange', 'onstorage', 'onchecking', 'ondownloading', 'onnoupdate', 'onupdateready', 'onabort', 'oncopy','ondrop','onwheel', 'onpaste', 'oncut', 'onbeforeunload', 'onreset','onsubmit', 'onunload', 'onerror', 'onclose','onopen','onpagehide','onpageshow','onpopstate','onmessage', 'onclick', 'ondblclick', 'oncontextmenu', 'onauxclick', 'onfocus', 'onfocusin', 'onfocusout', 'onblur', 'onselect', 'onplay', 'onpause', 'onended', 'onsuspend', 'onwaiting', 'onprogress', 'ontimeout', 'onchange', 'ontimeupdate', 'onstalled', 'onseeking', 'onplaying', 'onloadeddata', 'onended', 'onemptied', 'ondurationchange', 'oncanplay', 'oncomplete', 'onaudioprocess'] + // we block any on... per regex but adding few other checks just in case the regex fails + if (/^on([a-zA-Z])+$/.test(nameLower) + || blockedAttributes.indexOf(nameLower) > -1 + || nameLower.indexOf('onmouse') === 0 + || nameLower.indexOf('onkey') === 0 + || nameLower.indexOf('onanimation') === 0 + || nameLower.indexOf('ondrag') === 0 + || nameLower.indexOf('onload') === 0 + || nameLower.indexOf('ontransition') === 0 + || nameLower.indexOf('oncomposition') === 0 + || nameLower.indexOf('ontouch') === 0) { + // do not execute any onload method or when we set form element values + return node; + } + + if (node.tagName === 'LINK') { + if (nameLower === 'crossorigin') { + // cross origin relevant for images only, not for scripts as we rename them anyway + return node + } + + if (nameLower === 'integrity') { + // hash of a file should be ignored as file fetched later might have different hash etc + return node + } + + if (nameLower === 'referrerpolicy') { + // do not overwrite our policy + return node + } + + if (requireSecureProtocol) { + if (nameLower === 'href' && value && String(value).indexOf('http:') === 0) { + value = convertUrlToSecureProtocolIfNeeded(value); + node.setAttribute(name, value); + return node; + } + } + } + + if (node.tagName === 'IMG') { + var isHeatmap = window.location.search.indexOf('idLogHsr') === -1; + //To support images rendered using lazy load, we check if allowed dataset attributes are set and no src attributes are present replace it with available data attributes + if (isHeatmap && (typeof node.attributes.src === "undefined" || node.getAttribute('src') === '') && Object.keys(node.dataset).length) { + var allowedDatasetsToReplaceImageSrc = ['src', 'original', 'lazy']; + var newSrcValue = ''; + for (var i = 0; i < allowedDatasetsToReplaceImageSrc.length; i++) { + if (typeof node.dataset[allowedDatasetsToReplaceImageSrc[i]] !== "undefined" && node.dataset[allowedDatasetsToReplaceImageSrc[i]]) { + newSrcValue = node.dataset[allowedDatasetsToReplaceImageSrc[i]]; + break; + } + } + + //srcset is also used to lazy load with responsive images + //the value of srcset is "{imagePath} screenSize1,{imagePath} screenSize2" for responsive lazy load + //Eg data-scrset="images/400.jpg 400w, images/400.webp 400w, images/600.jpg 600w" + //we pick the last size and to determine it by checking the last character has w + // if we cannot find last character as 'w' we just set the src else we replace with the last size determined + if (newSrcValue === '' && typeof node.dataset.srcset !== "undefined" && node.dataset.srcset) { + var srcSetValue = node.dataset.srcset; + var srcSetLength = srcSetValue.length; + if (srcSetValue[srcSetLength-1] === 'w') { + var splitSrcSetSizes = srcSetValue.split('w,'); + var lastSizeValue = splitSrcSetSizes[splitSrcSetSizes.length-1]; + newSrcValue = lastSizeValue.replace( / \d+w/g,'').trim(); + } else { + newSrcValue = srcSetValue; + } + } + if (newSrcValue) { + node.setAttribute('src', convertUrlToSecureProtocolIfNeeded(newSrcValue)); + } + } + + if (requireSecureProtocol) { + if (nameLower === 'src' && value && String(value).indexOf('http:') === 0) { + value = convertUrlToSecureProtocolIfNeeded(value); + node.setAttribute(name, value); + return node; + } + } + + if (nameLower === 'referrerpolicy') { + // do not overwrite our policy + return node + } + } + + if (node.tagName === 'META') { + if (self.isBlockedMetaAttributeMutation(node, name, value)) { + // the createElement delegate only sees the attributes an element is created with, + // so we also need to prevent a later mutation from turning a harmless meta element + // into a dangerous one + return node; + } + } + + if (node.tagName === 'FORM') { + if (requireSecureProtocol) { + if (nameLower === 'action' && value && String(value).indexOf('http:') === 0) { + value = convertUrlToSecureProtocolIfNeeded(value); + node.setAttribute(name, value); + return node; + } + } + } + + if (node.tagName === 'IFRAME') { + node.setAttribute('sandbox', self.getIframeSandboxValue(value && nameLower === 'src' ? value : node)); + + if (requireSecureProtocol) { + if (nameLower === 'src' && value && String(value).indexOf('http:') === 0) { + value = convertUrlToSecureProtocolIfNeeded(value); + node.setAttribute(name, value); + return node; + } + } + + if (nameLower === 'referrerpolicy') { + // do not overwrite our policy + return node + } + if (nameLower === 'sandbox') { + // do not overwrite our policy + return node + } + } + + if (node.tagName === 'BASE') { + if (requireSecureProtocol) { + if (nameLower === 'href' && value && String(value).indexOf('http:') === 0) { + value = convertUrlToSecureProtocolIfNeeded(value); + node.setAttribute(name, value); + return node; + } + } + } + } + }); + + if (event) { + this.mirror.initialize(event.rootId, event.children); + + this.addClass('html', 'piwikHsr'); + this.addClass('html', 'matomoHsr'); + } + }; + + this.addClass = function (selector, className) { + $(selector).addClass(className); + }; + + this.addWorkaroundForSharepointHeatmaps = function () { + // only needed for heatmaps... instead of having a scrollable element we show all content + var doc = document.getElementById('s4-workspace'); + if (doc && doc.tagName === 'DIV' && doc.className && String(doc.className).indexOf('ms-core-overlay') >= 0) { + doc.style += ';height: auto !important;width: auto !important'; + } + }; + + this.applyMutation = function (event) { + if (event) { + this.mirror.applyChanged(event.rem || [], event.adOrMo || [], event.att || [], event.text || []); + + // the tree mirror does not consult our delegate when it moves nodes, and re-inserting + // an iframe reloads it, so we restore the sandbox only on the moved subtree + var addedOrMoved = event.adOrMo || []; + for (var i = 0; i < addedOrMoved.length; i++) { + var movedNode = this.mirror.getNode ? this.mirror.getNode(addedOrMoved[i].id) : null; + this.restoreIframeSandboxPolicy(movedNode); + } + } + }; + this.trim = function(text) + { + if (text && String(text) === text) { + return text.replace(/^\s+|\s+$/g, ''); + } + + return text; + }; + + this.parseExcludedElementSelectors = function (excludedElements) { + if (!excludedElements) { + return []; + } + + excludedElements = String(excludedElements); + excludedElements = this.trim(excludedElements); + + if (!excludedElements) { + return []; + } + + excludedElements = excludedElements.split(','); + + if (!excludedElements || !excludedElements.length) { + return []; + } + + var selectors = []; + for (var i = 0; i < excludedElements.length; i++) { + var selector = this.trim(excludedElements[i]); + selectors.push(selector); + } + return selectors; + }; + + this.excludeElements = function (excludedElements) { + excludedElements = this.parseExcludedElementSelectors(excludedElements); + if (!excludedElements || !excludedElements.length) { + return; + } + + var self = this; + + var style = (function() { + var style = document.createElement('style'); + style.appendChild(document.createTextNode('')); + document.head.appendChild(style); + + return style; + })(); + + for (var i = 0; i < excludedElements.length; i++) { + var selector = this.decodeHTMLEntities(excludedElements[i]); // decodeHTMLEntities fixes cases like p>a[href="test.html"] or a[href="test.html"] as the quotes are escaped and results in error + if (selector && style && style.sheet) { + if('insertRule' in style.sheet) { + style.sheet.insertRule(selector + "{ visibility: hidden; }", i); + } else if('addRule' in sheet) { + style.sheet.addRule(selector, 'visibility: hidden; ', i); + } + + } + } + }; + + this.decodeHTMLEntities = function (text) { + var textArea = document.createElement('textarea'); + textArea.innerHTML = text; + return textArea.value; + }; + + this.getCoordinatesInFrame = function (selector, offsetx, offsety, offsetAccuracy, ignoreHiddenElement) { + selector = this.sanitizeSelector(selector); + var $node = $(selector); + + if (!$node.length) { + if (this.enableDebugMode) { + if ('undefined' !== typeof console && 'undefined' !== typeof console.log){ + console.log(selector, 'selector not found'); + } + } + return; + } + + var width = $node.outerWidth(); + var height = $node.outerHeight(); + + if (ignoreHiddenElement && ignoreHiddenElement === true && width === 0 || height === 0 || !$node.is(':visible')) { + // not visible + return; + } + + var width = width / offsetAccuracy; + var height = height / offsetAccuracy; + var coordinates = $node.offset(); + + var dataPoint = { + x: parseInt(coordinates.left, 10) + parseInt(offsetx * width, 10), + y: parseInt(coordinates.top, 10) + parseInt(offsety * height, 10), + } + + return dataPoint; + }; + + this.getScrollTop = function () { + return $(window).scrollTop(); + }; + + this.getScrollLeft = function () { + return $(window).scrollLeft(); + }; + + this.getIframeHeight = function () { + var documentHeight = Math.max(document.body ? document.body.offsetHeight : 0, document.body ? document.body.scrollHeight : 0, document.documentElement ? document.documentElement.offsetHeight : 0, document.documentElement ? document.documentElement.clientHeight : 0, document.documentElement ? document.documentElement.scrollHeight : 0); + return documentHeight; + }; + + this.getIframeWidth = function () { + var documentHeight = Math.max(document.body ? document.body.offsetWidth : 0, document.body ? document.body.scrollWidth : 0, document.documentElement ? document.documentElement.offsetWidth : 0, document.documentElement ? document.documentElement.clientWidth : 0, document.documentElement ? document.documentElement.scrollWidth : 0); + return documentHeight; + }; + +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/javascripts/rowaction.js b/files/plugin-HeatmapSessionRecording-5.6.0/javascripts/rowaction.js new file mode 100644 index 0000000..a9149f0 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/javascripts/rowaction.js @@ -0,0 +1,211 @@ +/*! + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret or copyright law. + * Redistribution of this information or reproduction of this material is strictly forbidden + * unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ + +/** + * This file registers the Overlay row action on the pages report. + */ + +(function () { + + var actionNameProfile = 'HsrVisitorProfile'; + var actionNamePlay = 'HsrPlayRecording'; + var actionNameDelete = 'HsrDeleteRecording'; + + function getMetadataFromRow(tr) + { + if (tr) { + return JSON.parse($(tr).attr('data-row-metadata') || '{}'); + } + } + + function DataTable_RowActions_HsrVisitorProfile(dataTable) { + this.dataTable = dataTable; + this.actionName = actionNameProfile; + } + + DataTable_RowActions_HsrVisitorProfile.prototype = new DataTable_RowAction(); + + DataTable_RowActions_HsrVisitorProfile.prototype.trigger = function (tr, e, subTableLabel) { + var metadata = getMetadataFromRow(tr); + broadcast.propagateNewPopoverParameter('visitorProfile', metadata.idvisitor); + }; + + function DataTable_RowActions_HsrPlayRecording(dataTable) { + this.dataTable = dataTable; + this.actionName = actionNamePlay; + } + + DataTable_RowActions_HsrPlayRecording.prototype = new DataTable_RowAction(); + + DataTable_RowActions_HsrPlayRecording.prototype.trigger = function (tr, e, subTableLabel) { + var metadata = getMetadataFromRow(tr); + var idsite = parseInt(this.dataTable.param.idSite, 10); + var idLogHsr = parseInt(metadata.idloghsr, 10); + var idSiteHsr = parseInt(metadata.idsitehsr, 10); + window.open('?module=HeatmapSessionRecording&action=replayRecording&idSite=' + idsite + '&idLogHsr=' + idLogHsr + '&idSiteHsr=' + idSiteHsr); + }; + + function DataTable_RowActions_HsrDeleteRecording(dataTable) { + this.dataTable = dataTable; + this.actionName = actionNameDelete; + } + + DataTable_RowActions_HsrDeleteRecording.prototype = new DataTable_RowAction(); + + DataTable_RowActions_HsrDeleteRecording.prototype.trigger = function (tr, e, subTableLabel) { + var metadata = getMetadataFromRow(tr); + + var idloghsr = metadata.idloghsr; + var idsitehsr = metadata.idsitehsr; + + var params = { + module: 'API', + method: 'HeatmapSessionRecording.deleteRecordedPageview', + idLogHsr: idloghsr, + idSiteHsr: idsitehsr, + format: 'json' + }; + + if (metadata.idvisit) { + params.method = 'HeatmapSessionRecording.deleteRecordedSession'; + params.idVisit = metadata.idvisit; + } + + var ajaxRequest = new ajaxHelper(); + ajaxRequest.withTokenInUrl(); + ajaxRequest.addParams(params, 'get'); + ajaxRequest.setCallback(function (id) { }); + ajaxRequest.send(); + + // we directly remove the node for better UX and assume the removal works + $(tr).remove(); + }; + + DataTable_RowActions_Registry.register({ + name: actionNameProfile, + + dataTableIcon: 'icon-visitor-profile', + + order: 53, + + dataTableIconTooltip: [ + _pk_translate('Live_ViewVisitorProfile'), + '' + ], + + isAvailableOnReport: function (dataTableParams, undefined) { + return dataTableParams && dataTableParams.module === 'HeatmapSessionRecording' && dataTableParams.action === 'getRecordedSessions' && piwik.visitorProfileEnabled; + }, + + isAvailableOnRow: function (dataTableParams, tr) { + return true; + }, + + createInstance: function (dataTable, param) { + if (dataTable !== null && typeof dataTable.hsrVisitorProfileInstance !== 'undefined') { + return dataTable.hsrVisitorProfileInstance; + } + + var instance = new DataTable_RowActions_HsrVisitorProfile(dataTable); + if (dataTable !== null) { + dataTable.hsrVisitorProfileInstance = instance; + } + + return instance; + } + }); + + + DataTable_RowActions_Registry.register({ + name: actionNamePlay, + + dataTableIcon: 'icon-play', + + order: 51, + + dataTableIconTooltip: [ + _pk_translate('HeatmapSessionRecording_PlayRecordedSession'), + '' + ], + + isAvailableOnReport: function (dataTableParams, undefined) { + return dataTableParams && dataTableParams.module === 'HeatmapSessionRecording' && dataTableParams.action === 'getRecordedSessions'; + }, + + isAvailableOnRow: function (dataTableParams, tr) { + return true; + }, + + createInstance: function (dataTable, param) { + if (dataTable !== null && typeof dataTable.hsrPlayRecordingInstance !== 'undefined') { + return dataTable.hsrPlayRecordingInstance; + } + + var instance = new DataTable_RowActions_HsrPlayRecording(dataTable); + if (dataTable !== null) { + dataTable.hsrPlayRecordingInstance = instance; + } + + return instance; + } + }); + + + DataTable_RowActions_Registry.register({ + name: actionNameDelete, + + dataTableIcon: 'icon-delete', + + order: 55, + + dataTableIconTooltip: [ + _pk_translate('HeatmapSessionRecording_DeleteRecordedSession'), + '' + ], + + isAvailableOnReport: function (dataTableParams, undefined) { + if (!dataTableParams || !dataTableParams.writeAccess) { + return false; + } + + return dataTableParams && dataTableParams.module === 'HeatmapSessionRecording' && dataTableParams.action === 'getRecordedSessions'; + }, + + isAvailableOnRow: function (dataTableParams, tr) { + var metadata = getMetadataFromRow(tr); + + if (metadata.idvisit) { + this.dataTableIconTooltip[0] = _pk_translate('HeatmapSessionRecording_DeleteRecordedSession'); + } else { + this.dataTableIconTooltip[0] = _pk_translate('HeatmapSessionRecording_DeleteRecordedPageview'); + } + + return true; + }, + + createInstance: function (dataTable, param) { + if (dataTable !== null && typeof dataTable.hsrDeleteRecordingInstance !== 'undefined') { + return dataTable.hsrDeleteRecordingInstance; + } + + var instance = new DataTable_RowActions_HsrDeleteRecording(dataTable); + if (dataTable !== null) { + dataTable.hsrDeleteRecordingInstance = instance; + } + + return instance; + } + }); + +})(); diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/am.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/am.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/am.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/ar.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ar.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ar.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/az.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/az.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/az.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/be.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/be.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/be.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/bg.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/bg.json new file mode 100644 index 0000000..71d6990 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/bg.json @@ -0,0 +1,7 @@ +{ + "HeatmapSessionRecording": { + "Heatmap": "ะขะพะฟะปะธะฝะฝะฐ ะบะฐั€ั‚ะฐ", + "Heatmaps": "ะขะพะฟะปะธะฝะฝะธ ะบะฐั€ั‚ะธ", + "Recordings": "ะ—ะฐะฟะธัะธ" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/bn.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/bn.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/bn.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/bs.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/bs.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/bs.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/ca.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ca.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ca.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/cs.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/cs.json new file mode 100644 index 0000000..5d9e0c0 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/cs.json @@ -0,0 +1,190 @@ +{ + "HeatmapSessionRecording": { + "ActivityClick": "Kliknutรญ", + "ActivityFormChange": "Zmฤ›na formulรกล™e", + "ActivityFormText": "Zmฤ›na textu formulรกล™e", + "ActivityFormValue": "Zmฤ›na hodnoty formulรกล™e", + "ActivityInitialDom": "Poฤรกteฤnรญ strรกnka", + "ActivityMove": "Pohyb", + "ActivityPageChange": "Zmฤ›nit na strรกnce", + "ActivityResize": "Zmฤ›na velikosti", + "ActivityScroll": "Posouovรกnรญ", + "ActivityScrollElement": "Prvek posouvรกnรญ", + "AdvancedOptions": "Pokroฤilรฉ moลพnosti", + "AutoPlayNextPageview": "Klepnutรญm na %1$s se automaticky pล™ehraje dalลกรญ zobrazenรญ strรกnky (zรกstupce %2$s)", + "AvgAboveFoldDescription": "Prลฏmฤ›rnฤ› nรกvลกtฤ›vnรญci vidรญ obsah nad tรญmto ล™รกdkem bez posouvรกnรญ", + "AvgAboveFoldTitle": "Prลฏm. nad hranou %spx", + "BreakpointGeneralHelp": "Typ zaล™รญzenรญ je automaticky detekovรกn, kdyลพ si nรกvลกtฤ›vnรญk prohlรญลพรญ vรกลก web. Nฤ›kdy vลกak nemusรญ bรฝt moลพnรฉ zjistit typ zaล™รญzenรญ. Pokud vaลกe webovรฉ strรกnky reagujรญ a vaลกe rozvrลพenรญ se v urฤitรฉm okamลพiku rozpadlo, umรญstรญme uลพivatele stolnรญch poฤรญtaฤลฏ s malรฝm rozliลกenรญm do tohoto typu zaล™รญzenรญ pro pล™esnฤ›jลกรญ heatmapy. Do tohoto typu zaล™รญzenรญ bude vloลพena jakรกkoli ลกรญล™ka menลกรญ neลพ tato hodnota. Pokud vรกลก web nereaguje, nastavte jej na nulu.", + "BreakpointGeneralHelpManage": "Uลพivatel s pล™รญstupem Super User mลฏลพe zmฤ›nit vรฝchozรญ hodnoty pro tyto body zlomu v Administration => General Settings.", + "BreakpointX": "Bod zlomu %s", + "CaptureKeystrokes": "Zachyลฅte stisknutรญ klรกves", + "CaptureKeystrokesHelp": "Pokud je povoleno, zaznamenรก se jakรฝkoli text, kterรฝ je zadรกn do textovรฝch polรญ formulรกล™e. Bฤ›hem zรกznamu textu je jakรฝkoli znak, kterรฝ uลพivatel zadรก, nahrazen hvฤ›zdiฤkou ('*'). Urฤitรก pole, kterรก majรญ bรฝt zaznamenรกna jako prostรฝ text, mลฏลพete povolit zadรกnรญm atributu 'data-matomo-unmask' do pole formulรกล™e. Pole hesel a mnoho dalลกรญch polรญ, kterรก by pล™รญpadnฤ› mohla obsahovat osobnรญ รบdaje (adresa, e-mail, informace o kreditnรญ kartฤ›, uลพivatelskรฉ jmรฉno, telefonnรญ ฤรญslo, โ€ฆ), vลกak budou automaticky maskovรกna, pokud nรกs jako takovรฉ detekuje (%1$slearn%2$s) . Upozorลˆujeme, ลพe kdyลพ tuto funkci povolรญte, mลฏลพete uklรกdat osobnรญ รบdaje, kterรฉ mohou mรญt vliv na GDPR.", + "ChangeReplaySpeed": "Zmฤ›na rychlosti pล™ehrรกvรกnรญ (zรกstupce %s)", + "ClickToSkipPauses": "Kliknutรญm na %1$s pล™eskoฤรญte pauzy (zรกstupce %2$s)", + "ColumnActionsDocumentation": "Pล™ehrajte nahranou relaci nebo natrvalo odeberte zรกznam.", + "ColumnBrowserDocumentation": "Prohlรญลพeฤ, kterรฝ nรกvลกtฤ›vnรญk pouลพรญval pล™i zรกznamu tรฉto relace.", + "ColumnDeviceDocumentation": "Zaล™รญzenรญ, kterรฉ nรกvลกtฤ›vnรญk pouลพรญval pล™i zรกznamu tรฉto relace.", + "ColumnLabelRecordedSessions": "Vstupnรญ URL โ†’ Vรฝstupnรญ URL", + "ColumnLocationDocumentation": "Lokalita nรกvลกtฤ›vnรญka, kdy byla tato relace zaznamenรกna.", + "ColumnOperatingSystem": "OS", + "ColumnOperatingSystemDocumentation": "Operaฤnรญ systรฉm, kterรฝ nรกvลกtฤ›vnรญk pouลพรญval pล™i zรกznamu tรฉto relace.", + "ColumnPageviewsDocumentation": "Poฤet zobrazenรญ strรกnek zaznamenanรฝch bฤ›hem tรฉto relace.", + "ColumnResolutionDocumentation": "Poฤet pixelลฏ viditelnรฉho vรฝล™ezu v oknฤ› prohlรญลพeฤe, kdyลพ uลพivatel otevล™el tuto strรกnku.", + "ColumnTime": "ฤŒas", + "ColumnTimeDocumentation": "ฤŒas zahรกjenรญ nahrรกvรกnรญ v ฤasovรฉm pรกsmu webovรฉ strรกnky.", + "ColumnTimeOnPageDocumentation": "Kolik ฤasu strรกvil nรกvลกtฤ›vnรญk na tรฉto strรกnce bฤ›hem zรกznamu relace", + "ColumnTimeOnSiteDocumentation": "Kolik ฤasu strรกvil nรกvลกtฤ›vnรญk celkem bฤ›hem zรกznamu relace", + "ConfigsInternetDisabled": "Nemohli jsme zkontrolovat, zda je '%s' pล™รญstupnรฉ, protoลพe je zakรกzรกno pล™ipojenรญ k internetu.", + "ConfigsPhpErrorResult": "Vรฝsledkem je, ลพe sledovรกnรญ heatmap a zรกznamลฏ relacรญ nemusรญ fungovat. Moลพnรก budete muset zmฤ›nit konfiguraci webovรฉho serveru, abyste umoลพnili pล™รญstup k tomuto souboru pล™es internet nebo intranet.", + "ConfigsPhpManualCheck": "Otevล™ete prosรญm adresu URL ruฤnฤ› v prohlรญลพeฤi a zjistฤ›te, zda odpovฤ›ฤ obsahuje 'Piwik.HeatmapSessionRecording'. Pokud tomu tak nenรญ, moลพnรก budete muset upravit konfiguraci serveru, protoลพe tento soubor musรญ bรฝt pล™รญstupnรฝ prostล™ednictvรญm prohlรญลพeฤe z Internetu nebo intranetu.", + "ConfigsPhpNotAccessible": "Zdรก se, ลพe adresa URL '%s' nenรญ pล™รญstupnรก z internetu nebo intranetu.", + "ConfigsPhpSelfSignedError": "Vyลพรกdรกnรญ '%s' zpลฏsobilo chybu SSL. Moลพnรก pouลพรญvรกte certifikรกt s vlastnรญm podpisem?", + "ConfigsPhpSuccess": "'%s' je pล™รญstupnรฝ", + "ConfigsPhpUnknown": "Nemohli jsme zkontrolovat, zda je '%s' pล™รญstupnรฝ pล™es internet nebo intranet.", + "ConfigsPhpUnknownError": "Vyลพรกdรกnรญ '%1$s' zpลฏsobilo chybu: %2$s.", + "CreateNewHeatmap": "Vytvoล™te novou heatmapu", + "CreateNewSessionRecording": "Vytvoล™te novรฝ zรกznam relacรญ", + "CreationDate": "Datum vytvoล™enรญ", + "DeleteHeatmapConfirm": "Opravdu chcete tuto heatmapu odstranit? Zprรกvy dล™รญve generovanรฉ heatmapy jiลพ nebudou k dispozici v uลพivatelskรฉm rozhranรญ pro vykazovรกnรญ.", + "DeleteHeatmapScreenshotConfirm": "Opravdu chcete odstranit tento snรญmek obrazovky? Mลฏลพe chvรญli trvat, neลพ bude snรญmek obrazovky znovu poล™รญzen.", + "DeleteRecordedPageview": "Smazat toto zaznamenanรฉ zobrazenรญ strรกnky (nenรญ vyลพadovรกno potvrzenรญ)", + "DeleteRecordedSession": "Smazat tuto zaznamenanou relaci (nenรญ vyลพadovรกno potvrzenรญ)", + "DeleteScreenshot": "Odstranit snรญmek obrazovky", + "DeleteSessionRecordingConfirm": "Opravdu chcete smazat tento zรกznam relace? Zรกznamy, kterรฉ byly dล™รญve vytvoล™eny, jiลพ nebudou v uลพivatelskรฉm rozhranรญ hlรกลกenรญ k dispozici.", + "DeleteX": "Vymazat %s", + "EditHeatmapX": "Upravit heatmapu %s", + "EditSessionRecordingX": "Upravit zรกznam relacรญ %s", + "EditX": "Upravit %s", + "EndHeatmapConfirm": "Opravdu chcete pล™estat zaznamenรกvat aktivity pro tuto heatmapu?", + "EndSessionRecordingConfirm": "Opravdu chcete zastavit nahrรกvรกnรญ novรฝch relacรญ?", + "ErrorArrayMissingKey": "Chybรญ klรญฤ pole \"%1$s\" v \"%2$s\" na pozici \"%3$s\".", + "ErrorArrayMissingValue": "Chybรญ hodnota klรญฤe pole \"%1$s\" v \"%2$s\" na pozici \"%3$s\".", + "ErrorHeatmapDoesNotExist": "Poลพadovanรก heatmapa neexistuje", + "ErrorHeatmapNameDuplicate": "Nรกzev heatmapy je jiลพ pouลพรญvรกn jinou heatmapou.", + "ErrorInnerIsNotAnArray": "Kaลพdรฉ \"%1$s\" v \"%2$s\" musรญ bรฝt pole.", + "ErrorInvalidRegExp": "Regulรกrnรญ vรฝraz \"%1$s\" nemรก platnรฝ formรกt.", + "ErrorNotAnArray": "\"%1$s\" musรญ bรฝt pole.", + "ErrorPageRuleRequired": "Musรญ bรฝt nastaveno alespoลˆ jedno pravidlo strรกnky.", + "ErrorSessionRecordingDoesNotExist": "Poลพadovanรฝ zรกznam relace neexistuje", + "ErrorXContainsWhitespace": "\"%1$s\" nesmรญ obsahovat ลพรกdnรฉ prรกzdnรฉ mรญsto.", + "ErrorXNotANumber": "\"%1$s\" musรญ bรฝt ฤรญslo.", + "ErrorXNotProvided": "Zadejte prosรญm hodnotu pro \"%1$s\".", + "ErrorXNotWhitelisted": "Hodnota pro \"%1$s\" nenรญ povolena, pouลพijte jednu z: %2$s.", + "ErrorXTooHigh": "\"%1$s\"je pล™รญliลก vysokรก, maximรกlnรญ povolenรก hodnota je %2$s.", + "ErrorXTooLong": "\"%1$s\" je pล™รญliลก dlouhรฝ, povoleno je maximรกlnฤ› %2$s znakลฏ.", + "ErrorXTooLow": "\"%1$s\"je pล™รญliลก nรญzkรก, minimรกlnรญ povolenรก hodnota je %2$s.", + "ExcludedElements": "Vylouฤenรฉ prvky", + "ExcludedElementsHelp": "Volitelnฤ› mลฏลพete definovat selektory CSS, abyste vylouฤili urฤitรฉ prvky, kterรฉ by nemฤ›ly bรฝt zobrazeny v nรกhledu heatmapy. Napล™รญklad vyskakovacรญ okno, kterรฉ se zobrazรญ pล™i otevล™enรญ cรญlovรฉ strรกnky. Mลฏลพete oddฤ›lit vรญce selektorลฏ ฤรกrkou.", + "FieldIncludedTargetsHelp": "Cรญle vรกm umoลพลˆujรญ definovat, na kterรฝch strรกnkรกch by se mฤ›ly aktivity uลพivatelลฏ zaznamenรกvat. Mลฏลพete definovat jednu nebo vรญce podmรญnek. Mลฏลพete napล™รญklad definovat zaznamenรกvรกnรญ aktivit, kdykoli se adresa URL nebo cesta rovnรก urฤitรฉ hodnotฤ› a pouze v pล™รญpadฤ›, ลพe je v adrese URL pล™รญtomen urฤitรฝ parametr adresy URL. ฤŒinnosti budou zaznamenรกny, pouze pokud jsou splnฤ›ny vลกechny podmรญnky, nikoli pokud je splnฤ›na pouze jedna z nich. Vลกechny podmรญnky budou vyhodnoceny bez ohledu na velikost pรญsmen. Pokud vyberete moลพnost โ€žrovnรก se jednoduchรฉmuโ€œ, protokol URL, parametry vyhledรกvรกnรญ a koncovรฉ lomรญtko budou ignorovรกny.", + "FieldIncludedTargetsHelpSessions": "Cรญle vรกm umoลพลˆujรญ nakonfigurovat spuลกtฤ›nรญ nahrรกvรกnรญ relace, jakmile nรกvลกtฤ›vnรญk dosรกhne urฤitรฉ strรกnky. To vรกm umoลพnรญ napล™รญklad zaznamenรกvat pouze relace, kterรฉ prochรกzejรญ procesem odhlรกลกenรญ. Mลฏลพete definovat jednu nebo vรญce podmรญnek. Mลฏลพete napล™รญklad definovat, ลพe chcete relaci zaznamenat, pouze pokud se adresa URL nebo cesta rovnรก urฤitรฉ hodnotฤ› a pouze v pล™รญpadฤ›, ลพe je v adrese URL pล™รญtomen urฤitรฝ parametr adresy URL. Relace se zaznamenajรญ pouze tehdy, jsou-li pล™i zobrazenรญ strรกnky splnฤ›ny vลกechny podmรญnky, nikoli pokud je splnฤ›na pouze jedna z nich. Vลกechny podmรญnky budou vyhodnoceny bez ohledu na velikost pรญsmen. Pokud vyberete moลพnost โ€žrovnรก se jednoduchรฉmuโ€œ, protokol URL, parametry vyhledรกvรกnรญ a koncovรฉ lomรญtko budou ignorovรกny.", + "FieldNamePlaceholder": "napล™. 'Strรกnka registrace'", + "FilesystemDirectory": "adresรกล™", + "Filter": "Filtr", + "GettingStarted": "Zaฤรญnรกme", + "Heatmap": "Heatmapa", + "HeatmapCreated": "Heatmapa byla รบspฤ›ลกnฤ› vytvoล™ena.", + "HeatmapNameHelp": "Definuje nรกzev, pod kterรฝm bude k dispozici zprรกva pro tuto heatmapu.", + "HeatmapSampleLimit": "Poฤet zobrazenรญ", + "HeatmapSampleLimitHelp": "Definuje celkovรฝ poฤet zobrazenรญ strรกnky, kterรฉ chcete celkem zaznamenat.", + "HeatmapSampleRateHelp": "Takรฉ znรกmรฝ jako 'provoz'. Pokud vyberete 100%%, budou zaznamenรกni vลกichni nรกvลกtฤ›vnรญci, kteล™รญ navลกtรญvรญ vybranou cรญlovou strรกnku. Pokud vyberete napล™รญklad 10%%, bude zaznamenรกn pouze kaลพdรฝ 10. nรกvลกtฤ›vnรญk. ฤŒรญm niลพลกรญ procento vyberete, tรญm dรฉle bude trvat dosaลพenรญ vybranรฉho limitu vzorku.", + "HeatmapUpdated": "Heatmapa byla รบspฤ›ลกnฤ› aktualizovรกna.", + "HeatmapUsageBenefits": "Heatmapy umoลพลˆujรญ zaznamenรกvat vลกechna kliknutรญ, pohyby myลกรญ a prochรกzenรญ aktivit vaลกich nรกvลกtฤ›vnรญkลฏ na urฤitรฉ strรกnce. To vรกm pomลฏลพe zjistit, kde si uลพivatelรฉ myslรญ, ลพe na nฤ›co lze kliknout, ale nenรญ to, zda existujรญ ฤรกsti strรกnky, kterรฉ jsou jen stฤ›ลพรญ prohlรญลพeny nebo s nimi interagovรกny, co nรกvลกtฤ›vnรญci hledajรญ, kolik strรกnky je viditelnรฉ, kdyลพ si uลพivatelรฉ prohlรญลพรญ vaลกi strรกnku a dalลกรญ.", + "HeatmapWidth": "ล รญล™ka heatmapy", + "HeatmapX": "Heatmapa %s", + "HeatmapXRecordedSamplesSince": "%1$s vzorkลฏ bylo nahrรกno od %2$s.", + "Heatmaps": "Heatmapy", + "Manage": "Spravovat", + "ManageHeatmapSubcategoryHelp": "Heatmaps vรกm umoลพnรญ zaznamenat vลกechna kliknutรญ, pohyby myลกรญ a posouvรกnรญ vaลกich nรกvลกtฤ›vnรญkลฏ na konkrรฉtnรญ strรกnku. Tato ฤรกst umoลพลˆuje vytvรกล™et a spravovat sledovรกnรญ Heatmap pro vรกลก web.", + "ManageHeatmaps": "Spravujte heatmapy", + "ManageSessionRecordingSubcategoryHelp": "Session recordings vรกm umoลพลˆujรญ zaznamenรกvat vลกechny aktivity skuteฤnรฉho nรกvลกtฤ›vnรญka bฤ›hem jeho relace (nรกvลกtฤ›vy), jako jsou kliknutรญ, pohyby myลกi, posouvรกnรญ, zmฤ›ny velikosti okna, zmฤ›ny strรกnky a interakce formulรกล™ลฏ. Tato ฤรกst umoลพลˆuje vytvรกล™et a spravovat zรกznamy relacรญ pro vaลกe strรกnky.", + "ManageSessionRecordings": "Spravujte zรกznamy relacรญ", + "MinSessionTime": "Min. doba relace", + "MinSessionTimeHelp": "Relace bude zaznamenรกna, pouze pokud nรกvลกtฤ›vnรญk strรกvil alespoลˆ urฤitou dobu na strรกnce.", + "NHeatmaps": "%s heatmapy", + "NSessionRecordings": "%s zรกznamy relacรญ", + "NoHeatmapSamplesRecordedYet": "Pro tuto heatmapu nebylo dosud zaznamenรกno ลพรกdnรฉ zobrazenรญ strรกnky. Pokud se do tรฉto chvรญle majรญ nahrรกvat, je moลพnรฉ, ลพe cรญle strรกnky nakonfigurovanรฉ pro tuto heatmapu neodpovรญdajรญ ลพรกdnรฉ strรกnce na vaลกem webu. Doporuฤuje se takรฉ zkontrolovat โ€žKontrola systรฉmuโ€œ v ฤรกsti โ€žAdministraceโ€œ (pouze Super Users), abyste zjistili, zda je vรกลก systรฉm nakonfigurovรกn na automatickรฉ zaznamenรกvรกnรญ relacรญ.", + "NoHeatmapScreenshotRecordedYet": "Dosud byly zaznamenรกny vzorky %1$s. Zatรญm vลกak nebyl poล™รญzen ลพรกdnรฝ screenshot. Pokud pro tuto heatmapu existuje \"%2$s\", mลฏลพe chvรญli trvat, neลพ bude snรญmek obrazovky dostupnรฝ, protoลพe uลพivatel musรญ nejprve otevล™รญt tuto adresu URL obrazovky. V zรกvislosti na vzorkovacรญ frekvenci to mลฏลพe chvรญli trvat.", + "NoHeatmapsConfiguredInfo": "Momentรกlnฤ› neexistujรญ ลพรกdnรฉ aktivnรญ heatmapy. Chcete-li zobrazit heatmapy, poลพรกdejte uลพivatele s alespoลˆ pล™รญstupem sprรกvce o vytvoล™enรญ novรฉ heatmapy.", + "NoHeatmapsFound": "Heatmapy nenalezeny", + "NoSessionRecordedYet": "Zatรญm nebyla zaznamenรกna ลพรกdnรก relace. Pokud se nynรญ majรญ zaznamenat relace, moลพnรก nakonfigurovanรก vstupnรญ strรกnka neodpovรญdรก ลพรกdnรฉ strรกnce na vaลกem webu. Doporuฤuje se takรฉ zkontrolovat โ€žKontrola systรฉmuโ€œ v ฤรกsti โ€žAdministraceโ€œ (pouze Super Users), abyste zjistili, zda je vรกลก systรฉm nakonfigurovรกn na automatickรฉ zaznamenรกvรกnรญ relacรญ.", + "NoSessionRecordingsConfiguredInfo": "Momentรกlnฤ› neexistujรญ ลพรกdnรฉ aktivnรญ zรกznamy relacรญ. Chcete-li zaznamenat novรฉ relace, poลพรกdejte uลพivatele s alespoลˆ pล™รญstupem sprรกvce o vytvoล™enรญ novรฉ nahrรกvky.", + "NoSessionRecordingsFound": "Zรกznamy relacรญ nenalezeny", + "NotSupportedBrowser": "Tento prohlรญลพeฤ nenรญ podporovรกn, pouลพijte novฤ›jลกรญ verzi nebo zkuste jinรฝ prohlรญลพeฤ.", + "OnePageview": "1 zobrazenรญ strรกnky", + "PageRule": "Pravidlo strรกnky", + "PageviewXofY": "Strรกnka %1$s z %2$s", + "PageviewsInVisit": "Zaznamenanรฉ zobrazenรญ strรกnek v tรฉto relaci", + "PersonalInformationNote": "Upozorลˆujeme, ลพe %1$s mลฏลพe zaznamenรกvat osobnรญ nebo citlivรฉ informace. Pokud si pล™ejete skrรฝt urฤitรฝ obsah na svรฉm webu nebo v aplikaci, mลฏลพete tento obsah oznaฤit pล™idรกnรญm atributu %2$sdata-matomo-mask%3$s k HTML znaฤce. %4$sDalลกรญ informace%5$s", + "PlayRecordedSession": "Pล™ehrajte tuto zaznamenanou relaci", + "PlayerDurationXofY": "%1$s z %2$s", + "PlayerForwardFast": "Pล™eskoฤit %1$s sekund (zkratka %2$s)", + "PlayerPageViewNext": "Pล™ehrรกt dalลกรญ zobrazenรญ tohoto nรกvลกtฤ›vnรญka (%1$s) (zkratka %2$s)", + "PlayerPageViewPrevious": "Pล™ehrรกt pล™edchozรญ zobrazenรญ tohoto nรกvลกtฤ›vnรญka %1$s (zkratka %2$s)", + "PlayerPause": "Pauza (zkratka %s nebo mezera)", + "PlayerPlay": "Pล™ehrรกt (zkratka %s nebo mezera)", + "PlayerReplay": "Pล™ehrรกt (zkratka %s nebo mezera)", + "PlayerRewindFast": "Pล™evinout %1$s sekund (zkratka %2$s)", + "RecordedHeatmapDocStatusActive": "Tato heatmapa je aktivnรญ. Aลพ %1$d zobrazenรญ strรกnek bude zaznamenรกno se vzorkovacรญ frekvencรญ %2$s.", + "RecordedHeatmapDocStatusEnded": "Tato heatmapa skonฤila. Nebudou zaznamenรกny ลพรกdnรฉ novรฉ aktivity.", + "RecordedSessions": "Zรกznamy relacรญ", + "RecordedSessionsDocStatusActive": "Toto nahrรกvรกnรญ relace je aktivnรญ. Bude zaznamenรกno aลพ %1$d relacรญ se vzorkovacรญ frekvencรญ %2$s.", + "RecordedSessionsDocStatusEnded": "Toto nahrรกvรกnรญ relacรญ skonฤilo a nebudou zaznamenรกny ลพรกdnรฉ novรฉ relace.", + "Recordings": "Zรกznamy", + "ReplayRecordedSession": "Pล™ehrรกt zรกznam relace", + "ReplayX": "Pล™ehrรกt %s", + "ReportRecordedSessionsDocumentation": "Seznam vลกech zaznamenanรฝch relacรญ. Mลฏลพete pล™ehrรกt jakoukoli zaznamenanou relaci.", + "RequiresActivity": "Vyลพaduje aktivitu", + "RequiresActivityHelp": "Pokud je povoleno, budou zaznamenรกny pouze relace, kterรฉ majรญ v jednom zobrazenรญ strรกnky svitek a aktivitu kliknutรญ. Tรญm se zabrรกnรญ zรกznamu relacรญ s malou aktivitou.", + "Rule": "Pravidlo", + "SampleLimit": "Limit vzorku", + "SampleRate": "Vzorkovacรญ frekvence", + "ScreenshotUrl": "Adresa URL snรญmku obrazovky", + "ScreenshotUrlHelp": "Ve vรฝchozรญm nastavenรญ je snรญmek obrazovky poล™รญzen, kdyลพ prvnรญ nรกvลกtฤ›vnรญk zobrazรญ cรญlovou strรกnku. Pokud se vaลกรญ cรญlovรฉ strรกnce shodujรญ rลฏznรฉ adresy URL strรกnek, mลฏลพete urฤit konkrรฉtnรญ adresu URL, kterรก by se mฤ›la pouลพรญt k zachycenรญ snรญmku obrazovky. Vizualizace heatmapy bude k dispozici, pouze pokud alespoลˆ jeden nรกvลกtฤ›vnรญk navลกtรญvil tuto adresu URL, jejรญลพ aktivity jsou zaznamenรกny. Pokud je definovรกna, musรญ se adresa URL pล™esnฤ› shodovat. Chcete-li protokol ignorovat, spusลฅte adresu URL dvฤ›ma dvojitรฝmi lomรญtky (//example.com). Upozorลˆujeme, ลพe tuto adresu URL nelze zmฤ›nit, jakmile bude poล™รญzen snรญmek obrazovky.", + "SessionNameHelp": "Definuje nรกzev, pod kterรฝm budou zรกznamy relace k dispozici.", + "SessionRecording": "Zรกznam relace", + "SessionRecordingCreated": "Zรกznam relace byl รบspฤ›ลกnฤ› vytvoล™en.", + "SessionRecordingUpdated": "Zรกznam relace byl รบspฤ›ลกnฤ› aktualizovรกn.", + "SessionRecordingX": "Zรกznam relace %s", + "SessionRecordings": "Zรกznamy relacรญ", + "SessionRecordingsUsageBenefits": "Zรกznamy relacรญ umoลพลˆujรญ zaznamenรกvat vลกechny aktivity skuteฤnรฉho nรกvลกtฤ›vnรญka bฤ›hem jejich relace (nรกvลกtฤ›vy), jako jsou kliknutรญ, pohyby myลกi, svitky, zmฤ›ny velikosti okna, zmฤ›ny strรกnky a interakce formulรกล™ลฏ. Potรฉ mลฏลพete tyto interakce pล™ehrรกt, abyste pล™esnฤ› vidฤ›li, jak nรกvลกtฤ›vnรญk interagoval s vaลกรญm webem. Tรญmto zpลฏsobem pochopรญte jejich oฤekรกvรกnรญ, problรฉmy, kterรฉ mohou mรญt, zpลฏsoby pouลพรญvรกnรญ a dalลกรญ.", + "SessionSampleLimit": "Poฤet relacรญ", + "SessionSampleLimitHelp": "Definuje celkovรฝ poฤet relacรญ, kterรฉ chcete zaznamenat.", + "SessionSampleRateHelp": "Takรฉ znรกmรฝ jako 'provoz'. Pokud vyberete 100%%, budou vลกechny relace zaznamenรกny, jakmile dosรกhnou cรญlovรฉ strรกnky. Pokud vyberete napล™รญklad 10%%, zaznamenรก se pouze kaลพdรก 10. relace. ฤŒรญm niลพลกรญ procento vyberete, tรญm dรฉle bude trvat dosaลพenรญ vybranรฉho limitu vzorku.", + "StatusActive": "Aktivnรญ", + "StatusEnded": "Ukonฤeno", + "StopX": "Pล™estaลˆte zaznamenรกvat novรฉ aktivity %s.", + "TargetAttributePath": "Cesta", + "TargetAttributeUrl": "URL", + "TargetAttributeUrlParameter": "Parametr adresy URL", + "TargetAttributeUrlParameterExample": "nazevParametru", + "TargetPage": "Cรญlovรก strรกnka", + "TargetPageTestErrorInvalidUrl": "Zadejte adresu URL vฤetnฤ› protokolu.", + "TargetPageTestLabel": "Zadejte รบplnou adresu URL vฤetnฤ› protokolu a zkontrolujte, zda budou na tรฉto adrese URL zaznamenรกny aktivity:", + "TargetPageTestTitle": "URL validรกtor", + "TargetPageTestUrlMatches": "Na tรฉto adrese URL budou zaznamenรกny aktivity", + "TargetPageTestUrlNotMatches": "Na tรฉto adrese URL nebudou aktivity zaznamenรกny", + "TargetPages": "Vstupnรญ strรกnka", + "TargetTypeContains": "obsahuje", + "TargetTypeEqualsExactly": "rovnรก se pล™esnฤ›", + "TargetTypeEqualsExactlyInfo": "Hodnota se musรญ pล™esnฤ› shodovat, vฤetnฤ› protokolu URL, vyhledรกvacรญho dotazu a hashe.", + "TargetTypeEqualsSimple": "rovnรก se jednoduchรฉ", + "TargetTypeEqualsSimpleInfo": "URL bude odpovรญdat kaลพdรฉmu protokolu (napล™. http a https) s nebo bez subdomรฉny \"www.\". Jakรกkoli koncovรก lomka v cestฤ›, stejnฤ› jako vyhledรกvacรญ dotaz a hashovanรก ฤรกst adresy URL, budou pล™i pล™iล™azovรกnรญ adresy URL ignorovรกny.", + "TargetTypeExists": "existuje", + "TargetTypeIsAny": "je jakรฝkoliv", + "TargetTypeIsNot": "ne %s", + "TargetTypeRegExp": "odpovรญdรก regulรกrnรญmu vรฝrazu", + "TargetTypeRegExpInfo": "Jakรฝkoli regulรกrnรญ vรฝraz, napล™รญklad \"^(.*)test(.*)$\".", + "TargetTypeStartsWith": "zaฤรญnรก s", + "TimeOnSite": "ฤŒas na strรกnce", + "TrackingDisabledDefaultSettingDescription": "Tato funkce mลฏลพe bรฝt uลพiteฤnรก, pokud mรก vaลกe Matomo vรญce webลฏ a chcete tuto funkci pouลพรญvat pouze na nฤ›kolika konkrรฉtnรญch webech. Kdyลพ ve vรฝchozรญm nastavenรญ deaktivujete sledovรกnรญ, funkce Heatmap a Session Recording se nespustรญ na ลพรกdnรฉm webu, pokud ji vรฝslovnฤ› nepovolรญte jako souฤรกst svรฉho mฤ›ล™icรญho kรณdu, napล™รญklad '_paq.push ([' HeatmapSessionRecording :: enable ']);' . Tรญm se vyhnete zbyteฤnรฝm sรญลฅovรฝm poลพadavkลฏm na soubor 'configs.php', abyste zjistili, zda jsou pro aktuรกlnรญ web nakonfigurovรกny heatmapy nebo session recording. Mลฏลพe to bรฝt takรฉ uลพiteฤnรฉ z dลฏvodลฏ ochrany osobnรญch รบdajลฏ, pokud se chcete ujistit, ลพe tato funkce bude pouลพita pouze na nฤ›kterรฝch webech.", + "TrackingDisabledDefaultSettingTitle": "Deaktivovat sledovรกnรญ ve vรฝchozรญm nastavenรญ", + "UpdatingData": "Aktualizuji dataโ€ฆ", + "UrlParameterValueToMatchPlaceholder": "Hodnota odpovรญdajรญcรญ nรกzvu parametru URL", + "UrlXDoesNotLookLikeUrl": "%s nevypadรก jako URL. Ujistฤ›te se, ลพe obsahuje protokol jako http: // nebo ลพe zaฤรญnรก na //", + "ViewReport": "Zobrazit report", + "ViewportResolution": "Rozliลกenรญ viditelnรฉho zobrazenรญ (ลกรญล™ka x vรฝลกka)", + "XSamples": "%s vzorkลฏ", + "disable": "zakรกzat", + "enable": "povolit" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/cy.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/cy.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/cy.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/da.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/da.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/da.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/de.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/de.json new file mode 100644 index 0000000..977699e --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/de.json @@ -0,0 +1,80 @@ +{ + "HeatmapSessionRecording": { + "ActivityClick": "Klick", + "ActivityFormChange": "Form-ร„nderung", + "ActivityMove": "Bewegung", + "AdvancedOptions": "Erweiterte Optionen", + "CaptureKeystrokes": "Tastenanschlรคge aufzeichnen", + "ColumnTime": "Zeit", + "CreateNewHeatmap": "Neue Heatmap erstellen", + "CreateNewSessionRecording": "Neues Session Recording erstellen", + "CreationDate": "Erstellungsdatum", + "DeleteX": "Lรถsche %s", + "EditHeatmapX": "Bearbeite Heatmap %s", + "EditSessionRecordingX": "Bearbeite Session Recording %s", + "EditX": "Bearbeite %s", + "ErrorArrayMissingKey": "Fehlender array Schlรผssel \"%1$s\" in \"%2$s\" an der Position \"%3$s\".", + "ErrorArrayMissingValue": "Fehlender Wert fรผr den Array-Schlรผssel \"%1$s\" in \"%2$s\" bei Position \"%3$s\".", + "ErrorInnerIsNotAnArray": "Jedes \"%1$s\" innerhalb von \"%2$s\" muss ein array sein.", + "ErrorInvalidRegExp": "Der regulรคre Ausdruck \"%1$s\" hat kein gรผltiges Format.", + "ErrorNotAnArray": "\"%1$s\" muss ein array sein.", + "ErrorXContainsWhitespace": "Der \"%1$s\" darf keine Leerzeichen enthalten.", + "ErrorXNotANumber": "\"%1$s\" muss eine Nummer sein.", + "ErrorXNotProvided": "Bitte geben Sie einen Wert fรผr \"%1$s\" an.", + "ErrorXNotWhitelisted": "Der Wert fรผr \"%1$s\" ist nicht erlaubt, verwenden Sie einen von: %2$s.", + "ErrorXTooHigh": "\"%1$s\" ist zu niedrig, der Wert darf maximal %2$s sein.", + "ErrorXTooLong": "\"%1$s\" ist zu lang, maximal %2$s Zeichen sind erlaubt.", + "ErrorXTooLow": "\"%1$s\" ist zu lang, der Wert muss mindestens %2$s sein.", + "FilesystemDirectory": "Verzeichnis", + "Filter": "Filter", + "GettingStarted": "Erste Schritte", + "Heatmap": "Heatmap", + "HeatmapCreated": "Die Heatmap wurde erfolgreich erstellt.", + "HeatmapSampleLimit": "Anzahl der Seitenansichten", + "HeatmapUpdated": "Die Heatmap wurde erfolgreich aktualisiert.", + "HeatmapWidth": "Heatmap breite", + "Manage": "Verwalten", + "ManageHeatmaps": "Heatmap Verwaltung", + "ManageSessionRecordings": "Session Recording Verwaltung", + "NoHeatmapsFound": "Keine Heatmaps gefunden", + "NoSessionRecordingsFound": "Keine Session Recordings gefunden", + "OnePageview": "1 Seitenansicht", + "PageRule": "Seiten-Regel", + "PlayerDurationXofY": "%1$s von %2$s", + "RequiresActivity": "Aktivitรคt benรถtigt", + "Rule": "Regel", + "SampleLimit": "Limit", + "SampleRate": "Aufzeichnungsrate", + "SessionRecording": "Sitzungsaufzeichnung", + "SessionRecordingCreated": "Das Session Recording wurde erfolgreich erstellt.", + "SessionRecordingUpdated": "Das Session Recording wurde erfolgreich aktualisiert.", + "SessionSampleLimit": "Anzahl der Sessions", + "StatusActive": "Aktiv", + "StatusEnded": "Beendet", + "TargetAttributePath": "Pfad", + "TargetAttributeUrl": "URL", + "TargetAttributeUrlParameter": "URL Parameter", + "TargetAttributeUrlParameterExample": "nameEinesUrlParameters", + "TargetPage": "Ziel-Seite", + "TargetPageTestErrorInvalidUrl": "Geben Sie eine URL inklusive Schema an.", + "TargetPageTestTitle": "URL Prรผfer", + "TargetPages": "Einstiegs-Seite", + "TargetTypeContains": "enthรคlt", + "TargetTypeEqualsExactly": "entspricht genau", + "TargetTypeEqualsExactlyInfo": "Der Wert muss genau รผbereinstimmen, inklusive des URL-Schemas, der URL-Parameter und des URL-Hashes.", + "TargetTypeEqualsSimple": "entspricht einfach", + "TargetTypeEqualsSimpleInfo": "Das URL-Schema (z.B. http and https) und die Subdomain \"www.\" muss nicht รผbereinstimmen und wird ignoriert. Ein abschlieรŸender Schrรคgstrich im Pfad wie auch URL-Parameter und URL-Hashes werden ebenso ignoriert, wenn die URL verglichen wird.", + "TargetTypeExists": "existiert", + "TargetTypeIsAny": "ist beliebig", + "TargetTypeIsNot": "nicht %s", + "TargetTypeRegExp": "entspricht dem Regulรคren Ausdruck", + "TargetTypeRegExpInfo": "Beliebiger Regulรคrer Ausdruck, zum Beispiel \"^(.*)test(.*)$\".", + "TargetTypeStartsWith": "startet mit", + "TimeOnSite": "Zeit auf der Webseite", + "UpdatingData": "Aktualisiere Datenโ€ฆ", + "UrlParameterValueToMatchPlaceholder": "Wert fรผr den URL-Parameter", + "ViewReport": "Gehe zum Report", + "disable": "deaktivieren", + "enable": "aktivieren" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/dv.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/dv.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/dv.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/el.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/el.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/el.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/en.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/en.json new file mode 100644 index 0000000..e3a20a0 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/en.json @@ -0,0 +1,358 @@ +{ + "HeatmapSessionRecording": { + "Recordings": "Recordings", + "Heatmaps": "Heatmaps", + "Heatmap": "Heatmap", + "HeatmapX": "Heatmap %s", + "NHeatmaps": "%s heatmaps", + "NSessionRecordings": "%s session recordings", + "NoHeatmapsFound": "No heatmaps found", + "NoSessionRecordingsFound": "No session recordings found", + "HeatmapUsageBenefits": "Heatmaps let you record all clicks, mouse moves, and scroll activities of your visitors on a certain page. This helps you to find out where users think something is clickable but is not, whether there are parts of the page that are being barely viewed or interacted with, what your visitors are looking for, how much of the page is visible when users view your page, and more.", + "HeatmapXRecordedSamplesSince": "%1$s samples have been recorded since %2$s.", + "HeatmapTroubleshoot": "Having issues? %1$sLearn more%2$s.", + "SessionRecordingsUsageBenefits": "Session recordings let you record all activities of a real visitor during their session (visit) such as clicks, mouse movements, scrolls, window resizes, page changes, and form interactions. You can then replay these interactions to see exactly how a visitor interacted with your website. This way you understand their expectations, problems they may have, usage patterns, and more.", + "SessionRecordings": "Session Recordings", + "SessionRecording": "Session Recording", + "AutoPlayNextPageview": "Click to %1$s autoplay next page view (shortcut %2$s)", + "ClickToSkipPauses": "Click to %1$s skip pauses (shortcut %2$s)", + "ChangeReplaySpeed": "Change replay speed (shortcut %s)", + "PageviewXofY": "Pageview %1$s of %2$s", + "enable": "enable", + "disable": "disable", + "ReplayX": "Replay %s", + "DeleteRetakeAutomatically": "Delete & retake automatically", + "DeleteRetakeManually": "Delete & retake manually", + "DeleteRetakeSnapshot": "Delete and retake snapshot", + "DeleteRetakeSnapshotDescription": "This will delete the current snapshot for this heatmap. You can choose the method for retaking a new snapshot. Manual snapshots are recommended in case your page loads elements dynamically.", + "DeleteRetakeSnapshotTitle": "Delete and retake snapshot?", + "DeleteSnapshotConfirm": "Delete snapshot", + "DeleteSnapshotDescription": "This will delete the current snapshot for this heatmap.", + "DeleteSnapshotTitle": "Delete snapshot?", + "EditHeatmap": "Edit heatmap", + "EmptyStateNoInteractionsSubtitle": "Matomo is ready to record visits for this page. Once we capture interactions, your heatmap will appear.", + "EmptyStateNoInteractionsTitle": "No interactions recorded yet", + "EmptyStateSnapshotDeletedAutoSubtitle": "A new snapshot will be taken when a visitor views the target page.", + "EmptyStateSnapshotDeletedEndedSubtitle": "This heatmap has finished recording and the snapshot has been deleted. It is no longer possible to add a snapshot to this heatmap.", + "EmptyStateSnapshotDeletedManualSubtitle": "To create a new snapshot, open the tracked page and wait until it has fully loaded. Then execute the following JavaScript code in your browser:", + "EmptyStateSnapshotDeletedPausedSubtitle": "The snapshot has been deleted. This heatmap is paused; a new snapshot will be taken once you resume it.", + "EmptyStateSnapshotDeletedTitle": "Snapshot deleted", + "HeatmapSettings": "Heatmap Settings", + "LoadingHeatmap": "Loading heatmapโ€ฆ", + "ReadTheGuide": "Read the guide", + "CreationDate": "Creation Date", + "SessionRecordingX": "Session Recording %s", + "ReplayRecordedSession": "Replay recorded session", + "RecordedSessions": "Recorded Sessions", + "RecordedSessionsDocStatusActive": "This session recording is active. Up to %1$d sessions will be recorded with a sample rate of %2$s.", + "RecordedSessionsDocStatusEnded": "This session recording has ended and no new sessions will be recorded.", + "RecordedSessionsDocStatusOnHold": "This session recording has not started recording yet, so there is no data to show.", + "RecordedSessionsDocStatusOnHoldWithDate": "This session recording has not started recording yet, so there is no data to show. It is scheduled to start capturing activities on %1$s.", + "RecordedHeatmapDocStatusActive": "This heatmap is active. Up to %1$d page views will be recorded with a sample rate of %2$s.", + "RecordedHeatmapDocStatusEnded": "This heatmap has ended. No new activity will be recorded.", + "RecordedHeatmapDocStatusOnHold": "This heatmap has not started recording yet, so there is no data to show.", + "RecordedHeatmapDocStatusOnHoldWithDate": "This heatmap has not started recording yet, so there is no data to show. It is scheduled to start capturing activities on %1$s.", + "TrackingDisabledDefaultSettingTitle": "Disable tracking by default", + "TrackingDisabledDefaultSettingDescription": "This feature can be useful if your Matomo has multiple sites and you want to use the feature only in a few specific sites. When disabling tracking by default, the Heatmap and Session Recording feature won't execute on any site unless you specifically enable it as part of your tracking code for example by calling '_paq.push(['HeatmapSessionRecording::enable']);'. This avoids unnecessary network requests to the 'configs.php' file to determine if a heatmap or session recording is configured for the current site. It can also be useful for privacy reasons if you want to make sure the feature will be only used on some sites.", + "NotifyFinishedSetting": "Notify me when a heatmap or session recording has finished collecting data.", + "NotifyFinishedSettingHelp": "When enabled, you will receive an email when your heatmaps and session recordings are complete and available to review.", + "EmailHeatmapFinishedSubject": "Your Heatmap has finished collecting data", + "EmailSessionRecordingFinishedSubject": "Your Session Recording has finished collecting data", + "EmailHeatmapFinishedBody": "Your heatmap %1$s has finished collecting data. You can review the results in %2$s.", + "EmailSessionRecordingFinishedBody": "Your session recording %1$s has finished collecting data. You can review the results in %2$s.", + "EmailHeatmapFinishedBodyV2": "Your heatmap %1$s has finished collecting data. %2$s", + "EmailSessionRecordingFinishedBodyV2": "Your session recording %1$s has finished collecting data. %2$s", + "EmailViewResultsLink": "View the results in Matomo", + "EmailUnsubscribeText": "To unsubscribe from heatmap and session recording email notifications, please follow this link: %1$s", + "EmailFinishedGreeting": "Hi there,", + "EmailFinishedRegards": "Regards,", + "EmailFinishedTeam": "The Matomo Team", + "Unsubscribe": "Unsubscribe", + "UnsubscribeTitle": "Unsubscribe from heatmap and session recording emails", + "UnsubscribeConfirmation": "Are you sure you want to unsubscribe from heatmap and session recording email notifications?", + "UnsubscribeConfirmationDetail": "You will no longer receive emails when heatmaps or session recordings finish collecting data.", + "UnsubscribeSuccess": "You have been successfully unsubscribed from heatmap and session recording email notifications.", + "UnsubscribeNoTokenProvided": "No token was provided in the URL.", + "UnsubscribeInvalid": "This unsubscribe link is invalid or has expired.", + "StatusActive": "Active", + "StatusEnded": "Ended", + "StatusPaused": "Paused", + "StatusOnHold": "On-hold", + "StatusOnHoldHelp": "This heatmap will start tracking on %1$s.", + "StatusOnHoldHelpSessionRecording": "This session recording will start tracking on %1$s.", + "ExcludedElements": "Excluded Elements", + "ExcludedElementsHelp": "You can optionally define CSS selectors to exclude certain elements that should not be visible in the heatmap preview. For example a popup that is shown when the target page is opened. You can separate multiple selectors with a comma.", + "Rule": "Rule", + "Manage": "Manage", + "ViewReport": "View report", + "ErrorXNotANumber": "\"%1$s\" has to be a number.", + "SampleLimit": "Sample Limit", + "TimeOnSite": "Time on website", + "HeatmapSampleLimit": "Number of page views", + "SessionSampleLimit": "Number of sessions", + "HeatmapSampleLimitHelp": "Defines the amount of page views you want to record in total.", + "SessionSampleLimitHelp": "Defines the amount of sessions you want to record in total.", + "PageviewsInVisit": "Recorded pageviews in this session", + "PlayRecordedSession": "Play this recorded session", + "DeleteRecordedSession": "Delete this recorded session (no confirmation asked)", + "DeleteRecordedPageview": "Delete this recorded page view (no confirmation asked)", + "ViewportResolution": "Viewport Resolution (width x height)", + "OnePageview": "1 pageview", + "TargetPage": "Target Page", + "TargetPages": "Entry Pages", + "ActivityClick": "Click", + "ActivityMove": "Move", + "ActivityScroll": "Scroll", + "ActivityScrollElement": "Scroll Element", + "ActivityResize": "Resize", + "ActivityFormChange": "Form Change", + "ActivityFormText": "Form Text Change", + "ActivityFormValue": "Form Value Change", + "ActivityInitialDom": "Initial Page", + "ActivityPageChange": "Change Within Page", + "PlayerRewindFast": "Rewind %1$s seconds (shortcut %2$s)", + "PlayerForwardFast": "Skip %1$s seconds (shortcut %2$s)", + "PlayerPageViewPrevious": "Play previous pageview of this visitor %1$s (shortcut %2$s)", + "PlayerPageViewNext": "Play next pageview of this visitor (%1$s) (shortcut %2$s)", + "PlayerPlay": "Play (shortcut %s or space)", + "PlayerPause": "Pause (shortcut %s or space)", + "PlayerReplay": "Replay (shortcut %s or space)", + "PlayerDurationXofY": "%1$s of %2$s", + "AdvancedOptions": "Advanced options", + "ShowAdvancedOptions": "Show advanced options", + "HideAdvancedOptions": "Hide advanced options", + "AvgFold": "Avg. fold %spx", + "XSamples": "%s samples", + "AvgAboveFoldDescription": "On average visitors see the content above this line without scrolling", + "NoSessionRecordedYet": "No session has been recorded yet. If there are supposed to be recorded sessions by now, maybe the configured entry page does not match any page on your website. It is also recommended to check the \"System Check\" under \"Administration\" (only Super Users) to see if your system is configured to automatically recorded sessions.", + "NoHeatmapSamplesRecordedYet": "No page view has been recorded yet for this heatmap. If there are supposed to be recordings by now, maybe the page targets configured for this heatmap do not match any page on your website. It is also recommended to check the \"System Check\" under \"Administration\" (only Super Users) to see if your system is configured to automatically track Heatmaps.", + "NoSessionRecordedYetWithoutSystemConfiguration": "No session has been recorded yet. If there are supposed to be recorded sessions by now, maybe the configured entry page does not match any page on your website.", + "NoHeatmapSamplesRecordedYetWithoutSystemConfiguration": "No page view has been recorded yet for this heatmap. If there are supposed to be recordings by now, maybe the page targets configured for this heatmap do not match any page on your website.", + "NoHeatmapScreenshotRecordedYet": "There have been %1$s samples recorded so far. However, no screenshot has been taken yet. If there is a \"%2$s\" for this heatmap, it may take a while for the screenshot to become available as a user first needs to open this screenshot URL. Depending on the sample rate this may take a while.", + "ColumnPageviewsDocumentation": "The number of page views that were recorded during this session.", + "ColumnBrowserDocumentation": "The browser the visitor was using when this session was recorded.", + "ColumnDeviceDocumentation": "The device the visitor was using when this session was recorded.", + "ColumnLocationDocumentation": "The location of the visitor when this session was recorded.", + "ColumnOperatingSystem": "OS", + "ColumnTime": "Time", + "ColumnLabelRecordedSessions": "Entry URL โ†’ Exit URL", + "ColumnOperatingSystemDocumentation": "The operating system the visitor was using when this session was recorded.", + "ColumnActionsDocumentation": "Play the recorded session or remove the recording permanently.", + "ColumnTimeDocumentation": "The time the recording started in the timezone of the website.", + "ColumnTimeOnSiteDocumentation": "How much time the visitor spent in total while the session was recorded", + "ColumnTimeOnPageDocumentation": "How much time the visitor spent on this page while the session was recorded", + "ColumnResolutionDocumentation": "The number of pixels of the visible viewport in the browser window when the user opened this page.", + "UrlXDoesNotLookLikeUrl": "The %s does not look like a URL. Make sure it contains a protocol like http:\/\/ or that it starts with \/\/", + "ReportRecordedSessionsDocumentation": "A list of all sessions that have been recorded. You can replay any recorded session.", + "NoHeatmapsConfiguredInfo": "There are currently no active heatmaps. To view heatmaps, please ask a user with at least admin access to create a new heatmap.", + "NoSessionRecordingsConfiguredInfo": "There are currently no active session recordings. To record new sessions, please ask a user with at least admin access to create a new recording.", + "NotSupportedBrowser": "This browser is not supported, please use a later version or try a different browser.", + "HeatmapWidth": "Heatmap width", + "Width": "Width", + "CustomWidth": "Custom width", + "LegendLow": "Low", + "LegendHigh": "High", + "WaitingForFirstRecording": "Waiting for first recording", + "TopClickedElements": "Top clicked elements", + "NoClickedElements": "No clicks recorded yet.", + "ScrollReach": "Scroll reach", + "NoScrollData": "No scroll data yet.", + "ScrollReachTop": "Top", + "ScrollReachBottom": "Bottom", + "TopClickedElementLabel": "'%1$s' %2$s", + "ElementTypeArticle": "article", + "ElementTypeButton": "button", + "ElementTypeField": "field", + "ElementTypeFooter": "footer", + "ElementTypeForm": "form", + "ElementTypeHeader": "header", + "ElementTypeHeading": "heading", + "ElementTypeImage": "image", + "ElementTypeLink": "link", + "ElementTypeList": "list", + "ElementTypeMainContent": "main content", + "ElementTypeNavigation": "navigation", + "ElementTypeSection": "section", + "ElementTypeSidebar": "sidebar", + "Action": "Action", + "ExportImage": "Export image", + "ExportImageError": "The heatmap image could not be exported. Some content on the recorded page could not be captured.", + "ExportImageInProgress": "Generating imageโ€ฆ", + "DeviceType": "Device Type", + "BreakpointX": "Breakpoint %s", + "BreakpointGeneralHelp": "The device type is automatically detected when a visitor views your website. However, sometimes it might not be possible to detect the device type. If your website is responsive and your layout breaks at a certain point, we will put desktop users with a small resolution into this device type for more accurate heatmaps. Any width lower than this value will be put into this device type. Set it to zero if your website is not responsive.", + "BreakpointGeneralHelpManage": "A user with Super User access can change the default values for these breakpoints in Administration => General Settings.", + "BreakpointMobileManageHelp": "If the device type cannot be automatically detected, any visitor with a lower width than this value will be put into the mobile device type.", + "BreakpointTabletManageHelp": "If the device type cannot be automatically detected, any visitor with a lower width than this value and higher than the mobile breakpoint will be put into the tablet device type.", + "CaptureKeystrokes": "Capture keystrokes", + "CaptureKeystrokesHelp": "If enabled, any text that is entered into text form fields are recorded. While the text is recorded, any character a user enters is replaced with a star ('*'). You may whitelist certain fields to be recorded in plain text by specifying a 'data-matomo-unmask' attribute on a form field. However, password fields and many other fields which could potentially include personal information (address, email, credit card information, username, phone number, โ€ฆ) will be always automatically masked if detected by us as such (%1$slearn more%2$s). Please note that when you enable this feature, you may record personal data which may affect GDPR.", + "PersonalInformationNote": "Please note a %1$s may record personal or sensitive information. If you wish to hide certain content on your website or app, you may tag this content by adding a %2$sdata-matomo-mask%3$s attribute to the HTML markup. %4$sLearn more%5$s", + "RequiresActivity": "Requires activity", + "RequiresActivityHelp": "If enabled, only sessions that have a scroll and a click activity in one page view will be recorded. This prevents the recording of sessions with not much activity.", + "SampleRate": "Sample Rate", + "HeatmapSampleRateHelp": "Also known as 'traffic'. When you select 100%%, all visitors that visit the selected target page will be recorded. When you select for example 10%%, only every 10th visitor will be recorded. The lower the percentage you select, the longer it will take to reach the selected sample limit.", + "SessionSampleRateHelp": "Also known as 'traffic'. When you select 100%%, all sessions will be recorded as soon as they have reached the target page. When you select for example 10%%, only every 10th session will be recorded. The lower the percentage you select, the longer it will take to reach the selected sample limit.", + "MinSessionTime": "Min Session Time", + "MinSessionTimeHelp": "A session will be only recorded when a visitor has spent at least the specified time on a page.", + "ScreenshotUrl": "Screenshot URL", + "ScreenshotUrlHelp": "By default, a screenshot is taken when the first visitor views the target page. If different page URLs match your target page, you can specify a specific URL that should be used to capture the screenshot. The heatmap visualization will be only available once at least one visitor has visited this URL whose activities are recorded. If defined, the URL has to match exactly. To ignore the protocol, start the URL with two double slashes (\/\/example.com). Please note that this URL cannot be changed as soon as a screenshot has been taken.", + "GettingStarted": "Getting Started", + "TargetPageTestTitle": "URL validator", + "TargetPageTestLabel": "Enter a full URL including the protocol to check if activities will be recorded on this URL:", + "TargetPageTestErrorInvalidUrl": "Enter a URL including a protocol.", + "TargetPageTestUrlMatches": "Activities will be recorded on this URL", + "TargetPageTestUrlNotMatches": "Activities will not be recorded on this URL", + "UrlParameterValueToMatchPlaceholder": "Value to match for URL parameter name", + "TargetTypeIsAny": "is any", + "TargetTypeIsNot": "not %s", + "TargetTypeEqualsExactly": "equals exactly", + "TargetTypeEqualsExactlyInfo": "The value has to match exactly, including the URL protocol, search query and hash.", + "TargetTypeEqualsSimple": "equals simple", + "TargetTypeEqualsSimpleInfo": "The URL will match any protocol (eg http and https) with or without \"www.\" subdomain. Any trailing slash in the path as well as the search query and hash part of the URL will be ignored when matching the URL.", + "TargetTypeContains": "contains", + "TargetTypeExists": "exists", + "TargetTypeStartsWith": "starts with", + "TargetTypeRegExp": "matches the regular expression", + "TargetTypeRegExpInfo": "Any regular expression, for example \"^(.*)test(.*)$\".", + "UpdatingData": "Updating dataโ€ฆ", + "FieldIncludedTargetsHelp": "Targets allow you to define on which pages the user activities should be recorded. You can define one or more conditions. For example, you can define to record activities whenever the URL or path equals a certain value and only if a certain URL parameter is present in the URL. Activities will be recorded only when all conditions are met, not if only one of them is met. All conditions will be evaluated case-insensitive. When you select 'equals simple', the URL protocol, search parameters and a trailing slash will be ignored.", + "FieldIncludedTargetsHelpSessions": "Targets allow you to configure to only start the recording of a session as soon as a visitor has reached a certain page. This lets you for example only record sessions that go through the check out process. You can define one or more conditions. For example, you can define to record a session only when the URL or path equals a certain value and only if a certain URL parameter is present in the URL. Sessions will be only recorded when all conditions are met on a page view, not if only one of them is met. All conditions will be evaluated case-insensitive. When you select 'equals simple', the URL protocol, search parameters and a trailing slash will be ignored.", + "FieldIncludedTargetsHelpSimple": "Matomo records activity when the page matches the condition entered here. When you select 'equals simple', the URL protocol, search parameters and a trailing slash will be ignored. Use advanced targeting instead if you need paths, URL parameters, regular expressions, exclusions, or multiple rules. %1$sLearn more%2$s.", + "FieldIncludedTargetsHelpSimpleSessions": "Matomo records a session when the page matches the condition entered here. When you select 'equals simple', the URL protocol, search parameters and a trailing slash will be ignored. Use advanced targeting instead if you need paths, URL parameters, regular expressions, exclusions, or multiple rules. %1$sLearn more%2$s.", + "FieldIncludedTargetsHelpAdvanced": "Activities will be recorded only when all conditions are met, not if only one of them is met. All conditions will be evaluated case-insensitive. When you select 'equals simple', the URL protocol, search parameters and a trailing slash will be ignored. %1$sLearn more%2$s.", + "FieldIncludedTargetsHelpAdvancedSessions": "Sessions will be only recorded when all conditions are met on a page view, not if only one of them is met. All conditions will be evaluated case-insensitive. When you select 'equals simple', the URL protocol, search parameters and a trailing slash will be ignored. %1$sLearn more%2$s.", + "UseAdvancedTargeting": "Need more control? %1$sUse advanced targeting instead%2$s", + "UseSimpleTargeting": "Prefer a simple target page condition? %1$sUse simple targeting instead%2$s.", + "DeleteHeatmapConfirm": "Are you sure you want to delete this heatmap? Reports previously generated heatmaps will no longer be available in the reporting UI.", + "DeleteSessionRecordingConfirm": "Are you sure you want to delete this session recording? Recordings previously generated will no longer be available in the reporting UI.", + "EndSessionRecordingConfirm": "Are you sure you want to stop recording any new sessions?", + "EndSessionRecordingRepeatNotice": "This session recording is set to automatically repeat, so stopping it will create a copy scheduled to start tracking about 30 days from now.", + "EndHeatmapConfirm": "Are you sure you want to stop capturing any activities for this heatmap?", + "EndHeatmapRepeatNotice": "This heatmap is set to automatically repeat, so stopping it will create a copy scheduled to start tracking about 30 days from now.", + "ErrorInvalidRegExp": "The regular expression \"%1$s\" does not have a valid format.", + "ErrorHeatmapNameDuplicate": "The heatmap name is already in use by another heatmap.", + "ErrorHeatmapDoesNotExist": "The requested heatmap does not exist", + "ErrorSessionRecordingDoesNotExist": "The requested session recording does not exist", + "ErrorSessionRecordingDisabled": "The session recording feature is disabled. To use this feature it needs to be enabled by a Matomo super user in the general settings.", + "ErrorHeatmapRecordingDisabled": "The heatmap recording feature is disabled. To use this feature it needs to be enabled by a Matomo super user in the general settings.", + "ErrorSnapshotManualRetakeOnlyActive": "A snapshot can only be retaken manually for active heatmaps.", + "ErrorXNotProvided": "Please provide a value for \"%1$s\".", + "ErrorXTooLow": "\"%1$s\" is too low, minimum allowed value is %2$s.", + "ErrorXTooHigh": "\"%1$s\" is too high, maximum allowed value is %2$s.", + "ErrorXTooLong": "\"%1$s\" is too long, max %2$s characters are allowed.", + "ErrorNotAnArray": "\"%1$s\" has to be an array.", + "ErrorInnerIsNotAnArray": "Each \"%1$s\" within \"%2$s\" has to be an array.", + "ErrorArrayMissingKey": "Missing array key \"%1$s\" in \"%2$s\" at position \"%3$s\".", + "ErrorArrayMissingValue": "Missing value for array key \"%1$s\" in \"%2$s\" at position \"%3$s\".", + "ErrorXNotWhitelisted": "The value for \"%1$s\" is not allowed, use one of: %2$s.", + "ErrorXContainsWhitespace": "The \"%1$s\" is not allowed to contain any white space.", + "ErrorPageRuleRequired": "At least one page rule has to be set.", + "HeatmapCreated": "The heatmap has been successfully created.", + "HeatmapUpdated": "The heatmap has been successfully updated.", + "HeatmapCopied": "The heatmap has been successfully copied.", + "SessionRecordingCreated": "The session recording has been successfully created.", + "SessionRecordingUpdated": "The session recording has been successfully updated.", + "FieldNamePlaceholder": "eg 'Sign Up Page'", + "FieldNamePlaceholderV2": "Signup page engagement", + "FieldDescriptionPlaceholder": "User interactions on the signup page", + "PageRule": "Page Rule", + "HeatmapNameHelp": "Defines the name under which the report for this heatmap will be available.", + "HeatmapNameHelpText": "Enter a unique name to clearly identify this heatmap in reports.", + "HeatmapDescriptionHelpText": "Enter a description to provide additional context, such as the purpose or usage.", + "HeatmapAdvancedOptionsSummary": "Current settings: %1$s%% sample rate, %2$s sampled page views, %3$s, %4$s mobile breakpoint, %5$s tablet breakpoint.", + "AutomaticSnapshot": "automatic snapshot", + "ManualSnapshot": "manual snapshot", + "HeatmapAdvancedSectionRecordingSettings": "Recording settings", + "HeatmapAdvancedSectionRecordingSettingsHelp": "Control how much visitor traffic is sampled and how many page views the heatmap collects.", + "HeatmapAdvancedSectionPageSnapshot": "Page snapshot", + "HeatmapAdvancedSectionPageSnapshotHelp": "Choose how Matomo captures the page image used for the heatmap preview.", + "HeatmapAdvancedSectionContentMasking": "Content masking (optional)", + "HeatmapAdvancedSectionContentMaskingHelp": "Hide sensitive or distracting page elements from the heatmap preview.", + "HeatmapAdvancedSectionDeviceBreakpoints": "Device breakpoints", + "HeatmapAdvancedSectionDeviceBreakpointsHelp": "Define the browser widths used to group heatmap data into mobile, tablet, and desktop views in case the device type cannot be automatically detected. Set it to zero if your website is not responsive. The default breakpoint values can be changed in Administration -> General Settings.", + "SessionNameHelp": "Defines the name under which the session recordings will be available.", + "SessionNameHelpText": "Enter a unique name to clearly identify this session recording in reports.", + "DescriptionOptional": "Description (optional)", + "CreateNewHeatmap": "Create new heatmap", + "StopX": "Stop recording any new activities for this %s.", + "EditX": "Edit %s", + "DeleteX": "Delete %s", + "EditHeatmapX": "Edit Heatmap %s", + "Filter": "Filter", + "EditSessionRecordingX": "Edit Session Recording %s", + "CreateNewSessionRecording": "Create new session recording", + "TargetAttributeUrl": "URL", + "TargetAttributePath": "Path", + "FilesystemDirectory": "directory", + "TargetAttributeUrlParameter": "URL Parameter", + "TargetAttributeUrlParameterExample": "nameOfUrlParameter", + "ManageSessionRecordings": "Manage Session Recordings", + "ManageHeatmaps": "Manage Heatmaps", + "ReportNoLongerExists": "This report no longer exists.", + "ConfigsPhpSuccess": "'%s' is accessible", + "ConfigsPhpNotAccessible": "The URL '%s' seems to be not accessible from the Internet or Intranet.", + "ConfigsPhpErrorResult": "As a result, tracking Heatmaps and Session Recordings may not work. You may need to change your webserver configuration to allow access to this file via the Internet or Intranet.", + "ConfigsPhpSelfSignedError": "Requesting '%s' resulted in an SSL error. Maybe you are using a self signed certificate?", + "ConfigsInternetDisabled": "We couldn't check if '%s' is accessible because the internet connection is disabled on this Matomo.", + "ConfigsPhpUnknown": "We couldn't check if '%s' is accessible over the Internet or Intranet.", + "ConfigsPhpManualCheck": "Please open the URL manually in a browser to see if the response contains 'Piwik.HeatmapSessionRecording'. If not, you might need to modify your server configuration as this file needs to be accessible via a browser from the Internet or Intranet.", + "ConfigsPhpUnknownError": "Requesting '%1$s' resulted in an error: %2$s.", + "ManageHeatmapSubcategoryHelp": "Heatmaps let you record all clicks, mouse moves, and scroll activities of your visitors on a specific page. This section enables you to create and manage Heatmap tracking for your website.", + "ManageSessionRecordingSubcategoryHelp": "Session recordings let you record all activities of a real visitor during their session (visit) such as clicks, mouse movements, scrolls, window resizes, page changes, and form interactions. This section enables you to create and manage Session Recordings for your site.", + "DisableSessionRecordingTitle": "Disable Session Recording", + "DisableSessionRecordingDescription": "By disabling this feature no session recordings can be configured or tracked anymore.", + "DisableSessionRecordingInlineHelp": "%1$sNote: Disabling this feature will delete all session recordings including previously tracked session recordings. There will be no changes for heatmaps if you enable or disable this feature.%2$s", + "PeriodDisabledErrorMessage": "The \"%1$s\" period is disabled but required for this feature to work. Select a different period or ask a system administrator to change Matomo's config file 'config\/config.ini.php' to allow the \"%1$s\" period in the \"enabled_periods_API\" setting.", + "DisableHeatmapRecordingTitle": "Disable Heatmaps", + "DisableHeatmapRecordingDescription": "By disabling this feature no heatmap can be configured or recorded anymore.", + "DisableHeatmapRecordingInlineHelp": "%1$sNote: Disabling this feature will delete all heatmaps including previously tracked heatmaps. There will be no changes for session recording if you enable or disable this feature.%2$s", + "EnableIncludeCountriesTitle": "Only track visitors from specific countries", + "EnableIncludeCountriesDescription": "By default, all visits are recorded. Enable this section when you want to track visits from specific countries.", + "Country": "Country", + "HeatmapInfoTrackVisitsFromCountries": "The heatmap is configured to only track visits from %1$s.", + "SessionRecordingInfoTrackVisitsFromCountries": "The session recording is configured to only track visits from %1$s.", + "AdBlockerDetected": "%1$s might not be visible when using an ad blocker. Please disable your ad blocker on this site to make sure Matomo works without any issues.", + "PauseReason": "The %1$s was paused due to exhaustion of your quota, please contact support for further details.", + "TotalEvents": "Events", + "ColumnTotalEventsDocumentation": "The number of events that were recorded during this session. For example: click, move, scroll, resize, page changes and form interaction events.", + "CaptureDomTitle": "Capture Heatmap Snapshot Manually", + "CaptureDomInlineHelp": "By default, heatmap snapshots are automatically taken on page load. If your page dynamically loads elements (such as with lazy loading) your snapshot could be incomplete. You can manually capture a complete snapshot by enabling this option and executing the following Javascript code in your browser: %1$s %2$sNote:%3$s This option resets automatically after capturing the snapshot.", + "AutoRepeatHeatmap": "Automatically repeat this heatmap", + "AutoRepeatHeatmapColumn": "Repeat heatmap", + "AutoRepeatHeatmapColumnHelp": "When enabled, Matomo automatically creates a new heatmap with the same settings 30 days after this one finishes.", + "AutoRepeatHeatmapHelp": "Matomo will create a new heatmap with the same settings 30 days after this recording finishes. Recommended for key pages you want to monitor regularly, such as your homepage or pricing page. %1$sLearn more%2$s.", + "AutoRepeatSessionRecording": "Automatically repeat this session recording", + "AutoRepeatSessionRecordingColumn": "Repeat recording", + "AutoRepeatSessionRecordingColumnHelp": "When enabled, Matomo automatically creates a new session recording with the same settings 30 days after this one finishes.", + "AutoRepeatSessionRecordingHelp": "Matomo will create a new session recording with the same settings 30 days after this recording finishes. Recommended for key pages you want to monitor regularly, such as your homepage or pricing page. %1$sLearn more%2$s.", + "MatomoJSNotWritableErrorMessage": "HeatmapSessionRecording: %1$s are currently unable to track visits, because the matomo.js file is read-only. Please see the %2$sdocumentation%3$s about how to make the file writable.", + "Clicks": "Clicks:", + "ClickRate": "Click rate:", + "Moves": "Moves:", + "MoveRate": "Move rate:", + "HeatmapAddedActivity": "added a heatmap \"%1$s\" for site \"%2$s\"", + "HeatmapDeletedActivity": "deleted the heatmap \"%1$s\" for site \"%2$s\"", + "HeatmapPausedActivity": "paused the heatmap \"%1$s\" for site \"%2$s\"", + "HeatmapResumedActivity": "resumed the heatmap \"%1$s\" for site \"%2$s\"", + "HeatmapEndedActivity": "ended the heatmap \"%1$s\" for site \"%2$s\"", + "HeatmapScreenshotDeletedActivity": "deleted the heatmap screenshot \"%1$s\" for site \"%2$s\"", + "HeatmapUpdatedActivity": "updated the heatmap \"%1$s\" for site \"%2$s\"", + "SessionRecordingAddedActivity": "added a session recording \"%1$s\" for site \"%2$s\"", + "SessionRecordingDeletedActivity": "deleted the session recording \"%1$s\" for site \"%2$s\"", + "SessionRecordingEndedActivity": "ended the session recording \"%1$s\" for site \"%2$s\"", + "SessionRecordingUpdatedActivity": "updated the session recording \"%1$s\" for site \"%2$s\"", + "SessionRecordingPausedActivity": "paused the session recording \"%1$s\" for site \"%2$s\"", + "SessionRecordingResumedActivity": "resumed the session recording \"%1$s\" for site \"%2$s\"", + "RecordedSessionDeletedActivity": "deleted a recorded session for session recording \"%1$s\" for site \"%2$s\"", + "RecordedPageviewDeletedActivity": "deleted a recorded page view for session recording \"%1$s\" for site \"%2$s\"", + "QuotaReachedForX": "Youโ€™ve reached your quota limit. Unable to copy the %1$s due to exceeded usage. Consider deleting unused or less critical %2$s to manage your quota.", + "HeatmapDuplicationError": "Process incomplete. The heatmap could not be copied to all selected sites. Failed sites: %1$s. Successful sites: %2$s.", + "None": "None", + "SourceHeatmapLookupError": "There was an unexpected error looking up the source heatmap. Please try again. Contact your administrator or support if the problem persists.", + "HeatmapDuplicationSiteTypeError": "Copy feature is not supported for sites: %1$s.", + "PolicyHeatmapTitle": "Heatmaps - Disable Heatmap Recording", + "PolicySessionTitle": "Heatmaps - Disable Session Recording", + "PolicyHeatmapRequirementNote": "Heatmap recording in the HeatmapSessionRecording plugin must be disabled", + "PolicySessionRequirementNote": "Session recording in the HeatmapSessionRecording plugin must be disabled" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/eo.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/eo.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/eo.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/es-ar.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/es-ar.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/es-ar.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/es.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/es.json new file mode 100644 index 0000000..f11ba37 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/es.json @@ -0,0 +1,183 @@ +{ + "HeatmapSessionRecording": { + "ActivityClick": "Clic", + "ActivityFormChange": "Cambiar formulario", + "ActivityFormText": "Cambio del texto del formulario", + "ActivityFormValue": "Cambio de valor del formulario", + "ActivityInitialDom": "Pรกgina inicial", + "ActivityMove": "Mover", + "ActivityResize": "Redimensionar", + "ActivityScroll": "Desplazar", + "ActivityScrollElement": "Desplazar elemento", + "AdvancedOptions": "Opciones avanzadas", + "AutoPlayNextPageview": "Haga clic para %1$s reproducir automรกticamente la siguiente pรกgina (atajo %2$s)", + "AvgAboveFoldDescription": "En promedio, los visitantes ven el contenido sobre esta lรญnea sin desplazarse", + "AvgAboveFoldTitle": "Promedio sobre el doblez %spx", + "BreakpointGeneralHelp": "El tipo de dispositivo se detecta automรกticamente cuando un visitante visita su sitio web. Sin embargo, a veces puede que no sea posible detectarlo. Si su sitio web es receptivo y su diseรฑo en un cierto punto se fractura, pondremos usuarios de escritorio con una pequeรฑa resoluciรณn en este tipo de dispositivo para obtener mapas de calor mรกs precisos. Cualquier ancho inferior a este valor se pondrรก en este tipo de dispositivo. Establรฉzcalo en cero si su sitio web no es receptivo.", + "BreakpointGeneralHelpManage": "Un usuario con acceso de Super Usuario puede cambiar los valores predeterminados para estos puntos de interrupciรณn en Administraciรณn => Configuraciรณn general.", + "BreakpointX": "Punto de interrupciรณn %s", + "CaptureKeystrokes": "Captura de pulsaciones de teclado", + "CaptureKeystrokesHelp": "Si estรก habilitado, se registrarรก cualquier texto que se ingrese en los campos de formulario de texto. Mientras se graba el texto, cualquier carรกcter que ingrese un usuario se reemplaza con una estrella ('*'). Puede incluir en la lista blanca ciertos campos para que se registren en texto sin formato especificando un atributo 'data-matomo-unmask' en un campo de formulario. Sin embargo, los campos de contraseรฑa y muchos otros campos que podrรญan incluir informaciรณn personal (direcciรณn, correo electrรณnico, informaciรณn de tarjeta de crรฉdito, nombre de usuario, nรบmero de telรฉfono, โ€ฆ) siempre se ocultarรกn automรกticamente si los detectamos como tales (%1$sobtenga mรกs informaciรณn%2$s). Tenga en cuenta que cuando habilita esta funciรณn, puede registrar datos personales que pueden afectar a GDPR.", + "ChangeReplaySpeed": "Cambiar la velocidad de repeticiรณn (atajo %s)", + "ClickToSkipPauses": "Haga clic %1$s para saltar pausas (atajo %2$s)", + "ColumnActionsDocumentation": "Reproducir la sesiรณn grabada o eliminarla permanentemente.", + "ColumnBrowserDocumentation": "El navegador que el visitante estaba usando cuando esta sesiรณn fue grabada.", + "ColumnDeviceDocumentation": "El dispositivo que el visitante estaba usando cuando esta sesiรณn fue grabada.", + "ColumnLabelRecordedSessions": "URL de entrada โ†’ URL de salida", + "ColumnLocationDocumentation": "La ubicaciรณn del visitante cuando esta sesiรณn fue grabada.", + "ColumnOperatingSystem": "OS", + "ColumnOperatingSystemDocumentation": "El sistema operativo que estaba utilizando el visitante cuando se grabรณ esta sesiรณn.", + "ColumnPageviewsDocumentation": "El nรบmero de pรกginas vistas que se registraron durante esta sesiรณn.", + "ColumnResolutionDocumentation": "El nรบmero de pรญxeles de la ventana visible en la ventana del navegador cuando el usuario abriรณ esta pรกgina.", + "ColumnTime": "Tiempo", + "ColumnTimeDocumentation": "La hora en que comenzรณ la grabaciรณn en la zona horaria del sitio web.", + "ColumnTimeOnPageDocumentation": "Cuรกnto tiempo pasรณ el visitante en esta pรกgina mientras se grabรณ la sesiรณn", + "ColumnTimeOnSiteDocumentation": "Cuรกnto tiempo pasรณ en total el visitante mientras se grabรณ la sesiรณn", + "ConfigsInternetDisabled": "No pudimos verificar si '%s' estรก accesible porque la conexiรณn a internet estรก deshabilitada en esta instalaciรณn Matomo.", + "ConfigsPhpErrorResult": "Como resultado, el seguimiento de los mapas de calor y las grabaciones de sesiรณn puede no funcionar. Es posible que deba cambiar la configuraciรณn del servidor web para permitir el acceso a este archivo a travรฉs de Internet o Intranet.", + "ConfigsPhpManualCheck": "Abra la direcciรณn URL manualmente en un navegador para ver si la respuesta contiene 'Piwik.HeatmapSessionRecording'. De lo contrario, es posible que deba modificar la configuraciรณn de su servidor, ya que este archivo debe ser accesible a travรฉs de un navegador desde Internet o Intranet.", + "ConfigsPhpNotAccessible": "La URL '%s' parece no estar accesible desde Internet o Intranet.", + "ConfigsPhpSelfSignedError": "La solicitud '%s' resultรณ en un error SSL. Tal vez ยฟestรก utilizando un certificado autofirmado?", + "ConfigsPhpSuccess": "'%s' es accessible", + "ConfigsPhpUnknown": "No pudimos comprobar si '%s' estรก accesible a travรฉs de Internet o Intranet.", + "ConfigsPhpUnknownError": "Solicitando '%1$s' resultรณ en un error: %2$s.", + "CreateNewHeatmap": "Crear nuevo mapa de calor", + "CreateNewSessionRecording": "Crear nueva sesiรณn de grabaciรณn", + "CreationDate": "Fecha de creaciรณn", + "DeleteHeatmapConfirm": "ยฟEstรกs seguro de que desea eliminar este mapa de calor? Los informes de mapas de calor generados anteriormente ya no estarรกn disponibles en la interfaz de usuario de los informes.", + "DeleteRecordedPageview": "Eliminar esta pรกgina vista registrada (sin solicitud de confirmaciรณn)", + "DeleteRecordedSession": "Eliminar esta sesiรณn grabada (no se solicita confirmaciรณn)", + "DeleteSessionRecordingConfirm": "ยฟEstรกs seguro de que desea eliminar esta grabaciรณn de sesiรณn? Las grabaciones generadas anteriormente ya no estarรกn disponibles en la interfaz de usuario de los informes.", + "DeleteX": "Eliminar %s", + "EditHeatmapX": "Modificar mapa de calor %s", + "EditSessionRecordingX": "Editar grabaciรณn de sesiรณn %s", + "EditX": "Modificar %s", + "EndHeatmapConfirm": "ยฟEstรก seguro de que desea dejar de capturar cualquier actividad para este mapa de calor?", + "EndSessionRecordingConfirm": "ยฟEstรก seguro de que desea dejar de grabar nuevas sesiones?", + "ErrorArrayMissingKey": "Falta la clave \"%1$s\" en \"%2$s\" en la posiciรณn \"%3$s\".", + "ErrorArrayMissingValue": "Falta el valor para la clave de la matriz \"%1$s\" en \"%2$s\" en la posiciรณn \"%3$s\".", + "ErrorHeatmapDoesNotExist": "El mapa de calor solicitado no existe.", + "ErrorHeatmapNameDuplicate": "El nombre de mapa de calor ya estรก en uso por otro mapa de calor.", + "ErrorInnerIsNotAnArray": "Cada \"%1$s\" dentro de \"%2$s\" tiene que ser una matriz.", + "ErrorInvalidRegExp": "La expresiรณn regular \"%1$s\" no tiene en formato vรกlido.", + "ErrorNotAnArray": "\"%1$s\" tiene que ser una matriz.", + "ErrorPageRuleRequired": "Al menos una regla de pรกgina debe ser dispuesta.", + "ErrorSessionRecordingDoesNotExist": "No existe el registro de la sesiรณn solicitada.", + "ErrorXContainsWhitespace": "El \"%1$s\" no puede contener ningรบn espacio en blanco.", + "ErrorXNotANumber": "\"%1$s\" tiene que ser un nรบmero.", + "ErrorXNotProvided": "Por favor suministre un valor para \"%1$s\".", + "ErrorXNotWhitelisted": "El valor para \"%1$s\" no estรก permitido, use uno de: %2$s.", + "ErrorXTooHigh": "\"%1$s\" es demasiado alto, el valor mรกximo permitido es %2$s.", + "ErrorXTooLong": "\"%1$s\" es muy largo, un mรกximo de %2$s caracteres es permitido.", + "ErrorXTooLow": "\"%1$s\" es demasiado bajo, el valor mรญnimo permitido es %2$s.", + "ExcludedElements": "Elementos excluidos", + "ExcludedElementsHelp": "Opcionalmente, puede definir los selectores CSS para excluir ciertos elementos que no deberรญan ser visibles en la vista previa del mapa de calor. Por ejemplo, una ventana emergente que se muestra cuando se abre la pรกgina de destino. Puede separar mรบltiples selectores con una coma.", + "FieldIncludedTargetsHelp": "Los objetivos le permiten definir en quรฉ pรกginas se deben registrar las actividades del usuario. Puede definir una o mรกs condiciones. Por ejemplo, puede definir registrar actividades cuando la direcciรณn URL o la ruta de acceso es igual a un cierto valor y solo si un determinado parรกmetro de URL estรก presente en la URL. Las actividades se registrarรกn solo cuando se cumplan todas las condiciones, no si solo se cumple una de ellas. Todas las condiciones serรกn evaluadas sin distinciรณn de mayรบsculas y minรบsculas. Cuando selecciona 'es igual a simple', se ignorarรกn el protocolo de URL, los parรกmetros de bรบsqueda y la barra diagonal.", + "FieldIncludedTargetsHelpSessions": "Los objetivos le permiten configurar para iniciar solo la grabaciรณn de una sesiรณn tan pronto como un visitante haya alcanzado una determinada pรกgina. Esto le permite, por ejemplo, solo grabar sesiones que pasan por el proceso de salida. Puede definir una o mรกs condiciones. Por ejemplo, puede definir grabar una sesiรณn solo cuando la URL o la ruta de acceso es igual a un cierto valor y solo si un determinado parรกmetro de URL estรก presente en la URL. Las sesiones solo se grabarรกn cuando se cumplan todas las condiciones en una pรกgina vista, no si solo se cumple una de ellas. Todas las condiciones serรกn evaluadas sin distinciรณn de mayรบsculas y minรบsculas. Cuando selecciona 'es igual a simple', se ignorarรกn el protocolo de URL, los parรกmetros de bรบsqueda y la barra diagonal.", + "FieldNamePlaceholder": "ej 'Registrarse'", + "FilesystemDirectory": "directorio", + "Filter": "Filtro", + "GettingStarted": "Empezando", + "Heatmap": "Mapa de calor", + "HeatmapCreated": "El mapa de calor ha sido creado con รฉxito.", + "HeatmapNameHelp": "Define el nombre bajo el cual el informe para este mapa de calor estarรก disponible.", + "HeatmapSampleLimit": "Nรบmero de pรกginas vistas", + "HeatmapSampleLimitHelp": "Define la cantidad de pรกgina vistas que desea grabar en total.", + "HeatmapSampleRateHelp": "Tambiรฉn conocido como 'trรกfico'. Cuando selecciona el 100%%, se registrarรกn todos los visitantes que visiten la pรกgina de destino seleccionada. Cuando selecciona, por ejemplo, el 10%%, solo se registrarรก cada dรฉcimo visitante. Cuanto menor sea el porcentaje que seleccione, mรกs tardarรก en alcanzar el lรญmite de muestra seleccionado.", + "HeatmapUpdated": "El mapa de calor se ha actualizado con รฉxito.", + "HeatmapUsageBenefits": "Los mapas de calor le permiten registrar todos los clics, movimientos del mouse y actividades de desplazamiento de sus visitantes en una pรกgina determinada. Esto le ayuda a descubrir dรณnde los usuarios creen que se puede hacer clic en algo pero no si hay partes de la pรกgina que apenas se ven o interactรบan, quรฉ buscan sus visitantes, quรฉ parte de la pรกgina estรก visible cuando los usuarios ven su pรกgina, y mรกs.", + "HeatmapWidth": "Ancho del mapa del calor", + "HeatmapX": "Mapa de calor %s", + "HeatmapXRecordedSamplesSince": "%1$s muestras se han grabado desde %2$s.", + "Heatmaps": "Mapas de color", + "Manage": "Administrar", + "ManageHeatmaps": "Gestionar mapas de calor", + "ManageSessionRecordings": "Administrar grabaciones de sesiรณn", + "MinSessionTime": "Tiempo de sesiรณn min", + "MinSessionTimeHelp": "Una sesiรณn solo se grabarรก cuando un visitante haya pasado al menos el tiempo especificado en una pรกgina.", + "NHeatmaps": "%s mapas de calor", + "NSessionRecordings": "%s grabaciones de sesiรณn", + "NoHeatmapSamplesRecordedYet": "Aรบn no se ha registrado una vista de pรกgina para este mapa de calor. Si se supone que ya debiera haber grabaciones, tal vez los objetivos de pรกgina configurados para este mapa de calor no coincidan con ninguna pรกgina de su sitio web. Tambiรฉn se recomienda verificar la \"Comprobaciรณn del sistema\" en \"Administraciรณn\" (solo para los Super usuarios) para ver si su sistema estรก configurado para rastrear automรกticamente los mapas de calor.", + "NoHeatmapScreenshotRecordedYet": "Se han registrado %1$s muestras hasta el momento. Sin embargo, aรบn no se ha tomado ninguna captura de pantalla. Si hay un \"%2$s\" para este mapa de calor, la captura de pantalla puede tardar un tiempo en estar disponible, ya que el usuario primero debe abrir esta direcciรณn URL de captura de pantalla. Dependiendo de la frecuencia de muestreo, esto puede tomar un tiempo.", + "NoHeatmapsConfiguredInfo": "Actualmente no hay mapas de calor activos. Para verlos, solicite a un usuario con al menos acceso de administrador para crear un nuevo mapa de calor.", + "NoHeatmapsFound": "No se encontraron mapas de calor", + "NoSessionRecordedYet": "Aรบn no se ha registrado ninguna sesiรณn. Si se supone que ya habrรก sesiones grabadas, tal vez la pรกgina de entrada configurada no coincida con ninguna pรกgina de su sitio web. Tambiรฉn se recomienda verificar la \"Comprobaciรณn del sistema\" en \"Administraciรณn\" (solo para los Super Usuarios) para ver si su sistema estรก configurado para sesiones grabadas automรกticamente.", + "NoSessionRecordingsConfiguredInfo": "Actualmente no hay grabaciones de sesiรณn activas. Para grabar nuevas sesiones, solicite a un usuario con al menos acceso de administrador para crear una nueva grabaciรณn.", + "NoSessionRecordingsFound": "No se encontraron grabaciones de sesiรณn", + "NotSupportedBrowser": "Este navegador no es compatible, utilice una versiรณn posterior o intรฉntelo con otro navegador.", + "OnePageview": "1 pรกgina vista", + "PageRule": "Norma de la pรกgina", + "PageviewXofY": "Vista de pรกgina %1$s de %2$s", + "PageviewsInVisit": "Pรกginas vistas registradas en esta sesiรณn", + "PersonalInformationNote": "Tenga en cuenta que %1$spuede grabar informaciรณn personal o confidencial. Si desea ocultar cierto contenido en su sitio web o aplicaciรณn, puede etiquetar este contenido agregando un atributo %2$sdata-matomo-mask%3$s al cรณdigo HTML. %4$sAprende mรกs%5$s", + "PlayRecordedSession": "Reproducir esta sesiรณn registrada", + "PlayerDurationXofY": "%1$s de %2$s", + "PlayerForwardFast": "Saltar %1$s segundos (atajo %2$s)", + "PlayerPageViewNext": "Reproducir la siguiente pรกgina vista de este visitante (%1$s) (atajo %2$s)", + "PlayerPageViewPrevious": "Reproducir la prรณxima pรกgina vista de este visitante %1$s (atajo %2$s)", + "PlayerPause": "Pausa (atajo %s o barra espaciadora)", + "PlayerPlay": "Reproducir (atajo %s o barra espaciadora)", + "PlayerReplay": "Repeticiรณn (atajo %s o barra espaciadora)", + "PlayerRewindFast": "Rebobinar %1$s segundos (atajo %2$s)", + "RecordedHeatmapDocStatusActive": "Este mapa de calor estรก activo. Se registrarรกn hasta %1$d vistas de pรกgina con una frecuencia de muestreo de %2$s.", + "RecordedHeatmapDocStatusEnded": "Este mapa de calor ha terminado. No se grabarรก ninguna nueva actividad.", + "RecordedSessions": "Sesiones registradas", + "RecordedSessionsDocStatusActive": "Esta sesiรณn registrada estรก activa. Hasta %1$d sesiones serรกn registradas con una frecuencia de muestreo de %2$s.", + "RecordedSessionsDocStatusEnded": "Esta sesiรณn de grabaciรณn ha finalizado y no se grabarรกn nuevas sesiones.", + "Recordings": "Registros", + "ReplayRecordedSession": "Repetir la sesiรณn registrada", + "ReplayX": "Repetir %s", + "ReportRecordedSessionsDocumentation": "Una lista de todas las sesiones que se han grabado. Puede reproducir cualquier sesiรณn grabada.", + "RequiresActivity": "Requiere actividad", + "RequiresActivityHelp": "Si estรก habilitado, solo se grabarรกn las sesiones que tengan un desplazamiento y actividades de los clics en una vista de pรกgina. Esto evita la grabaciรณn de sesiones con poca actividad.", + "Rule": "Regla", + "SampleLimit": "Lรญmite de muestra", + "SampleRate": "Frecuencia de muestreo", + "ScreenshotUrl": "URL de la captura de pantalla", + "ScreenshotUrlHelp": "De forma predeterminada, se toma una captura de pantalla cuando el primer visitante ve la pรกgina de destino. Si diferentes URL de pรกgina coinciden con su pรกgina de destino, puede especificar una URL especรญfica que se debe utilizar para capturar la captura de pantalla. La visualizaciรณn del mapa de calor solo estarรก disponible una vez que al menos un visitante haya visitado esta URL cuyas actividades estรฉn registradas. Si se define, la URL debe coincidir exactamente. Para ignorar el protocolo, inicie la URL con dos barras diagonales dobles (//example.com). Tenga en cuenta que esta URL no se puede cambiar tan pronto como se haya tomado una captura de pantalla.", + "SessionNameHelp": "Define el nombre bajo el cual estarรกn disponibles las grabaciones de la sesiรณn.", + "SessionRecording": "Registro de sesiรณn", + "SessionRecordingCreated": "La grabaciรณn de la sesiรณn se ha creado con รฉxito.", + "SessionRecordingUpdated": "La grabaciรณn de la sesiรณn se ha actualizado con รฉxito.", + "SessionRecordingX": "Registrando sesiรณn %s", + "SessionRecordings": "Registros de sesiรณn", + "SessionRecordingsUsageBenefits": "Las grabaciones de sesiรณn le permiten registrar todas las actividades de un visitante durante su sesiรณn (visita), como clics, movimientos del mouse, desplazamientos, cambio de tamaรฑo de ventana, cambios de pรกgina e interacciones de formularios. Luego puede reproducir estas interacciones para ver exactamente cรณmo interactuรณ con su sitio web. De esta manera puede comprende las expectativas, los problemas que pueden tener, sus patrones de uso y mucho mรกs.", + "SessionSampleLimit": "Nรบmero de sesiones", + "SessionSampleLimitHelp": "Defina la cantidad de sesiones que desea registrar en total.", + "SessionSampleRateHelp": "Tambiรฉn conocido como 'trรกfico'. Cuando selecciona el 100%%, todas las sesiones se grabarรกn tan pronto como alcancen la pรกgina de destino. Cuando selecciona, por ejemplo, el 10%%, solo se grabarรก cada dรฉcima sesiรณn. Cuanto menor sea el porcentaje que seleccione, mรกs tardarรก en alcanzar el lรญmite de muestra seleccionado.", + "StatusActive": "Activo", + "StatusEnded": "Finalizรณ", + "StopX": "Dejar de grabar nuevas actividades para este %s.", + "TargetAttributePath": "Ruta", + "TargetAttributeUrl": "URL", + "TargetAttributeUrlParameter": "Parรกmetro URL", + "TargetAttributeUrlParameterExample": "nameOfUrlParameter", + "TargetPage": "Pรกgina de destino", + "TargetPageTestErrorInvalidUrl": "Ingrese un URL incluyendo su protocolo.", + "TargetPageTestLabel": "Ingrese una URL completa que incluya el protocolo para verificar si las actividades se registrarรกn en esta URL:", + "TargetPageTestTitle": "Validador URL", + "TargetPageTestUrlMatches": "Las actividades serรกn registradas en esta URL.", + "TargetPageTestUrlNotMatches": "Las actividades no serรกn registradas en esta URL.", + "TargetPages": "Pรกginas de entrada", + "TargetTypeContains": "contiene", + "TargetTypeEqualsExactly": "exactamente igual", + "TargetTypeEqualsExactlyInfo": "El valor debe coincidir exactamente, incluido el protocolo de URL, la consulta de bรบsqueda y el hash.", + "TargetTypeEqualsSimple": "es igual a simple", + "TargetTypeEqualsSimpleInfo": "La URL coincidirรก con cualquier protocolo (por ejemplo, http y https) con o sin subdominio \"www\". Cualquier barra diagonal final en la ruta, asรญ como la consulta de bรบsqueda y la parte de hash de la URL se ignorarรกn cuando coincida la URL.", + "TargetTypeExists": "existe", + "TargetTypeIsAny": "es cualquier", + "TargetTypeIsNot": "no %s", + "TargetTypeRegExp": "coincide con la expresiรณn regular", + "TargetTypeRegExpInfo": "Cualquier expresiรณn regular, por ejemplo \"^(.*)test(.*)$\".", + "TargetTypeStartsWith": "empieza con", + "TimeOnSite": "Tiempo en sitio web", + "UpdatingData": "Actualizando datosโ€ฆ", + "UrlParameterValueToMatchPlaceholder": "Valor para coincidir con el nombre del parรกmetro de la URL", + "UrlXDoesNotLookLikeUrl": "La %s no se parece a una direcciรณn URL. Asegรบrese que respeta el protocolo http:// o que comienza con //", + "ViewReport": "Ver informe", + "ViewportResolution": "Resoluciรณn de la ventana grรกfica (ancho x alto)", + "XSamples": "%s muestras", + "disable": "deshabilitar", + "enable": "habilitar" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/et.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/et.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/et.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/eu.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/eu.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/eu.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/fa.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/fa.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/fa.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/fi.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/fi.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/fi.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/fr.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/fr.json new file mode 100644 index 0000000..847c27e --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/fr.json @@ -0,0 +1,247 @@ +{ + "HeatmapSessionRecording": { + "Action": "Action", + "ActivityClick": "Clic", + "ActivityFormChange": "Changement de formulaire", + "ActivityFormText": "Modification du texte du formulaire", + "ActivityFormValue": "Changement de valeur du formulaire", + "ActivityInitialDom": "Page initiale", + "ActivityMove": "Mouvement", + "ActivityPageChange": "Changement dans la page", + "ActivityResize": "Redimensionner", + "ActivityScroll": "Dรฉfilement", + "ActivityScrollElement": "ร‰lรฉment de dรฉfilement", + "AdBlockerDetected": "%1$s peut ne pas รชtre visible lorsque vous utilisez un bloqueur de publicitรฉs. Veuillez dรฉsactiver votre bloqueur de publicitรฉs sur ce site pour vous assurer que Matomo fonctionne correctement.", + "AdvancedOptions": "Options avancรฉes", + "AutoPlayNextPageview": "Cliquez sur %1$s pour lire automatiquement la page suivante (raccourci %2$s)", + "AvgAboveFoldDescription": "En moyenne, les visiteurs voient le contenu au-dessus de cette ligne sans dรฉfiler", + "AvgAboveFoldTitle": "Moy. au-dessus de la ligne de flottaison %spx", + "BreakpointGeneralHelp": "Le type d'appareil est automatiquement dรฉtectรฉ lorsqu'un visiteur consulte votre site web. Cependant, il arrive parfois qu'il ne soit pas possible de dรฉtecter le type d'appareil. Si votre site Web est responsive et que votre mise en page s'interrompt ร  un moment donnรฉ, nous classerons les utilisateurs d'ordinateurs de bureau ayant une faible rรฉsolution dans ce type d'appareil pour obtenir des cartes de chaleur plus prรฉcises. Toute largeur infรฉrieure ร  cette valeur sera classรฉe dans ce type d'appareil. Mettez la valeur zรฉro si votre site Web n'est pas responsive.", + "BreakpointGeneralHelpManage": "Un utilisateur disposant d'un accรจs Super utilisateur peut modifier les valeurs par dรฉfaut de ces points d'arrรชt dans Administration => Paramรจtres gรฉnรฉraux.", + "BreakpointX": "Point d'arrรชt %s", + "CaptureDomInlineHelp": "Par dรฉfaut, les instantanรฉs de la carte de chaleur sont automatiquement pris au chargement de la page. Si votre page charge dynamiquement des รฉlรฉments (comme avec le chargement diffรฉrรฉ), votre instantanรฉ pourrait รชtre incomplet (page blanche). Vous pouvez capturer manuellement un instantanรฉ complet en activant cette option et en exรฉcutant le code Javascript suivant dans votre navigateurโ€ฏ: %1$s %2$sNoteโ€ฏ:%3$s Cette option se rรฉinitialise automatiquement aprรจs la capture de l'instantanรฉ.", + "CaptureDomTitle": "Capturer un instantanรฉ de la carte de chaleur manuellement", + "CaptureKeystrokes": "Enregistrement des frappes de clavier", + "CaptureKeystrokesHelp": "Si cette option est activรฉe, tout le texte saisi dans les champs de formulaire texte seront enregistrรฉs. Pendant l'enregistrement du texte, tout caractรจre saisi par l'utilisateur est remplacรฉ par une รฉtoile ('*'). Vous pouvez รฉtablir une liste blanche de certains champs qui seront enregistrรฉs en texte brut en spรฉcifiant un attribut \"data-matomo-unmask\" sur un champ de formulaire. Toutefois, les champs relatifs au mot de passe et de nombreux autres champs susceptibles de contenir des informations personnelles (adresse, courriel, informations relatives ร  la carte de crรฉdit, nom d'utilisateur, numรฉro de tรฉlรฉphone, ...) seront toujours automatiquement masquรฉs si nous les dรฉtectons comme tels (%1$sen savoir plus%2$s). Veuillez noter que lorsque vous activez cette fonction, vous pouvez enregistrer des donnรฉes personnelles, ce qui peut entrer en conflit avec le RGPD.", + "ChangeReplaySpeed": "Modifier la vitesse de lecture (raccourci %s)", + "ClickRate": "Taux de clicsย :", + "ClickToSkipPauses": "Cliquez pour %1$s sauter les pauses (raccourci %2$s)", + "Clicks": "Clicsย :", + "ColumnActionsDocumentation": "Lire la session enregistrรฉe ou supprimez l'enregistrement de faรงon permanente.", + "ColumnBrowserDocumentation": "Le navigateur que le visiteur utilisait au moment de l'enregistrement de cette session.", + "ColumnDeviceDocumentation": "L'appareil que le visiteur utilisait lorsque cette session a รฉtรฉ enregistrรฉe.", + "ColumnLabelRecordedSessions": "URL d'entrรฉe โ†’ URL de sortie", + "ColumnLocationDocumentation": "L'emplacement du visiteur lorsque cette session a รฉtรฉ enregistrรฉe.", + "ColumnOperatingSystem": "Systรจme d'exploitation", + "ColumnOperatingSystemDocumentation": "Le systรจme d'exploitation que le visiteur utilisait lorsque cette session a รฉtรฉ enregistrรฉe.", + "ColumnPageviewsDocumentation": "Le nombre de pages vues qui ont รฉtรฉ enregistrรฉes pendant cette session.", + "ColumnResolutionDocumentation": "Le nombre de pixels visiblede la fenรชtre d'affichage dans la fenรชtre du navigateur lorsque l'utilisateur a ouvert cette page.", + "ColumnTime": "Heure", + "ColumnTimeDocumentation": "L'heure ร  laquelle l'enregistrement a commencรฉ dans le fuseau horaire du site web.", + "ColumnTimeOnPageDocumentation": "Le temps que le visiteur a passรฉ sur cette page pendant l'enregistrement de la session", + "ColumnTimeOnSiteDocumentation": "Combien de temps le visiteur a passรฉ au total pendant que la session รฉtait enregistrรฉe", + "ColumnTotalEventsDocumentation": "Le nombre d'รฉvรฉnements qui ont รฉtรฉ enregistrรฉs durant cette session. Par exempleโ€ฏ: clic, dรฉplacement, dรฉfilement, redimensionnement, changements de page et interactions avec les formulaires.", + "ConfigsInternetDisabled": "Nous n'avons pas pu vรฉrifier si '%s' est accessible car la connexion internet est dรฉsactivรฉe sur ce Matomo.", + "ConfigsPhpErrorResult": "Par consรฉquent, le suivi des cartes de chaleur et des enregistrements de sessions peut ne pas fonctionner. Vous devrez peut-รชtre modifier la configuration de votre serveur Web pour permettre l'accรจs ร  ce fichier via Internet ou Intranet.", + "ConfigsPhpManualCheck": "Veuillez ouvrir l'URL manuellement dans un navigateur pour voir si la rรฉponse contient 'Piwik.HeatmapSessionRecording'. Si ce n'est pas le cas, vous devrez peut-รชtre modifier la configuration de votre serveur car ce fichier doit รชtre accessible via un navigateur depuis Internet ou Intranet.", + "ConfigsPhpNotAccessible": "L'URL '%s' semble ne pas รชtre accessible depuis Internet ou Intranet.", + "ConfigsPhpSelfSignedError": "La requรชte de '%s' a donnรฉ lieu ร  une erreur SSL. Peut-รชtre utilisez-vous un certificat auto-signรฉ ?", + "ConfigsPhpSuccess": "'%s' est accessible", + "ConfigsPhpUnknown": "Nous n'avons pas pu vรฉrifier si '%s' est accessible par Internet ou Intranet.", + "ConfigsPhpUnknownError": "La requรชte de '%1$s' a donnรฉ lieu ร  une erreur : %2$s.", + "Country": "Pays", + "CreateNewHeatmap": "Crรฉer une nouvelle carte de chaleur", + "CreateNewSessionRecording": "Crรฉer un nouvel enregistrement de session", + "CreationDate": "Date de crรฉation", + "DeleteHeatmapConfirm": "รŠtes-vous sรปr de vouloir supprimer cette carte de chaleur ? Les cartes de chaleur gรฉnรฉrรฉes prรฉcรฉdemment ne seront plus disponibles dans l'interface de crรฉation de rapports.", + "DeleteHeatmapScreenshotConfirm": "รŠtes-vous sรปr de vouloir supprimer cette capture d'รฉcran ? Il peut s'รฉcouler un certain temps avant que la capture d'รฉcran ne soit refaite.", + "DeleteRecordedPageview": "Supprimer cette vue de la page enregistrรฉe (aucune confirmation demandรฉe)", + "DeleteRecordedSession": "Supprimer cette session enregistrรฉe (aucune confirmation n'est demandรฉe)", + "DeleteScreenshot": "Supprimer la capture d'รฉcran", + "DeleteSessionRecordingConfirm": "รŠtes-vous sรปr de vouloir supprimer cet enregistrement de session ? Les enregistrements gรฉnรฉrรฉs prรฉcรฉdemment ne seront plus disponibles dans l'interface utilisateur des rapports.", + "DeleteX": "Supprimer %s", + "DeviceType": "Type d'appareil", + "DisableHeatmapRecordingDescription": "En dรฉsactivant cette fonction, aucune carte de chaleur ne peut plus รชtre configurรฉe ou enregistrรฉe.", + "DisableHeatmapRecordingInlineHelp": "%1$sRemarque : la dรฉsactivation de cette fonction entraรฎne la suppression de toutes les cartes de chaleur, y compris les cartes de chaleur prรฉcรฉdemment suivies. Aucun changement ne sera apportรฉ ร  l'enregistrement de la session si vous activez ou dรฉsactivez cette fonctionnalitรฉ.%2$s", + "DisableHeatmapRecordingTitle": "Dรฉsactiver les cartes de chaleur", + "DisableSessionRecordingDescription": "En dรฉsactivant cette fonctionnalitรฉ, aucun enregistrement de session ne peut plus รชtre configurรฉ ou suivi.", + "DisableSessionRecordingInlineHelp": "%1$sRemarque : la dรฉsactivation de cette fonctionnalitรฉ supprimera tous les enregistrements de session, y compris les enregistrements de session prรฉcรฉdemment suivis. Il n'y aura aucun changement pour les cartes de chaleur si vous activez ou dรฉsactivez cette fonction.%2$s", + "DisableSessionRecordingTitle": "Dรฉsactiver l'enregistrement des sessions", + "EditHeatmapX": "Modifier la carte de chaleur %s", + "EditSessionRecordingX": "Modifier l'enregistrement de la session %s", + "EditX": "Modifier %s", + "EnableIncludeCountriesDescription": "Par dรฉfaut, toutes les visites sont enregistrรฉes. Activez cette section si vous souhaitez suivre les visites provenant de certains pays.", + "EnableIncludeCountriesTitle": "Ne suivre que les visiteurs provenant de certains pays", + "EndHeatmapConfirm": "รŠtes-vous sรปr de vouloir arrรชter de mesurer des activitรฉs pour cette carte de chaleur ?", + "EndSessionRecordingConfirm": "รŠtes-vous sรปr de vouloir arrรชter d'enregistrer de nouvelles sessions ?", + "ErrorArrayMissingKey": "Clรฉ de tableau manquante \"%1$s\" dans \"%2$s\" ร  la position \"%3$s\".", + "ErrorArrayMissingValue": "Valeur manquante pour la clรฉ du tableau \"%1$s\" dans \"%2$s\" ร  la position \"%3$s\".", + "ErrorHeatmapDoesNotExist": "La carte de chaleur demandรฉe n'existe pas", + "ErrorHeatmapNameDuplicate": "Le nom de la carte de chaleur est dรฉjร  utilisรฉ par une autre carte.", + "ErrorHeatmapRecordingDisabled": "La fonction d'enregistrement des cartes de chaleur est dรฉsactivรฉe. Pour utiliser cette fonction, elle doit รชtre activรฉe par un super utilisateur Matomo dans les paramรจtres gรฉnรฉraux.", + "ErrorInnerIsNotAnArray": "Chaque \"%1$s\" dans \"%2$s\" doit รชtre un tableau.", + "ErrorInvalidRegExp": "L'expression rรฉguliรจre \"%1$s\" n'a pas un format valide.", + "ErrorNotAnArray": "\"%1$s\" doit รชtre un tableau.", + "ErrorPageRuleRequired": "Au moins une rรจgle de page doit รชtre dรฉfinie.", + "ErrorSessionRecordingDisabled": "La fonction d'enregistrement de session est dรฉsactivรฉe. Pour utiliser cette fonction, elle doit รชtre activรฉe par un super utilisateur Matomo dans les paramรจtres gรฉnรฉraux.", + "ErrorSessionRecordingDoesNotExist": "L'enregistrement de session demandรฉ n'existe pas", + "ErrorXContainsWhitespace": "Le \"%1$s\" n'est pas autorisรฉ car ne doit pas contenir d'espace blanc.", + "ErrorXNotANumber": "\"%1$s\" doit รชtre un nombre.", + "ErrorXNotProvided": "Veuillez indiquer une valeur pour \"%1$s\".", + "ErrorXNotWhitelisted": "La valeur pour \"%1$s\" n'est pas autorisรฉe, utilisez une de celles-ci : %2$s.", + "ErrorXTooHigh": "\"%1$s\" est trop รฉlevรฉ, la valeur maximale autorisรฉe est %2$s.", + "ErrorXTooLong": "\"%1$s\" est trop long, %2$s caractรจres maximum sont autorisรฉs.", + "ErrorXTooLow": "\"%1$s\" est trop faible, la valeur minimale autorisรฉe est %2$s.", + "ExcludedElements": "ร‰lรฉments exclus", + "ExcludedElementsHelp": "Vous pouvez รฉventuellement dรฉfinir des sรฉlecteurs CSS pour exclure certains รฉlรฉments qui ne doivent pas รชtre visibles dans l'aperรงu de la carte de chaleur. Par exemple, une fenรชtre contextuelle qui s'affiche lorsque la page cible est ouverte. Vous pouvez sรฉparer plusieurs sรฉlecteurs par une virgule.", + "FieldIncludedTargetsHelp": "Les cibles vous permettent de dรฉfinir sur quelles pages les activitรฉs des utilisateurs doivent รชtre enregistrรฉes. Vous pouvez dรฉfinir une ou plusieurs conditions. Par exemple, vous pouvez dรฉfinir l'enregistrement des activitรฉs lorsque l'URL ou le chemin d'accรจs est รฉgal ร  une certaine valeur et seulement si un certain paramรจtre d'URL est prรฉsent dans l'URL. Les activitรฉs ne seront enregistrรฉes que si toutes les conditions sont remplies, et non si une seule d'entre elles l'est. Toutes les conditions sont รฉvaluรฉes sans tenir compte de la casse. Lorsque vous sรฉlectionnez \"est รฉgal ร \", le protocole de l'URL, les paramรจtres de recherche et la barre oblique de fin de ligne sont ignorรฉs.", + "FieldIncludedTargetsHelpSessions": "Les cibles vous permettent de configurer le dรฉmarrage de l'enregistrement d'une session uniquement lorsqu'un visiteur a atteint une certaine page. Cela vous permet par exemple de n'enregistrer que les sessions qui passent par le processus de paiement. Vous pouvez dรฉfinir une ou plusieurs conditions. Par exemple, vous pouvez dรฉfinir l'enregistrement d'une session uniquement lorsque l'URL ou le chemin d'accรจs est รฉgal ร  une certaine valeur et uniquement si un certain paramรจtre d'URL est prรฉsent dans l'URL. Les sessions ne seront enregistrรฉes que si toutes les conditions sont remplies lors de l'affichage d'une page, et non si une seule d'entre elles l'est. Toutes les conditions sont รฉvaluรฉes sans tenir compte de la casse. Lorsque vous sรฉlectionnez \"est รฉgal ร \", le protocole de l'URL, les paramรจtres de recherche et la barre oblique de fin de ligne sont ignorรฉs.", + "FieldNamePlaceholder": "ex 'Page d'inscription'", + "FilesystemDirectory": "rรฉpertoire", + "Filter": "Filtre", + "GettingStarted": "Dรฉmarrer", + "Heatmap": "Carte de chaleur", + "HeatmapAddedActivity": "a ajoutรฉ une carte thermique \"%1$s\" pour le site \"%2$s\"", + "HeatmapCopied": "La carte de chaleur a รฉtรฉ copiรฉe avec succรจs.", + "HeatmapCreated": "La carte de chaleur a รฉtรฉ crรฉรฉe avec succรจs.", + "HeatmapDeletedActivity": "a supprimรฉ la carte de chaleur \"%1$s\" pour le site \"%2$s\"", + "HeatmapDuplicationError": "Processus incomplet. La carte de chaleur nโ€™a pas pu รชtre copiรฉe sur tous les sites sรฉlectionnรฉs. Sites en รฉchecย : %1$s. Sites rรฉussisย : %2$s.", + "HeatmapDuplicationSiteTypeError": "La fonction de copie nโ€™est pas prise en charge pour les sites suivantsย : %1$s.", + "HeatmapEndedActivity": "a terminรฉ la carte de chaleur \"%1$s\" pour le site \"%2$s\"", + "HeatmapInfoTrackVisitsFromCountries": "La carte de chaleur est configurรฉe pour ne suivre que les visites provenant de %1$s.", + "HeatmapNameHelp": "Dรฉfinit le nom sous lequel le rapport de cette carte de chaleur sera disponible.", + "HeatmapPausedActivity": "a mis en pause la carte de chaleur \"%1$s\" pour le site \"%2$s\"", + "HeatmapResumedActivity": "a repris la carte de chaleur \"%1$s\" pour le site \"%2$s\"", + "HeatmapSampleLimit": "Nombre de pages vues", + "HeatmapSampleLimitHelp": "Dรฉfinit le nombre de pages vues que vous souhaitez enregistrer au total.", + "HeatmapSampleRateHelp": "ร‰galement connu sous le nom de \"trafic\". Lorsque vous sรฉlectionnez 100%%, tous les visiteurs qui se rendent sur la page cible sรฉlectionnรฉe seront enregistrรฉs. Si vous sรฉlectionnez par exemple 10 %%, seul un visiteur sur dix sera enregistrรฉ. Plus le pourcentage sรฉlectionnรฉ est faible, plus il faudra de temps pour atteindre la limite d'รฉchantillonnage choisie.", + "HeatmapScreenshotDeletedActivity": "a supprimรฉ la capture d'รฉcran de la carte de chaleur \"%1$s\" pour le site \"%2$s\"", + "HeatmapTroubleshoot": "Vous rencontrez des problรจmesโ€ฏ? %1$sEn savoir plus%2$s.", + "HeatmapUpdated": "La carte de chaleur a รฉtรฉ mise ร  jour avec succรจs.", + "HeatmapUpdatedActivity": "a mis ร  jour la carte de chaleur \"%1$s\" pour le site \"%2$s\"", + "HeatmapUsageBenefits": "Les cartes de chaleur vous permettent d'enregistrer tous les clics, mouvements de souris et activitรฉs de dรฉfilement de vos visiteurs sur une page donnรฉe. Cela vous permet de savoir oรน les utilisateurs pensent que quelque chose est cliquable mais ne l'est pas, s'il y a des parties de la page qui sont ร  peine consultรฉes ou avec lesquelles il y a peu d'interaction, ce que vos visiteurs recherchent, quelle partie de la page est visible lorsque les utilisateurs consultent votre page, et plus encore.", + "HeatmapWidth": "Largeur de la carte de chaleur", + "HeatmapX": "Carte de chaleur %s", + "HeatmapXRecordedSamplesSince": "%1$s รฉchantillons ont รฉtรฉ enregistrรฉs depuis %2$s.", + "Heatmaps": "Cartes de chaleur", + "Manage": "Gรฉrer", + "ManageHeatmapSubcategoryHelp": "Les cartes de chaleur vous permettent d'enregistrer tous les clics, mouvements de souris et activitรฉs de dรฉfilement de vos visiteurs sur une page spรฉcifique. Cette section vous permet de crรฉer et de gรฉrer le suivi de cartes de chaleur pour votre site Web.", + "ManageHeatmaps": "Gรฉrer les cartes de chaleur", + "ManageSessionRecordingSubcategoryHelp": "Les enregistrements de session vous permettent d'enregistrer toutes les activitรฉs d'un visiteur rรฉel au cours de sa session (visite), telles que les clics, les mouvements de souris, les dรฉfilements, les redimensionnements de fenรชtre, les changements de page et les interactions de formulaire. Cette section vous permet de crรฉer et de gรฉrer les enregistrements de session pour votre site.", + "ManageSessionRecordings": "Gรฉrer les enregistrements des sessions", + "MatomoJSNotWritableErrorMessage": "HeatmapSessionRecordingโ€ฏ: %1$s ne peut actuellement pas suivre les visites, car le fichier matomo.js est en lecture seule. Veuillez consulter la %2$sdocumentation%3$s pour savoir comment rendre le fichier modifiable.", + "MinSessionTime": "Durรฉe minimale de la visite", + "MinSessionTimeHelp": "Une session ne sera enregistrรฉe que lorsqu'un visiteur aura passรฉ au moins le temps spรฉcifiรฉ sur une page.", + "MoveRate": "Taux de mouvementsย :", + "Moves": "Mouvementsย :", + "NHeatmaps": "%s cartes de chaleur", + "NSessionRecordings": "%s enregistrements de sessions", + "NoHeatmapSamplesRecordedYet": "Aucune page vue n'a encore รฉtรฉ enregistrรฉe pour cette carte de chaleur. Si des enregistrements sont censรฉs avoir lieu ร  l'heure actuelle, il se peut que les pages cibles configurรฉes pour cette carte de chaleur ne correspondent ร  aucune page de votre site Web. Il est รฉgalement recommandรฉ de vรฉrifier la \"Vรฉrification du systรจme\" sous \"Administration\" (uniquement pour les super utilisateurs) pour voir si votre systรจme est configurรฉ pour suivre automatiquement les cartes de chaleur.", + "NoHeatmapSamplesRecordedYetWithoutSystemConfiguration": "Aucune vue de page n'a encore รฉtรฉ enregistrรฉe pour cette carte de chaleur. S'il devait y avoir des enregistrements ร  ce stade, il est possible que les pages configurรฉes ciblรฉes pour cette carte de chaleur ne correspondent ร  aucune page de votre site web.", + "NoHeatmapScreenshotRecordedYet": "Il y a eu %1$s รฉchantillons enregistrรฉs jusqu'ร  prรฉsent. Cependant, aucune capture d'รฉcran n'a encore รฉtรฉ effectuรฉe. S'il y a un \"%2$s\" pour cette carte de chaleur, la capture d'รฉcran peut prendre un certain temps avant d'รชtre disponible car l'utilisateur doit d'abord ouvrir cette URL de capture d'รฉcran. Selon le taux d'รฉchantillonnage, cela peut prendre un certain temps.", + "NoHeatmapsConfiguredInfo": "Il n'y a actuellement aucune carte de chaleur active. Pour afficher les cartes de chaleur, veuillez demander ร  un utilisateur ayant au moins un accรจs administrateur de crรฉer une nouvelle carte de chaleur.", + "NoHeatmapsFound": "Pas de carte de chaleur trouvรฉe", + "NoSessionRecordedYet": "Aucune session n'a encore รฉtรฉ enregistrรฉe. Si des sessions sont censรฉes รชtre dรฉjร  enregistrรฉes, il se peut que la page d'entrรฉe configurรฉe ne corresponde ร  aucune page de votre site Web. Il est รฉgalement recommandรฉ de vรฉrifier la \"Vรฉrification du systรจme\" sous \"Administration\" (uniquement pour les super utilisateurs) pour voir si votre systรจme est configurรฉ pour enregistrer automatiquement les sessions.", + "NoSessionRecordedYetWithoutSystemConfiguration": "Aucune session n'a encore รฉtรฉ enregistrรฉe. S'il devait y avoir des sessions enregistrรฉes ร  ce stade, il est possible que la page d'entrรฉe configurรฉe ne corresponde ร  aucune page de votre site web.", + "NoSessionRecordingsConfiguredInfo": "Il n'y a actuellement aucun enregistrement de session actif. Pour enregistrer de nouvelles sessions, veuillez demander ร  un utilisateur ayant au moins un accรจs administrateur de crรฉer un nouvel enregistrement.", + "NoSessionRecordingsFound": "Aucun enregistrement de session trouvรฉ", + "None": "Aucun", + "NotSupportedBrowser": "Ce navigateur n'est pas pris en charge. Veuillez utiliser une version plus rรฉcente ou essayer un autre navigateur.", + "OnePageview": "1 page vue", + "PageRule": "Rรจgle de la page", + "PageviewXofY": "Page vue %1$s de %2$s", + "PageviewsInVisit": "Pages vues enregistrรฉes au cours de cette session", + "PauseReason": "Le %1$s a รฉtรฉ mis en pause en raison de la consommation de votre quota, veuillez contacter le support pour plus de dรฉtails.", + "PeriodDisabledErrorMessage": "La pรฉriode \"%1$s\" est dรฉsactivรฉe mais est nรฉcessaire pour que cette fonctionnalitรฉ marche. Sรฉlectionnez une autre pรฉriode ou demandez ร  un administrateur systรจme de modifier le fichier de configuration 'config/config.ini.php' de Matomo pour autoriser la pรฉriode \"%1$s\" dans le paramรจtre \"enabled_periods_API\".", + "PersonalInformationNote": "Veuillez noter qu'un %1$s peut enregistrer des informations personnelles ou sensibles. Si vous souhaitez masquer certains contenus sur votre site Web ou votre application, vous pouvez marquer ces contenus en ajoutant un attribut %2$sdata-matomo-mask%3$s au balisage HTML. %4$sEn savoir plus%5$s", + "PlayRecordedSession": "Lire cette session enregistrรฉe", + "PlayerDurationXofY": "%1$s de %2$s", + "PlayerForwardFast": "Passer %1$s secondes (raccourci %2$s)", + "PlayerPageViewNext": "Lire la page suivante de ce visiteur (%1$s) (raccourci %2$s)", + "PlayerPageViewPrevious": "Lire la page prรฉcรฉdente de ce visiteur %1$s (raccourci %2$s)", + "PlayerPause": "Pause (raccourci %s ou espace)", + "PlayerPlay": "Lire (raccourci %s ou espace)", + "PlayerReplay": "Relecture (raccourci %s ou espace)", + "PlayerRewindFast": "Rembobiner %1$s secondes (raccourci %2$s)", + "PolicyHeatmapRequirementNote": "Lโ€™enregistrement de la carte de chaleur dans le plugin HeatmapSessionRecording doit รชtre dรฉsactivรฉ", + "PolicyHeatmapTitle": "Cartes de chaleur โ€“ Dรฉsactiver lโ€™enregistrement de la carte de chaleur", + "PolicySessionRequirementNote": "Lโ€™enregistrement de session dans le plugin HeatmapSessionRecording doit รชtre dรฉsactivรฉ", + "PolicySessionTitle": "Cartes de chaleur โ€“ Dรฉsactiver lโ€™enregistrement de session", + "QuotaReachedForX": "Vous avez atteint votre limite de quota. Impossible de copier le %1$s en raison dโ€™une utilisation dรฉpassรฉe. Envisagez de supprimer les %2$s inutilisรฉs ou moins importants pour gรฉrer votre quota.", + "RecordedHeatmapDocStatusActive": "Cette carte de chaleur est active. Jusqu'ร  %1$d pages vues seront enregistrรฉes avec un taux d'รฉchantillonnage de %2$s.", + "RecordedHeatmapDocStatusEnded": "Cette carte de chaleur est terminรฉe. Aucune nouvelle activitรฉ ne sera enregistrรฉe.", + "RecordedPageviewDeletedActivity": "a supprimรฉ une vue de page enregistrรฉe pour l'enregistrement de session \"%1$s\" pour le site \"%2$s\"", + "RecordedSessionDeletedActivity": "a supprimรฉ un enregistrement de session pour l'enregistrement de session \"%1$s\" pour le site \"%2$s\"", + "RecordedSessions": "Sessions enregistrรฉes", + "RecordedSessionsDocStatusActive": "L'enregistrement de cette session est actif. Jusqu'ร  %1$d sessions seront enregistrรฉes avec une frรฉquence d'รฉchantillonnage de %2$s.", + "RecordedSessionsDocStatusEnded": "L'enregistrement de cette session est terminรฉ et aucune nouvelle session ne sera enregistrรฉe.", + "Recordings": "Enregistrements", + "ReplayRecordedSession": "Regarder ร  nouveau l'enregistrement de session", + "ReplayX": "Regarder ร  nouveau %s", + "ReportRecordedSessionsDocumentation": "Une liste de toutes les sessions qui ont รฉtรฉ enregistrรฉes. Vous pouvez revisionner n'importe quelle session enregistrรฉe.", + "RequiresActivity": "Requiert une activitรฉ", + "RequiresActivityHelp": "Si cette option est activรฉe, seules les sessions qui prรฉsentent une activitรฉ de dรฉfilement et de clic dans une vue de page seront enregistrรฉes. Cela permet d'รฉviter l'enregistrement de sessions avec peu d'activitรฉ.", + "Rule": "Rรจgle", + "SampleLimit": "Limite d'รฉchantillonnage", + "SampleRate": "Taux d'รฉchantillonnage", + "ScreenshotUrl": "URL de la capture d'รฉcran", + "ScreenshotUrlHelp": "Par dรฉfaut, une capture d'รฉcran est rรฉalisรฉe lorsque le premier visiteur visualise la page cible. Si diffรฉrentes URLs de pages correspondent ร  votre page cible, vous pouvez spรฉcifier une URL spรฉcifique qui doit รชtre utilisรฉe pour capturer l'รฉcran. La visualisation de la carte de chaleur ne sera disponible que lorsqu'au moins un visiteur aura visitรฉ cette URL dont les activitรฉs sont enregistrรฉes. Si elle est dรฉfinie, l'URL doit correspondre exactement. Pour ignorer le protocole, commencez l'URL par deux doubles barres obliques (//exemple.com). Veuillez noter que cette URL ne peut pas รชtre modifiรฉe dรจs qu'une capture d'รฉcran a รฉtรฉ rรฉalisรฉe.", + "SessionNameHelp": "Dรฉfinit le nom sous lequel les enregistrements de la session seront disponibles.", + "SessionRecording": "Enregistrement de sessions", + "SessionRecordingAddedActivity": "a ajoutรฉ un enregistrement de session \"%1$s\" pour le site \"%2$s\"", + "SessionRecordingCreated": "L'enregistrement de la session a รฉtรฉ crรฉรฉ avec succรจs.", + "SessionRecordingDeletedActivity": "a supprimรฉ l'enregistrement de session \"%1$s\" pour le site %2$s\"", + "SessionRecordingEndedActivity": "a terminรฉ l'enregistrement de session \"%1$s\" pour le site \"%2$s\"", + "SessionRecordingInfoTrackVisitsFromCountries": "L'enregistrement de session est configurรฉ pour ne suivre que les visites provenant de %1$s.", + "SessionRecordingPausedActivity": "a mis en pause l'enregistrement de session \"%1$s\" pour le site \"%2$s\"", + "SessionRecordingResumedActivity": "a repris l'enregistrement de session \"%1$s\" pour le site \"%2$s\"", + "SessionRecordingUpdated": "L'enregistrement de la session a รฉtรฉ mis ร  jour avec succรจs.", + "SessionRecordingUpdatedActivity": "a mis ร  jour l'enregistrement de session \"%1$s\" pour le site \"%2$s\"", + "SessionRecordingX": "Enregistrement de session %s", + "SessionRecordings": "Enregistrements des sessions", + "SessionRecordingsUsageBenefits": "Les enregistrements de session vous permettent d'enregistrer toutes les activitรฉs d'un visiteur rรฉel au cours de sa session (visite), telles que les clics, les mouvements de souris, les dรฉfilements, les redimensionnements de fenรชtre, les changements de page et les interactions de formulaire. Vous pouvez ensuite rejouer ces interactions pour voir exactement comment un visiteur a interagi avec votre site Web. De cette faรงon, vous comprenez leurs attentes, les problรจmes qu'ils peuvent rencontrer, leurs habitudes d'utilisation, etc.", + "SessionSampleLimit": "Nombre de sessions", + "SessionSampleLimitHelp": "Dรฉfinit le nombre de sessions que vous souhaitez enregistrer au total.", + "SessionSampleRateHelp": "ร‰galement connu sous le nom de \"trafic\". Si vous sรฉlectionnez 100%%, toutes les sessions seront enregistrรฉes dรจs qu'elles auront atteint la page cible. Si vous sรฉlectionnez par exemple 10 %%, seule une session sur dix sera enregistrรฉe. Plus le pourcentage sรฉlectionnรฉ est faible, plus il faudra de temps pour atteindre la limite d'รฉchantillonnage choisie.", + "SourceHeatmapLookupError": "Une erreur inattendue sโ€™est produite lors de la recherche de la carte de chaleur source. Veuillez rรฉessayer. Contactez votre administrateur ou le support si le problรจme persiste.", + "StatusActive": "Active", + "StatusEnded": "Terminรฉe", + "StatusPaused": "En pause", + "StopX": "Arrรชtez d'enregistrer toute nouvelle activitรฉ pour ce %s.", + "TargetAttributePath": "Chemin", + "TargetAttributeUrl": "URL", + "TargetAttributeUrlParameter": "Paramรจtre d'URL", + "TargetAttributeUrlParameterExample": "nameOfUrlParameter", + "TargetPage": "Page cible", + "TargetPageTestErrorInvalidUrl": "Entrez une URL incluant un protocole.", + "TargetPageTestLabel": "Saisissez une URL complรจte, y compris le protocole, pour vรฉrifier si les activitรฉs seront enregistrรฉes sur cette URL :", + "TargetPageTestTitle": "Validation de l'URL", + "TargetPageTestUrlMatches": "Les activitรฉs seront enregistrรฉes pour cette URL", + "TargetPageTestUrlNotMatches": "Les activitรฉs ne seront pas enregistrรฉes pour cette URL", + "TargetPages": "Pages d'entrรฉe", + "TargetTypeContains": "contient", + "TargetTypeEqualsExactly": "strictement รฉgal", + "TargetTypeEqualsExactlyInfo": "La valeur doit correspondre exactement, y compris le protocole URL, la requรชte de recherche et le hachage.", + "TargetTypeEqualsSimple": "est รฉgal ร ", + "TargetTypeEqualsSimpleInfo": "L'URL correspondra ร  n'importe quel protocole (par exemple http et https) avec ou sans le sous-domaine \"www.\". Tout slash de fin de chemin ainsi que la requรชte de recherche et la partie hash de l'URL seront ignorรฉs lors de la recherche de l'URL.", + "TargetTypeExists": "existe", + "TargetTypeIsAny": "n'importe quel", + "TargetTypeIsNot": "n'est pas %s", + "TargetTypeRegExp": "correspond ร  l'expression rรฉguliรจre", + "TargetTypeRegExpInfo": "Toute expression rรฉguliรจre, par exemple \"^(.*)test(.*)$\".", + "TargetTypeStartsWith": "commence par", + "TimeOnSite": "Temps passรฉ sur le site web", + "TotalEvents": "ร‰vรฉnements", + "TrackingDisabledDefaultSettingDescription": "Cette fonctionnalitรฉ peut รชtre utile si votre Matomo possรจde plusieurs sites et que vous souhaitez utiliser la fonction uniquement sur quelques sites spรฉcifiques. Lorsque vous dรฉsactivez le suivi par dรฉfaut, la fonction d'enregistrement des cartes de chaleur et des sessions ne s'exรฉcutera sur aucun site, sauf si vous l'activez spรฉcifiquement dans le cadre de votre code de suivi, par exemple en appelant '_paq.push(['HeatmapSessionRecording::enable']);'. Cela permet d'รฉviter des requรชtes rรฉseau inutiles vers le fichier 'configs.php' pour dรฉterminer si une carte de chaleur ou un enregistrement de session est configurรฉ pour le site actuel. Cela peut รฉgalement รชtre utile pour des raisons de confidentialitรฉ si vous voulez vous assurer que la fonctionnalitรฉ ne sera utilisรฉe que sur certains sites.", + "TrackingDisabledDefaultSettingTitle": "Dรฉsactiver le suivi par dรฉfaut", + "UpdatingData": "Mise ร  jour des donnรฉesโ€ฆ", + "UrlParameterValueToMatchPlaceholder": "Valeur ร  faire correspondre au nom du paramรจtre de l'URL", + "UrlXDoesNotLookLikeUrl": "Le %s ne ressemble pas ร  une URL. Assurez-vous qu'il contient un protocole comme http:// ou qu'il commence par //", + "ViewReport": "Voir le rapport", + "ViewportResolution": "Rรฉsolution de la fenรชtre de visualisation (largeur x hauteur)", + "Width": "Largeur", + "XSamples": "%s รฉchantillons", + "disable": "dรฉsactivรฉ", + "enable": "activรฉ" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/ga.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ga.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ga.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/gl.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/gl.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/gl.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/gu.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/gu.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/gu.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/he.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/he.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/he.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/hi.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/hi.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/hi.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/hr.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/hr.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/hr.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/hu.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/hu.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/hu.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/hy.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/hy.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/hy.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/id.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/id.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/id.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/is.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/is.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/is.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/it.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/it.json new file mode 100644 index 0000000..960baeb --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/it.json @@ -0,0 +1,190 @@ +{ + "HeatmapSessionRecording": { + "ActivityClick": "Clicca", + "ActivityFormChange": "Cambio Form", + "ActivityFormText": "Cambio Testo Form", + "ActivityFormValue": "Cambio Valore Form", + "ActivityInitialDom": "Pagina Iniziale", + "ActivityMove": "Sposta", + "ActivityPageChange": "Cambia all'interno della pagina", + "ActivityResize": "Ridimensiona", + "ActivityScroll": "Scorri", + "ActivityScrollElement": "Elemento Scroll", + "AdvancedOptions": "Opzioni avanzate", + "AutoPlayNextPageview": "Clicca per %1$s riprodurre automaticamente la successiva visualizzazione di pagina (scorciatoia %2$s)", + "AvgAboveFoldDescription": "In media i visitatori vedono il contenuto sopra questa riga senza dover scorrere", + "AvgAboveFoldTitle": "Media Parte Alta (Above Fold) %spx", + "BreakpointGeneralHelp": "Il tipo di dispositivo viene rilevato automaticamente quando un visitatore visualizza il tuo sito web. Tuttavia, a volte potrebbe non essere possibile rilevarlo. Se il tuo sito web รจ responsive e il tuo layout si interrompe a un certo punto, metteremo gli utenti desktop con una piccola risoluzione in questo tipo di dispositivo per heatmap piรน accurate. Qualsiasi larghezza inferiore a questo valore verrร  inserita in questo tipo di dispositivo. Impostalo su zero se il tuo sito web non รจ responsive.", + "BreakpointGeneralHelpManage": "Un utente con accesso Super User puรฒ modificare i valori predefiniti per questi breakpoints in Amministrazione => Impostazioni generali.", + "BreakpointX": "Breakpoint %s", + "CaptureKeystrokes": "Cattura sequenze di tasti", + "CaptureKeystrokesHelp": "Se abilitato, qualsiasi testo inserito nei campi del modulo di testo viene registrato. Mentre il testo viene registrato, ogni carattere inserito da un utente viene sostituito da un asterisco (*). รˆ possibile autorizzare la registrazione di determinati campi di testo semplice mediante la specifica di un attributo \"data-matomo-unmask\" in un campo del form. Tuttavia, i campi password e molti altri campi che potrebbero potenzialmente includere informazioni personali (indirizzo, e-mail, dati della carta di credito, nome utente, numero di telefono, ...) saranno sempre mascherati automaticamente se rilevati come tali (%1$sulteriori informazioni%2$s). Si noti che quando si attiva questa funzione, รจ possibile registrare i dati personali che possono essere rilevanti per il GDPR.", + "ChangeReplaySpeed": "Cambia velocitร  di riproduzione (scorciatoia %s)", + "ClickToSkipPauses": "Clicca per %1$s saltare le pause (scorciatoia %2$s)", + "ColumnActionsDocumentation": "Riproduci la sessione registrata o elimina definitivamente la registrazione.", + "ColumnBrowserDocumentation": "Browser che il visitatore stava utilizzando quando รจ stata registrata questa sessione.", + "ColumnDeviceDocumentation": "Dispositivo che il visitatore stava utilizzando quando รจ stata registrata questa sessione.", + "ColumnLabelRecordedSessions": "URL Ingresso โ†’ URL Uscita", + "ColumnLocationDocumentation": "Posizione del visitatore quando รจ stata registrata questa sessione.", + "ColumnOperatingSystem": "SO", + "ColumnOperatingSystemDocumentation": "Sistema operativo che il visitatore stava utilizzando quando รจ stata registrata questa sessione.", + "ColumnPageviewsDocumentation": "Numero di visualizzazioni di pagina registrate durante questa sessione.", + "ColumnResolutionDocumentation": "Numero di pixel della finestra visibile del browser quando l'utente ha aperto questa pagina.", + "ColumnTime": "Ora", + "ColumnTimeDocumentation": "Ora della registrazione nel fuso orario del sito.", + "ColumnTimeOnPageDocumentation": "Quanto tempo ha trascorso il visitatore in questa pagina durante la registrazione della sessione", + "ColumnTimeOnSiteDocumentation": "Quanto tempo ha trascorso il visitatore in totale durante la registrazione della sessione", + "ConfigsInternetDisabled": "Non รจ stato possibile verificare se \"%s\" รจ accessibile perchรฉ la connessione Internet รจ disabilitata su questo Matomo.", + "ConfigsPhpErrorResult": "Di conseguenza, il tracciamento delle Heatmaps e delle Registrazioni di Sessione potrebbe non funzionare. Potrebbe essere necessario modificare la configurazione del server per consentire l'accesso a questo file tramite Internet o Intranet.", + "ConfigsPhpManualCheck": "Si prega di aprire l'URL manualmente in un browser per vedere se la risposta contiene \"Piwik.HeatmapSessionRecording\". In caso contrario, potrebbe essere necessario modificare la configurazione del server in quanto questo file deve essere accessibile tramite un browser da Internet o Intranet.", + "ConfigsPhpNotAccessible": "L'URL \"%s\" sembra non essere accessibile da Internet o Intranet.", + "ConfigsPhpSelfSignedError": "La richiesta \"%s\" ha provocato un errore SSL. Forse stai usando un certificato \"self-signed\"?", + "ConfigsPhpSuccess": "\"%s\" รจ accessibile", + "ConfigsPhpUnknown": "Non รจ stato possibile verificare se \"%s\" รจ accessibile su Internet o Intranet..", + "ConfigsPhpUnknownError": "La richiesta \"%1$s\" ha provocato un errore: %2$s.", + "CreateNewHeatmap": "Crea nuova heatmap", + "CreateNewSessionRecording": "Crea nuova registrazione di sessione", + "CreationDate": "Data Creazione", + "DeleteHeatmapConfirm": "Sei sicuro di voler eliminare questa heatmap? I report sulle heatmap generati in precedenza non saranno piรน disponibili nell'interfaccia utente dei rapporti.", + "DeleteHeatmapScreenshotConfirm": "Sei sicuro di voler eliminare questo screenshot? Potrebbe essere necessario un po 'di tempo prima che lo screenshot venga ripreso.", + "DeleteRecordedPageview": "Elimina questa visualizzazione di pagina registrata (non รจ richiesta conferma)", + "DeleteRecordedSession": "Elimina questa sessione registrata (non รจ richiesta conferma)", + "DeleteScreenshot": "Elimina Screenshot", + "DeleteSessionRecordingConfirm": "Sei sicuro di voler eliminare questa registrazione di sessione? Le registrazioni precedentemente generate non saranno piรน disponibili nell'interfaccia utente dei rapporti.", + "DeleteX": "Cancella %s", + "EditHeatmapX": "Modifica Heatmap %s", + "EditSessionRecordingX": "Modifica Registrazione di Sessione %s", + "EditX": "Modifica %s", + "EndHeatmapConfirm": "Sei sicuro di voler arrestare la cattura di ogni attivitร  per questa heatmap?", + "EndSessionRecordingConfirm": "Sei sicuro di voler arrestate la registrazione delle nuove sessioni?", + "ErrorArrayMissingKey": "Chiave array mancante \"%1$s\" in \"%2$s\" nella posizione \"%3$s\".", + "ErrorArrayMissingValue": "Valore chiave array \"%1$s\" mancante in \"%2$s\" nella posizione \"%3$s\".", + "ErrorHeatmapDoesNotExist": "La heatmap richiesta non esiste", + "ErrorHeatmapNameDuplicate": "Questo nome di heatmap รจ giร  utilizzato da un'altra heatmap.", + "ErrorInnerIsNotAnArray": "Ciascun \"%1$s\" in \"%2$s\" deve essere un array.", + "ErrorInvalidRegExp": "L'espressione regolare \"%1$s\" non รจ in un formato valido.", + "ErrorNotAnArray": "\"%1$s\" deve essere un array.", + "ErrorPageRuleRequired": "Deve essere impostata almeno una regola di pagina", + "ErrorSessionRecordingDoesNotExist": "La registrazione di sessione richiesta non esiste", + "ErrorXContainsWhitespace": "\"%1$s\" non puรฒ contenere spazi vuoti.", + "ErrorXNotANumber": "\"%1$s\" deve essere un numero.", + "ErrorXNotProvided": "Si prega di assegnare un valore per \"%1$s\".", + "ErrorXNotWhitelisted": "Il valore per \"%1$s\" non รจ consentito, usane uno tra: %2$s.", + "ErrorXTooHigh": "\"%1$s\" รจ troppo alto, il valore massimo consentito รจ %2$s.", + "ErrorXTooLong": "\"%1$s\" รจ troppo lungo, รจ permesso un massimo di %2$s caratteri.", + "ErrorXTooLow": "\"%1$s\" รจ troppo piccolo, il valore minimo consentito รจ %2$s.", + "ExcludedElements": "Elementi Esclusi", + "ExcludedElementsHelp": "Puoi opzionalmente definire dei selettori CSS per escludere determinati elementi che non devono essere visibili nell'anteprima della heatmap. Ad esempio, un popup che viene mostrato quando viene aperta la pagina di destinazione. รˆ possibile separare piรน selettori con una virgola.", + "FieldIncludedTargetsHelp": "I target consentono di definire su quali pagine devono essere registrate le attivitร  dell'utente. รˆ possibile definire una o piรน condizioni. Ad esempio, รจ possibile stabilire di registrare le attivitร  ogni volta che l'URL o il percorso รจ uguale a un determinato valore e solo se รจ presente. un determinato parametro URL. Le attivitร  verranno registrate solo quando tutte le condizioni sono soddisfatte, non se ne viene soddisfatta solo una. Tutte le condizioni saranno valutate senza distinzione tra maiuscole e minuscole. Quando selezioni \"uguale semplice\", il protocollo URL, i parametri di ricerca e una barra finale verranno ignorati.", + "FieldIncludedTargetsHelpSessions": "I target consentono di configurare solo l'avvio della registrazione di una sessione non appena un visitatore ha raggiunto una determinata pagina. Questo ti consente, ad esempio, di registrare solo le sessioni che arrivano al processo di checkout. รˆ possibile definire una o piรน condizioni. Ad esempio, รจ possibile stabilire di registrare una sessione solo quando l'URL o il percorso sono uguali a un determinato valore e solo se รจ presente un determinato parametro URL. Le sessioni verranno registrate solo quando tutte le condizioni sono soddisfatte in una visualizzazione di pagina, non se viene soddisfatta solo una di esse. Tutte le condizioni saranno valutate senza distinzione tra maiuscole e minuscole. Quando selezioni \"uguale semplice\", il protocollo URL, i parametri di ricerca e una barra finale verranno ignorati.", + "FieldNamePlaceholder": "es. \"Pagina di registrazione\"", + "FilesystemDirectory": "directory", + "Filter": "Filtra", + "GettingStarted": "Cominciamo", + "Heatmap": "Heatmap", + "HeatmapCreated": "La heatmap รจ stata creata con successo.", + "HeatmapNameHelp": "Definisce il nome con cui sarร  disponibile il report per questa heatmap.", + "HeatmapSampleLimit": "Numero di visualizzazioni di pagina", + "HeatmapSampleLimitHelp": "Definisce il numero totale di visualizzazioni di pagina che vuoi registrare.", + "HeatmapSampleRateHelp": "Conosciuto anche come \"traffico\". Quando selezioni 100%%, verranno registrati tutti i visitatori che visitano la pagina di destinazione impostata. Quando selezioni, per esempio, 10%%, verrร  registrato solo un visitatore ogni 10. Piรน bassa รจ la percentuale selezionata, piรน tempo ci vorrร  per raggiungere il limite di campionamento selezionato.", + "HeatmapUpdated": "La heatmap รจ stata aggiornata con successo.", + "HeatmapUsageBenefits": "Le heatmaps, o \"mappe di calore\", consentono di registrare tutti i click, i movimenti del mouse e le attivitร  di scroll dei visitatori su una determinata pagina. Questo ti aiuta a scoprire dove gli utenti pensano che qualcosa sia cliccabile ma non lo รจ, se ci sono parti della pagina che vengono visualizzate o interagiscono a malapena, cosa cercano i tuoi visitatori, quanta parte della pagina รจ visibile quando gli utenti la visualizzano e altro.", + "HeatmapWidth": "Larghezza heatmap", + "HeatmapX": "Heatmap %s", + "HeatmapXRecordedSamplesSince": "%1$s campioni sono stati registrati dal %2$s.", + "Heatmaps": "Heatmaps", + "Manage": "Gestione", + "ManageHeatmapSubcategoryHelp": "Le heatmaps ti consentono di registrare tutti i click, i movimenti del mouse e le attivitร  di scorrimento dei tuoi visitatori su una pagina specifica. Questa sezione ti consente di creare e di gestire il tracking Heatmap per il tuo sito web.", + "ManageHeatmaps": "Gestisci Heatmaps", + "ManageSessionRecordingSubcategoryHelp": "Le registrazioni delle sessioni ti consentono di registrare tutte le attivitร  di un visitatore reale durante la sua sessione (visita) come click, movimenti del mouse, scroll, ridimensionamenti delle finestre, cambi di pagina e interazioni del modulo. Questa sezione ti consente di creare e gestire le registrazioni delle sessioni per il tuo sito.", + "ManageSessionRecordings": "Gestione Registrazioni di Sessione", + "MinSessionTime": "Tempo Minimo per Sessione", + "MinSessionTimeHelp": "Una sessione verrร  registrata solo quando un visitatore ha trascorso almeno il tempo specificato su una pagina.", + "NHeatmaps": "%s heatmaps", + "NSessionRecordings": "%s registrazioni di sessione", + "NoHeatmapSamplesRecordedYet": "Nessuna visualizzazione di pagina รจ stata ancora registrata per questa heatmap. Se si suppone che ci dovrebbero essere delle registrazioni, forse le pagine obiettivo configurate per questa heatmap non corrispondono a nessuna pagina sul tuo sito web. Si consiglia inoltre di verificare \"Controllo Sistema\" in \"Amministrazione\" (solo Super Users) per vedere se il sistema รจ configurato per monitorare automaticamente le Heatmap.", + "NoHeatmapScreenshotRecordedYet": "Finora sono stati registrati %1$s campioni. Tuttavia, nessuno screenshot รจ stato ancora preso. Se c'รจ un \"%2$s\" per questa heatmap, potrebbe volerci un po' prima che lo screenshot diventi disponibile, poichรฉ un utente deve prima aprire l'URL di questo screenshot. A seconda della frequenza di campionamento, ciรฒ potrebbe richiedere del tempo.", + "NoHeatmapsConfiguredInfo": "Non ci sono al momento heatmap attive. Per visualizzare le heatmap, chiedi a un utente con almeno l'accesso come amministratore di crearne una nuova.", + "NoHeatmapsFound": "Non sono state trovate heatmaps", + "NoSessionRecordedYet": "Nessuna sessione รจ stata ancora registrata. Se in questo momento dovrebbero essere state registrate delle sessioni, forse la pagina di ingresso configurata non corrisponde a nessuna pagina sul tuo sito web. Si consiglia inoltre di verificare \"Controllo del Sistema\" in \"Amministrazione\" (solo Super Users) per vedere se il sistema รจ configurato per registrare automaticamente le sessioni.", + "NoSessionRecordingsConfiguredInfo": "Non ci sono attualmente registrazioni di sessioni attive. Per registrare nuove sessioni, chiedi a un utente che abbia almeno l'accesso come amministratore di creare una nuova registrazione.", + "NoSessionRecordingsFound": "Non sono state trovate registrazioni di sessione", + "NotSupportedBrowser": "Questo browser non รจ supportato, si prega di utilizzare una versione successiva o di provare un browser diverso.", + "OnePageview": "1 visualizzazione di pagina", + "PageRule": "Regola Pagina", + "PageviewXofY": "Vista pagina %1$s di %2$s", + "PageviewsInVisit": "Visualizzazioni di pagina registrate in questa sessione", + "PersonalInformationNote": "Si noti che %1$s puรฒ registrare informazioni personali o sensibili. Se desideri nascondere determinati contenuti sul tuo sito web o app, puoi taggare questo contenuto aggiungendo un attributo %2$sdata-matomo-mask%3$s al codice HTML. %4$sPer saperne di piรน%5$s", + "PlayRecordedSession": "Riproduci questa sessione registrata", + "PlayerDurationXofY": "%1$s di %2$s", + "PlayerForwardFast": "Salta %1$s secondi (scorciatoia %2$s)", + "PlayerPageViewNext": "Riproduci la successiva visualizzazione di pagina (%1$s) (scorciatoia %2$s)", + "PlayerPageViewPrevious": "Riproduci le precedenti visualizzazioni di pagina di questo visitatore %1$s (scorciatoia %2$s)", + "PlayerPause": "Pausa (scorciatoia %s o spazio)", + "PlayerPlay": "Riproduci (scorciatoia %s o spazio)", + "PlayerReplay": "Ripeti (scorciatoia %s o spazio)", + "PlayerRewindFast": "Indietro di %1$s secondi (scorciatoia %2$s)", + "RecordedHeatmapDocStatusActive": "Questa heatmap รจ attiva. Verranno registrate fino a %1$d visualizzazioni di pagina con una frequenza di campionamento di %2$s.", + "RecordedHeatmapDocStatusEnded": "Questa registrazione di sessione รจ terminata. Non verranno registrate nuove attivitร .", + "RecordedSessions": "Sessioni Registrate", + "RecordedSessionsDocStatusActive": "Questa registrazione di sessione รจ attiva. Verranno registrate fino a %1$d sessioni, con una frequenza di campionamento di %2$s.", + "RecordedSessionsDocStatusEnded": "Questa registrazione di sessione รจ terminata e non verranno registrate nuove sessioni.", + "Recordings": "Registrazioni", + "ReplayRecordedSession": "Riproduci sessione registrata", + "ReplayX": "Riproduci %s", + "ReportRecordedSessionsDocumentation": "Elenco di tutte le sessioni che sono state registrate. Puoi ripetere qualsiasi sessione registrata.", + "RequiresActivity": "Richiede attivitร ", + "RequiresActivityHelp": "Se abilitato, verranno registrate solo le sessioni che hanno un'attivitร  di scorrimento e di click in una visualizzazione di pagina. Ciรฒ impedisce la registrazione di sessioni con poca attivitร .", + "Rule": "Regola", + "SampleLimit": "Limite di Campionamnto", + "SampleRate": "Frequenza di Campionamento", + "ScreenshotUrl": "Screenshot URL", + "ScreenshotUrlHelp": "Per impostazione predefinita, viene eseguito uno screenshot quando il primo visitatore visualizza la pagina di destinazione. Se diversi URL di pagina corrispondono alla tua pagina di destinazione, puoi impostare un URL specifico affinchรฉ sia usato per catturare lo screenshot. La visualizzazione della heatmap sarร  disponibile solo quando almeno un visitatore ha visitato questo URL, le cui attivitร  sono registrate. Se definito, l'URL deve corrispondere in maniera esatta. Per ignorare il protocollo, avvia l'URL con due doppie barre (//example.com). Si prega di notare che questo URL non puรฒ essere modificato dal momento in cui viene preso uno screenshot.", + "SessionNameHelp": "Definisce il nome con cui saranno disponibili le registrazioni della sessione.", + "SessionRecording": "Registrazione di Sessione", + "SessionRecordingCreated": "La registrazione di sessione รจ stata creata con successo.", + "SessionRecordingUpdated": "La registrazione di sessione รจ stata aggiornata con successo.", + "SessionRecordingX": "Registrazione di Sessione %s", + "SessionRecordings": "Registrazioni di Sessione", + "SessionRecordingsUsageBenefits": "Le registrazioni di sessione consentono di registrare tutte le attivitร  di un visitatore reale durante la propria sessione (visita) quali click, movimenti del mouse, scroll, ridimensionamenti della finestra, modifiche della pagina e interazioni tra moduli. รˆ quindi possibile ripetere queste interazioni per vedere esattamente come un visitatore ha interagito con il tuo sito web. In questo modo puoi capire le aspettative, i problemi, gli schemi di utilizzo e altro ancora.", + "SessionSampleLimit": "Numero di sessioni", + "SessionSampleLimitHelp": "Definisce il numero totale di sessioni che vuoi registrare.", + "SessionSampleRateHelp": "Conosciuto anche come \"traffico\". Quando selezioni 100%%, verranno registrate tutte le sessioni non appena avranno raggiunto la pagina di destinazione. Quando selezioni, per esempio, 10%%, verrร  registrata solo una sessione ogni 10. Piรน bassa รจ la percentuale selezionata, piรน tempo ci vorrร  per raggiungere il limite di campionamento selezionato.", + "StatusActive": "Attiva", + "StatusEnded": "Terminata", + "StopX": "Ferma la registrazione di ogni nuova attivitร  per questa %s.", + "TargetAttributePath": "Percorso", + "TargetAttributeUrl": "URL", + "TargetAttributeUrlParameter": "Parametro URL", + "TargetAttributeUrlParameterExample": "nameOfUrlParameter", + "TargetPage": "Pagina Obiettivo", + "TargetPageTestErrorInvalidUrl": "Inserisci un URL incluso un protocollo.", + "TargetPageTestLabel": "Inserisci un URL completo, incluso il protocollo, per verificare se le attivitร  su questo URL verranno registrate:", + "TargetPageTestTitle": "Convalida URL", + "TargetPageTestUrlMatches": "Le attivitร  su questo URL verranno registrate", + "TargetPageTestUrlNotMatches": "Le attivitร  su questo URL non verranno registrate", + "TargetPages": "Pagine di Ingresso", + "TargetTypeContains": "Contiene", + "TargetTypeEqualsExactly": "esattamente uguale a", + "TargetTypeEqualsExactlyInfo": "Il valore deve corrispondere esattamente, incluso il protocollo URL, la query di ricerca e l'hash.", + "TargetTypeEqualsSimple": "uguale semplice", + "TargetTypeEqualsSimpleInfo": "L'URL corrisponderร  a qualsiasi protocollo (ad esempio http e https) con o senza il sottodominio \"www.\". Qualsiasi barra finale del percorso, nonchรฉ la query di ricerca e la parte hash dell'URL verranno ignorate durante la corrispondenza dell'URL.", + "TargetTypeExists": "esiste", + "TargetTypeIsAny": "รจ qualsiasi", + "TargetTypeIsNot": "non %s", + "TargetTypeRegExp": "corrisponde all'espressione regolare", + "TargetTypeRegExpInfo": "Ogni espressione regolare, per esempio \"^(.*)test(.*)$\".", + "TargetTypeStartsWith": "comincia con", + "TimeOnSite": "Tempo sul sito", + "TrackingDisabledDefaultSettingDescription": "Questa funzionalitร  puรฒ essere utile se il tuo Matomo gestisce piรน siti e desideri utilizzare la funzione solo in alcuni siti specifici. Quando si disabilita il tracking come impostazione predefinita, le funzionalitร  Heatmap e Registrazione della sessione non verranno eseguite su alcun sito a meno che non le si abiliti specificamente come parte del codice di tracking, ad esempio chiamando '_paq.push (['HeatmapSessionRecording :: enable']); ' . Ciรฒ evita richieste di rete non necessarie al file 'configs.php' per determinare se una heatmap o una registrazione di sessione รจ configurata per il sito corrente. Puรฒ anche essere utile per motivi di privacy se vuoi assicurarti che la funzione venga utilizzata solo su alcuni siti.", + "TrackingDisabledDefaultSettingTitle": "Disabilita il tracking come impostazione predefinita", + "UpdatingData": "Aggiornamento datiโ€ฆ", + "UrlParameterValueToMatchPlaceholder": "Valore da abbinare per il nome del parametro URL", + "UrlXDoesNotLookLikeUrl": "%snon sembra un URL. Assicurati che contenga un protocollo come http:// oppure che inizi con //", + "ViewReport": "Vedi report", + "ViewportResolution": "Risoluzione della finestra visibile (Viewport: larghezza x altezza)", + "XSamples": "%s campioni", + "disable": "disabilita", + "enable": "abilita" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/ja.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ja.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ja.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/ka.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ka.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ka.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/ko.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ko.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ko.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/ku.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ku.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ku.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/lb.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/lb.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/lb.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/lt.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/lt.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/lt.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/lv.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/lv.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/lv.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/ms.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ms.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ms.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/nb.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/nb.json new file mode 100644 index 0000000..ef82999 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/nb.json @@ -0,0 +1,35 @@ +{ + "HeatmapSessionRecording": { + "Recordings": "Opptak", + "Heatmaps": "Varmekart", + "Heatmap": "Varmekart", + "HeatmapX": "Varmekart %s", + "NHeatmaps": "%s varmekart", + "NSessionRecordings": "%s opptak av besรธk", + "NoHeatmapsFound": "Fant ingen varmekart", + "NoSessionRecordingsFound": "Fant ingen opptak av besรธk", + "HeatmapUsageBenefits": "Varmekart lar deg ta opp og visualisere alle klikk, musbevegelser og skrolle-aktiviteter nรฅr dine besรธkere er pรฅ en gitt side. Dette hjelper deg รฅ finne ut hva brukere tror kan klikkes pรฅ men ikke er det, om det er deler av siden som ikke brukes, hva besรธkerne ser etter, hvor mye av siden som synlig nรฅr brukere ser pรฅ siden, og mer.", + "HeatmapXRecordedSamplesSince": "%1$s opptak har blitt gjort siden %2$s.", + "SessionRecordingsUsageBenefits": "Opptak av besรธk lar deg spille inn alle aktiviteter av reelle brukere i lรธpet av besรธkene, slik som klikk, musebevegelser, skrolling, justering av vindusstรธrrelse, sideendringer og skjemainteraksjoner. Du kan sรฅ spille av disse interaksjonene for รฅ se nรธyaktig hvordan en bruker brukte ditt nettsted. Pรฅ denne mรฅten forstรฅr du bedre deres forventninger, problemer, bruksmรธnstre, og mer.", + "SessionRecordings": "Opptak av besรธk", + "SessionRecording": "Opptak av besรธk", + "AutoPlayNextPageview": "Klikk for รฅ %1$s autospilling av neste sidevisning (snarvei %2$s)", + "ClickToSkipPauses": "Klikk for รฅ %1$s hoppe over pauser (snarvei %2$s)", + "ChangeReplaySpeed": "Endre avspillingshastighet (snarvei %s)", + "PageviewXofY": "Sidevisning %1$s av %2$s", + "enable": "aktiver", + "disable": "deaktiver", + "ReplayX": "Spill av %s", + "CreationDate": "Opprettet dato", + "SessionRecordingX": "Opptak %s", + "ReplayRecordedSession": "Spill av innspilt besรธk", + "RecordedSessions": "Opptak av besรธk", + "RecordedSessionsDocStatusActive": "Dette opptaket er aktivt. %2$s av besรธkene vil bli tatt opp, opp til %1$d besรธk.", + "RecordedSessionsDocStatusEnded": "Dette opptaket har blitt avsluttet, og ingen nye besรธk vil bli tatt opp.", + "RecordedHeatmapDocStatusActive": "Varmekartet er aktivt. %2$s av sidevisningene vil bli tatt opp, opp til %1$d sidevisninger.", + "RecordedHeatmapDocStatusEnded": "Opptaket av varmekartet er avsluttet. Ingen ny aktivitet vil bli tatt opp.", + "StatusActive": "Aktiv", + "StatusEnded": "Avsluttet", + "ExcludedElements": "Ekskluderte elementer" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/nl.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/nl.json new file mode 100644 index 0000000..9eb6ade --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/nl.json @@ -0,0 +1,185 @@ +{ + "HeatmapSessionRecording": { + "ActivityClick": "Klik", + "ActivityFormChange": "Formulier Wijziging", + "ActivityFormText": "Formulier Tekst Wijziging", + "ActivityFormValue": "Formulier Waarde Wijziging", + "ActivityInitialDom": "Initiรซle Pagina", + "ActivityMove": "Verplaats", + "ActivityResize": "Verkleinen", + "ActivityScroll": "Scroll", + "ActivityScrollElement": "Scroll Element", + "AdvancedOptions": "Geavanceerde Instellingen", + "AutoPlayNextPageview": "Klik %1$s om de volgende pagina bezoek automatisch af te spelen (shortcut %2$s)", + "AvgAboveFoldDescription": "Gemiddeld zien bezoekers de inhoud boven deze regel zonder te scrollen", + "AvgAboveFoldTitle": "Gem. Boven Vouw %spx", + "BreakpointGeneralHelp": "Het apparaattype wordt automatisch gedetecteerd wanneer een bezoeker uw website bezoekt. Soms is het echter niet mogelijk om het apparaattype te detecteren. Als uw website reageert en uw lay-out op een bepaald punt breekt, zullen we desktopgebruikers met een kleine resolutie in dit apparaattype plaatsen voor nauwkeurigere heatmaps. Elke breedte lager dan deze waarde wordt in dit apparaattype geplaatst. Zet het op nul als uw website niet reageert.", + "BreakpointGeneralHelpManage": "Een gebruiker met Super User rechten kan de standaard waarden voor deze breakpoints wijzigen in Administratie => Algemene Instellingen.", + "BreakpointX": "Breakpoint %s", + "CaptureKeystrokes": "Leg toetsaanslagen vast", + "CaptureKeystrokesHelp": "Indien ingeschakeld, wordt alle tekst die is ingevoerd in tekstformuliervelden, vastgelegd. Terwijl de tekst wordt opgenomen, wordt elk teken dat een gebruiker invoert vervangen door een ster ('*'). U kunt bepaalde velden die in platte tekst moeten worden opgenomen, op de witte lijst zetten door een 'data-matomo-unmask'-kenmerk op te geven in een formulierveld. Wachtwoordvelden en vele andere velden die mogelijk persoonlijke informatie kunnen bevatten (adres, e-mail, creditcardgegevens, gebruikersnaam, telefoonnummer, ...) worden echter altijd automatisch gemaskeerd als ze door ons als zodanig worden gedetecteerd (%1$slearn more%2$s) . Houd er rekening mee dat wanneer u deze functie inschakelt, u persoonlijke gegevens kunt opnemen die van invloed kunnen zijn op de AVG.", + "ChangeReplaySpeed": "Wijzig afspeel snelheid (shortcut %s)", + "ClickToSkipPauses": "Klik op %1$s om pauzes over te slaan (shortcut %2$s)", + "ColumnActionsDocumentation": "Speel de opgenomen sessie of verwijder de opname definitief.", + "ColumnBrowserDocumentation": "De browser die de bezoeker gebruikte toen deze sessie werd opgenomen.", + "ColumnDeviceDocumentation": "Het apparaat die de bezoeker gebruikte toen deze sessie werd opgenomen.", + "ColumnLabelRecordedSessions": "Binnenkomst URL โ†’ Exit URL", + "ColumnLocationDocumentation": "De locatie van de bezoeker toen deze sessie werd opgenomen.", + "ColumnOperatingSystem": "OS", + "ColumnOperatingSystemDocumentation": "Het besturingssysteem dat de bezoeker gebruikte toen deze sessie werd opgenomen.", + "ColumnPageviewsDocumentation": "Het aantal paginaweergaven dat is opgenomen gedurende deze sessie.", + "ColumnResolutionDocumentation": "Het aantal pixels van de zichtbare viewport in het browservenster toen de gebruiker deze pagina opende.", + "ColumnTime": "Tijd", + "ColumnTimeDocumentation": "Het tijdstip de opname startte in de tijdzone van de website.", + "ColumnTimeOnPageDocumentation": "Hoeveel tijd de bezoeker op deze pagina heeft doorgebracht terwijl de sessie werd opgenomen", + "ColumnTimeOnSiteDocumentation": "Hoeveel tijd de bezoeker in totaal doorbracht terwijl de sessie werd opgenomen.", + "ConfigsInternetDisabled": "We konden niet controleren of '%s' toegankelijk is omdat de internetverbinding op deze Matomo is uitgeschakeld.", + "ConfigsPhpErrorResult": "Als gevolg hiervan werkt het bijhouden van Heatmaps en Session Recordings mogelijk niet. Mogelijk moet u uw webserverconfiguratie wijzigen om toegang tot dit bestand via internet of intranet mogelijk te maken.", + "ConfigsPhpManualCheck": "Open de URL handmatig in een browser om te zien of het antwoord 'Piwik.HeatmapSessionRecording' bevat. Als dat niet het geval is, moet u mogelijk uw serverconfiguratie wijzigen omdat dit bestand toegankelijk moet zijn via een browser vanaf internet of intranet.", + "ConfigsPhpNotAccessible": "De URL '%s' lijkt niet toegankelijk vanaf het Internet of Intranet.", + "ConfigsPhpSelfSignedError": "Opvragen van '%s' resulteerde in een SSL error. Misschien gebruik je een zelfondertekend certificaat?", + "ConfigsPhpSuccess": "'%s' is toegankelijk", + "ConfigsPhpUnknown": "We konden niet controleren of '%s' toegankelijk is via internet of intranet.", + "ConfigsPhpUnknownError": "Het opvragen van '%1$s' resulteerde in een error: %2$s.", + "CreateNewHeatmap": "Maak een nieuwe heatmap", + "CreateNewSessionRecording": "Creรซer nieuwe sessie opname", + "CreationDate": "Creatie Datum", + "DeleteHeatmapConfirm": "Weet je zeker dat je deze heatmap wilt verwijderen? Rapporten die eerder zijn gegenereerd, zijn niet langer beschikbaar in de rapportage-gebruikersinterface.", + "DeleteHeatmapScreenshotConfirm": "Weet je zeker dat je dit screenshot wilt verwijderen? Het kan een tijd duren voordat het screenshot opnieuw genomen wordt.", + "DeleteRecordedPageview": "Verwijder deze opgenomen paginaweergave (er wordt geen bevestiging gevraagd)", + "DeleteRecordedSession": "Verwijder deze opgenomen sessie (er wordt geen bevestiging gevraagd)", + "DeleteScreenshot": "Verwijder Screenshot", + "DeleteSessionRecordingConfirm": "Weet u zeker dat u deze sessie-opname wilt verwijderen? Eerder gegenereerde opnamen zijn niet langer beschikbaar in de rapportage-UI.", + "DeleteX": "Verwijder %s", + "EditHeatmapX": "Bewerk Heatmap %s", + "EditSessionRecordingX": "Bewerk Sessie Opname %s", + "EditX": "Bewerk %s", + "EndHeatmapConfirm": "Weet je zeker dat je wilt stoppen met het opnemen van activiteiten voor deze heatmap?", + "EndSessionRecordingConfirm": "Weet je zeker dat je wilt stoppen met het opnemen van nieuwe sessies?", + "ErrorArrayMissingKey": "Missende array sleutel \"%1$s\" in \"%2$s\" op positie \"%3$s\".", + "ErrorArrayMissingValue": "Missende waarde voor array sleutel \"%1$s\" in \"%2$s\" op positie \"%3$s\".", + "ErrorHeatmapDoesNotExist": "De opgevraagde heatmap bestaat niet.", + "ErrorHeatmapNameDuplicate": "De heatmap naam is al in gebruik door een andere heatmap.", + "ErrorInnerIsNotAnArray": "Elke \"%1$s\" binnen \"%2$s\" dient een array (reeks) te zijn.", + "ErrorInvalidRegExp": "De reguliere expressie \"%1$s\" heeft geen geldig formaat.", + "ErrorNotAnArray": "\"%1$s\" dient een reeks te zijn.", + "ErrorPageRuleRequired": "Er moet minimaal รฉรฉn paginaregel worden ingesteld.", + "ErrorSessionRecordingDoesNotExist": "De gevraagde sessie-opname bestaat niet", + "ErrorXContainsWhitespace": "De \"%1$s\" mag geen witruimte bevatten.", + "ErrorXNotANumber": "\"%1$s\" moet een getal zijn.", + "ErrorXNotProvided": "Geef een waarde voor \"1%1$s\".", + "ErrorXNotWhitelisted": "De waarde voor \"%1$s\" is niet toegestaan. Gebruik รฉรฉn van de: %2$s", + "ErrorXTooHigh": "\"%1$s\" is te hoog, de maximaal toegestane waarde is %2$s.", + "ErrorXTooLong": "\"%1$s\" is te lang, maximaal %2$skarakters zijn toegestaan.", + "ErrorXTooLow": "\"%1$s\" is te laag, de minimaal toegestane waarde is %2$s.", + "ExcludedElements": "Uitgesloten elementen", + "ExcludedElementsHelp": "Optioneel kunnen CSS-selectors gedefiniรซrd worden om bepaalde elementen uit te sluiten die niet zichtbaar zouden moeten zijn in het voorbeeld van de heatmap. Bijvoorbeeld een pop-up die wordt getoond wanneer de doelpagina wordt geopend. Meerdere selectors worden gescheiden met een komma.", + "FieldIncludedTargetsHelp": "Met doelen kunt u definiรซren op welke pagina's de gebruikersactiviteiten moeten worden geregistreerd. U kunt een of meer voorwaarden definiรซren. U kunt bijvoorbeeld definiรซren om activiteiten vast te leggen wanneer de URL of het pad gelijk is aan een bepaalde waarde en alleen als een bepaalde URL-parameter aanwezig is in de URL. Activiteiten worden alleen geregistreerd als aan alle voorwaarden is voldaan, niet als slechts aan รฉรฉn ervan is voldaan. Alle voorwaarden worden hoofdletterongevoelig beoordeeld. Als u 'is gelijk aan eenvoudig' selecteert, worden het URL-protocol, zoekparameters en een slash achterwege gelaten.", + "FieldIncludedTargetsHelpSessions": "Targets stellen u in staat om te configureren om de opname van een sessie pas te starten zodra een bezoeker een bepaalde pagina heeft bereikt. Hiermee kunt u bijvoorbeeld alleen sessies opnemen die het afrekenproces doorlopen. U kunt een of meer voorwaarden definiรซren. U kunt bijvoorbeeld definiรซren om een sessie alleen op te nemen als de URL of het pad gelijk is aan een bepaalde waarde en alleen als een bepaalde URL-parameter aanwezig is in de URL. Sessies worden alleen geregistreerd als aan alle voorwaarden op een paginaweergave is voldaan, niet als slechts aan รฉรฉn ervan is voldaan. Alle voorwaarden worden hoofdletterongevoelig beoordeeld. Als u 'is gelijk aan eenvoudig' selecteert, worden het URL-protocol, zoekparameters en een slash achterwege gelaten.", + "FieldNamePlaceholder": "bijv 'Aanmeld Pagina'", + "FilesystemDirectory": "directory", + "Filter": "Filter", + "GettingStarted": "Getting started", + "Heatmap": "Heatmap", + "HeatmapCreated": "De heatmap is met succes aangemaakt.", + "HeatmapNameHelp": "Bepaalt de naam waaronder het rapport voor deze heatmap beschikbaar zal zijn.", + "HeatmapSampleLimit": "Aantal paginaweergaven", + "HeatmapSampleLimitHelp": "Bepaalt het aantal paginaweergaven dat je in totaal wilt opnemen.", + "HeatmapSampleRateHelp": "Ook wel 'traffic' genoemd. Wanneer u 100%% selecteert, worden alle bezoekers die de geselecteerde doelpagina bezoeken, geregistreerd. Als u bijvoorbeeld 10%% selecteert, wordt alleen elke 10e bezoeker geregistreerd. Hoe lager het percentage dat u selecteert, hoe langer het duurt om de geselecteerde monsterlimiet te bereiken.", + "HeatmapUpdated": "De heatmap is succesvol bijgewerkt.", + "HeatmapUsageBenefits": "Met heatmaps worden alle klikken, muisbewegingen en schuifactiviteiten van bezoekers op een bepaalde pagina opgenomen. Dit helpt om erachter te komen waar gebruikers denken dat iets klikbaar is, maar dat niet is, of dat er delen van de pagina zijn die nauwelijks worden bekeken of interactie mee is, of wat bezoekers zoeken, of hoeveel van de pagina zichtbaar is wanneer gebruikers uw pagina bezoeken en meer.", + "HeatmapWidth": "Heatmap breedte", + "HeatmapX": "Heatmap %s", + "HeatmapXRecordedSamplesSince": "%1$s samples zijn opgenomen sinds %2$s.", + "Heatmaps": "Heatmaps", + "Manage": "Beheer", + "ManageHeatmaps": "Beheer Heatmaps", + "ManageSessionRecordings": "Beheer Sessie Opnames", + "MinSessionTime": "Min Sessie Tijd", + "MinSessionTimeHelp": "Een sessie wordt alleen opgenomen als een bezoeker ten minste de opgegeven tijd op een pagina heeft doorgebracht.", + "NHeatmaps": "%s heatmaps", + "NSessionRecordings": "%s sessie opnames", + "NoHeatmapSamplesRecordedYet": "Er is nog geen paginaweergave geregistreerd voor deze heatmap. Als er nu opnames zouden moeten zijn, komen de paginadoelen die voor deze heatmap zijn geconfigureerd misschien niet overeen met een pagina op uw website. Het wordt ook aanbevolen om de \"Systeemcontrole\" onder \"Beheer\" (alleen Supergebruikers) te controleren om te zien of uw systeem is geconfigureerd om Heatmaps automatisch te volgen.", + "NoHeatmapScreenshotRecordedYet": "Er zijn tot nu toe %1$s samples opgenomen. Er is echter nog geen screenshot gemaakt. Als er een \"%2$s\" is voor deze heatmap, kan het even duren voordat de schermafbeelding beschikbaar komt, aangezien een gebruiker eerst deze schermafbeelding-URL moet openen. Afhankelijk van de samplefrequentie kan dit even duren.", + "NoHeatmapsConfiguredInfo": "Er zijn momenteel geen actieve heatmaps. Om heatmaps te bekijken, vraag een gebruiker met minstens admin-toegang om een nieuwe heatmap te maken.", + "NoHeatmapsFound": "Geen heatmaps gevonden", + "NoSessionRecordedYet": "Er is nog geen sessie opgenomen. Als er inmiddels opnamesessies moeten zijn, komt de geconfigureerde invoerpagina misschien niet overeen met een pagina op uw website. Het wordt ook aanbevolen om de \"Systeemcontrole\" onder \"Beheer\" (alleen Supergebruikers) te controleren om te zien of uw systeem is geconfigureerd voor automatisch opgenomen sessies.", + "NoSessionRecordingsConfiguredInfo": "Er zijn momenteel geen actieve sessie-opnames. Vraag een gebruiker met ten minste admin rechten om een nieuwe opname te maken om nieuwe sessies op te nemen.", + "NoSessionRecordingsFound": "Geen sessie opnames gevonden", + "NotSupportedBrowser": "Deze browser wordt niet ondersteund, gebruik een latere versie of een andere browser.", + "OnePageview": "1 pageweergave", + "PageRule": "Pagina Regel", + "PageviewXofY": "Paginaweergave %1$s van %2$s", + "PageviewsInVisit": "Opgenomen paginaweergaven in deze sessie", + "PersonalInformationNote": "Houd er rekening mee dat %1$s persoonlijke of gevoelige informatie kan vastleggen. Als u bepaalde inhoud op uw website of app wilt verbergen, kunt u deze inhoud taggen door een kenmerk %2$s data-matomo-mask %3$s toe te voegen aan de HTML-opmaak. %4$s Meer informatie %5$s", + "PlayRecordedSession": "Speel deze opgenomen sessie af", + "PlayerDurationXofY": "%1$s of %2$s", + "PlayerForwardFast": "Sla %1$s seconden over (shortcut %2$s)", + "PlayerPageViewNext": "Speel de volgende paginaweergave van deze bezoeker (%1$s) (shortcut %2$s)", + "PlayerPageViewPrevious": "Speel de vorige paginaweergave van deze bezoeker %1$s (shortcut %2$s)", + "PlayerPause": "Pauze (shortcut %s of spatie)", + "PlayerPlay": "Afspelen (shortcut %s of spatie)", + "PlayerReplay": "Herhaal (shortcut %s of spatie)", + "PlayerRewindFast": "Terugspoelen %1$s seconden (shortcut %2$s)", + "RecordedHeatmapDocStatusActive": "Deze heatmap is actief. Tot %1$d paginaweergaves zullen worden met een sample percentage van %2$s.", + "RecordedHeatmapDocStatusEnded": "Deze heatmap is geรซindigd. Nieuwe activiteiten worden niet meer opgenomen.", + "RecordedSessions": "Opgenomen sessies", + "RecordedSessionsDocStatusActive": "Deze sessie opname is actief. Tot %1$d sessies zullen worden opgenomen met een sample percentage van %2$s.", + "RecordedSessionsDocStatusEnded": "Deze sessie opname is beรซindigd en nieuwe sessies worden niet meer opgenomen.", + "Recordings": "Opnamen", + "ReplayRecordedSession": "Herhaal opgenomen sessie", + "ReplayX": "Herhaal %s", + "ReportRecordedSessionsDocumentation": "Een lijst met all sessie die opgenomen zijn. Je kan alle opgenomen sessie opnieuw afspelen.", + "RequiresActivity": "Vereist activiteit", + "RequiresActivityHelp": "Indien ingeschakeld, worden alleen sessies met een scroll- en klikactiviteit in รฉรฉn paginaweergave opgenomen. Dit voorkomt het opnemen van sessies met weinig activiteit.", + "Rule": "Regel", + "SampleLimit": "Sample Limiet", + "SampleRate": "Sample Percentage", + "ScreenshotUrl": "Screenshot URL", + "ScreenshotUrlHelp": "Standaard wordt er een screenshot gemaakt wanneer de eerste bezoeker de doelpagina bekijkt. Als verschillende pagina-URL's overeenkomen met uw doelpagina, kunt u een specifieke URL specificeren die moet worden gebruikt om de schermafbeelding vast te leggen. De heatmap-visualisatie is pas beschikbaar als ten minste รฉรฉn bezoeker deze URL heeft bezocht waarvan de activiteiten zijn vastgelegd. Indien gedefinieerd, moet de URL exact overeenkomen. Om het protocol te negeren, start u de URL met twee dubbele schuine strepen (//example.com). Houd er rekening mee dat deze URL niet kan worden gewijzigd zodra er een screenshot is gemaakt", + "SessionNameHelp": "Definieert de naam waaronder de sessie-opnames beschikbaar zullen zijn.", + "SessionRecording": "Sessie Opname", + "SessionRecordingCreated": "De sessie-opname is met succes gemaakt.", + "SessionRecordingUpdated": "De sessie-opname is succesvol bijgewerkt.", + "SessionRecordingX": "Sessie Opname %s", + "SessionRecordings": "Sessie Opnames", + "SessionRecordingsUsageBenefits": "Met sessie-opnames worden alle activiteiten van een echte bezoeker tijdens zijn of haar sessie (bezoek) opgenomen, zoals klikken, muisbewegingen, schuiven, schermgrootte, paginawijzigingen en formulier interacties. Deze interacties kunnen vervolgens opnieuw afgespeeld worden om precies te zien hoe een bezoeker door de website ging. Op deze manier begrijpt je hun verwachtingen, problemen die ze kunnen hebben, gebruikers patronen en meer.", + "SessionSampleLimit": "Aantal sessies", + "SessionSampleLimitHelp": "Bepaalt het aantal sessies dat je in totaal wilt opnemen.", + "SessionSampleRateHelp": "Ook wel 'traffic' genoemd. Wanneer u 100%% selecteert, worden alle sessies opgenomen zodra ze de doelpagina hebben bereikt. Als u bijvoorbeeld 10%% selecteert, wordt alleen elke 10e sessie geregistreerd. Hoe lager het percentage dat u selecteert, hoe langer het duurt om de geselecteerde monsterlimiet te bereiken.", + "StatusActive": "Actief", + "StatusEnded": "Gestopt", + "StopX": "Stop met het opnemen van nieuwe activiteiten voor %s.", + "TargetAttributePath": "Pad", + "TargetAttributeUrl": "URL", + "TargetAttributeUrlParameter": "URL Parameter", + "TargetAttributeUrlParameterExample": "naamVanUrlParameter", + "TargetPage": "Landingspagina", + "TargetPageTestErrorInvalidUrl": "Voer een URL in inclusief het protocol.", + "TargetPageTestLabel": "Voer een volledige URL inclusief het protocol in om te controleren of alle activiteiten opgenomen op deze URL:", + "TargetPageTestTitle": "URL validator", + "TargetPageTestUrlMatches": "Activiteiten worden op deze URL vastgelegd", + "TargetPageTestUrlNotMatches": "Activiteiten worden niet vastgelegd op deze URL", + "TargetPages": "Binnenkomst Pagina's", + "TargetTypeContains": "bevat", + "TargetTypeEqualsExactly": "is precies hetzelfde", + "TargetTypeEqualsExactlyInfo": "De waarde dient precies hetzelfde te zijn, inclusief het URL protocol, zoek vraag en hash.", + "TargetTypeEqualsSimple": "is gelijk aan", + "TargetTypeEqualsSimpleInfo": "De URL komt overeen met elk protocol (bijv. Http en https) met of zonder \"www.\" subdomein. Elke volgende slash in het pad, evenals de zoekopdracht en het hash gedeelte van de URL worden genegeerd bij het matchen van de URL.", + "TargetTypeExists": "bestaat", + "TargetTypeIsAny": "is er een", + "TargetTypeIsNot": "geen %s", + "TargetTypeRegExp": "komt overeen met reguliere expressie", + "TargetTypeRegExpInfo": "Elke reguliere expressie, bijvoorbeeld \"^(.*)test(.*)$\".", + "TargetTypeStartsWith": "begint met", + "TimeOnSite": "Tijd op de website", + "UpdatingData": "Bijwerken gegevensโ€ฆ", + "UrlParameterValueToMatchPlaceholder": "Te matchen waarde voor URL-parameternaam", + "UrlXDoesNotLookLikeUrl": "%s lijkt niet op een URL. Zorg ervoor dat deze een protocol zoals http:// bevat of start met //", + "ViewReport": "Bekijk rapport", + "ViewportResolution": "Viewport Resolutie (breedte x hoogte)", + "XSamples": "%s samples", + "disable": "deactiveer", + "enable": "activeer" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/nn.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/nn.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/nn.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/pl.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/pl.json new file mode 100644 index 0000000..8b4e9ad --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/pl.json @@ -0,0 +1,185 @@ +{ + "HeatmapSessionRecording": { + "ActivityClick": "Klikniฤ™cie", + "ActivityFormChange": "Zmiana w formularzu", + "ActivityFormText": "Zmiana tekstu w formularzu", + "ActivityFormValue": "Zmiana wartoล›ci w formularzu", + "ActivityInitialDom": "Strona poczฤ…tkowa", + "ActivityMove": "Ruch", + "ActivityResize": "Zmiana rozmiaru", + "ActivityScroll": "Przewiniฤ™cie", + "ActivityScrollElement": "Przewijany element", + "AdvancedOptions": "Zaawansowane", + "AutoPlayNextPageview": "Kliknij aby %1$s odtworzyฤ‡ nastฤ™pne nagranie (skrรณt %2$s)", + "AvgAboveFoldDescription": "Przeciฤ™tny odwiedzajฤ…cy widzi zawartoล›ฤ‡ powyลผej tej linii bez przewijania", + "AvgAboveFoldTitle": "ลšr. powyลผej zgiฤ™cia %spx", + "BreakpointGeneralHelp": "Typ urzฤ…dzenia jest automatycznie wykrywany podczas odwiedzin na Twojej stronie. Czasami zdarza siฤ™, ลผe poprawne wykrycie urzฤ…dzenia nie jest moลผliwe. W przypadku stron responsywnych, gdy projekt strony zmienia siฤ™ dla pewnych rozdzielczoล›ci, moลผemy umieล›ciฤ‡ uลผytkownikรณw komputerรณw stacjonarnych z ekranami o niskich rozdzielczoล›ciach umieล›ciฤ‡ w tej grupie, aby wygenerowaฤ‡ dokล‚adniejsze mapy aktywnoล›ci. Dowolna szerokoล›ฤ‡ mniejsza niลผ ta wartoล›ฤ‡ spowoduje umieszczenie odwiedzajฤ…cego w tej grupie urzฤ…dzeล„. Ustaw zero dla nieresponsywnej strony.", + "BreakpointGeneralHelpManage": "Uลผytkownik z dostฤ™pem Super Uลผytkownika moลผe zmieniฤ‡ domyล›lne wartoล›ci punktรณw zatrzymania w Ustawienia => Ustawienia ogรณlne.", + "BreakpointX": "Punkt podziaล‚u %s", + "CaptureKeystrokes": "Przechwytuj naciskane klawisze", + "CaptureKeystrokesHelp": "Wล‚ฤ…czenie tej opcji spowoduje rejestracjฤ™ dowolnego tekstu wprowadzanego w polach formularza.dy wprowadzony przez uลผytkownika znak jest zamieniany na gwiazdkฤ™ ('*'). Moลผesz dodaฤ‡ wybrane pola do biaล‚ej listy, co spowoduje ich zapisywanie jako zwykล‚ego tekstu poprzez dodanie im atrybutu 'data-matomo-unmask'. Pola haseล‚ i inne potencjalnie przenoszฤ…ce dane osobowe (adres, email, dane karty kredytowej, nazwa uลผytkownika, numer telefonu) po wykryciu przez nas zawsze bฤ™dฤ… maskowane automatycznie (%1$sdowiedz siฤ™ wiฤ™cej%2$s). Prosimy pamiฤ™taj, ลผe wล‚ฤ…czajฤ…c tฤ… funkcjonalnoล›ฤ‡ moลผesz zapisaฤ‡ dane osobowe, co moลผe naruszaฤ‡ zapisy RODO.", + "ChangeReplaySpeed": "Zmieล„ prฤ™dkoล›ฤ‡ odtwarzania (skrรณt %s)", + "ClickToSkipPauses": "Kliknij aby %1$s pominฤ…ฤ‡ pauzy (skrรณt %2$s)", + "ColumnActionsDocumentation": "Odtwรณrz zapisanฤ… sesjฤ™ lub trwale usuล„ nagranie.", + "ColumnBrowserDocumentation": "Przeglฤ…darka uลผywana przez odwiedzajฤ…cego podczas nagrywania tej sesji.", + "ColumnDeviceDocumentation": "Urzฤ…dzenie uลผyte podczas nagrywania tej sesji.", + "ColumnLabelRecordedSessions": "Adres wejล›cia โ†’ Adres wyjล›cia", + "ColumnLocationDocumentation": "Lokalizacja odwiedzajฤ…cego w czasie nagrywania tej sesji.", + "ColumnOperatingSystem": "System operacyjny", + "ColumnOperatingSystemDocumentation": "System operacyjny zainstalowany na urzฤ…dzeniu odwiedzajฤ…cego podczas nagrywania sesji.", + "ColumnPageviewsDocumentation": "Liczba odsล‚on strony, ktรณre zostaล‚y zapisane podczas tej sesji.", + "ColumnResolutionDocumentation": "Liczba pikseli widocznych w oknie przeglฤ…darki w momencie otwarcia strony przez odwiedzajฤ…cego.", + "ColumnTime": "Czas", + "ColumnTimeDocumentation": "Czas rozpoczฤ™cia nagrania w strefie czasowej serwisu.", + "ColumnTimeOnPageDocumentation": "Czas spฤ™dzony przez odwiedzajฤ…cego na stronie podczas nagrywania sesji", + "ColumnTimeOnSiteDocumentation": "ลฤ…czny czas spฤ™dzony przez odwiedzajฤ…cego podczas nagrywania sesji", + "ConfigsInternetDisabled": "Nie mogliล›my sprawdziฤ‡, czy '%s' jest dostฤ™pny z powodu braku poล‚ฤ…czenia internetowego na tym Matomo.", + "ConfigsPhpErrorResult": "Wynikiem tego moลผe byฤ‡ brak ล›ledzenia Map Aktywnoล›ci lub Zapisรณw Sesji. Moลผliwe, ลผe musisz zmieniฤ‡ konfiguracjฤ™ swojego serwera www, aby udostฤ™pniฤ‡ ten plik w Internecie lub Intranecie.", + "ConfigsPhpManualCheck": "Otwรณrz, proszฤ™, stronฤ™ pod tym adresem w swojej przeglฤ…darce i sprawdลบ, czy odpowiedลบ zawiera 'Piwik.HeatmapSessionRecording'. Jeล›li nie znajdujesz tej frazy w odpowiedzi, konieczna moลผe byฤ‡ zmiana ustawieล„ serwera, poniewaลผ plik ten musi byฤ‡ dostฤ™pny dla przeglฤ…darki w Internecie lub Intranecie.", + "ConfigsPhpNotAccessible": "Adres '%s' zdaje siฤ™ byฤ‡ niedostฤ™pny z Internetu lub Intranetu.", + "ConfigsPhpSelfSignedError": "ลปฤ…danie '%s' zwrรณciล‚o bล‚ฤ…d SSL. Czy korzystasz z samopodpisanego certyfikatu?", + "ConfigsPhpSuccess": "'%s' jest dostฤ™pne", + "ConfigsPhpUnknown": "Nie mogliล›my sprawdziฤ‡, czy '%s' jest dostฤ™pne z Internetu lub Intranetu.", + "ConfigsPhpUnknownError": "ลปฤ…danie '%1$s' zwrรณciล‚o bล‚ฤ…d: %2$s.", + "CreateNewHeatmap": "Utwรณrz nowฤ… mapฤ™ aktywnoล›ci", + "CreateNewSessionRecording": "Utwรณrz nowe nagranie sesji", + "CreationDate": "Data utworzenia", + "DeleteHeatmapConfirm": "Czy na pewno chcesz usunฤ…ฤ‡ tฤ… mapฤ™ aktywnoล›ci? Poprzednio wygenerowane raporty map aktywnoล›ci przestanฤ… byฤ‡ dostฤ™pne w panelu.", + "DeleteHeatmapScreenshotConfirm": "Na pewno chcesz usunฤ…ฤ‡ ten zrzut ekranu? Ponowne wygenerowania zrzutu potrwa dล‚uลผszฤ… chwilฤ™.", + "DeleteRecordedPageview": "Usuล„ to nagranie wyล›wietlenia strony (bez wyล›wietlenia potwierdzenia)", + "DeleteRecordedSession": "Usuล„ tฤ… nagranฤ… sesjฤ™ (bez wyล›wietlenia potwierdzenia)", + "DeleteScreenshot": "Usuล„ zrzut ekranu", + "DeleteSessionRecordingConfirm": "Czy na pewno chcesz usunฤ…ฤ‡ ten zapis sesji? Poprzednio wygenerowane zapisy sesji przestanฤ… byฤ‡ dostฤ™pne w panelu.", + "DeleteX": "Usuล„ %s", + "EditHeatmapX": "Edytuj Mapฤ™ Aktywnoล›ci %s", + "EditSessionRecordingX": "Edytuj Zapis Sesji %s", + "EditX": "Edytuj %s", + "EndHeatmapConfirm": "Czy na pewno chcesz wstrzymaฤ‡ przechwytywanie aktywnoล›ci dla wybranej mapy?", + "EndSessionRecordingConfirm": "Czy na pewno chcesz wstrzymaฤ‡ zapisywanie nowych sesji?", + "ErrorArrayMissingKey": "W tablicy \"%2$s\" brak klucza \"%1$s\" na pozycji \"%3$s\".", + "ErrorArrayMissingValue": "W tablicy \"%2$s\" brakuje wartoล›ci \"%1$s\" na pozycji \"%3$s\".", + "ErrorHeatmapDoesNotExist": "Poszukiwana mapa aktywnoล›ci nie istnieje", + "ErrorHeatmapNameDuplicate": "Nazwa mapy aktywnoล›ci jest juลผ wykorzystywana przez innฤ… mapฤ™.", + "ErrorInnerIsNotAnArray": "Kaลผdy \"%1$s\" w \"%2$s\" musi byฤ‡ tablicฤ….", + "ErrorInvalidRegExp": "Wyraลผenie regularne \"%1$s\" nie ma wล‚aล›ciwego formatu.", + "ErrorNotAnArray": "\"%1$s\" musi byฤ‡ tablicฤ….", + "ErrorPageRuleRequired": "Przynajmniej 1 reguล‚a strony musi byฤ‡ ustawiona", + "ErrorSessionRecordingDoesNotExist": "Poszukiwany zapis sesji nie istnieje", + "ErrorXContainsWhitespace": "Pole \"%1$s\" nie moลผe zawieraฤ‡ spacji.", + "ErrorXNotANumber": "\"%1$s\" musi byฤ‡ liczbฤ….", + "ErrorXNotProvided": "Proszฤ™ podaฤ‡ wartoล›ฤ‡ dla \"%1$s\".", + "ErrorXNotWhitelisted": "Niedozwolona wartoล›ฤ‡ pola \"%1$s\", sprรณbuj jednej z: %2$s.", + "ErrorXTooHigh": "Wartoล›ฤ‡ \"%1$s\" przekracza maksimum, ktรณre wynosi %2$s.", + "ErrorXTooLong": "Ciฤ…g \"%1$s\" jest za dล‚ugi. Dopuszczone sฤ… ciฤ…gi o dล‚ugoล›ci do %2$s znakรณw.", + "ErrorXTooLow": "Wartoล›ฤ‡ \"%1$s\" jest poniลผej minimum wynoszฤ…cego %2$s.", + "ExcludedElements": "Wykluczone elementy", + "ExcludedElementsHelp": "Tu moลผesz zdefiniowaฤ‡ selektory CSS, ktรณre ukryjฤ… wybrane elementy, ktรณrych nie chcesz wyล›wietlaฤ‡ w podglฤ…dzie aktywnoล›ci. Przykล‚adem moลผe byฤ‡ popup otwierany po dotarciu do strony docelowej. Do rozdzielenia kilku selektorรณw uลผyj przecinka.", + "FieldIncludedTargetsHelp": "Cele pozwalajฤ… Ci zdefiniowaฤ‡, na ktรณrych stronach aktywnoล›ci uลผytkownika powinny byฤ‡ rejestrowane. Moลผesz zdefiniowaฤ‡ jeden lub wiฤ™cej warunkรณw. Moลผesz, na przykล‚ad, zdefiniowaฤ‡ rejestrowanie aktywnoล›ci zawsze, gdy adres lub ล›cieลผka rรณwna jest pewnej wartoล›ci i tylko jeล›li wybrany parametr adresu jest w nim obecny. Aktywnoล›ci bฤ™dฤ… zapisywane, tylko gdy wszystkie warunki zostanฤ… speล‚nione. Wszystkie warunki weryfikowane sฤ… z rozrรณลผnieniem wielkoล›ci liter. Wybierajฤ…c 'proste porรณwnanie' spowodujesz ignorowanie protokoล‚u, parametrรณw wyszukiwania i ostatniego ukoล›nika adresu.", + "FieldIncludedTargetsHelpSessions": "Cele pozwalajฤ… Ci zdefiniowaฤ‡ strony, na ktรณre musi dotrzeฤ‡ odwiedzajฤ…cy, aby uruchomiฤ‡ zapis sesji. W ten sposรณb moลผesz na przykล‚ad rejestrowaฤ‡ sesje, podczas ktรณrych uลผytkownik przechodzi przez koszyk. Moลผesz zdefiniowaฤ‡ jeden lub wiฤ™cej warunkรณw. Moลผesz, na przykล‚ad, skonfigurowaฤ‡ zapis sesji tylko, gdy adres lub ล›cieลผka zawiera okreล›lonฤ… wartoล›ฤ‡ i tylko gdy wybrany parametr adresu jest w nim obecny. Sesje bฤ™dฤ… rejestrowane tylko, gdy wszystkie warunki zostanฤ… speล‚nione podczas odsล‚ony strony. Wszystkie warunki sฤ… sprawdzane z rozrรณลผnieniem wielkoล›ci liter. Wybierajฤ…c 'proste porรณwnanie' spowodujesz ignorowanie protokoล‚u, parametrรณw wyszukiwania i ostatniego ukoล›nika adresu.", + "FieldNamePlaceholder": "n.p. 'Strona rejestracji'", + "FilesystemDirectory": "katalog", + "Filter": "Filtruj", + "GettingStarted": "Jak rozpoczฤ…ฤ‡", + "Heatmap": "Mapa aktywnoล›ci", + "HeatmapCreated": "Mapa aktywnoล›ci zostaล‚a pomyล›lnie utworzona.", + "HeatmapNameHelp": "Definiuje nazwฤ™ reprezentujฤ…cฤ… raport tej mapy aktywnoล›ci.", + "HeatmapSampleLimit": "Liczba wyล›wietleล„ stron", + "HeatmapSampleLimitHelp": "Okreล›l liczbฤ™ wszystkich wyล›wietleล„ strony, ktรณre chcesz nagraฤ‡.", + "HeatmapSampleRateHelp": "Znany jako 'transfer'. Po wybraniu wartoล›ci 100%%, funkcjonalnoล›ฤ‡ zarejestruje kaลผdego odwiedzajฤ…cego skonfigurowanฤ… stronฤ™ docelowฤ…. Zmiana tego ustawienia na przykล‚ad na 10%%, spowoduje rejestrowanie co 10 odwiedzajฤ…cego. Niskie wartoล›ci tego parametru spowodujฤ… wydล‚uลผenie czasu, w ktรณrym aplikacja zbierze wymaganฤ… liczbฤ™ prรณbek.", + "HeatmapUpdated": "Mapa aktywnoล›ci zostaล‚a pomyล›lnie zaktualizowana.", + "HeatmapUsageBenefits": "Mapy aktywnoล›ci pozwalajฤ… Ci zapisywaฤ‡ klikniฤ™cia, ruchy wskaลบnika i przewijania, wykonywane przez Twoich odwiedzajฤ…cych wybranฤ… stronฤ™. To pozwoli Ci zrozumieฤ‡, gdzie uลผytkownikom wydaje siฤ™, ลผe jest klikalny element, czy na stronie znajdujฤ… siฤ™ rzadko oglฤ…dane obszary, lub z ktรณrymi uลผytkownicy rzadko wchodzฤ… w interakcjฤ™. Dziฤ™ki nim zrozumiesz, jakich informacji poszukujฤ… odwiedzajฤ…cy, jakฤ… czฤ™ล›ฤ‡ strony widzฤ… podczas odwiedzin i wiele wiฤ™cej.", + "HeatmapWidth": "Szerokoล›ฤ‡ mapy aktywnoล›ci", + "HeatmapX": "Mapa aktywnoล›ci %s", + "HeatmapXRecordedSamplesSince": "%1$s prรณbek zostaล‚o zarejestrowane od %2$s.", + "Heatmaps": "Mapy aktywnoล›ci", + "Manage": "Zarzฤ…dzaj", + "ManageHeatmaps": "Zarzฤ…dzaj Mapami Aktywnoล›ci", + "ManageSessionRecordings": "Zarzฤ…dzaล„ Nagraniami Sesji", + "MinSessionTime": "Min. czas sesji", + "MinSessionTimeHelp": "Sesja zostanie zapisana tylko wtedy, gdy uลผytkownik spฤ™dzi na stronie przynajmniej okreล›lonฤ… tu iloล›ฤ‡ czasu.", + "NHeatmaps": "%s map aktywnoล›ci", + "NSessionRecordings": "%s nagranych sesji", + "NoHeatmapSamplesRecordedYet": "Nie nagrano jeszcze ลผadnego wyล›wietlenia strony dla tej mapy aktywnoล›ci. Jeล›li powinny tu juลผ widnieฤ‡ nagrania, moลผliwe jest, ลผe skonfigurowane dla tej mapy aktywnoล›ci cele nie pasujฤ… do stron Twojego serwisu. Zalecane jest rรณwnieลผ odwiedzenie zakล‚adki \"Sprawdzenie systemu\" w \"Ustawieniach\" (tylko Super Uลผytkownicy), w celu sprawdzenia, czy w systemie zostaล‚o skonfigurowane automatyczne tworzenie map aktywnoล›ci.", + "NoHeatmapScreenshotRecordedYet": "Do tej pory zarejestrowano %1$s prรณbek, lecz nie wykonano zrzutu ekranu. Jeล›li dla tej mapy aktywnoล›ci istnieje \"%2$s\", to udostฤ™pnienie zrzutu ekranu moลผe zajฤ…ฤ‡ chwilฤ™, gdyลผ uลผytkownik musi wpierw odwiedziฤ‡ jego adres. Czas jego dostฤ™pnoล›ci zaleลผy od czฤ™stotliwoล›ci prรณbkowania.", + "NoHeatmapsConfiguredInfo": "Brakuje obecnie aktywnych map aktywnoล›ci. W celu ich przeglฤ…dania, poproล› uลผytkownika, ktรณry ma przynajmniej dostฤ™p administratora, aby utworzyล‚ nowฤ… mapฤ™ aktywnoล›ci.", + "NoHeatmapsFound": "Brak map aktywnoล›ci", + "NoSessionRecordedYet": "Nie nagrano jeszcze ลผadnej sesji. Jeล›li powinny tu juลผ widnieฤ‡ nagrane sesje, moลผliwe jest, ลผe skonfigurowana strona wejล›cia nie pasuje do stron Twojego serwisu. Zalecane jest rรณwnieลผ odwiedzenie zakล‚adki \"Sprawdzenie systemu\" w \"Ustawieniach\" (tylko Super Uลผytkownicy), w celu sprawdzenia, czy w systemie zostaล‚o skonfigurowane automatyczne nagrywanie sesji.", + "NoSessionRecordingsConfiguredInfo": "W tej chwili nie nagrywasz ลผadnej sesji. Aby nagraฤ‡ nowe sesje, skontaktuj siฤ™ z uลผytkownikiem o dostฤ™pie co najmniej administratora, aby utworzyล‚ nowe nagrania.", + "NoSessionRecordingsFound": "Brak nagranych sesji", + "NotSupportedBrowser": "Twoja przeglฤ…darka nie jest wspierana, proszฤ™ uลผyj aktualniejszej wersji lub uลผyj innej przeglฤ…darki.", + "OnePageview": "1 wyล›wietlenie strony", + "PageRule": "Reguล‚y strony", + "PageviewXofY": "Odwiedziny %1$s z %2$s", + "PageviewsInVisit": "Wyล›wietlenia strony nagrane w tej sesji", + "PersonalInformationNote": "Pamiฤ™taj, ลผe %1$s moลผe zapisywaฤ‡ dane osobiste i wraลผliwe. Jeล›li ลผyczysz sobie ukryฤ‡ wybrane treล›ci na swojej stronie lub aplikacji, moลผesz nadaฤ‡ im atrybut %2$sdata-matomo-mask%3$s w ลบrรณdle HTML. Kliknij, aby %4$sdowiedzieฤ‡ siฤ™ wiฤ™cej%5$s", + "PlayRecordedSession": "Odtwรณrz tฤ… nagranฤ… sesjฤ™", + "PlayerDurationXofY": "%1$s z %2$s", + "PlayerForwardFast": "W przรณd o %1$s sekund (skrรณt %2$s)", + "PlayerPageViewNext": "Odtwรณrz nastฤ™pne wyล›wietlenie strony uลผytkownika %1$s (skrรณt %2$s)", + "PlayerPageViewPrevious": "Odtwรณrz poprzednie wyล›wietlenie strony uลผytkownika %1$s (skrรณt %2$s)", + "PlayerPause": "Pauza (skrรณt %s lub spacja)", + "PlayerPlay": "Odtwรณrz (skrรณt %s lub spacja)", + "PlayerReplay": "Ponรณw (skrรณt %s lub spacja)", + "PlayerRewindFast": "Cofnij o %1$s sekund (skrรณt %2$s)", + "RecordedHeatmapDocStatusActive": "Ta mapa aktywnoล›ci jest aktywna. Do %1$d wyล›wietleล„ strony zostanie zapisane z czฤ™stotliwoล›ciฤ… prรณbkowania %2$s.", + "RecordedHeatmapDocStatusEnded": "Ta mapa aktywnoล›ci zostaล‚a zakoล„czona. ลปadne nowe interakcje nie bฤ™dฤ… zapisywane.", + "RecordedSessions": "Nagrane sesje", + "RecordedSessionsDocStatusActive": "Ta sesja jest w trakcie nagrywania. Do %1$d sesji zostanie nagrane z czฤ™stotliwoล›ciฤ… prรณbkowania %2$s.", + "RecordedSessionsDocStatusEnded": "Nagranie tej sesji zakoล„czyล‚o siฤ™. ลปadne nowe sesje nie bฤ™dฤ… zapisywane.", + "Recordings": "Nagrania", + "ReplayRecordedSession": "Odtwรณrz nagranฤ… sesjฤ™", + "ReplayX": "Odtwรณrz %s", + "ReportRecordedSessionsDocumentation": "Lista wszystkich zarejestrowanych sesji. Moลผesz odtworzyฤ‡ dowolnฤ… zapisanฤ… sesjฤ™.", + "RequiresActivity": "Wymagana aktywnoล›ฤ‡", + "RequiresActivityHelp": "Wล‚ฤ…czenie spowoduje zapis tylko tych sesji, w czasie ktรณrych zostanฤ… zarejestrowane wydarzenia przewiniฤ™cia i klikniฤ™cia na stronie. To zapobiega rejestracji sesji z niskฤ… aktywnoล›ciฤ….", + "Rule": "Reguล‚a", + "SampleLimit": "Limit prรณbkowania", + "SampleRate": "Czฤ™stotliwoล›ฤ‡ prรณbkowania", + "ScreenshotUrl": "Adres zrzutu ekranu", + "ScreenshotUrlHelp": "Domyล›lnie, zrzut ekranu wykonywany jest podczas odwiedzin pierwszego uลผytkownika na stronie docelowej. W sytuacji, gdy moลผliwe bฤ™dzie dopasowanie adresu innej strony, moลผesz podaฤ‡ adres wybranej strony, na ktรณrej ma zostaฤ‡ wykonany zrzut ekranu. Wizualizacja Mapy Aktywnoล›ci stanie siฤ™ dostฤ™pna po wizycie pierwszego odwiedzajฤ…cego, ktรณrego aktywnoล›ฤ‡ zostanie zarejestrowana. Po zdefiniowaniu, adres zostanie dokล‚adnie dopasowany. W celu pominiฤ™cia protokoล‚u, rozpocznij wpis adresu od podwรณjnego ukoล›nika (//example.com). Pamiฤ™taj, ลผe adresu tego nie moลผna zmieniฤ‡ po wykonaniu zrzutu ekranu.", + "SessionNameHelp": "Definiuje nazwฤ™ reprezentujฤ…cฤ… to nagranie sesji.", + "SessionRecording": "Nagrana sesja", + "SessionRecordingCreated": "Konfiguracja nagrania sesji zostaล‚a pomyล›lnie zapisana.", + "SessionRecordingUpdated": "Konfiguracja nagrania sesji zostaล‚a pomyล›lnie zaktualizowana.", + "SessionRecordingX": "Nagranie sesji %s", + "SessionRecordings": "Nagrania sesji", + "SessionRecordingsUsageBenefits": "Nagrania sesji pozwalajฤ… Ci zapisaฤ‡ wszystkie aktywnoล›ci uลผytkownikรณw w czasie trwania ich sesji (wizyty). Do aktywnoล›ci tych naleลผy zaliczyฤ‡ klikniฤ™cia, ruchy wskaลบnika, przewijanie, zmiany wielkoล›ci okna, zmiany strony czy korzystanie z formularzy. Po zapisaniu moลผesz odtworzyฤ‡ te interakcje, dziฤ™ki czemu uzyskasz dokล‚adny obraz dziaล‚aล„ uลผytkownikรณw w Twoim serwisie. W ten sposรณb zrozumiesz ich oczekiwania, moลผliwe problemy, wzorce uลผytkowania i wiele wiฤ™cej.", + "SessionSampleLimit": "Liczba sesji", + "SessionSampleLimitHelp": "Okreล›l liczbฤ™ wszystkich sesji, ktรณre chcesz nagraฤ‡.", + "SessionSampleRateHelp": "Znany jako 'transfer'. Po wybraniu wartoล›ci 100%%, funkcjonalnoล›ฤ‡ zarejestruje kaลผdego odwiedzajฤ…cego skonfigurowanฤ… stronฤ™ docelowฤ… juลผ w momencie jej wyล›wietlenia. Zmiana tego ustawienia na przykล‚ad na 10%%, spowoduje rejestrowanie co 10 odwiedzajฤ…cego. Niskie wartoล›ci tego parametru spowodujฤ… wydล‚uลผenie czasu, w ktรณrym aplikacja zbierze wymaganฤ… liczbฤ™ prรณbek.", + "StatusActive": "Aktywna", + "StatusEnded": "Zakoล„czona", + "StopX": "Przerwij zapis nowych wydarzeล„ dla sesji %s.", + "TargetAttributePath": "ลšcieลผka", + "TargetAttributeUrl": "Adres", + "TargetAttributeUrlParameter": "Parametr adresu", + "TargetAttributeUrlParameterExample": "nazwaParamertuAdresu", + "TargetPage": "Strona docelowa", + "TargetPageTestErrorInvalidUrl": "Wprowadลบ adres z protokoล‚em.", + "TargetPageTestLabel": "Wprowadลบ peล‚ny adres URL wล‚ฤ…cznie z protokoล‚em, aby sprawdziฤ‡, czy aktywnoล›ci bฤ™dฤ… zapisywane dla tego adresu:", + "TargetPageTestTitle": "Walidator adresu", + "TargetPageTestUrlMatches": "Aktywnoล›ฤ‡ bฤ™dzie rejestrowana dla tego adresu", + "TargetPageTestUrlNotMatches": "Aktywnoล›ฤ‡ nie bฤ™dzie rejestrowana dla tego adresu", + "TargetPages": "Strony wejล›cia", + "TargetTypeContains": "zawiera", + "TargetTypeEqualsExactly": "jest dokล‚adnie", + "TargetTypeEqualsExactlyInfo": "Wartoล›ฤ‡ musi byฤ‡ dokล‚adnie dopasowana i zawieraฤ‡ adres z protokoล‚em, ciฤ…g zapytania i fragment.", + "TargetTypeEqualsSimple": "porรณwnanie proste", + "TargetTypeEqualsSimpleInfo": "Adres zostanie dopasowany do dowolnego protokoล‚u (n.p. HTTP i HTTPS) z lub bez subdomeny \"www.\". Ukoล›nik, ciฤ…g zapytania jak i hash zostanฤ… pominiฤ™te podczas dopasowywania adresu do wzorca.", + "TargetTypeExists": "wystฤ™puje", + "TargetTypeIsAny": "dowolny", + "TargetTypeIsNot": "nie%s", + "TargetTypeRegExp": "pasuje do wyraลผenia regularnego", + "TargetTypeRegExpInfo": "Dowolne wyraลผenie regularne, na przykล‚ad \"^(.*)test(.*)$\".", + "TargetTypeStartsWith": "zaczyna siฤ™ od", + "TimeOnSite": "Czas w serwisie", + "UpdatingData": "Aktualizacja danychโ€ฆ", + "UrlParameterValueToMatchPlaceholder": "Wartoล›ฤ‡ dopasowywana dla parametru URL", + "UrlXDoesNotLookLikeUrl": "%s nie wyglฤ…da jak adres URL. Upewnij siฤ™, ลผe adres zawiera protokรณล‚ np. http:// lub zaczyna siฤ™ od //", + "ViewReport": "Raport wyล›wietleล„", + "ViewportResolution": "Rozdzielczoล›ฤ‡ przeglฤ…darki (szerokoล›ฤ‡ x wysokoล›ฤ‡)", + "XSamples": "%s prรณbek", + "disable": "wyล‚ฤ…cz", + "enable": "wล‚ฤ…cz" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/pt-br.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/pt-br.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/pt-br.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/pt.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/pt.json new file mode 100644 index 0000000..0bd96f3 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/pt.json @@ -0,0 +1,185 @@ +{ + "HeatmapSessionRecording": { + "ActivityClick": "Clique", + "ActivityFormChange": "Alteraรงรฃo no formulรกrio", + "ActivityFormText": "Alteraรงรฃo de texto no formulรกrio", + "ActivityFormValue": "Alteraรงรฃo de valor no formulรกrio", + "ActivityInitialDom": "Pรกgina inicial", + "ActivityMove": "Movimento", + "ActivityResize": "Redimensionamento", + "ActivityScroll": "Deslocamento", + "ActivityScrollElement": "Deslocamento de elemento", + "AdvancedOptions": "Opรงรตes avanรงadas", + "AutoPlayNextPageview": "Clique para %1$s reproduzir de forma automรกtica a prรณxima visualizaรงรฃo da pรกgina (atalho %2$s)", + "AvgAboveFoldDescription": "Em mรฉdia os visitantes vรชm o conteรบdo acima desta linha sem deslocamento", + "AvgAboveFoldTitle": "%spx de mรฉdia sob o limite", + "BreakpointGeneralHelp": "O tipo de dispositivo รฉ detetado automaticamente quando um visitante visita o seu site. No entanto, por vezes, pode nรฃo ser possรญvel detetar o tipo de dispositivo. Se o seu site รฉ responsivo e o seu interface se modifica em determinado ponto, nรณs iremos colocar utilizadores de computadores com uma resoluรงรฃo pequena neste tipo de dispositivos para mapas tรฉrmicos mais fiรกveis. Qualquer largura inferior a este valor serรก colocada neste tipo de dispositivo. Defina zero se o seu site nรฃo รฉ responsivo.", + "BreakpointGeneralHelpManage": "Um utilizador com acesso de super-utilizador pode alterar os valores predefinidos para estes pontos de quebra em Administraรงรฃo => Definiรงรตes gerais.", + "BreakpointX": "Ponto de quebra %s", + "CaptureKeystrokes": "Capturar teclas pressionadas", + "CaptureKeystrokesHelp": "Se ativo, qualquer texto que seja introduzido em campos de texto de formulรกrios serรก gravado. Enquanto o texto รฉ gravado, qualquer carater que um utilizador introduza รฉ substituรญdo por um asterisco ('*'). Pode permitir que determinados campos sejam gravados em texto-simples, especificando um atributo 'data-matomo-unmask' num campo do formulรกrio. No entanto, campos de palavras-passe e muitos outros campos que podem potencialmente conter informaรงรตes pessoais (endereรงos, e-mail, informaรงรตes do cartรฃo de crรฉdito, nome de utilizador, nรบmero de telefone, ...) serรฃo sempre mascarados automaticamente se for detetado por nรณs como tal (%1$ssaber mais%2$s). Por favor, note que quando ativa esta funcionalidade, pode guardar informaรงรตes pessoais que podem afetar o RGPD.", + "ChangeReplaySpeed": "Alterar velocidade de reproduรงรฃo (atalho %s)", + "ClickToSkipPauses": "Clique para %1$s saltar pausas (atalho %2$s)", + "ColumnActionsDocumentation": "Reproduzir a sessรฃo gravada ou eliminar a gravaรงรฃo de forma permanente.", + "ColumnBrowserDocumentation": "O navegador que o visitante estava a utilizar quando esta sessรฃo foi gravada.", + "ColumnDeviceDocumentation": "O dispositivo que o visitante estava a utilizar quando esta sessรฃo foi gravada.", + "ColumnLabelRecordedSessions": "Endereรงo de entrada โ†’ Endereรงo de saรญda", + "ColumnLocationDocumentation": "A localizaรงรฃo do visitante quando esta sessรฃo foi gravada.", + "ColumnOperatingSystem": "Sistema operativo", + "ColumnOperatingSystemDocumentation": "O sistema operativo que o visitante estava a utilizar quando esta sessรฃo foi guardada.", + "ColumnPageviewsDocumentation": "O nรบmero de visualizaรงรตes de pรกginas que foram guardadas durante esta sessรฃo.", + "ColumnResolutionDocumentation": "O nรบmero de pixeis da รกrea de visualizaรงรฃo vรญsivel na janela do navegador quando o utilizador abriu esta pรกgina.", + "ColumnTime": "Hora", + "ColumnTimeDocumentation": "A hora que a gravaรงรฃo comeรงou no fuso horรกrio do site.", + "ColumnTimeOnPageDocumentation": "Quanto tempo o visitante despendeu nesta pรกgina enquanto a sessรฃo foi gravada", + "ColumnTimeOnSiteDocumentation": "Quanto tempo o visitante despendeu no total enquanto a sessรฃo foi gravada", + "ConfigsInternetDisabled": "Nรฃo conseguimos confirmar se '%s' รฉ acessรญvel porque a ligaรงรฃo ร  Internet estรก desativada neste Matomo.", + "ConfigsPhpErrorResult": "Como resultado, o acompanhamento de mapas tรฉrmicos e gravaรงรตes de sessรตes pode nรฃo funcionar. Pode necessitar de alterar a configuraรงรฃo do seu servidor web para permitir o acesso a este ficheiro via Internet ou Intranet.", + "ConfigsPhpManualCheck": "Por favor, abra o endereรงo manualmente num navegador para verificar se a resposta contem 'Piwik.HeatmapSessionRecording'. Caso contrรกrio, pode precisar de modificar a configuraรงรฃo do seu servidor dado que este ficheiro precisa de ser acessรญvel atravรฉs de um navegador a partir da Internet ou Intranet.", + "ConfigsPhpNotAccessible": "O endereรงo '%s' aparenta nรฃo ser acessรญvel a partir da Internet ou Intranet.", + "ConfigsPhpSelfSignedError": "A solicitaรงรฃo de '%s' resultou num erro SSL. Talvez esteja a utilizar um certificado auto-assinado?", + "ConfigsPhpSuccess": "'%s' estรก acessรญvel", + "ConfigsPhpUnknown": "Nรฃo conseguimos confirmar se '%s' รฉ acessรญvel pela Internet ou Intranet.", + "ConfigsPhpUnknownError": "A solicitaรงรฃo de '%1$s' resultou num erro: %2$s.", + "CreateNewHeatmap": "Criar novo mapa tรฉrmico", + "CreateNewSessionRecording": "Criar nova gravaรงรฃo de sessรฃo", + "CreationDate": "Data de criaรงรฃo", + "DeleteHeatmapConfirm": "Tem a certeza que pretende eliminar este mapa tรฉrmico? Os relatรณrios dos mapas tรฉrmicos gerados anteriormente deixarรฃo de estar disponรญveis a partir do interface dos relatรณrios.", + "DeleteHeatmapScreenshotConfirm": "Tem a certeza que pretende eliminar esta captura de ecrรฃ? Pode demorar algum tempo atรฉ a captura de ecrรฃ ser novamente feita.", + "DeleteRecordedPageview": "Eliminar esta visualizaรงรฃo de pรกgina (nรฃo รฉ solicitada confirmaรงรฃo)", + "DeleteRecordedSession": "Eliminar esta sessรฃo gravada (nรฃo รฉ solicitada confirmaรงรฃo)", + "DeleteScreenshot": "Eliminar captura de ecrรฃ", + "DeleteSessionRecordingConfirm": "Tem a certeza que pretende eliminar esta gravaรงรฃo da sessรฃo? As gravaรงรตes geradas anteriormente deixarรฃo de estar disponรญveis a partir do interface dos relatรณrios.", + "DeleteX": "Eliminar %s", + "EditHeatmapX": "Editar mapa tรฉrmico %s", + "EditSessionRecordingX": "Editar gravaรงรฃo de sessรฃo %s", + "EditX": "Editar %s", + "EndHeatmapConfirm": "Tem a certeza que pretende parar a captura de quaisquer atividades para este mapa tรฉrmico?", + "EndSessionRecordingConfirm": "Tem a certeza que pretende parar a gravaรงรฃo de quaisquer novas sessรตes?", + "ErrorArrayMissingKey": "Falta a chave \"%1$s\" do vetor \"%2$s\" na posiรงรฃo \"%3$s\".", + "ErrorArrayMissingValue": "Falta o valor para a chave \"%1$s\" do vetor \"%2$s\" na posiรงรฃo \"%3$s\".", + "ErrorHeatmapDoesNotExist": "O mapa tรฉrmico solicitado nรฃo existe", + "ErrorHeatmapNameDuplicate": "O nome do mapa tรฉrmico jรก estรก a ser utilizado por outro mapa tรฉrmico.", + "ErrorInnerIsNotAnArray": "Cada \"%1$s\" dentro de \"%2$s\" tem de ser um vetor.", + "ErrorInvalidRegExp": "A expressรฃo regular \"%1$s\" nรฃo tem um formato vรกlido.", + "ErrorNotAnArray": "\"%1$s\" tem de ser um vetor.", + "ErrorPageRuleRequired": "Tem de ser definido pelo menos uma regra de pรกgina.", + "ErrorSessionRecordingDoesNotExist": "A gravaรงรฃo da sessรฃo solicitada nรฃo existe", + "ErrorXContainsWhitespace": "Nรฃo รฉ permitido que \"%1$s\" contenha qualquer espaรงo em branco.", + "ErrorXNotANumber": "\"%1$s\" tem de ser um nรบmero.", + "ErrorXNotProvided": "Por favor, forneรงa um valor para \"%1$s\".", + "ErrorXNotWhitelisted": "O valor para \"%1$s\" nรฃo รฉ permitido; utilize um de: %2$s.", + "ErrorXTooHigh": "\"%1$s\" รฉ demasiado alto, o valor mรกximo permitido รฉ %2$s.", + "ErrorXTooLong": "\"%1$s\" รฉ demasiado longo; pode utilizar um mรกximo de %2$s carateres.", + "ErrorXTooLow": "\"%1$s\" รฉ demasiado baixo, o valor mรญnimo permitido รฉ %2$s.", + "ExcludedElements": "Elementos excluรญdos", + "ExcludedElementsHelp": "Opcionalmente pode definir seletores CSS para excluir determinados elementos que nรฃo devem ser visรญveis na prรฉ-visualizaรงรฃo do mapa tรฉrmico. Por exemplo, um popup que seja apresentado quando a pรกgina-alvo seja aberta. Pode separar mรบltiplos seletores com uma vรญrgula.", + "FieldIncludedTargetsHelp": "Os alvos permitem-lhe definir em que pรกginas as atividades de um visitante devem ser gravadas. Pode definir uma ou mais condiรงรตes. Por exemplo, pode definir que a gravaรงรฃo de atividades ocorre sempre que o endereรงo ou caminho รฉ igual a um determinado valor ou apenas se um determinado parรขmetro do endereรงo estiver presente no mesmo. As atividades serรฃo gravadas apenas quando todas as condiรงรตes se verificarem, e nรฃo quando apenas uma se confirmar. Todas as condiรงรตes serรฃo avaliadas sem diferenciaรงรฃo entre maiรบsculas e minรบsculas. Quando seleciona 'igualdade simples', o protocolo, parรขmetros da consulta e barra invertida do endereรงo serรฃo ignorados.", + "FieldIncludedTargetsHelpSessions": "Os alvos permitem-lhe definir para apenas se iniciar a gravaรงรฃo de uma sessรฃo assim que um visitante atingir uma determinada pรกgina. Isto permite, por exemplo, que apenas grave sessรตes que passem por um processo especรญfico. Pode definir uma ou mais condiรงรตes. Por exemplo, pode definir que a gravaรงรฃo da sessรฃo ocorre sempre que o endereรงo ou caminho รฉ igual a um determinado valor ou apenas se um determinado parรขmetro do endereรงo estiver presente no mesmo. As sessรตes serรฃo gravadas apenas quando todas as condiรงรตes se verificarem na visualizaรงรฃo de uma pรกgina, e nรฃo quando apenas uma se confirmar. Todas as condiรงรตes serรฃo avaliadas sem diferenciaรงรฃo entre maiรบsculas e minรบsculas. Quando seleciona 'igualdade simples', o protocolo, parรขmetros da consulta e barra invertida do endereรงo serรฃo ignorados.", + "FieldNamePlaceholder": "por exemplo, 'Pรกgina de registo'", + "FilesystemDirectory": "diretรณrio", + "Filter": "Filtro", + "GettingStarted": "Comeรงar", + "Heatmap": "Mapa tรฉrmico", + "HeatmapCreated": "O mapa tรฉrmico foi criado com sucesso.", + "HeatmapNameHelp": "Define o nome sob o qual o relatรณrio para este mapa tรฉrmico ficarรก disponรญvel.", + "HeatmapSampleLimit": "Nรบmero de visualizaรงรตes de pรกginas", + "HeatmapSampleLimitHelp": "Define a quantidade de visualizaรงรตes de pรกginas que pretende guardar no total.", + "HeatmapSampleRateHelp": "Tambรฉm conhecido como 'trรกfego'. Quando selecionar 100%%, todos os visitantes que visitem a pรกgina-alvo selecionada serรฃo gravados. Quando selecionar, por exemplo 10%%, apenas 10 em cada 100 visitantes serรฃo gravados. Quanto menor a percentagem que selecionar, mais tempo irรก demorar a atingir o limite de amostras selecionado.", + "HeatmapUpdated": "O mapa tรฉrmico foi atualizado com sucesso.", + "HeatmapUsageBenefits": "Os mapas tรฉrmicos permitem-lhe gravar todos os cliques, movimentos do rato e atividades de deslocamento dos seus visitantes numa determinada pรกgina. Isto ajuda-o a perceber onde os utilizadores pensam que existe algo clicรกvel mas que nรฃo รฉ, se existem partes da pรกgina que raramente sรฃo vistas ou manipuladas, o que os utilizadores estรฃo ร  procura, que parte da pรกgina รฉ visรญvel quando os utilizadores vรชm a sua pรกgina, entre outras informaรงรตes.", + "HeatmapWidth": "Largura do mapa tรฉrmico", + "HeatmapX": "Mapa tรฉrmico %s", + "HeatmapXRecordedSamplesSince": "Foram guardadas %1$s amostras desde %2$s.", + "Heatmaps": "Mapas tรฉrmicos", + "Manage": "Gerir", + "ManageHeatmaps": "Gerir mapas tรฉrmicos", + "ManageSessionRecordings": "Gerir gravaรงรตes de sessรตes", + "MinSessionTime": "Tempo mรญnimo de sessรฃo", + "MinSessionTimeHelp": "Uma sessรฃo sรณ serรก guardada quando o visitante despender numa pรกgina, pelo menos, o tempo especificado.", + "NHeatmaps": "%s mapas tรฉrmicos", + "NSessionRecordings": "%s gravaรงรตes de sessรตes", + "NoHeatmapSamplesRecordedYet": "Ainda nรฃo foram guardadas visualizaรงรตes de pรกginas para este mapa tรฉrmico. Se jรก era suposto ter gravaรงรตes, talvez as pรกginas-alvo configuradas para este mapa tรฉrmico nรฃo coincidam com qualquer pรกgina no seu site. Tambรฉm รฉ recomendรกvel fazer a \"Verificaรงรฃo de sistema\" sob \"Administraรงรฃo\" (apenas para super-utilizadores) para ver se o seu sistema estรก configurado para acompanhar automaticamente mapas tรฉrmicos.", + "NoHeatmapScreenshotRecordedYet": "Jรก foram gravadas %1$s amostras atรฉ ao momento. No entanto, ainda nรฃo foi feita qualquer captura de ecrรฃ atรฉ ao momento. Se existe um \"%2$s\" para este mapa tรฉrmico, pode demorar um pouco para a captura de ecrรฃ ficar disponรญvel dado que um utilizador tem de primeiro abrir este endereรงo da captura de ecrรฃ. Dependendo da taxa de amostragem, pode demorar um pouco.", + "NoHeatmapsConfiguredInfo": "Nรฃo existem mapas tรฉrmicos ativos. Para ver mapas tรฉrmicos, por favor, solicite a um utilizador com um acesso de administrador para criar um novo mapa tรฉrmico.", + "NoHeatmapsFound": "Nรฃo foram encontrados mapas tรฉrmicos", + "NoSessionRecordedYet": "Ainda nรฃo foram guardadas sessรตes. Se jรก era suposto ter sessรตes guardadas, talvez a pรกgina de entrada configurada nรฃo coincida com qualquer pรกgina no seu site. Tambรฉm รฉ recomendรกvel fazer a \"Verificaรงรฃo de sistema\" sob \"Administraรงรฃo\" (apenas para super-utilizadores) para ver se o seu sistema estรก configurado para gravaรงรตes automรกticas de sessรตes.", + "NoSessionRecordingsConfiguredInfo": "Nรฃo existem gravaรงรตes de sessรตes ativas. Para gravar novas sessรตes, por favor, solicite a um utilizador com um acesso de administrador para criar uma nova gravaรงรฃo.", + "NoSessionRecordingsFound": "Nรฃo foram encontradas gravaรงรตes de sessรฃo", + "NotSupportedBrowser": "Este navegador nรฃo รฉ suportado. Por favor, utilize uma versรฃo mais recente ou experimente um navegador diferente.", + "OnePageview": "1 visualizaรงรฃo de pรกgina", + "PageRule": "Regra de pรกgina", + "PageviewXofY": "Visualizaรงรฃo de pรกgina %1$s de %2$s", + "PageviewsInVisit": "Visualizaรงรตes de pรกginas guardadas para esta sessรฃo", + "PersonalInformationNote": "Por favor, note que um %1$s pode gravar informaรงรตes pessoais ou sensรญveis. Se quiser ocultar determinado conteรบdo no seu site ou aplicaรงรฃo, pode etiquetar este conteรบdo adicionando um atributo %2$sdata-matomo-mask%3$s na marcaรงรฃo HTML. %4$sSaber mais%5$s", + "PlayRecordedSession": "Reproduzir esta sessรฃo gravada", + "PlayerDurationXofY": "%1$s de %2$s", + "PlayerForwardFast": "Saltar %1$s segundos (atalho %2$s)", + "PlayerPageViewNext": "Reproduzir a visualizaรงรฃo de pรกgina seguinte para este visitante (%1$s) (atalho %2$s)", + "PlayerPageViewPrevious": "Reproduzir a visualizaรงรฃo de pรกgina anterior para este visitante %1$s (atalho %2$s)", + "PlayerPause": "Pausar (atalho %s ou espaรงo)", + "PlayerPlay": "Reproduzir (atalho %s ou espaรงo)", + "PlayerReplay": "Reproduzir (atalho %s ou espaรงo)", + "PlayerRewindFast": "Retroceder %1$s segundos (atalho %2$s)", + "RecordedHeatmapDocStatusActive": "Este mapa tรฉrmico estรก ativo. Serรฃo gravadas atรฉ %1$d visualizaรงรตes de pรกginas com uma taxa de amostragem de %2$s.", + "RecordedHeatmapDocStatusEnded": "Este mapa tรฉrmico terminou. Nรฃo serรฃo gravadas mais atividades.", + "RecordedSessions": "Sessรตes gravadas", + "RecordedSessionsDocStatusActive": "Esta gravaรงรฃo da sessรฃo estรก ativa. Serรฃo gravadas atรฉ %1$d sessรตes com uma taxa de amostragem de %2$s.", + "RecordedSessionsDocStatusEnded": "Esta gravaรงรฃo da sessรฃo terminou e nรฃo serรฃo gravadas novas sessรตes.", + "Recordings": "Gravaรงรตes", + "ReplayRecordedSession": "Reproduzir sessรฃo gravada", + "ReplayX": "Reproduzir %s", + "ReportRecordedSessionsDocumentation": "Uma lista de todas as sessรตes que foram guardadas. Pode reproduzir qualquer sessรฃo guardada.", + "RequiresActivity": "Requer atividade", + "RequiresActivityHelp": "Se ativo, apenas sessรตes que tenham atividades de clique ou deslocamento numa visualizaรงรฃo de pรกgina serรฃo guardadas. Isto impede a gravaรงรฃo de sessรตes sem muita atividade.", + "Rule": "Regra", + "SampleLimit": "Limite de amostras", + "SampleRate": "Taxa de amostragem", + "ScreenshotUrl": "Endereรงo da captura de ecrรฃ", + "ScreenshotUrlHelp": "Por predefiniรงรฃo, รฉ feita uma captura de ecrรฃ quando o primeiro visitante visualiza a pรกgina-alvo. Se vรกrios endereรงos de pรกginas diferentes coincidem com a pรกgina-alvo, pode especificar o endereรงo que deve ser utilizado para capturar o ecrรฃ. A visualizaรงรฃo do mapa tรฉrmico sรณ estarรก disponรญvel quando pelo menos um utilizador visitar este endereรงo cujas atividades sรฃo gravadas. Se definido, o endereรงo tem de coincidir em absoluto. Para ignorar o protocolo, comece o endereรงo com duas barras invertidas (//example.com). Por favor, note que este endereรงo nรฃo poderรก ser alterado a partir do momento que uma captura de ecrรฃ tenha sido feita.", + "SessionNameHelp": "Define o nome sob o qual as gravaรงรตes de sessรตes ficarรฃo disponรญveis.", + "SessionRecording": "Gravaรงรฃo de sessรฃo", + "SessionRecordingCreated": "A gravaรงรฃo de sessรฃo foi criada com sucesso.", + "SessionRecordingUpdated": "A gravaรงรฃo de sessรฃo foi atualizada com sucesso.", + "SessionRecordingX": "Gravaรงรฃo da sessรฃo %s", + "SessionRecordings": "Gravaรงรตes de sessรตes", + "SessionRecordingsUsageBenefits": "As gravaรงรตes de sessรตes permitem-lhe guardar todas as atividades de um utilizador em tempo-real durante a sua sessรฃo (visita), tais como cliques, movimentos do rato, deslocamentos, dimensionamento de janelas, alteraรงรตes na pรกgina e interaรงรตes em formulรกrios. Pode depois reproduzir estas interaรงรตes para ver, exatamente, como um visitante interagiu com o seu site. Desta forma pode perceber as expetativas, problemas, padrรตes de utilizaรงรฃo, etc., que estes tรชm.", + "SessionSampleLimit": "Nรบmero de sessรตes", + "SessionSampleLimitHelp": "Define a quantidade de sessรตes que pretende guardar no total.", + "SessionSampleRateHelp": "Tambรฉm conhecido como 'trรกfego'. Quando selecionar 100%%, todas as sessรตes serรฃo gravadas assim que atinjam a pรกgina-alvo. Quando selecionar, por exemplo 10%%, apenas 10 em cada 100 sessรตes serรฃo gravadas. Quanto menor a percentagem que selecionar, mais tempo irรก demorar a atingir o limite de amostras selecionado.", + "StatusActive": "Ativo", + "StatusEnded": "Terminou", + "StopX": "Parar a gravaรงรฃo de quaisquer novas atividades para este %s.", + "TargetAttributePath": "Caminho", + "TargetAttributeUrl": "Endereรงo", + "TargetAttributeUrlParameter": "Parรขmetro do endereรงo", + "TargetAttributeUrlParameterExample": "nomeDoParametroDoEndereco", + "TargetPage": "Pรกgina-alvo", + "TargetPageTestErrorInvalidUrl": "Introduza um endereรงo, incluindo o protocolo.", + "TargetPageTestLabel": "Introduza um endereรงo completo, incluindo o protocolo, para confirmar se as atividades serรฃo gravadas neste endereรงo:", + "TargetPageTestTitle": "Validador do endereรงo", + "TargetPageTestUrlMatches": "As atividades serรฃo gravadas para este endereรงo", + "TargetPageTestUrlNotMatches": "As atividades nรฃo serรฃo gravadas para este endereรงo", + "TargetPages": "Pรกginas de entrada", + "TargetTypeContains": "contรฉm", + "TargetTypeEqualsExactly": "exatamente igual", + "TargetTypeEqualsExactlyInfo": "O valor deve coincidir em absoluto, incluindo o protocolo do endereรงo, termos de pesquisa e ancora.", + "TargetTypeEqualsSimple": "igualdade simples", + "TargetTypeEqualsSimpleInfo": "O endereรงo irรก coincidir qualquer protocolo (por exemplo, http e https) com e sem o subdomรญnio \"www.\". Qualquer barra transversal no caminho, bem como os parรขmetros de consulta e รขncora que sejam parte do endereรงo serรฃo ignorados na comparaรงรฃo do endereรงo.", + "TargetTypeExists": "existe", + "TargetTypeIsAny": "รฉ qualquer", + "TargetTypeIsNot": "nรฃo %s", + "TargetTypeRegExp": "coincide com a expressรฃo regular", + "TargetTypeRegExpInfo": "Qualquer expressรฃo regular, por exemplo, \"^(.*)test(.*)$\".", + "TargetTypeStartsWith": "comeรงa com", + "TimeOnSite": "Tempo no site", + "UpdatingData": "A atualizar dadosโ€ฆ", + "UrlParameterValueToMatchPlaceholder": "Valor a coincidir com o nome do parรขmetro do endereรงo", + "UrlXDoesNotLookLikeUrl": "%s nรฃo parece ser um endereรงo. Confirme que contรฉm um protocolo como http:// ou que comeรงa com //", + "ViewReport": "Ver relatรณrio", + "ViewportResolution": "Resoluรงรฃo da รกrea de visualizaรงรฃo (largura x altura)", + "XSamples": "%s amostras", + "disable": "desativar", + "enable": "ativar" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/ro.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ro.json new file mode 100644 index 0000000..c6ed30e --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ro.json @@ -0,0 +1,6 @@ +{ + "HeatmapSessionRecording": { + "Heatmap": "Hartฤƒ termicฤƒ", + "SessionRecording": "รŽnregistrare sesiune" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/ru.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ru.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ru.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/si.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/si.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/si.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/sk.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/sk.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/sk.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/sl.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/sl.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/sl.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/sq.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/sq.json new file mode 100644 index 0000000..2f65a2e --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/sq.json @@ -0,0 +1,247 @@ +{ + "HeatmapSessionRecording": { + "Action": "Veprim", + "ActivityClick": "Klikim", + "ActivityFormChange": "Ndryshim Forme", + "ActivityFormText": "Ndryshim Teksti Formulari", + "ActivityFormValue": "Ndryshim Vlere Formulari", + "ActivityInitialDom": "Faqe Fillestare", + "ActivityMove": "Lรซvizje", + "ActivityPageChange": "Ndryshoje Brenda Faqes", + "ActivityResize": "Ripรซrmasim", + "ActivityScroll": "Rrรซshqitje", + "ActivityScrollElement": "Element Rrรซshqitjeje", + "AdBlockerDetected": "%1$s mund tรซ mos jetรซ e dukshme, kur pรซrdoret njรซ bllokues reklamash. Ju lutemi, รงaktivizoni bllokuesin e reklamave nรซ kรซtรซ sajt, pรซr tรซ garantuar se Matomo funksionon pa ndonjรซ problem.", + "AdvancedOptions": "Mundรซsi tรซ mรซtejshme", + "AutoPlayNextPageview": "Klikoni qรซ tรซ %1$s vetรซluhet pamja e faqes pasuese (shkurtore %2$s)", + "AvgAboveFoldDescription": "Mesatarisht, pรซrdoruesit shohin lรซndรซn mbi kรซtรซ vijรซ pa rrรซshqitje", + "AvgAboveFoldTitle": "Mes. Mbi Dosje %spx", + "BreakpointGeneralHelp": "Kur njรซ vizitor sheh sajtin tuaj, lloji i pajisjes zbulohet vetvetiu. Por ndonjรซherรซ mund tรซ mos jetรซ e mundur tรซ zbulohet lloji i pajisjes. Nรซse sajti juaj รซshtรซ reagues dhe skema e tij shformohet nรซ njรซ pikรซ tรซ caktuar, pรซr harta tรซ pรซrpikta veprimesh ne do ta kalojmรซ pรซrdoruesin nรซn njรซ qartรซsi mรซ tรซ vogรซl pรซr kรซtรซ lloj pajisjeje. ร‡farรซdo gjerรซsie mรซ e vogรซl se kjo vlerรซ, do tรซ kalohet nรซ kรซtรซ lloj pajisjeje. Nรซse sajti juaj sโ€™รซshtรซ reagues, caktojeni zero.", + "BreakpointGeneralHelpManage": "Njรซ pรซrdorues me tรซ drejta Superpรซrdoruesi mund tรซ ndryshojรซ vlerat parazgjedhje pรซr kรซto pika shformimi, qรซ nga Administrim => Rregullime tรซ Pรซrgjithshme.", + "BreakpointX": "Pikรซ shformimi %s", + "CaptureDomInlineHelp": "Si parazgjedhje, fotografimet e hartรซs sรซ veprimeve bรซhen automatikisht gjatรซ ngarkimit tรซ faqes. Nรซse faqja juaj ngarkon elementรซ nรซ mรซnyrรซ dinamike (b.f., โ€œlazy loadingโ€) fotografimi juaj mund tรซ ishte i paplotรซ. Mundeni tรซ fotografoni dorazi njรซ pamje tรซ plotรซ, duke aktivizuar kรซtรซ mundรซsi dhe duke ekzekutuar nรซ shfletuesin tuaj, kodin Javascript: %1$s %2$sShรซnim:%3$s Kjo mundรซsi rikthehet automatikisht te parazgjedhja, pas bรซrjes sรซ fotografimit.", + "CaptureDomTitle": "Fotografoni Dorazi Pamje Harte Veprimesh", + "CaptureKeystrokes": "Regjistro shtypje tastesh", + "CaptureKeystrokesHelp": "Nรซ u aktivizoftรซ, รงfarรซdo teksti qรซ jepet nรซ fusha formularรซsh, regjistrohet. Teksa teksti regjistrohet, รงfarรซdo shenje qรซ pรซrdoruesi pรซrdor zรซvendรซsohet me njรซ yll ('*'). Duke u caktuar atributin โ€œdata-matomo-unmaskโ€, mund tรซ lejoni qรซ fusha formulari tรซ regjistrohen si tekst i thjeshtรซ. Sido qoftรซ, fusha pรซr fjalรซkalime dhe mjaft fusha tรซ tjera, tรซ cilat mundet potencialisht tรซ pรซrfshijnรซ tรซ dhรซna personale (adresรซ, email, tรซ dhรซna karte krediti, emรซr pรซrdoruesi, numรซr telefoni, โ€ฆ) do tรซ maskohen automatikisht, nรซ u zbulofshin prej nesh si tรซ tilla (%1$smรซsoni mรซ tepรซr%2$s). Ju lutemi, kini parasysh se kur aktivizoni kรซtรซ veรงori, mund tรซ regjistroni tรซ dhรซna personale, gjรซ qรซ mund tรซ prekรซ GDPR-nรซ.", + "ChangeReplaySpeed": "Ndryshoni shpejtรซsi luajtjeje (shkurtore %s)", + "ClickRate": "Nivel klikimi:", + "ClickToSkipPauses": "Klikoni qรซ tรซ %1$s anashkalohen ndalesat (shkurtore %2$s)", + "Clicks": "Klikime:", + "ColumnActionsDocumentation": "Luani sesionin e regjistruar, ose hiqeni regjistrimin pรซrgjithmonรซ.", + "ColumnBrowserDocumentation": "Shfletuesi qรซ po pรซrdorte vizitori, kur u regjistrua ky sesion.", + "ColumnDeviceDocumentation": "Pajisja qรซ po pรซrdorte vizitori, kur u regjistrua ky sesion.", + "ColumnLabelRecordedSessions": "URL Hyrjeje โ†’ URL Daljeje", + "ColumnLocationDocumentation": "Vendndodhja e vizitorit, kur u regjistrua ky sesion.", + "ColumnOperatingSystem": "OS", + "ColumnOperatingSystemDocumentation": "Sistemi operativ qรซ po pรซrdorte vizitori, kur u regjistrua ky sesion.", + "ColumnPageviewsDocumentation": "Numri i parjeve tรซ faqeve qรซ janรซ regjistruar gjatรซ kรซtij sesioni.", + "ColumnResolutionDocumentation": "Numri i pikselave tรซ pjesรซs sรซ dukshme nรซ dritaren e shfletuesit, kur pรซrdoruesi hapi kรซtรซ faqe.", + "ColumnTime": "Kohรซ", + "ColumnTimeDocumentation": "Koha kur nisi regjistrimi, sipas zonรซs kohore tรซ sajtit.", + "ColumnTimeOnPageDocumentation": "Sa kohรซ shpenzoi vizitori nรซ kรซtรซ faqe, teksa regjistrohej sesioni", + "ColumnTimeOnSiteDocumentation": "Sa kohรซ shpenzoi vizitori gjithsej, teksa regjistrohej sesioni", + "ColumnTotalEventsDocumentation": "Numri i akteve qรซ qenรซ regjistruar gjatรซ kรซtij sesioni. Pรซr shembull: akte klikimi, lรซvizjeje, rrรซshqitjeje, ripรซrmasimi, ndryshimi faqesh dhe ndรซrveprimi me formular.", + "ConfigsInternetDisabled": "Sโ€™kontrolluam dot nรซse โ€œ%sโ€ รซshtรซ i pรซrdorshรซm, ngaqรซ nรซ kรซtรซ Matomo รซshtรซ e รงaktivizuar lidhja nรซ Internet.", + "ConfigsPhpErrorResult": "Si rrjedhojรซ, ndjekja e Hartave tรซ Veprimeve dhe Regjistrimet e Sesionit mund tรซ mos funksionojnรซ. Mund tโ€™ju duhet tรซ ndryshoni formรซsimet e shรซrbyesit tuaj, nรซ mรซnyrรซ qรซ tรซ lejoni pรซrdorimin e kรซsaj kartele qรซ nga Interneti apo Intraneti.", + "ConfigsPhpManualCheck": "Ju lutemi, hapeni URL-nรซ dorazi nรซ njรซ shfletues pรซr tรซ parรซ nรซse pรซrgjigja pรซrmban โ€œPiwik.HeatmapSessionRecordingโ€. Nรซse jo, mund tโ€™ju duhet tรซ ndryshoni formรซsimin e shรซrbyesit tuaj, ngaqรซ kjo kartelรซ lyp tรซ jetรซ e pรซrdorshme pรซrmes njรซ shfletuesi qรซ nga Interneti ose Intraneti.", + "ConfigsPhpNotAccessible": "URL-ja โ€œ%sโ€ duket se nuk รซshtรซ e kapshme prej Interneti apo Intraneti.", + "ConfigsPhpSelfSignedError": "Kรซrkesa pรซr โ€œ%sโ€ solli njรซ gabim SSL. Mos vallรซ pรซrdorni njรซ dรซshmi tรซ vetรซnรซnshkruar?", + "ConfigsPhpSuccess": "โ€œ%sโ€ รซshtรซ i kapshรซm", + "ConfigsPhpUnknown": "Sโ€™kontrolluam dot nรซse โ€œ%sโ€ รซshtรซ i pรซrdorshรซm nรซ Internet apo Intranet.", + "ConfigsPhpUnknownError": "Kรซrkimi i โ€œ%1$sโ€ solli njรซ gabim: %2$s.", + "Country": "Vend", + "CreateNewHeatmap": "Krijoni hartรซ tรซ re veprimesh", + "CreateNewSessionRecording": "Krijoni regjistrim tรซ ri sesioni", + "CreationDate": "Datรซ Krijimi", + "DeleteHeatmapConfirm": "Jeni i sigurt se doni tรซ fshihet kjo hartรซ veprimesh? Raporte pรซr harta veprimesh tรซ prodhuara mรซ herรซt sโ€™do tรซ jenรซ mรซ tรซ passhรซm qรซ nga UI e raporteve.", + "DeleteHeatmapScreenshotConfirm": "Jeni i sigurt se doni tรซ fshihet kjo foto ekrani? Ribรซrja e fotos sรซ ekranit mund tรซ zgjasรซ ca.", + "DeleteRecordedPageview": "Fshije kรซtรซ parje tรซ regjistruar faqeje (pa kรซrkuar ripohim)", + "DeleteRecordedSession": "Fshije kรซtรซ sesion tรซ regjistruar (pa kรซrkuar ripohim)", + "DeleteScreenshot": "Fshije Foton e Ekranit", + "DeleteSessionRecordingConfirm": "Jeni i sigurt se doni tรซ fshihet ky regjistrim sesioni? Sโ€™do tรซ jenรซ mรซ tรซ passhรซm qรซ nga UI e raporteve.", + "DeleteX": "Fshije %s", + "DeviceType": "Lloj Pajisjeje", + "DisableHeatmapRecordingDescription": "Duke รงaktivizuar kรซtรซ veรงori, sโ€™mund tรซ formรซsohet mรซ, apo regjistrohet ndonjรซ hartรซ veprimesh.", + "DisableHeatmapRecordingInlineHelp": "%1$sShรซnim: ร‡aktivizimi i kรซsaj veรงorie do tรซ fshijรซ krejt hartat e veprimeve, pรซrfshi ato tรซ ndjekura mรซ parรซ. Sโ€™do tรซ ketรซ ndryshime pรซr regjistrim sesionesh, nรซse aktivizoni, ose รงaktivizoni kรซtรซ veรงori.%2$s", + "DisableHeatmapRecordingTitle": "ร‡aktivizo Harta Veprimesh", + "DisableSessionRecordingDescription": "Duke รงaktivizuar kรซtรซ veรงori, sโ€™mund tรซ formรซsohen, apo ndiqen mรซ regjistrime sesionesh.", + "DisableSessionRecordingInlineHelp": "%1$sShรซnim: ร‡aktivizimi i kรซsaj veรงorie do tรซ fshijรซ krejt regjistrimet e sesioneve, pรซrfshi regjistrime sesionesh ndjekur mรซ parรซ. Sโ€™do tรซ ketรซ ndryshime pรซr harta veprimesh, nรซse aktivizoni, ose รงaktivizoni kรซtรซ veรงori.%2$s", + "DisableSessionRecordingTitle": "ร‡aktivizo Regjistrim Sesionesh", + "EditHeatmapX": "Pรซrpunoni Hartรซ Veprimesh %s", + "EditSessionRecordingX": "Pรซrpunoni Regjistrim Sesioni %s", + "EditX": "Pรซrpunoni %s", + "EnableIncludeCountriesDescription": "Si parazgjedhje, regjistrohen krejt vizitat. Aktivizojeni kรซtรซ pjesรซ, kur doni tรซ ndiqni vizita nga vende tรซ caktuara.", + "EnableIncludeCountriesTitle": "Ndiq vetรซm vizitorรซ prej vendesh tรซ caktuara", + "EndHeatmapConfirm": "Jeni i sigurt se doni tรซ ndalet regjistrimi i รงfarรซdo veprimtarish pรซr kรซtรซ hartรซ veprimesh?", + "EndSessionRecordingConfirm": "Jeni i sigurt se doni tรซ ndalet regjistrimi i รงfarรซdo sesionesh tรซ reja?", + "ErrorArrayMissingKey": "Mungon kyรง matrice โ€œ%1$sโ€ te โ€œ%2$sโ€ nรซ pozicionin โ€œ%3$sโ€.", + "ErrorArrayMissingValue": "Mungon vlerรซ pรซr kyรง matrice โ€œ%1$sโ€ te โ€œ%2$sโ€ nรซ pozicionin โ€œ%3$sโ€.", + "ErrorHeatmapDoesNotExist": "Harta e kรซrkuar e veprimeve sโ€™ekziston", + "ErrorHeatmapNameDuplicate": "Emri i hartรซs sรซ veprimeve รซshtรซ tashmรซ nรซ pรซrdorim nga njรซ tjetรซr hartรซ veprimesh.", + "ErrorHeatmapRecordingDisabled": "Veรงoria e regjistrimit pรซr harta veprimesh รซshtรซ e รงaktivizuar. Pรซr tรซ pรซrdorur kรซtรซ veรงori, lypset tรซ aktivizohet nga njรซ superpรซrdorues i Matomo-s, te rregullimet e pรซrgjithshme.", + "ErrorInnerIsNotAnArray": "ร‡do โ€œ%1$sโ€ brenda โ€œ%2$sโ€ duhet tรซ jetรซ njรซ matricรซ.", + "ErrorInvalidRegExp": "Shprehja e rregullt โ€œ%1$sโ€ sโ€™ka format tรซ vlefshรซm.", + "ErrorNotAnArray": "โ€œ%1$sโ€ duhet tรซ jetรซ njรซ matricรซ.", + "ErrorPageRuleRequired": "Duhet caktuar tรซ paktรซn njรซ rregull faqeje.", + "ErrorSessionRecordingDisabled": "Veรงoria e regjistrimit tรซ sesionit รซshtรซ e รงaktivizuar. Pรซr tรซ pรซrdorur kรซtรซ veรงori, lypset tรซ aktivizohet nga njรซ superpรซrdorues i Matomo-s, te rregullimet e pรซrgjithshme.", + "ErrorSessionRecordingDoesNotExist": "Regjistrimi i sesioneve i kรซrkuar sโ€™ekziston", + "ErrorXContainsWhitespace": "โ€œ%1$sโ€ sโ€™lejohet tรซ pรซrmbajรซ hapรซsirรซ tรซ zbrazรซt.", + "ErrorXNotANumber": "โ€œ%1$sโ€ duhet tรซ jetรซ njรซ numรซr.", + "ErrorXNotProvided": "Ju lutemi, jepni njรซ vlerรซ pรซr โ€œ%1$sโ€.", + "ErrorXNotWhitelisted": "Vlera pรซr โ€œ%1$sโ€ sโ€™lejohet, pรซrdorni njรซ nga: %2$s.", + "ErrorXTooHigh": "โ€œ%1$sโ€ รซshtรซ shumรซ i lartรซ, vlera maksimum e lejuar รซshtรซ %2$s.", + "ErrorXTooLong": "โ€œ%1$sโ€ รซshtรซ shumรซ i gjatรซ, lejohen maksimumi %2$s shenja.", + "ErrorXTooLow": "โ€œ%1$sโ€ รซshtรซ shumรซ i ulรซt, vlera minimum e lejuar รซshtรซ %2$s.", + "ExcludedElements": "Elementรซ tรซ Pรซrjashtuar", + "ExcludedElementsHelp": "Nรซse doni, mund tรซ pรซrkufizoni pรซrzgjedhรซs CSS pรซr tรซ pรซrjashtuar disa elementรซ tรซ cilรซt sโ€™duhet tรซ jenรซ tรซ dukshรซm gjatรซ paraparjes sรซ hartรซs sรซ veprimeve. Pรซr shembull, njรซ flluskรซ qรซ shfaqet kur hapet faqja e synuar. Pรซrzgjedhรซs tรซ shumtรซ mund tโ€™i ndani me presje.", + "FieldIncludedTargetsHelp": "Objektivat ju lejojnรซ tรซ pรซrkufizoni se nรซ cilat faqe duhet regjistruar veprimtaria e pรซrdoruesit. Mund tรซ pรซrkufizoni njรซ ose mรซ shumรซ kushte. Pรซr shembull, mund tรซ pรซrcaktoni tรซ regjistrohet veprimtari kurdo qรซ URL-ja ose shtegu รซshtรซ baras me njรซ vlerรซ tรซ dhรซnรซ dhe vetรซm nรซse nรซ tรซ รซshtรซ i pranishรซm njรซ parametรซr URL i dhรซnรซ. Veprimtaritรซ do tรซ regjistrohen vetรซm kur plotรซsohen tรซ tรซra kushtet, jo kur plotรซsohet vetรซm njรซ prej tyre. Krejt kushtet do peshohen pa marrรซ parasysh shkrimin me tรซ mรซdha apo me tรซ vogla. Kur pรซrzgjidhni โ€œรซshtรซ e barabartรซ thjesht meโ€, protokolli URL, parametrat e kรซrkimit dhe njรซ pjerrake paraprijรซse do tรซ shpรซrfillen.", + "FieldIncludedTargetsHelpSessions": "Objektivat ju lejojnรซ tรซ formรซsoni nisjen e regjistrimit tรซ njรซ sesioni vetรซm sapo njรซ vizitor tรซ ketรซ mbรซrritur nรซ njรซ faqe tรซ caktuar. Kjo ju lejon, pรซr shembull, tรซ regjistroni vetรซm sesione qรซ kalojnรซ nรซpรซr procesin e pรซrfundimit tรซ blerjes. Mund tรซ pรซrcaktoni njรซ ose mรซ shumรซ kushte. Pรซr shembull, mund tรซ pรซrcaktoni tรซ regjistroni njรซ sesion, vetรซm kur URL-ja ose shtegu รซshtรซ baras me njรซ vlerรซ tรซ dhรซnรซ dhe vetรซm nรซse te URL-ja รซshtรซ i pranishรซm njรซ parametรซr URL i dhรซnรซ. Sesionet do tรซ regjistrohen vetรซm kur gjatรซ parjes sรซ njรซ faqeje plotรซsohen tรซ tรซra kushtet, jo kur plotรซsohet vetรซm njรซ prej tyre. Krejt kushtet do peshohen pa marrรซ parasysh shkrimin me tรซ mรซdha apo me tรซ vogla. Kur pรซrzgjidhni โ€œรซshtรซ e barabartรซ thjesht meโ€, protokolli URL, parametrat e kรซrkimit dhe njรซ pjerrake paraprijรซse do tรซ shpรซrfillen.", + "FieldNamePlaceholder": "p.sh., โ€œFaqe Regjistrimiโ€", + "FilesystemDirectory": "drejtori", + "Filter": "Filtroni", + "GettingStarted": "Si Tโ€™ia Fillohet", + "Heatmap": "Hartรซ veprimesh", + "HeatmapAddedActivity": "u shtua hartรซ veprimesh โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "HeatmapCopied": "Harta e veprimeve u kopjua me sukses.", + "HeatmapCreated": "Harta e veprimeve u krijuar me sukses.", + "HeatmapDeletedActivity": "u fshi hartรซ veprimesh โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "HeatmapDuplicationError": "Proces i paplotรซsuar. Harta e veprimeve sโ€™u kopjua dot te krejt sajtet e pรซrzgjedhur. Sajte me dรซshtim: %1$s. Sajte me sukses: %2$s.", + "HeatmapDuplicationSiteTypeError": "Veรงoria e kopjimit nuk mbulohet pรซr sajte: %1$s.", + "HeatmapEndedActivity": "u pรซrfundua harta e veprimeve โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "HeatmapInfoTrackVisitsFromCountries": "Harta e veprimeve รซshtรซ formรซsuar tรซ ndjekรซ vetรซm vizita nga %1$s.", + "HeatmapNameHelp": "Pรซrcakton emrin nรซn tรซ cilin do tรซ jetรซ i gatshรซm raporti pรซr kรซtรซ hartรซ veprimesh.", + "HeatmapPausedActivity": "u ndal harta e veprimeve โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "HeatmapResumedActivity": "u kthye nรซ punรซ harta e veprimeve โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "HeatmapSampleLimit": "Numรซr parjesh faqesh", + "HeatmapSampleLimitHelp": "Pรซrcakton sasinรซ e parjeve tรซ faqes qรซ doni tรซ regjistrohen gjithsej.", + "HeatmapSampleRateHelp": "E njohur edhe si โ€œtrafikโ€. Kur pรซrzgjidhni 100%%, do tรซ regjistrohen krejt vizitorรซt qรซ vizitojnรซ faqet e synuar tรซ pรซrzgjedhur. Kur pรซrzgjidhni, pรซr shembull 10%%, do tรซ regjistrohet vetรซm รงdo vizitor i dhjetรซ. Sa mรซ e vogรซl pรซrqindja qรซ pรซrzgjidhni, aq mรซ shumรซ kohรซ do tรซ duhet pรซr tรซ mbรซrritur nรซ shpejtรซsinรซ e pรซrzgjedhur tรซ kampionizimit.", + "HeatmapScreenshotDeletedActivity": "u fshi foto ekrani harte veprimesh โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "HeatmapTroubleshoot": "Keni probleme? %1$sMรซsoni mรซ tepรซr%2$s.", + "HeatmapUpdated": "Harta e veprimeve u pรซrditรซsua me sukses.", + "HeatmapUpdatedActivity": "u pรซrditรซsua harta e veprimeve โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "HeatmapUsageBenefits": "Hartat e veprimeve ju lejojnรซ tรซ regjistroni krejt klikimet, lรซvizjet e kursorit dhe akte rrรซshqitjesh nรซ faqe tรซ vizitorรซve tuaj nรซ njรซ faqe tรซ dhรซnรซ. Kjo ju ndihmon tรซ gjeni se ku mendojnรซ pรซrdoruesit se diรงka รซshtรซ e klikueshme, por nรซ fakt sโ€™รซshtรซ, nรซse pjesรซ tรซ faqes thjesht po shihen apo ka ndรซrveprim me to, pรซr รงfarรซ po shohin vizitorรซt tuaj, รงโ€™pรซrqindje e faqes รซshtรซ e dukshme kur vizitorรซt shohin njรซ faqe tuajรซn, etj.", + "HeatmapWidth": "Gjerรซsi harte veprimesh", + "HeatmapX": "Hartรซ veprimesh %s", + "HeatmapXRecordedSamplesSince": "Janรซ regjistruar %1$s kampione qรซ prej %2$s.", + "Heatmaps": "Harta veprimesh", + "Manage": "Administroni", + "ManageHeatmapSubcategoryHelp": "Hartat e veprimeve ju lejojnรซ tรซ regjistroni krejt klikimet, lรซvizjet e kursorit dhe akte rrรซshqitjesh nรซ faqe tรซ vizitorรซve tuaj pรซr njรซ faqe specifike. Kjo ndarje ju jep mundรซsinรซ tรซ krijoni dhe administroni ndjekje Hartash Veprimesh pรซr sajtin tuaj.", + "ManageHeatmaps": "Administroni Harta Veprimesh", + "ManageSessionRecordingSubcategoryHelp": "Regjistrimet e sesioneve ju lejojnรซ tรซ regjistroni krejt aktet e njรซ vizitori tรซ njรซmendtรซ gjatรซ sesionit (vizitรซs) sรซ tij, fjala vjen, klikime, lรซvizje tรซ kursorit, rrรซshqitje nรซ faqe, ripรซrmasime dritareje, ndryshime faqeje dhe ndรซrveprime me formularรซ. Kjo ndarje ju jep mundรซsinรซ tรซ krijoni dhe administroni Regjistrime Sesionesh pรซr sajtin tuaj.", + "ManageSessionRecordings": "Administroni Regjistrime Sesionesh", + "MatomoJSNotWritableErrorMessage": "HeatmapSessionRecording: %1$s sโ€™janรซ nรซ gjendje tรซ ndjekin vizita, ngaqรซ kartela matomo.js รซshtรซ vetรซm-pรซr-lexim. Se si ta bรซni kartelรซn tรซ shkrueshme, ju lutemi, shihni %2$sdokumentimin%3$s.", + "MinSessionTime": "Kohรซ Minimum Sesioni", + "MinSessionTimeHelp": "Njรซ sesion do tรซ regjistrohet vetรซm kur njรซ pรซrdorues ka shpenzuar nรซ faqe tรซ paktรซn kohรซn e pรซrcaktuar.", + "MoveRate": "Nivel lรซvizjeje:", + "Moves": "Lรซvizje:", + "NHeatmaps": "%s harta veprimesh", + "NSessionRecordings": "Regjistrime sesioni %s", + "NoHeatmapSamplesRecordedYet": "Sโ€™รซshtรซ regjistruar ende ndonjรซ parje faqeje pรซr kรซtรซ hartรซ veprimesh. Nรซse duhej tรซ kishte sesione tรซ regjistruar tashmรซ deri kรซtu, ndoshta faqet e synuara pรซr kรซtรซ hartรซ veprimesh nuk kanรซ pรซrputhje me ndonjรซ faqe nรซ sajtin tuaj. Kรซshillohet gjithashtu tรซ kontrolloni โ€œKontroll Sistemiโ€ nรซn โ€œAdministrimโ€ (vetรซm Superpรซrdoruesit), pรซr tรซ parรซ nรซse sistemi juaj รซshtรซ formรซsuar tรซ ndjekรซ vetvetiu Harta veprimesh.", + "NoHeatmapSamplesRecordedYetWithoutSystemConfiguration": "Pรซr kรซtรซ hartรซ veprimesh, sโ€™รซshtรซ regjistruar parje faqesh. Nรซse pritej qรซ tรซ kishte tรซ regjistruara deri tani, ndoshta objektivat faqe tรซ formรซsuar pรซr kรซtรซ hartรซ veprimesh nuk kanรซ pรซrputhje me ndonjรซ faqe nรซ sajtin tuaj.", + "NoHeatmapScreenshotRecordedYet": "Deri kรซtu janรซ regjistruar %1$s kampione. Por ende nuk รซshtรซ bรซrรซ ndonjรซ foto ekrani. Nรซse ka njรซ โ€œ%2$sโ€ pรซr kรซtรซ hartรซ veprimesh, mund tรซ duhet ca kohรซ qรซ tรซ ketรซ njรซ foto ekrani, ngaqรซ pรซrdoruesi sรซ pari duhet ta hapรซ URL-nรซ e kรซsaj fotoje ekrani. Nรซ varรซsi tรซ shkallรซs sรซ kampionizimit, kjo mund tรซ dojรซ ca kohรซ.", + "NoHeatmapsConfiguredInfo": "Sโ€™ka harta aktive veprimesh. Qรซ tรซ shihni harta veprimesh, ju lutemi, kรซrkojini njรซ pรซrdoruesi me tรซ paktรซn leje pรซrgjegjรซsi tรซ krijojรซ njรซ hartรซ tรซ re veprimesh.", + "NoHeatmapsFound": "Sโ€™u gjetรซn harta veprimesh", + "NoSessionRecordedYet": "Sโ€™รซshtรซ regjistruar ende ndonjรซ sesion. Nรซse duhej tรซ kishte sesione tรซ regjistruar tashmรซ deri kรซtu, ndoshta faqja e zรซrit tรซ formรซsuar nuk ka pรซrputhje me ndonjรซ faqe nรซ sajtin tuaj. Kรซshillohet gjithashtu tรซ kontrolloni โ€œKontroll Sistemiโ€ nรซn โ€œAdministrimโ€ (vetรซm Superpรซrdoruesit), pรซr tรซ parรซ nรซse sistemi juaj รซshtรซ formรซsuar tรซ regjistrojรซ vetvetiu sesione.", + "NoSessionRecordedYetWithoutSystemConfiguration": "Sโ€™รซshtรซ regjistruar ende ndonjรซ sesion. Nรซse pritej qรซ tรซ kishte sesione tรซ regjistruar deri tani, ndoshta faqja e formรซsuar si hyrje sโ€™pรซrputhet me ndonjรซ faqe nรซ sajtin tuaj.", + "NoSessionRecordingsConfiguredInfo": "Sโ€™ka regjistrime aktive sesioni. Qรซ tรซ regjistroni sesione tรซ reja, ju lutemi, kรซrkojini njรซ pรซrdoruesi me, tรซ paktรซn, leje pรซrgjegjรซsi tรซ krijojรซ njรซ regjistrim tรซ ri.", + "NoSessionRecordingsFound": "Sโ€™u gjetรซn regjistrime sesioni", + "None": "Asnjรซ", + "NotSupportedBrowser": "Ky shfletues nuk mbulohet, ju lutemi pรซrdorni njรซ version tรซ mรซvonshรซm, ose provoni me njรซ tjetรซr shfletues.", + "OnePageview": "1 parje faqeje", + "PageRule": "Rregull Faqeje", + "PageviewXofY": "Parje faqesh %1$s nga %2$s", + "PageviewsInVisit": "Parje tรซ regjistruara faqesh nรซ kรซtรซ sesion", + "PauseReason": "%1$s u ndal, pรซr shkak tรซ plotรซsimit tรซ kuotave tuaja, pรซr hollรซsi tรซ mรซtejshme, ju lutemi, lidhuni me asistencรซn.", + "PeriodDisabledErrorMessage": "Periudha โ€œ%1$sโ€ รซshtรซ e รงaktivizuar, por e domosdoshme qรซ kjo veรงori tรซ funksionojรซ. Pรซrzgjidhni njรซ periudhรซ tjetรซr, ose kรซrkojini njรซ pรซrgjegjรซsi tรซ sistemit tรซ ndryshojรซ kartelรซn โ€œconfig/config.ini.phpโ€ tรซ formรซsimit tรซ Matomo-s, pรซr tรซ lejuar periudhรซn โ€œ%1$sโ€ te rregullimi โ€œenabled_periods_APIโ€.", + "PersonalInformationNote": "Ju lutemi, kini parasysh se njรซ %1$s mund tรซ regjistrojรซ tรซ dhรซna personale ose tรซ rezervuara. Nรซse dรซshironi tรซ fshini njรซ lรซndรซ tรซ caktuar nรซ sajtin apo aplikacionin tuaj, mund ta etiketoni kรซtรซ lรซndรซ duke shtuar njรซ atribut %2$sdata-matomo-mask%3$s te pjesa HTML. %4$sMรซsoni mรซ tepรซr%5$s", + "PlayRecordedSession": "Luaj kรซtรซ sesion tรซ regjistruar", + "PlayerDurationXofY": "%1$s nga %2$s", + "PlayerForwardFast": "Kapรซrce %1$s sekonda (shkurtore %2$s)", + "PlayerPageViewNext": "Luaj parjen pasuese tรซ faqes nga ky vizitor (%1$s) (shkurtore %2$s)", + "PlayerPageViewPrevious": "Luaj parjen e mรซparshme tรซ faqes nga ky vizitor %1$s (shkurtore %2$s)", + "PlayerPause": "Ndalesรซ (shkurtore %s ose hapรซsirรซ)", + "PlayerPlay": "Luaje (shkurtore %s ose hapรซsirรซ)", + "PlayerReplay": "Riluaje (shkurtore %s ose hapรซsirรซ)", + "PlayerRewindFast": "Prapaktheje %1$s sekonda (shkurtore %2$s)", + "PolicyHeatmapRequirementNote": "Regjistrimi i hartave tรซ veprimeve te shtojca HeatmapSessionRecording duhet รงaktivizuar", + "PolicyHeatmapTitle": "Harta veprimesh - ร‡aktivizoni Regjistrim Hartash Veprimesh", + "PolicySessionRequirementNote": "Regjistrimi i sesioneve te shtojca HeatmapSessionRecording duhet รงaktivizuar", + "PolicySessionTitle": "Harta veprimesh - ร‡aktivizoni Regjistrim Sesionesh", + "QuotaReachedForX": "Keni mbรซrritur nรซ kufirin e kuotรซs tuaj. Sโ€™arrihet tรซ kopjohet %1$s, pรซr shkak tejkalimi pรซrdorimi. Shihni mundรซsinรซ e fshirjes sรซ %2$s tรซ papรซrdorura, ose mรซ pak kritike, qรซ tรซ administroni kuotรซn tuaj.", + "RecordedHeatmapDocStatusActive": "Kjo hartรซ veprimesh รซshtรซ aktive. Do tรซ regjistrohen deri nรซ %1$d parje faqesh me njรซ shpejtรซsi kampionizimi prej %2$s.", + "RecordedHeatmapDocStatusEnded": "Kjo hartรซ veprimesh ka pรซrfunduar. Sโ€™do tรซ regjistrohet veprimtari e re.", + "RecordedPageviewDeletedActivity": "u fshi njรซ parje e regjistruar faqeje pรซr regjistrimin e sesionit โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "RecordedSessionDeletedActivity": "u fshi njรซ sesion i regjistruar pรซr regjistrimin e sesionit โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "RecordedSessions": "Sesione tรซ Regjistruar", + "RecordedSessionsDocStatusActive": "Ky regjistrim sesion รซshtรซ aktiv. Do tรซ regjistrohen deri nรซ %1$d sesione me njรซ shpejtรซsi kampionizimi prej %2$s.", + "RecordedSessionsDocStatusEnded": "Ky regjistrim sesioni ka pรซrfunduar dhe sโ€™do tรซ regjistrohen sesione tรซ reja.", + "Recordings": "Regjistrime", + "ReplayRecordedSession": "Riluaj sesion tรซ regjistruar", + "ReplayX": "Riluaje %s", + "ReportRecordedSessionsDocumentation": "Listรซ e krejt sesioneve qรซ janรซ regjistruar. Mund tรซ riluani cilindo sesion tรซ regjistruar.", + "RequiresActivity": "Lyp veprimtari", + "RequiresActivityHelp": "Nรซ u aktivizoftรซ, do tรซ regjistrohen vetรซm sesione qรซ pรซrmbajnรซ rrรซshqitje dhe akte klikimi nรซ njรซ parje faqeje. Kjo pengon regjistrim sesionesh me jo shumรซ veprimtari.", + "Rule": "Rregull", + "SampleLimit": "Kufi Kampionizimi", + "SampleRate": "Shpejtรซsi Kampionizimi", + "ScreenshotUrl": "URL Fotoje Ekrani", + "ScreenshotUrlHelp": "Si parazgjedhje, njรซ foto ekrani bรซhet kur vizitori i parรซ sheh faqen e synuar. Nรซse me faqen tuaj tรซ synuar kanรซ pรซrputhje URL tรซ ndryshme faqesh, mund tรซ pรซrcaktoni njรซ URL tรซ dhรซnรซ qรซ do tรซ duhej pรซrdorur pรซr tรซ bรซrรซ foton e ekrani. Vizualizimi i hartรซs sรซ veprimeve do tรซ jetรซ i mundshรซm sapo tรซ paktรซn njรซ vizitor tรซ ketรซ vizituar kรซtรซ URL, veprimtaritรซ e tรซ cilit regjistrohen. Nรซ u pรซrcaktoftรซ, pรซrputhja me URL-nรซ duhet tรซ jetรซ e saktรซ. Pรซr tรซ shpรซrfillur protokollin, fillojeni URL-nรซ me dy pjerrake (//example.com). Ju lutemi, kini parasysh se, pas bรซrjes sรซ fotos sรซ ekranit, kjo URL sโ€™mund tรซ ndryshohet.", + "SessionNameHelp": "Pรซrcakton emrin nรซn tรซ cilin do tรซ jetรซ i gatshรซm regjistrimi i sesionit.", + "SessionRecording": "Regjistrim Sesioni", + "SessionRecordingAddedActivity": "u shtua njรซ regjistrim sesioni โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "SessionRecordingCreated": "Regjistrimi i sesionit u krijua me sukses.", + "SessionRecordingDeletedActivity": "u fshi regjistrimi i sesionit โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "SessionRecordingEndedActivity": "mbaroi regjistrimi i sesionit โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "SessionRecordingInfoTrackVisitsFromCountries": "Regjistrimi i sesioneve รซshtรซ formรซsuar tรซ ndjekรซ vetรซm vizita nga %1$s.", + "SessionRecordingPausedActivity": "u ndal regjistrim sesioni โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "SessionRecordingResumedActivity": "u kthye nรซ punรซ regjistrimi i sesionit โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "SessionRecordingUpdated": "Regjistrimi i sesionit u pรซrditรซsua me sukses.", + "SessionRecordingUpdatedActivity": "u pรซrditรซsua regjistrimi i sesionit โ€œ%1$sโ€ pรซr sajtin โ€œ%2$sโ€", + "SessionRecordingX": "Regjistrim Sesioni %s", + "SessionRecordings": "Regjistrime Sesionesh", + "SessionRecordingsUsageBenefits": "Regjistrimet e sesioneve ju lejojnรซ tรซ regjistroni krejt aktet e njรซ vizitori tรซ njรซmendtรซ gjatรซ sesionit (vizitรซs) sรซ tij, tรซ tilla si klikime, lรซvizje tรซ kursorit, rrรซshqitje nรซ faqe, ripรซrmasime dritareje, ndryshime faqeje dhe ndรซrveprime me formularรซ. Mandej mundeni tโ€™i rikryeni kรซto ndรซrveprime pรซr tรซ parรซ saktรซsisht se si ndรซrvepron me sajtin tuaj njรซ vizitor. Nรซ kรซtรซ mรซnyrรซ kuptoni se รงโ€™prisnin, probleme qรซ mund tรซ kenรซ, rregullsi pรซrdorimi, etj.", + "SessionSampleLimit": "Numรซr sesionesh", + "SessionSampleLimitHelp": "Pรซrcakton sasinรซ e sesioneve qรซ doni tรซ regjistrohen gjithsej.", + "SessionSampleRateHelp": "E njohur edhe si โ€œtrafikโ€. Kur pรซrzgjidhni 100%%, do tรซ regjistrohen krejt sesionet, sapo tรซ jetรซ mbรซrritur te faqja e synuar. Kur pรซrzgjidhni, pรซr shembull 10%%, do tรซ regjistrohet vetรซm รงdo sesion i dhjetรซ. Sa mรซ e vogรซl pรซrqindja qรซ pรซrzgjidhni, aq mรซ shumรซ kohรซ do tรซ duhet pรซr tรซ mbรซrritur nรซ shpejtรซsinรซ e pรซrzgjedhur tรซ kampionizimit.", + "SourceHeatmapLookupError": "Pati njรซ gabim tรซ papritur teksa kรซrkohej pรซr hartรซ burim veprimesh. Ju lutemi, riprovoni. Nรซse problemi vazhdon, lidhuni me pรซrgjegjรซsin tuaj, ose asistencรซn.", + "StatusActive": "Aktiv", + "StatusEnded": "I pรซrfunduar", + "StatusPaused": "Ndalur", + "StopX": "Resht sรซ regjistruari รงfarรซdo veprimtarish tรซ reja pรซr kรซtรซ %s.", + "TargetAttributePath": "Shteg", + "TargetAttributeUrl": "URL", + "TargetAttributeUrlParameter": "Parametรซr URL-je", + "TargetAttributeUrlParameterExample": "emรซrParametriURL-je", + "TargetPage": "Faqe e Synuar", + "TargetPageTestErrorInvalidUrl": "Jepni njรซ URL, pรซrfshi protokollin.", + "TargetPageTestLabel": "Pรซr tรซ kontrolluar nรซse veprimtaritรซ do tรซ regjistrohen nรซ kรซtรซ URL, jepni njรซ URL tรซ plotรซ, pรซrfshi protokollin:", + "TargetPageTestTitle": "Vleftรซsues URL-sh", + "TargetPageTestUrlMatches": "Veprimtaritรซ do tรซ regjistrohen nรซ kรซtรซ URL", + "TargetPageTestUrlNotMatches": "Veprimtaritรซ sโ€™do tรซ regjistrohen nรซ kรซtรซ URL", + "TargetPages": "Faqe Hyrjesh", + "TargetTypeContains": "pรซrmban", + "TargetTypeEqualsExactly": "รซshtรซ saktรซsisht i barabartรซ me", + "TargetTypeEqualsExactlyInfo": "Vlera sโ€™ka pรซrputhje saktรซsisht, pรซrfshi protokollin URL, kรซrkesรซ dhe hash kรซrkimi.", + "TargetTypeEqualsSimple": "รซshtรซ e barabartรซ thjesht me", + "TargetTypeEqualsSimpleInfo": "URL-ja do tรซ krahasohet pรซr pรซrputhje me รงfarรซdo protokolli (p.sh., http dhe https) me ose pa nรซnpรซrkatรซsi โ€œwww.โ€. ร‡farรซdo shenje / nรซ shteg, si dhe termi i kรซrkimit dhe pjesa hash e URL-sรซ do tรซ shpรซrfillen gjatรซ kรซrkimi pรซrputhjesh tรซ URL-sรซ.", + "TargetTypeExists": "ekziston", + "TargetTypeIsAny": "รซshtรซ รงfarรซdo", + "TargetTypeIsNot": "jo %s", + "TargetTypeRegExp": "ka pรซrputhje me shprehjen e rregullt", + "TargetTypeRegExpInfo": "ร‡farรซdo shprehje tรซ rregullt, pรซr shembull, โ€œ^(.*)test(.*)$โ€.", + "TargetTypeStartsWith": "fillon me", + "TimeOnSite": "Koha nรซ sajt", + "TotalEvents": "Akte", + "TrackingDisabledDefaultSettingDescription": "Kjo veรงori mund tรซ jetรซ e dobishme nรซse instanca juaj Matomo ka shumรซ sajte dhe doni tรซ pรซrdorni veรงorinรซ vetรซm me pak sajte specifikรซ. Kur ndjekja รงaktivizohet si parazgjedhje, veรงoria Hartรซ Veprimesh dhe Regjistrim Sesioni sโ€™do tรซ pรซrdoret nรซ ndonjรซ sajt, veรง nรซ e aktivizofshi ju posaรงรซrisht, si pjesรซ e kodit tuaj tรซ ndjekjes, pรซr shembull duke thirrur '_paq.push(['HeatmapSessionRecording::enable']);'. Kjo shmang kรซrkesa tรซ panevojshme ndaj rrjetit pรซr kartelรซn 'configs.php', pรซr tรซ pรซrcaktuar nรซse รซshtรซ formรซsuar pรซr sajtin nรซ fjalรซ njรซ hartรซ veprimesh se regjistrim sesioni. Mundet gjithashtu tรซ jetรซ e dobishme pรซr arsye privatรซsie, nรซse doni tรซ garantoni qรซ veรงoria do tรซ pรซrdoret vetรซm nรซ disa sajte.", + "TrackingDisabledDefaultSettingTitle": "ร‡aktivizoje ndjekjen, si parazgjedhje", + "UpdatingData": "Po pรซrditรซsohen tรซ dhรซnaโ€ฆ", + "UrlParameterValueToMatchPlaceholder": "Vlerรซ pรซr pรซrputhje pรซr emรซr parametri URL-je", + "UrlXDoesNotLookLikeUrl": "%s sโ€™duket si URL. Sigurohuni qรซ pรซrmban njรซ protokoll tรซ tillรซ si http:// ose se fillon me //", + "ViewReport": "Shiheni raportin", + "ViewportResolution": "Qartรซsi Zone Parjeje (gjerรซsi x lartรซsi)", + "Width": "Gjerรซsi", + "XSamples": "%s kampione", + "disable": "รงaktivizoje", + "enable": "aktivizoje" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/sr.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/sr.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/sr.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/sv.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/sv.json new file mode 100644 index 0000000..c961647 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/sv.json @@ -0,0 +1,80 @@ +{ + "HeatmapSessionRecording": { + "ActivityClick": "Klick", + "ActivityFormChange": "Formulรคrรคndring", + "ActivityFormText": "Formulรคrtext รคndrad", + "ActivityFormValue": "Formulรคrvรคrde รคndrat", + "ActivityInitialDom": "Initial sida", + "ActivityMove": "Flytta", + "ActivityPageChange": "ร„ndring inom sida", + "ActivityResize": "ร„ndra storlek", + "ActivityScroll": "Skroll", + "ActivityScrollElement": "Skrollelement", + "AutoPlayNextPageview": "Klicka fรถr %1$s autospela nรคsta sidvisning (genvรคg %2$s)", + "BreakpointGeneralHelp": "Enhetstypen upptรคcks automatiskt nรคr en besรถkare besรถker din webbplats. Men ibland kan det vara omรถjligt att upptรคcka enhetstypen. Om din webbplats รคr responsiv och layouten bryts vid en viss punkt, kommer vi att placera desktop-anvรคndare med en liten upplรถsning i denna enhetstyp fรถr mer precisa vรคrmekartor. Alla breddvรคrden lรคgre รคn detta vรคrde kommer att placeras i denna enhetstyp. Sรคtt det till noll om din webbplats inte รคr responsiv.", + "CaptureDomInlineHelp": "Som standard tas vรคrmekartors skรคrmdumpar automatiskt vid sidladdning. Om din sida laddar element dynamiskt (t.ex. med lazy loading) kan din snapshot vara ofullstรคndig. Du kan manuellt fรฅnga en komplett skรคrmdump genom att aktivera det hรคr alternativet och kรถra fรถljande Javascript-kod i din webblรคsare: %1$s %2$sNotera:%3$s Det hรคr alternativet รฅterstรคlls automatiskt efter att skรคrmdumpen har fรฅngats.", + "CaptureKeystrokesHelp": "Vid aktivering kommer all text som matas in i textformulรคrfรคlt att spelas in. Medan texten spelas in, ersรคtts varje tecken som en anvรคndare matar in med en stjรคrna ('*'). Du kan lรคgga till vissa fรคlt pรฅ en lista fรถr att spelas in i klartext genom att specificera ett 'data-matomo-unmask'-attribut pรฅ ett formulรคrfรคlt. Dรคremot kommer lรถsenordsfรคlt och mรฅnga andra fรคlt som potentiellt kan innehรฅlla personlig information (adress, e-post, kreditkortsinformation, anvรคndarnamn, telefonnummer, ...) alltid att maskeras automatiskt om de upptรคcks av oss som sรฅdana (%1$slรคs mer%2$s). Vรคnligen notera att nรคr du aktiverar denna funktion kan du spela in personlig data, vilket kan pรฅverka GDPR.", + "ChangeReplaySpeed": "ร„ndra uppspelningshastighet (genvรคg %s)", + "ClickToSkipPauses": "Klicka fรถr %1$s skippa pauser (genvรคg %2$s)", + "CreationDate": "Skapandedatum", + "DeleteRecordedPageview": "Radera denna inspelade sidvisning (ingen bekrรคftelse begรคrs)", + "DeleteRecordedSession": "Radera denna inspelade session (ingen bekrรคftelsefrรฅga stรคlls)", + "DeleteScreenshot": "Radera skรคrmklipp", + "ErrorXNotANumber": "\"%1$s\" behรถver vara ett nummer.", + "ExcludedElements": "Exkluderade element", + "ExcludedElementsHelp": "Du kan valfritt definiera CSS-selektorer fรถr att utesluta vissa element som inte ska vara synliga i fรถrhandsgranskningen av vรคrmekartan. Till exempel ett popup-fรถnster som visas nรคr mรฅlsidan รถppnas. Du kan separera flera selektorer med ett komma.", + "FieldIncludedTargetsHelp": "Mรฅl lรฅter dig definiera pรฅ vilka sidor anvรคndaraktiviteter ska spelas in. Du kan definiera ett eller flera villkor. Till exempel kan du definiera att aktiviteter ska spelas in nรคr URL:en eller sรถkvรคgen รคr lika med ett visst vรคrde och endast om en viss URL-parameter finns i URL:en. Aktiviteter kommer endast att spelas in nรคr alla villkor รคr uppfyllda, inte om endast ett av dem รคr uppfyllt. Alla villkor utvรคrderas oberoende av versaler och gemener. Nรคr du vรคljer 'equals simple' kommer URL-protokollet, sรถkparametrar och en avslutande snedstreck att ignoreras.", + "FieldIncludedTargetsHelpSessions": "Mรฅl lรฅter dig konfigurera sรฅ att inspelningen av en session endast startar nรคr en besรถkare har nรฅtt en viss sida. Detta gรถr att du till exempel endast spelar in sessioner som gรฅr igenom kassa-processen. Du kan definiera ett eller flera villkor. Till exempel kan du definiera att en session endast ska spelas in nรคr URL:en eller sรถkvรคgen รคr lika med ett visst vรคrde och endast om en viss URL-parameter รคr nรคrvarande i URL:en. Sessioner kommer endast att spelas in nรคr alla villkor รคr uppfyllda vid en sidvisning, inte om bara ett av dem รคr uppfyllt. Alla villkor utvรคrderas oberoende av versaler och gemener. Nรคr du vรคljer 'equals simple' kommer URL-protokollet, sรถkparametrar och en avslutande snedstreck att ignoreras.", + "Heatmap": "Vรคrmekarta", + "HeatmapSampleLimit": "Antal sidvisningar", + "HeatmapSampleLimitHelp": "Definierar antalet sidvisningar du totalt vill spela in.", + "HeatmapUsageBenefits": "Vรคrmekartor lรฅter dig registrera alla klick, musrรถrelser och skrollaktiviteter frรฅn dina besรถkare pรฅ en viss sida. Detta hjรคlper dig att ta reda pรฅ var anvรคndare tror att nรฅgot รคr klickbart men inte รคr det, om det finns delar av sidan som knappt ses eller interageras med, vad dina besรถkare letar efter, hur mycket av sidan som รคr synligt nรคr anvรคndare ser din sida, och mer.", + "HeatmapX": "Vรคrmekarta %s", + "HeatmapXRecordedSamplesSince": "%1$s prover har spelats in sedan %2$s.", + "Heatmaps": "Vรคrmekartor", + "Manage": "Hantera", + "NHeatmaps": "%s vรคrmekartor", + "NSessionRecordings": "%s sessioninspelningar", + "NoHeatmapSamplesRecordedYet": "Ingen sidvisning har spelats in รคnnu fรถr denna vรคrmekarta. Om det borde finnas inspelningar vid det hรคr laget, kanske de mรฅlsidor som konfigurerats fรถr denna vรคrmekarta inte matchar nรฅgon sida pรฅ din webbplats. Det rekommenderas ocksรฅ att kontrollera \"Systemkontroll\" under \"Administration\" (endast superanvรคndare) fรถr att se om ditt system รคr konfigurerat att automatiskt spรฅra vรคrmekartor.", + "NoHeatmapScreenshotRecordedYet": "Det har registrerats %1$s sidvisningar hittills. Dock har ingen skรคrmdump tagits รคn. Om det finns en \"%2$s\" fรถr denna vรคrmekarta, kan det drรถja ett tag innan skรคrmdumpen blir tillgรคnglig, eftersom en anvรคndare fรถrst behรถver รถppna denna skรคrmdumps-URL. Beroende pรฅ urvalsfrekvensen kan detta ta ett tag.", + "NoHeatmapsFound": "Inga vรคrmekartor hittade", + "NoSessionRecordedYet": "Ingen session har spelats in รคnnu. Om det borde finnas inspelade sessioner vid det hรคr laget, kanske den konfigurerade ingรฅngssidan inte matchar nรฅgon sida pรฅ din webbplats. Det rekommenderas ocksรฅ att kontrollera \"Systemkontroll\" under \"Administration\" (endast superanvรคndare) fรถr att se om ditt system รคr konfigurerat att automatiskt spela in sessioner.", + "NoSessionRecordingsFound": "Inga sessionsinspelningar hittade", + "OnePageview": "1 sidvisning", + "PageviewXofY": "Sidvisning %1$s av %2$s", + "PageviewsInVisit": "Inspelade sidvisningar under denna session", + "PlayRecordedSession": "Spela upp inspelad session", + "PlayerForwardFast": "Hoppa รถver %1$s sekunder (genvรคg %2$s)", + "PlayerRewindFast": "Spola tillbaka %1$s sekunder (genvรคg %2$s)", + "RecordedHeatmapDocStatusActive": "Denna vรคrmekarta รคr aktiv. Upp till %1$d sidvisningar kommer att spelas in med en urvalsfrekvens pรฅ %2$s.", + "RecordedHeatmapDocStatusEnded": "Vรคrmekarta avslutad. Ingen ny aktivitet kommer spelas in.", + "RecordedSessions": "Inspelade sessioner", + "RecordedSessionsDocStatusActive": "Denna sessioninspelning รคr aktiv. Upp till %1$d sessioner kommer att spelas in med en urvalsfrekvens pรฅ %2$s.", + "RecordedSessionsDocStatusEnded": "Denna sessioninspelning har avslutats och inga nya sessioner kommer att spelas in.", + "Recordings": "Inspelningar", + "ReplayRecordedSession": "Spela upp inspelad session", + "ReplayX": "Spela upp %s", + "Rule": "Regel", + "SampleLimit": "Urvalsgrรคns", + "ScreenshotUrlHelp": "Som standard tas en skรคrmdump nรคr den fรถrsta besรถkaren visar mรฅlsidan. Om flera sid-URL:er matchar din mรฅlsida kan du specificera en specifik URL som ska anvรคndas fรถr att fรฅnga skรคrmdumpen. Vรคrmekartans visualisering kommer endast att vara tillgรคnglig nรคr minst en besรถkare har besรถkt denna URL vars aktiviteter รคr inspelade. Vid definiering mรฅste URL:en matcha exakt. Fรถr att ignorera protokollet, bรถrja URL:en med tvรฅ snedstreck (//example.com). Vรคnligen notera att denna URL inte kan รคndras nรคr en skรคrmdump har tagits.", + "SessionRecording": "Sessionsinspelning", + "SessionRecordingX": "Sessioninspelning %s", + "SessionRecordings": "Sessionsinspelningar", + "SessionRecordingsUsageBenefits": "Sessioninspelningar lรฅter dig spela in alla aktiviteter frรฅn en besรถkare under deras session (besรถk), sรฅsom klick, musrรถrelser, skrollningar, fรถnsterรคndringar, sidfรถrรคndringar och formulรคrinteraktioner. Du kan sedan spela upp dessa interaktioner fรถr att se exakt hur en besรถkare interagerade med din webbplats. Pรฅ sรฅ sรคtt fรถrstรฅr du deras fรถrvรคntningar, eventuella problem de kan ha, anvรคndningsmรถnster och mer.", + "SessionSampleLimit": "Antal sessioner", + "SessionSampleLimitHelp": "Definierar antalet sessioner du totalt vill spela in.", + "SessionSampleRateHelp": "ร„ven kรคnd som 'trafik'. Nรคr du vรคljer 100%% kommer alla sessioner att spelas in sรฅ snart de har nรฅtt mรฅlsidan. Nรคr du exempelvis vรคljer 10%%, kommer endast var tionde session att spelas in. Ju lรคgre procentandel du vรคljer, desto lรคngre tid kommer det att ta att nรฅ den valda urvalsgrรคnsen", + "StatusActive": "Aktiv", + "StatusEnded": "Avslutad", + "StatusPaused": "Pausad", + "TargetPage": "Mรฅlsida", + "TargetPages": "Ingรฅngssidor", + "TimeOnSite": "Tid pรฅ webbplats", + "TrackingDisabledDefaultSettingDescription": "Denna funktion kan vara anvรคndbar om din Matomo har flera webbplatser och du vill anvรคnda funktionen endast pรฅ nรฅgra specifika webbplatser. Nรคr spรฅrning รคr inaktiverad som standard, kommer funktionerna fรถr vรคrmekarta och sessioninspelning inte att kรถras pรฅ nรฅgon webbplats om du inte specifikt aktiverar dem som en del av din spรฅrningskod, till exempel genom att anropa '_paq.push(['HeatmapSessionRecording::enable']);'. Detta undviker onรถdiga nรคtverksfรถrfrรฅgningar till 'configs.php'-filen fรถr att avgรถra om en vรคrmekarta eller sessioninspelning รคr konfigurerad fรถr den aktuella webbplatsen. Det kan ocksรฅ vara anvรคndbart av integritetsskรคl om du vill sรคkerstรคlla att funktionen endast anvรคnds pรฅ vissa webbplatser.", + "TrackingDisabledDefaultSettingTitle": "Inaktivera spรฅrning som standardinstรคllning", + "ViewReport": "Visa rapport", + "ViewportResolution": "Viewports upplรถsning (bredd x hรถjd)", + "disable": "inaktivera", + "enable": "aktivera" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/ta.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ta.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ta.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/te.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/te.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/te.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/th.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/th.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/th.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/tl.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/tl.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/tl.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/tr.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/tr.json new file mode 100644 index 0000000..c580c4a --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/tr.json @@ -0,0 +1,247 @@ +{ + "HeatmapSessionRecording": { + "Action": "ฤฐลŸlem", + "ActivityClick": "Tฤฑklama", + "ActivityFormChange": "Form deฤŸiลŸtirme", + "ActivityFormText": "Form metni deฤŸiลŸtirme", + "ActivityFormValue": "Form deฤŸeri deฤŸiลŸtirme", + "ActivityInitialDom": "GiriลŸ sayfasฤฑ", + "ActivityMove": "Hareket etme", + "ActivityPageChange": "Sayfa iรงindeki deฤŸiลŸiklik", + "ActivityResize": "Yeniden boyutlandฤฑrma", + "ActivityScroll": "Kaydฤฑrma", + "ActivityScrollElement": "Kaydฤฑrma bileลŸeni", + "AdBlockerDetected": "Bir reklam engelleyici kullanฤฑldฤฑฤŸฤฑnda %1$s gรถrรผntรผlenemeyebilir. Matomo'nun sorunsuz รงalฤฑลŸacaฤŸฤฑndan emin olmak iรงin lรผtfen reklam engelleyicinizi bu site iรงin kapatฤฑn.", + "AdvancedOptions": "GeliลŸmiลŸ ayarlar", + "AutoPlayNextPageview": "Sonraki sayfa gรถsteriminin otomatik olarak oynatฤฑlmasฤฑ iรงin %1$s รผzerine tฤฑklayฤฑn (%2$s kฤฑsayolu)", + "AvgAboveFoldDescription": "Ortalama olarak ziyaretรงiler kaydฤฑrmadan bu รงizginin รผzerindeki iรงeriฤŸi gรถrรผr", + "AvgAboveFoldTitle": "Ortalama yukarฤฑ katlanma %s piksel", + "BreakpointGeneralHelp": "Bir ziyaretรงi siteyi ziyaret ettiฤŸinde aygฤฑt tรผrรผ otomatik olarak algฤฑlanฤฑr. Bununla birlikte bazen aygฤฑt tรผrรผnรผn belirlenemediฤŸi olur. Site uyumlu yapฤฑda ise ve gรถrรผnรผmรผ belirli boyut deฤŸiลŸikliฤŸi noktalarฤฑnda deฤŸiลŸiyorsa, daha ayrฤฑntฤฑlฤฑ ฤฑsฤฑ haritalarฤฑ oluลŸturmak iรงin kรผรงรผk รงรถzรผnรผrlรผk kullanan masaรผstรผ ziyaretรงileri bu aygฤฑt tรผrรผne konulur. Bu deฤŸerden daha kรผรงรผk geniลŸlik deฤŸerleri bu aygฤฑt tรผrรผne konulur. Site uyumlu yapฤฑda deฤŸilse sฤฑfฤฑr olarak ayarlayฤฑn.", + "BreakpointGeneralHelpManage": "Sรผper kullanฤฑcฤฑ izinlerine sahip bir kullanฤฑcฤฑ Yรถnetim => Genel ayarlar bรถlรผmรผnden bu boyut deฤŸiลŸikliฤŸi noktalarฤฑnฤฑn varsayฤฑlan deฤŸerlerini deฤŸiลŸtirebilir.", + "BreakpointX": "%s boyut deฤŸiลŸikliฤŸi noktasฤฑ", + "CaptureDomInlineHelp": "Varsayฤฑlan olarak, anlฤฑk sฤฑcaklฤฑk haritasฤฑ gรถrรผntรผleri sayfa yรผklemesinde otomatik olarak kaydedilir. Sayfanฤฑz dinamik olarak bileลŸenler yรผklรผyorsa (รถrneฤŸin yavaลŸ yรผkleme ile) anlฤฑk gรถrรผntรผnรผz eksik olabilir. Bu seรงeneฤŸi aรงtฤฑฤŸฤฑnฤฑzda ve tarayฤฑcฤฑnฤฑzda aลŸaฤŸฤฑdaki JavaScript kodunu รงalฤฑลŸtฤฑrarak tam bir anlฤฑk gรถrรผntรผ elde edebilirsiniz: %1$s %2$sNot:%3$s Bu seรงenek, anlฤฑk gรถrรผntรผyรผ kaydettikten sonra otomatik olarak sฤฑfฤฑrlanฤฑr.", + "CaptureDomTitle": "Anlฤฑk sฤฑcaklฤฑk haritasฤฑ gรถrรผntรผsรผnรผ el ile kaydet", + "CaptureKeystrokes": "TuลŸ basmalarฤฑ kaydedilsin", + "CaptureKeystrokesHelp": "AรงฤฑldฤฑฤŸฤฑnda, form metin alanlarฤฑna yazฤฑlan metinler kaydedilir. Metin kaydedilirken ziyaretรงinin yazdฤฑฤŸฤฑ karakterler yฤฑldฤฑz ('*') ile deฤŸiลŸtirilir. Form alanฤฑnda bir 'data-matomo-unmask' รถzniteliฤŸi belirterek istediฤŸiniz alanlarฤฑ beyaz listeye alabilir ve iรงeriklerinin dรผz metin biรงiminde kaydedilmesini saฤŸlayabilirsiniz. Bununla birlikte parola ve kiลŸisel verilerin (adres, e-posta, kredi kartฤฑ bilgileri, kullanฤฑcฤฑ adฤฑ, telefon numarasฤฑ gibi) bulunabileceฤŸi pek รงok diฤŸer alan algฤฑlandฤฑฤŸฤฑnda her zaman otomatik olarak gizlenir (%1$sayrฤฑntฤฑlฤฑ bilgi alฤฑn%2$s). AรงฤฑldฤฑฤŸฤฑnda, KVKK ile ilgili kiลŸisel verilerin kaydedebileceฤŸini unutmayฤฑn.", + "ChangeReplaySpeed": "Yeniden oynatma hฤฑzฤฑnฤฑ deฤŸiลŸtir (%s kฤฑsayolu)", + "ClickRate": "Tฤฑklama oranฤฑ:", + "ClickToSkipPauses": "Duraklamalarฤฑ atlamak iรงin %1$s รผzerine tฤฑklayฤฑn (%2$s kฤฑsayolu)", + "Clicks": "Tฤฑklamalar:", + "ColumnActionsDocumentation": "KaydedilmiลŸ oturumu oynatฤฑn ya da kayฤฑtlarฤฑ kalฤฑcฤฑ olarak silin.", + "ColumnBrowserDocumentation": "Bu oturum kaydedilirken ziyaretรงinin kullandฤฑฤŸฤฑ tarayฤฑcฤฑ.", + "ColumnDeviceDocumentation": "Bu oturum kaydedilirken ziyaretรงinin kullandฤฑฤŸฤฑ aygฤฑt.", + "ColumnLabelRecordedSessions": "GiriลŸ adresi โ†’ ร‡ฤฑkฤฑลŸ adresi", + "ColumnLocationDocumentation": "Bu oturum kaydedilirken ziyaretรงinin bulunduฤŸu konum.", + "ColumnOperatingSystem": "ฤฐลŸletim sistemi", + "ColumnOperatingSystemDocumentation": "Bu oturum kaydedilirken ziyaretรงinin kullandฤฑฤŸฤฑ iลŸletim sistemi.", + "ColumnPageviewsDocumentation": "Bu oturum boyunca kaydedilen sayfa gรถsterimlerinin sayฤฑsฤฑ.", + "ColumnResolutionDocumentation": "Ziyaretรงi bu sayfayฤฑ aรงtฤฑฤŸฤฑnda, tarayฤฑcฤฑ penceresinde gรถrรผntรผlenen bakฤฑลŸ aรงฤฑsฤฑnฤฑn piksel sayฤฑsฤฑ.", + "ColumnTime": "Zaman", + "ColumnTimeDocumentation": "Sitenin saat dilimine gรถre kayฤฑdฤฑn baลŸladฤฑฤŸฤฑ zaman.", + "ColumnTimeOnPageDocumentation": "Oturum kaydedilirken ziyaretรงinin bu sayfada geรงirdiฤŸi sรผre", + "ColumnTimeOnSiteDocumentation": "Oturum kaydedilirken ziyaretรงinin toplam geรงirdiฤŸi sรผre", + "ColumnTotalEventsDocumentation": "Bu oturum sฤฑrasฤฑnda kaydedilen olaylarฤฑn sayฤฑsฤฑ. ร–rneฤŸin: tฤฑklama, hareket etme, kaydฤฑrma, yeniden boyutlandฤฑrma, sayfa deฤŸiลŸiklikleri ve form etkileลŸimi olaylarฤฑ.", + "ConfigsInternetDisabled": "Bu Matomo kopyasฤฑ iรงin ฤฐnternet baฤŸlantฤฑsฤฑ kapatฤฑlmฤฑลŸ olduฤŸundan '%s' eriลŸimi denetlenemedi.", + "ConfigsPhpErrorResult": "Sonuรง olarak ฤฑsฤฑ haritalarฤฑ ve oturum kayฤฑtlarฤฑ รงalฤฑลŸmayabilir. Bu dosyaya Internet ya da Intranet รผzerinden eriลŸilmesine izin vermek iรงin site sunucunuzun yapฤฑlandฤฑrmasฤฑnฤฑ deฤŸiลŸtirmeniz gerekebilir.", + "ConfigsPhpManualCheck": "Lรผtfen adresi el ile aรงarak yanฤฑtta 'Piwik.HeatmapSessionRecording' olup olmadฤฑฤŸฤฑna bakฤฑn. Gรถremiyorsanฤฑz, bu dosyaya ฤฐnternet ya da ฤฐntranet รผzerinden eriลŸilebilmesi iรงin sunucu yapฤฑlandฤฑrmanฤฑzฤฑ deฤŸiลŸtirmeniz gerekebilir.", + "ConfigsPhpNotAccessible": "'%s' adresine ฤฐnternet ya da Intranet รผzerinden eriลŸilemiyor gibi gรถrรผnรผyor.", + "ConfigsPhpSelfSignedError": "'%s' isteฤŸi yapฤฑldฤฑฤŸฤฑnda bir SSL sorunu รงฤฑktฤฑ. Kendinden imzalฤฑ bir sertifika kullanฤฑyor olabilir misiniz?", + "ConfigsPhpSuccess": "'%s' eriลŸilebilir", + "ConfigsPhpUnknown": "'%s' iรงin ฤฐnternet ya da ฤฐntranet eriลŸimi denetlenemedi.", + "ConfigsPhpUnknownError": "'%1$s' isteฤŸinde sorun รงฤฑktฤฑ: %2$s.", + "Country": "รœlke", + "CreateNewHeatmap": "Yeni ฤฑsฤฑ haritasฤฑ ekle", + "CreateNewSessionRecording": "Yeni oturum kaydฤฑ ekle", + "CreationDate": "Eklenme tarihi", + "DeleteHeatmapConfirm": "Bu ฤฑsฤฑ haritasฤฑnฤฑ silmek istediฤŸinize emin misiniz? Daha รถnce รผretilmiลŸ raporlar kullanฤฑcฤฑ arayรผzรผndeki raporlar bรถlรผmรผnde gรถrรผntรผlenmeyecek.", + "DeleteHeatmapScreenshotConfirm": "Bu ekran gรถrรผntรผsรผnรผ silmek istediฤŸinize emin misiniz? Ekran gรถrรผntรผsรผnรผn yeniden alฤฑnmasฤฑ biraz zaman alabilir.", + "DeleteRecordedPageview": "Bu sayfa gรถsterimi kaydฤฑnฤฑ sil (onay istenmez)", + "DeleteRecordedSession": "Bu oturum kaydฤฑnฤฑ sil (onay istenmez)", + "DeleteScreenshot": "Ekran gรถrรผntรผsรผnรผ sil", + "DeleteSessionRecordingConfirm": "Bu oturum kaydฤฑnฤฑ silmek istediฤŸinize emin misiniz? Daha รถnce รผretilmiลŸ raporlar kullanฤฑcฤฑ arayรผzรผndeki raporlar bรถlรผmรผnde gรถrรผntรผlenmeyecek.", + "DeleteX": "%s sil", + "DeviceType": "Aygฤฑt tรผrรผ", + "DisableHeatmapRecordingDescription": "AรงฤฑldฤฑฤŸฤฑnda, herhangi bir sฤฑcaklฤฑk haritasฤฑ yapฤฑlandฤฑrฤฑlamaz ya da kaydedilemez.", + "DisableHeatmapRecordingInlineHelp": "%1$sNot: Bu รถzellik kapatฤฑldฤฑฤŸฤฑnda, รถnceden izlenen sฤฑcaklฤฑk haritalarฤฑ ile birlikte tรผm sฤฑcaklฤฑk haritalarฤฑ silinir. Bu รถzelliฤŸi aรงtฤฑฤŸฤฑnฤฑzda ya da kapattฤฑฤŸฤฑnฤฑzda, oturum kaydฤฑnda herhangi bir deฤŸiลŸiklik olmaz.%2$s", + "DisableHeatmapRecordingTitle": "Sฤฑcaklฤฑk haritalarฤฑ kapatฤฑlsฤฑn", + "DisableSessionRecordingDescription": "Bu รถzellik kapatฤฑldฤฑฤŸฤฑnda hiรงbir oturum kaydฤฑ yapฤฑlandฤฑrฤฑlamaz ya da izlenemez.", + "DisableSessionRecordingInlineHelp": "%1$s Not: Bu รถzellik kapatฤฑldฤฑฤŸฤฑnda, daha รถnce izlenen oturum kayฤฑtlarฤฑ ile birlikte tรผm oturum kayฤฑtlarฤฑ silinir. Bu รถzelliฤŸi aรงar ya da kapatฤฑrsanฤฑz sฤฑcaklฤฑk haritalarฤฑnda herhangi bir deฤŸiลŸiklik olmaz. %2$s", + "DisableSessionRecordingTitle": "Oturum kaydฤฑnฤฑ kapat", + "EditHeatmapX": "%s ฤฑsฤฑ haritasฤฑnฤฑ dรผzenle", + "EditSessionRecordingX": "%s oturum kaydฤฑnฤฑ dรผzenle", + "EditX": "%s dรผzenle", + "EnableIncludeCountriesDescription": "Varsayฤฑlan olarak, tรผm ziyaretler kaydedilir. Belirli รผlkelerden ziyaretleri izlemek istediฤŸinizde bu bรถlรผmรผ kullanฤฑma alฤฑn.", + "EnableIncludeCountriesTitle": "Yalnฤฑzca belirli รผlkelerden gelen ziyaretรงiler izlensin", + "EndHeatmapConfirm": "Bu ฤฑsฤฑ haritasฤฑ iรงin yeni iลŸlemlerin kaydedilmesini durdurmak istediฤŸinize emin misiniz?", + "EndSessionRecordingConfirm": "Yeni oturumlarฤฑn kaydedilmesini durdurmak istediฤŸinize emin misiniz?", + "ErrorArrayMissingKey": "\"%2$s\" iรงinde \"%3$s\" konumundaki \"%1$s\" dizi anahtarฤฑ eksik.", + "ErrorArrayMissingValue": "\"%2$s\" iรงinde \"%3$s\" konumundaki \"%1$s\" dizi anahtarฤฑnฤฑn deฤŸeri eksik.", + "ErrorHeatmapDoesNotExist": "ฤฐstenilen ฤฑsฤฑ haritasฤฑ bulunamadฤฑ", + "ErrorHeatmapNameDuplicate": "Aynฤฑ adฤฑ kullanan baลŸka bir ฤฑsฤฑ haritasฤฑ zaten var.", + "ErrorHeatmapRecordingDisabled": "Sฤฑcaklฤฑk haritasฤฑ kaydetme รถzelliฤŸi kapatฤฑlmฤฑลŸ. Bu รถzelliฤŸi kullanmak istiyorsanฤฑz, bir Matomo sรผper kullanฤฑcฤฑsฤฑnฤฑn genel ayarlar bรถlรผmรผnden aรงฤฑlmasฤฑ gerekir.", + "ErrorInnerIsNotAnArray": "\"%2$s\" iรงindeki her \"%1$s\" bir dizi olmalฤฑdฤฑr.", + "ErrorInvalidRegExp": "\"%1$s\" kurallฤฑ ifadesinin biรงimi geรงersiz.", + "ErrorNotAnArray": "\"%1$s\" bir dizi olmalฤฑdฤฑr.", + "ErrorPageRuleRequired": "En az bir sayfa kuralฤฑ ayarlanmฤฑลŸ olmalฤฑdฤฑr.", + "ErrorSessionRecordingDisabled": "Oturum kaydetme รถzelliฤŸi kapatฤฑldฤฑ. Kullanฤฑlabilmesi iรงin bu รถzelliฤŸin genel ayarlar bรถlรผmรผnden sรผper kullanฤฑcฤฑ dรผzeyinde bir Matomo kullanฤฑcฤฑsฤฑ tarafฤฑndan aรงฤฑlmasฤฑ gerekir.", + "ErrorSessionRecordingDoesNotExist": "ฤฐstenilen oturum kaydฤฑ bulunamadฤฑ", + "ErrorXContainsWhitespace": "\"%1$s\" iรงinde boลŸluk bulunamaz.", + "ErrorXNotANumber": "\"%1$s\" bir sayฤฑ olmalฤฑdฤฑr.", + "ErrorXNotProvided": "Lรผtfen \"%1$s\" iรงin bir deฤŸer yazฤฑn.", + "ErrorXNotWhitelisted": "\"%1$s\" deฤŸeri kullanฤฑlamaz. ลžunlardan birini kullanฤฑn: %2$s.", + "ErrorXTooHigh": "\"%1$s\" รงok bรผyรผk. ฤฐzin verilen en bรผyรผk deฤŸer %2$s.", + "ErrorXTooLong": "\"%1$s\" รงok uzun. ฤฐzin verilen en fazla karakter sayฤฑsฤฑ %2$s.", + "ErrorXTooLow": "\"%1$s\" รงok kรผรงรผk. ฤฐzin verilen en kรผรงรผk deฤŸer %2$s.", + "ExcludedElements": "Katฤฑlmayan bileลŸenler", + "ExcludedElementsHelp": "ฤฐsteฤŸe baฤŸlฤฑ olarak, gรถrรผnmesini istemediฤŸiniz bileลŸenlerin ฤฑsฤฑ haritasฤฑ รถn izlemesine katฤฑlmamasฤฑ iรงin CSS seรงicileri tanฤฑmlayabilirsiniz. ร–rnek: Hedef sayfa aรงฤฑldฤฑฤŸฤฑnda gรถrรผntรผlenen bir aรงฤฑlan pencere. Virgรผl ile ayฤฑrarak birden fazla seรงici yazabilirsiniz.", + "FieldIncludedTargetsHelp": "Hedefler hangi sayfalardaki kullanฤฑcฤฑ iลŸlemlerinin kaydedileceฤŸini belirler. Bir ya da bir kaรง koลŸul tanฤฑmlayabilirsiniz. ร–rneฤŸin, adres ya da yol belirli bir deฤŸer olduฤŸunda ya da adreste yalnฤฑzca belirli adres parametreleri bulunduฤŸunda iลŸlemlerin kaydedilmesini saฤŸlayabilirsiniz. ฤฐลŸlemler bazฤฑ koลŸullar deฤŸil yalnฤฑzca tรผm koลŸullar karลŸฤฑlandฤฑฤŸฤฑnda kaydedilir. Tรผm koลŸullar bรผyรผk-kรผรงรผk harfe duyarlฤฑ olarak deฤŸerlendirilir. 'basit olarak eลŸleลŸen' koลŸulu seรงildiฤŸinde adres iletiลŸim kuralฤฑ, arama parametreleri ve sondaki bรถlรผ karakteri yok sayฤฑlฤฑr.", + "FieldIncludedTargetsHelpSessions": "Hedefler hangi sayfalara kullanฤฑcฤฑlar eriลŸtiฤŸinde oturumlarฤฑn kaydedileceฤŸini belirler. Bรถylece รถrneฤŸin yalnฤฑzca รถdeme iลŸlemlerinin yapฤฑldฤฑฤŸฤฑ oturumlarฤฑ kaydedebilirsiniz. Bir ya da bir kaรง koลŸul tanฤฑmlayabilirsiniz. ร–rneฤŸin, adres ya da yol belirli bir deฤŸer olduฤŸunda ya da adreste yalnฤฑzca belirli adres parametreleri bulunduฤŸunda oturumlarฤฑn kaydedilmesini saฤŸlayabilirsiniz. Oturumlar bazฤฑ koลŸullar deฤŸil yalnฤฑzca tรผm koลŸullar karลŸฤฑlandฤฑฤŸฤฑnda kaydedilir. Tรผm koลŸullar bรผyรผk-kรผรงรผk harfe duyarlฤฑ olarak deฤŸerlendirilir. 'basit olarak eลŸleลŸen' koลŸulu seรงildiฤŸinde adres iletiลŸim kuralฤฑ, arama parametreleri ve sondaki bรถlรผ karakteri yok sayฤฑlฤฑr.", + "FieldNamePlaceholder": "ร–rnek: 'Kayฤฑt sayfasฤฑ'", + "FilesystemDirectory": "klasรถr", + "Filter": "Sรผzgeรง", + "GettingStarted": "BaลŸlarken", + "Heatmap": "Isฤฑ haritasฤฑ", + "HeatmapAddedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" sฤฑcaklฤฑk haritasฤฑnฤฑ ekledi", + "HeatmapCopied": "Sฤฑcaklฤฑk haritasฤฑ kopyalandฤฑ.", + "HeatmapCreated": "Isฤฑ haritasฤฑ eklendi.", + "HeatmapDeletedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" sฤฑcaklฤฑk haritasฤฑnฤฑ sildi", + "HeatmapDuplicationError": "ฤฐลŸlem tamamlanmadฤฑ. Sฤฑcaklฤฑk haritasฤฑ seรงilmiลŸ tรผm sitelere kopyalanamadฤฑ. Kopyalanamayan siteler: %1$s. Kopyalanan siteler: %2$s.", + "HeatmapDuplicationSiteTypeError": "Kopyalama รถzelliฤŸi sitelerde desteklenmiyor: %1$s.", + "HeatmapEndedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" sฤฑcaklฤฑk haritasฤฑnฤฑ sonlandฤฑrdฤฑ", + "HeatmapInfoTrackVisitsFromCountries": "Sฤฑcaklฤฑk haritasฤฑ yalnฤฑzca %1$s ziyaretlerini izlemek iรงin yapฤฑlandฤฑrฤฑlmฤฑลŸ.", + "HeatmapNameHelp": "Bu ฤฑsฤฑ haritasฤฑ raporu iรงin kullanฤฑlacak adฤฑ belirler.", + "HeatmapPausedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" sฤฑcaklฤฑk haritasฤฑnฤฑ duraklattฤฑ", + "HeatmapResumedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" sฤฑcaklฤฑk haritasฤฑnฤฑ sรผrdรผrdรผ", + "HeatmapSampleLimit": "Sayfa gรถsterimi sayฤฑsฤฑ", + "HeatmapSampleLimitHelp": "Kaydedilmesini istediฤŸiniz toplam sayfa gรถsterimi sayฤฑsฤฑ.", + "HeatmapSampleRateHelp": "'Trafik' olarak da bilinir. %%100 seรงildiฤŸinde, seรงilmiลŸ hedef sayfayฤฑ ziyaret eden tรผm ziyaretรงiler kaydedilir. ร–rneฤŸin %%10 seรงildiฤŸinde, her 10 ziyaretรงiden biri kaydedilir. Yรผzde deฤŸerini azalttฤฑฤŸฤฑnฤฑzda seรงilmiลŸ รถrnek sฤฑnฤฑrฤฑna eriลŸilmesi daha uzun zaman alฤฑr.", + "HeatmapScreenshotDeletedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" sฤฑcaklฤฑk haritasฤฑ ekran gรถrรผntรผsรผnรผ sildi", + "HeatmapTroubleshoot": "Sorun mu yaลŸฤฑyorsunuz? %1$sAyrฤฑntฤฑlฤฑ bilgi alฤฑn%2$s.", + "HeatmapUpdated": "Isฤฑ haritasฤฑ gรผncellendi.", + "HeatmapUpdatedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" sฤฑcaklฤฑk haritasฤฑnฤฑ gรผncelledi", + "HeatmapUsageBenefits": "Isฤฑ haritalarฤฑ, belirli bir sayfa iรงin ziyaretรงilerin tรผm tฤฑklama, fare hareketi ve kaydฤฑrma iลŸlemlerinin kaydedilmesini saฤŸlar. Bรถylece ziyaretรงilerin, tฤฑklanabilir olduฤŸunu dรผลŸรผndรผkleri halde tฤฑklanamayan bileลŸenleri, sayfada gรถrmedikleri ya da etkileลŸim iรงinde olduklarฤฑ bรถlรผmleri, neye baktฤฑklarฤฑnฤฑ, sayfanฤฑn ne kadarฤฑnฤฑ gรถrdรผkleri gibi bilgileri รถฤŸrenebilirsiniz.", + "HeatmapWidth": "Isฤฑ haritasฤฑ geniลŸliฤŸi", + "HeatmapX": "%sฤฑsฤฑ haritasฤฑ", + "HeatmapXRecordedSamplesSince": "%2$s zamanฤฑndan beri %1$s รถrnek kaydedilmiลŸ.", + "Heatmaps": "Isฤฑ haritalarฤฑ", + "Manage": "Yรถnetim", + "ManageHeatmapSubcategoryHelp": "Isฤฑ haritalarฤฑ, ziyaretรงilerin belirli bir sayfadaki tรผm tฤฑklamalarฤฑnฤฑ, fare hareketlerini ve kaydฤฑrma iลŸlemlerinin kaydedilmesini saฤŸlar. Site iรงin ฤฑsฤฑ haritasฤฑ izlemeleri bu bรถlรผmden eklenip yรถnetilebilir.", + "ManageHeatmaps": "Isฤฑ haritalarฤฑ yรถnetimi", + "ManageSessionRecordingSubcategoryHelp": "Oturum kayฤฑtlarฤฑ, gerรงek bir ziyaretรงinin oturumu sฤฑrasฤฑnda yaptฤฑฤŸฤฑ tฤฑklama, fare hareketi, kaydฤฑrma, pencereyi yeniden boyutlandฤฑrma, sayfa deฤŸiลŸtirme ve form etkileลŸimi gibi iลŸlemlerin kaydedilmesini saฤŸlar. Site iรงin oturum kayฤฑtlarฤฑ bu bรถlรผmden eklenip yรถnetilebilir.", + "ManageSessionRecordings": "Oturum kayฤฑtlarฤฑ yรถnetimi", + "MatomoJSNotWritableErrorMessage": "HeatmapSessionRecording: %1$s, matomo.js dosyasฤฑ salt okunur olduฤŸu iรงin ลŸu anda ziyaretleri izleyemiyor. Dosyayฤฑ yazฤฑlabilir yapmak iรงin lรผtfen %2$sbelgelere%3$s bakฤฑn.", + "MinSessionTime": "En kฤฑsa oturum sรผresi", + "MinSessionTimeHelp": "Bir sayfada yalnฤฑzca belirtilen deฤŸerden daha uzun sรผre geรงirilen oturumlar kaydedilir.", + "MoveRate": "Hareket oranฤฑ:", + "Moves": "Hareketler:", + "NHeatmaps": "%s ฤฑsฤฑ haritasฤฑ", + "NSessionRecordings": "%s oturum kayฤฑtlarฤฑ", + "NoHeatmapSamplesRecordedYet": "Bu ฤฑsฤฑ haritasฤฑ iรงin henรผz bir sayfa gรถsterimi kaydedilmemiลŸ. Burada kaydedilmiลŸ sayfa gรถsterimlerinin olmasฤฑ gerekiyorsa, bu ฤฑsฤฑ haritasฤฑ iรงin yapฤฑlandฤฑrฤฑlmฤฑลŸ sayfa hedefleri sitenizdeki hiรง bir sayfa ile eลŸleลŸmiyor olabilir. Ayrฤฑca \"Yรถnetim\" baลŸlฤฑฤŸฤฑ altฤฑndan \"Sistem denetimi\" bรถlรผmรผne (yalnฤฑzca sรผper kullanฤฑcฤฑlar gรถrebilir) bakarak sisteminizin ฤฑsฤฑ haritalarฤฑnฤฑ otomatik olarak izleyecek ลŸekilde yapฤฑlandฤฑrฤฑldฤฑฤŸฤฑndan emin olmanฤฑz รถnerilir.", + "NoHeatmapSamplesRecordedYetWithoutSystemConfiguration": "Bu sฤฑcaklฤฑk haritasฤฑ iรงin henรผz bir sayfa gรถrรผnรผmรผ kaydedilmemiลŸ. ลžimdiye kadar bazฤฑ kayฤฑtlar olmasฤฑ gerektiฤŸini dรผลŸรผnรผyorsanฤฑz, bu sฤฑcaklฤฑk haritasฤฑ iรงin yapฤฑlandฤฑrฤฑlmฤฑลŸ sayfa hedefleri sitenizdeki hiรงbir sayfayla eลŸleลŸmiyor olabilir.", + "NoHeatmapScreenshotRecordedYet": "ลžu ana kadar %1$s รถrnek kaydedilmiลŸ. Bununla birlikte henรผz bir ekran gรถrรผntรผsรผ kaydedilmemiลŸ. Bu ฤฑsฤฑ haritasฤฑ iรงin bir \"%2$s\" varsa, bir ziyaretรงinin รถnce bu ekran gรถrรผntรผsรผ adresini aรงmasฤฑ gerektiฤŸinden ekran gรถrรผntรผsรผnรผn kullanฤฑlabilmesi zaman alabilir. ร–rnekleme hฤฑzฤฑna gรถre bu iลŸlem biraz zaman alabilir.", + "NoHeatmapsConfiguredInfo": "ลžu anda etkin bir ฤฑsฤฑ haritasฤฑ yok. Isฤฑ haritalarฤฑnฤฑ gรถrรผntรผleyebilmek iรงin, en az yรถnetici izinlerine sahip bir kullanฤฑcฤฑdan yeni bir ฤฑsฤฑ haritasฤฑ eklemesini isteyin.", + "NoHeatmapsFound": "Herhangi bir ฤฑsฤฑ haritasฤฑ bulunamadฤฑ", + "NoSessionRecordedYet": "Henรผz bir oturum kaydedilmemiลŸ. Burada kaydedilmiลŸ bir oturum olmasฤฑ gerekiyorsa, yapฤฑlandฤฑrฤฑlmฤฑลŸ giriลŸ sayfasฤฑ sitenizdeki hiรง bir sayfa ile eลŸleลŸmiyor olabilir. Ayrฤฑca \"Yรถnetim\" baลŸlฤฑฤŸฤฑ altฤฑndan \"Sistem denetimi\" bรถlรผmรผne (yalnฤฑzca sรผper kullanฤฑcฤฑlar gรถrebilir) bakarak sisteminizin oturumlarฤฑ otomatik olarak kaydedecek ลŸekilde yapฤฑlandฤฑrฤฑldฤฑฤŸฤฑndan emin olmanฤฑz รถnerilir.", + "NoSessionRecordedYetWithoutSystemConfiguration": "Henรผz herhangi bir oturum kaydedilmemiลŸ. ลžimdiye kadar bazฤฑ kaydedilmiลŸ oturumlar olmasฤฑ gerektiฤŸini dรผลŸรผnรผyorsanฤฑz, ayarlanmฤฑลŸ kayฤฑt sayfasฤฑ sitenizdeki hiรงbir sayfayla eลŸleลŸmiyor olabilir.", + "NoSessionRecordingsConfiguredInfo": "ลžu anda etkin bir oturum kaydฤฑ yok. Yeni oturumlarฤฑ kaydedebilmek iรงin, en az yรถnetici izinlerine sahip bir kullanฤฑcฤฑdan yeni bir kayฤฑt iลŸlemi eklemesini isteyin.", + "NoSessionRecordingsFound": "Herhangi bir oturum kaydฤฑ bulunamadฤฑ", + "None": "Yok", + "NotSupportedBrowser": "Bu tarayฤฑcฤฑ desteklenmiyor. Lรผtfen daha yeni bir sรผrรผmรผ kullanฤฑn ya da farklฤฑ bir tarayฤฑcฤฑ deneyin.", + "OnePageview": "1 sayfa gรถsterimi", + "PageRule": "Sayfa kuralฤฑ", + "PageviewXofY": "%1$s / %2$s sayfa gรถsterimi", + "PageviewsInVisit": "Bu oturumda kaydedilmiลŸ sayfa gรถsterimleri", + "PauseReason": "Kotanฤฑzฤฑn dolmasฤฑ nedeniyle %1$s duraklatฤฑldฤฑ. Lรผtfen ayrฤฑntฤฑlฤฑ bilgi almak iรงin destek ekibi ile gรถrรผลŸรผn.", + "PeriodDisabledErrorMessage": "\"%1$s\" dรถnemi kullanฤฑmdan kaldฤฑrฤฑlmฤฑลŸ. Ancak bu รถzelliฤŸin รงalฤฑลŸmasฤฑ iรงin gerekli. BaลŸka bir dรถnem seรงin ya da sistem yรถneticisinden 'config/config.ini.php' Matomo yapฤฑlandฤฑrma dosyasฤฑndaki \"enabled_periods_API\" seรงeneฤŸini \"%1$s\" dรถnemine izin verecek ลŸekilde deฤŸiลŸtirmesini isteyin.", + "PersonalInformationNote": "Lรผtfen bir %1$s tarafฤฑndan kiลŸisel verilerin kaydedilebileceฤŸini unutmayฤฑn. Sitenizdeki ya da uygulamanฤฑzdaki belirli iรงeriklerin gizlenmesini istiyorsanฤฑz, HTML kodunda bu iรงeriklere %2$sdata-matomo-mask%3$s รถzniteliฤŸini ekleyebilirsiniz. %4$sAyrฤฑntฤฑlฤฑ bilgi alฤฑn%5$s", + "PlayRecordedSession": "Bu oturum kaydฤฑnฤฑ oynat", + "PlayerDurationXofY": "%1$s / %2$s", + "PlayerForwardFast": "%1$s saniye ileri git (%2$s kฤฑsayolu)", + "PlayerPageViewNext": "Bu ziyaretรงinin sonraki sayfa gรถsterimini oynat %1$s (%2$s kฤฑsayolu)", + "PlayerPageViewPrevious": "Bu ziyaretรงinin รถnceki sayfa gรถsterimini oynat %1$s (%2$s kฤฑsayolu)", + "PlayerPause": "Duraklat (%s kฤฑsayolu ya da boลŸluk)", + "PlayerPlay": "Oynat (%s kฤฑsayolu ya da boลŸluk)", + "PlayerReplay": "Yeniden oynat (%s kฤฑsayolu ya da boลŸluk)", + "PlayerRewindFast": "%1$s saniye geri git (%2$s kฤฑsayolu)", + "PolicyHeatmapRequirementNote": "HeatmapSessionRecording eklentisinde sฤฑcaklฤฑk haritasฤฑ kaydฤฑnฤฑn kapalฤฑ olmalฤฑdฤฑr", + "PolicyHeatmapTitle": "Sฤฑcaklฤฑk haritalarฤฑ - Sฤฑcaklฤฑk haritasฤฑ kaydฤฑnฤฑ kapat", + "PolicySessionRequirementNote": "HeatmapSessionRecording eklentisinde oturum kaydฤฑ kapalฤฑ olmalฤฑdฤฑr", + "PolicySessionTitle": "Sฤฑcaklฤฑk haritalarฤฑ - Oturum kaydฤฑnฤฑ kapat", + "QuotaReachedForX": "Kota sฤฑnฤฑrฤฑnฤฑza ulaลŸtฤฑnฤฑz. Kullanฤฑm aลŸฤฑmฤฑ nedeniyle %1$s kopyalanamฤฑyor. Kotanฤฑzฤฑ yรถnetmek iรงin kullanฤฑlmayan veya daha az รถnemli %2$s รถgesini silmeyi deฤŸerlendirin.", + "RecordedHeatmapDocStatusActive": "Bu ฤฑsฤฑ haritasฤฑ etkin. %2$s รถrnekleme hฤฑzฤฑ ile en รงok %1$d sayfa gรถsterimi kaydedilebilir.", + "RecordedHeatmapDocStatusEnded": "Bu ฤฑsฤฑ haritasฤฑ sona ermiลŸ. Yeni iลŸlemler kaydedilmeyecek.", + "RecordedPageviewDeletedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" oturum kaydฤฑnฤฑn kaydedilmiลŸ bir sayfa gรถrรผnรผmรผnรผ sildi", + "RecordedSessionDeletedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" oturum kaydฤฑnฤฑn bir oturum kaydฤฑnฤฑ sildi", + "RecordedSessions": "KaydedilmiลŸ oturumlar", + "RecordedSessionsDocStatusActive": "Bu oturum kaydฤฑ etkin. %2$s รถrnekleme hฤฑzฤฑ ile en รงok %1$d oturum kaydedilebilir.", + "RecordedSessionsDocStatusEnded": "Bu oturum kaydฤฑ sona erdi ve yeni bir oturum kaydedilmeyecek.", + "Recordings": "Kayฤฑtlar", + "ReplayRecordedSession": "KaydedilmiลŸ oturumu yeniden oynat", + "ReplayX": "%s yeniden oynatฤฑlsฤฑn", + "ReportRecordedSessionsDocumentation": "Kaydedilen tรผm oturumlarฤฑn listesi. Kaydedilen herhangi bir oturumu yeniden oynatabilirsiniz.", + "RequiresActivity": "ฤฐลŸlem yapฤฑlmasฤฑ gereksin", + "RequiresActivityHelp": "AรงฤฑldฤฑฤŸฤฑnda, bir sayfa gรถsteriminde yalnฤฑzca bir kaydฤฑrma ve tฤฑklama iลŸlemi yapฤฑlan oturumlar kaydedilir. Bรถylece รงok fazla iลŸlem yapฤฑlmayan oturumlarฤฑn kaydedilmesi engellenir.", + "Rule": "Kural", + "SampleLimit": "ร–rnek sฤฑnฤฑrฤฑ", + "SampleRate": "ร–rnekleme hฤฑzฤฑ", + "ScreenshotUrl": "Ekran gรถrรผntรผsรผ adresi", + "ScreenshotUrlHelp": "Varsayฤฑlan olarak, bir ziyaretรงi bir hedef sayfasฤฑnฤฑ ilk kez gรถrรผntรผlediฤŸinde bir ekran gรถrรผntรผsรผ kaydedilir. Hedef sayfanฤฑz ile birden รงok sayfa adresi eลŸleลŸiyorsa ekran gรถrรผntรผsรผnรผn kaydedileceฤŸi belirli bir adres yazabilirsiniz. Isฤฑ haritasฤฑ gรถrselleลŸtirmesi yalnฤฑzca iลŸlemleri kaydedilen bir ziyaretรงinin bu adrese eriลŸmesinden sonra oluลŸturulur. BelirtildiฤŸinde adres tam olarak eลŸleลŸmelidir. ฤฐletiลŸim kuralฤฑnฤฑn yok sayฤฑlmasฤฑ iรงin adresin baลŸฤฑna iki tane bรถlรผ karakteri ekleyin (//ornek.com gibi). Bir ekran gรถrรผntรผsรผ kaydedildikten sonra bu adresin deฤŸiลŸtirilemeyeceฤŸini unutmayฤฑn.", + "SessionNameHelp": "Oturum kayฤฑtlarฤฑ iรงin kullanฤฑlacak adฤฑ belirler.", + "SessionRecording": "Oturum kaydฤฑ", + "SessionRecordingAddedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" oturum kaydฤฑnฤฑ ekledi", + "SessionRecordingCreated": "Oturum kaydฤฑ eklendi.", + "SessionRecordingDeletedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" oturum kaydฤฑnฤฑ sildi", + "SessionRecordingEndedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" oturum kaydฤฑnฤฑ sonlandฤฑrdฤฑ", + "SessionRecordingInfoTrackVisitsFromCountries": "Oturum kaydฤฑ yalnฤฑzca %1$s ziyaretlerini izlemek iรงin yapฤฑlandฤฑrฤฑlmฤฑลŸ.", + "SessionRecordingPausedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" oturum kaydฤฑnฤฑ duraklattฤฑ", + "SessionRecordingResumedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" oturum kaydฤฑnฤฑ sรผrdรผrdรผ", + "SessionRecordingUpdated": "Oturum kaydฤฑ gรผncellendi.", + "SessionRecordingUpdatedActivity": "\"%2$s\" sitesi iรงin \"%1$s\" oturum kaydฤฑnฤฑ gรผncelledi", + "SessionRecordingX": "%s oturum kaydฤฑ", + "SessionRecordings": "Oturum kayฤฑtlarฤฑ", + "SessionRecordingsUsageBenefits": "Oturum kayฤฑtlarฤฑ, gerรงek bir ziyaretรงinin oturumu sฤฑrasฤฑnda yaptฤฑฤŸฤฑ tฤฑklama, fare hareketi, kaydฤฑrma, pencereyi yeniden boyutlandฤฑrma, sayfa deฤŸiลŸtirme ve form etkileลŸimi gibi iลŸlemlerin kaydedilmesini saฤŸlar. Bir ziyaretรงinin sitenizle nasฤฑl etkileลŸime girdiฤŸini tam olarak gรถrmek iรงin bu etkileลŸimleri daha sonra yeniden oynatabilirsiniz. Bรถylece ziyaretรงilerin beklentileri, yaลŸamฤฑลŸ olabilecekleri sorunlar, kullanฤฑm alฤฑลŸkanlฤฑklarฤฑ gibi pek รงok ลŸeyi รถฤŸrenebilirsiniz.", + "SessionSampleLimit": "Oturum sayฤฑsฤฑ", + "SessionSampleLimitHelp": "Kaydedilmesini istediฤŸiniz toplam oturum sayฤฑsฤฑ.", + "SessionSampleRateHelp": "'Trafik' olarak da bilinir. %%100 seรงildiฤŸinde, seรงilmiลŸ hedef sayfaya eriลŸen tรผm oturumlar kaydedilir. ร–rneฤŸin %%10 seรงildiฤŸinde, her 10 oturumdan biri kaydedilir. Yรผzde deฤŸerini azalttฤฑฤŸฤฑnฤฑzda seรงilmiลŸ รถrnek sฤฑnฤฑrฤฑna eriลŸilmesi daha uzun zaman alฤฑr.", + "SourceHeatmapLookupError": "Kaynak sฤฑcaklฤฑk haritasฤฑna bakฤฑlฤฑrken beklenmeyen bir sorun รงฤฑktฤฑ. Lรผtfen yeniden deneyin. Sorun sรผrerse yรถneticinizle veya destek ekibinizle gรถrรผลŸรผn.", + "StatusActive": "Etkin", + "StatusEnded": "Sona ermiลŸ", + "StatusPaused": "Duraklatฤฑldฤฑ", + "StopX": "Bu %s iรงin yeni iลŸlemleri kaydetmeyi durdurur.", + "TargetAttributePath": "Yol", + "TargetAttributeUrl": "Adres", + "TargetAttributeUrlParameter": "Adres parametresi", + "TargetAttributeUrlParameterExample": "AdresParametresininAdฤฑ", + "TargetPage": "Hedef sayfa", + "TargetPageTestErrorInvalidUrl": "BaลŸฤฑnda iletiลŸim kuralฤฑ olan bir adres yazฤฑn.", + "TargetPageTestLabel": "ฤฐลŸlem kaydฤฑnฤฑ denetlemek iรงin baลŸฤฑnda iletiลŸim kuralฤฑ olan tam adresi yazฤฑn:", + "TargetPageTestTitle": "Adres doฤŸrulayฤฑcฤฑ", + "TargetPageTestUrlMatches": "Bu adresteki iลŸlemler kaydediliyor", + "TargetPageTestUrlNotMatches": "Bu adresteki iลŸlemler kaydedilmiyor", + "TargetPages": "Kayฤฑt sayfalarฤฑ", + "TargetTypeContains": "ลŸunu iรงeren", + "TargetTypeEqualsExactly": "tam olarak eลŸleลŸen", + "TargetTypeEqualsExactlyInfo": "DeฤŸer, adres iletiลŸim kuralฤฑ, arama sorgusu ve karma ile tam olarak eลŸleลŸmelidir.", + "TargetTypeEqualsSimple": "basit olarak eลŸleลŸen", + "TargetTypeEqualsSimpleInfo": "Adres baลŸฤฑnda \"www.\" alt etki alanฤฑ olarak ya da olmayarak tรผm iletiลŸim kurallarฤฑ (http ve https gibi) ile eลŸleลŸir. EลŸleลŸtirilirken adresin sonundaki bรถlรผ karakteri, arama sorgusu ve karma bรถlรผmรผ yok sayฤฑlฤฑr.", + "TargetTypeExists": "var olan", + "TargetTypeIsAny": "ลŸunlarฤฑn tรผmรผ", + "TargetTypeIsNot": "%s olmayan", + "TargetTypeRegExp": "ลŸu kurallฤฑ ifadeye uyan", + "TargetTypeRegExpInfo": "Herhangi bir kurallฤฑ ifade. ร–rnek: \"^(.*)test(.*)$\".", + "TargetTypeStartsWith": "ลŸununla baลŸlayan", + "TimeOnSite": "Sitedeki zaman", + "TotalEvents": "Olaylar", + "TrackingDisabledDefaultSettingDescription": "Bu รถzellik, Matomo รผzerinde birden fazla site varsa ve yalnฤฑzca belirli birkaรง sitenin izlenmesi isteniyorsa yararlฤฑ olabilir. ฤฐzleme รถzelliฤŸi varsayฤฑlan olarak kapatฤฑldฤฑฤŸฤฑnda, izleme kodu iรงine รถzellikle '_paq.push(['HeatmapSessionRecording::enable']);' gibi bir satฤฑr eklenerek aรงฤฑlmadฤฑkรงa, hiรง bir site izlenmez. Bรถylece geรงerli site iรงin bir ฤฑsฤฑ haritasฤฑ veya oturum kaydฤฑnฤฑn yapฤฑlฤฑp yapฤฑlmayacaฤŸฤฑnฤฑ belirlemek amacฤฑyla 'configs.php' dosyasฤฑna yapฤฑlacak gereksiz aฤŸ istekleri รถnlenebilir. Gizlilik nedeniyle izleme รถzelliฤŸinin yalnฤฑzca bazฤฑ sitelerde kullanฤฑlacaฤŸฤฑndan emin olmak istiyorsanฤฑz da yararlฤฑ olabilir.", + "TrackingDisabledDefaultSettingTitle": "Varsayฤฑlan olarak izleme kullanฤฑlmasฤฑn", + "UpdatingData": "Veriler gรผncelleniyorโ€ฆ", + "UrlParameterValueToMatchPlaceholder": "Adres parametresi adฤฑ iรงin eลŸleลŸtirilecek deฤŸer", + "UrlXDoesNotLookLikeUrl": "%s bir adres gibi gรถrรผnmรผyor. Adresin baลŸฤฑnda http:// gibi bir iletiลŸim kuralฤฑ ya da // bulunduฤŸundan emin olun", + "ViewReport": "Raporu gรถrรผntรผle", + "ViewportResolution": "BakฤฑลŸ aรงฤฑsฤฑ รงรถzรผnรผrlรผฤŸรผ (geniลŸlik x yรผkseklik)", + "Width": "GeniลŸlik", + "XSamples": "%s รถrnek", + "disable": "kullanฤฑmdan kaldฤฑr", + "enable": "aรง" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/tzm.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/tzm.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/tzm.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/uk.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/uk.json new file mode 100644 index 0000000..a71dbe5 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/uk.json @@ -0,0 +1,6 @@ +{ + "HeatmapSessionRecording": { + "Heatmap": "ะขะตะฟะปะพะฒะฐ ะบะฐั€ั‚ะฐ", + "SessionRecording": "ะ—ะฐะฟะธั ัะตะฐะฝััƒ" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/ur.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ur.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/ur.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/vi.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/vi.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/vi.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/zh-cn.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/zh-cn.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/zh-cn.json @@ -0,0 +1 @@ +{} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/lang/zh-tw.json b/files/plugin-HeatmapSessionRecording-5.6.0/lang/zh-tw.json new file mode 100644 index 0000000..2085aab --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/lang/zh-tw.json @@ -0,0 +1,185 @@ +{ + "HeatmapSessionRecording": { + "ActivityClick": "้ปžๆ“Š", + "ActivityFormChange": "่กจๅ–ฎ่ฎŠๆ›ด", + "ActivityFormText": "่กจๅ–ฎๆ–‡ๅญ—่ฎŠๆ›ด", + "ActivityFormValue": "่กจๅ–ฎๅ€ผ่ฎŠๆ›ด", + "ActivityInitialDom": "ๅˆๅง‹็ถฒ้ ", + "ActivityMove": "็งปๅ‹•", + "ActivityResize": "็ธฎๆ”พ", + "ActivityScroll": "ๆฒๅ‹•", + "ActivityScrollElement": "ๆฒๅ‹•ๅ…ƒ็ด ", + "AdvancedOptions": "้€ฒ้šŽ้ธ้ …", + "AutoPlayNextPageview": "้ปžๆ“Šไปฅ%1$s่‡ชๅ‹•ๆ’ญๆ”พไธ‹ๅ€‹็€่ฆฝ้ ้ข๏ผˆๅฟซๆท้ต %2$s๏ผ‰", + "AvgAboveFoldDescription": "่จชๅฎขไธๆฒๅ‹•ๆ™‚ๅนณๅ‡่ƒฝ็œ‹ๅˆฐ้€™ๆข็ทšไปฅไธŠ็š„ๅ…งๅฎน", + "AvgAboveFoldTitle": "ๅนณๅ‡ๆถต่“‹ %s ๅƒ็ด ไน‹ไธŠ", + "BreakpointGeneralHelp": "่ฃ็ฝฎ้กžๅž‹ๅœจ่จชๅฎข่จชๅ•ไฝ ็š„็ถฒ็ซ™ๆ™‚ๅฐฑๆœƒ่‡ชๅ‹•ๅตๆธฌใ€‚็„ถ่€Œ๏ผŒ่ฃ็ฝฎ้กžๅž‹ๆœ‰ๆ™‚ๅ€™็„กๆณ•ๅตๆธฌใ€‚ๅฆ‚ๆžœไฝ ็š„็ถฒ็ซ™ๆ˜ฏ้Ÿฟๆ‡‰ๅผ่จญ่จˆไธฆไธ”ไฝˆๅฑ€ๅœจๆŸๅ€‹ๅฏฌๅบฆไธ‹ๆœƒ่ฎŠๆ›ด๏ผŒๆˆ‘ๅ€‘ๆœƒๅฐ‡่žขๅน•่งฃๆžๅบฆ่ผƒไฝŽ็š„้›ป่…ฆ็‰ˆไฝฟ็”จ่€…็ดๅ…ฅ้€™ๅ€‹่ฃ็ฝฎ้กžๅž‹ไปฅๅขžๅŠ ๆ›ดๆบ–็ขบ็š„็†ฑๅบฆๅœ–ใ€‚ไปปไฝ•ๆฏ”้€™ๅ€‹ๅ€ผ้‚„ไฝŽ็š„ๅฏฌๅบฆๅฐ‡ๆœƒ่ขซ็ดๅ…ฅ้€™ๅ€‹่ฃ็ฝฎ้กžๅž‹ใ€‚ๅฆ‚ๆžœไฝ ็š„็ถฒ็ซ™ไธๆ˜ฏ้Ÿฟๆ‡‰ๅผ่จญ่จˆ๏ผŒๅฐฑ่จญๅฎš็‚บ 0ใ€‚", + "BreakpointGeneralHelpManage": "ๆ“ๆœ‰่ถ…็ดšไฝฟ็”จ่€…ๆฌŠ้™็š„ไฝฟ็”จ่€…ๅฏไปฅๅœจ็ฎก็†ไธญๅฟƒ => ไธ€่ˆฌ่จญๅฎšไธญ่ฎŠๆ›ด้€™ไบ›ๆ–ท้ปž็š„้ ่จญๅ€ผ", + "BreakpointX": "%sๆ–ท้ปž", + "CaptureKeystrokes": "ๆ•ๆ‰ๆŒ‰้ต", + "CaptureKeystrokesHelp": "่‹ฅๅ•Ÿ็”จ๏ผŒไปปไฝ•่ผธๅ…ฅๆ–ผๆ–‡ๅญ—่กจๅ–ฎ็š„ๆ–‡ๅญ—ๅฐ‡่ขซ็ด€้Œ„ใ€‚็•ถๆ–‡ๅญ—่ขซ็ด€้Œ„ๆ™‚๏ผŒไปปไฝ•ไฝฟ็”จ่€…่ผธๅ…ฅ็š„ๆ–‡ๅญ—ๅฐ‡่ขซๅ–ไปฃ็‚บๆ˜Ÿ่™Ÿ๏ผˆ*๏ผ‰ใ€‚ไฝ ๅฏไปฅๅฐ‡็‰นๅฎš่กจๅ–ฎๆฌ„ไฝๅŠ ๅ…ฅๅฑฌๆ€งใ€Œdata-matomo-unmaskใ€ไพ†ๆทปๅŠ ๅˆฐ็™ฝๅๅ–ฎไปฅ้Œ„่ฃฝ็ด”ๆ–‡ๅญ—ใ€‚็„ถ่€Œ๏ผŒๅฏ†็ขผๆฌ„ไฝๅ’Œๅ…ถไป–ๅฏ่ƒฝๅŒ…ๅซๅ€‹ไบบ่ณ‡่จŠ๏ผˆๅœฐๅ€ใ€Emailใ€ไฟก็”จๅก่ณ‡่จŠใ€ไฝฟ็”จ่€…ๅ็จฑใ€้›ป่ฉฑ่™Ÿ็ขผ็ญ‰็ญ‰๏ผ‰ๆฌ„ไฝ่‹ฅ่ขซๆˆ‘ๅ€‘ๅตๆธฌๅˆฐๆ™‚๏ผŒๅฐ‡ๆœƒ่ขซ่‡ชๅ‹•้šฑ่—๏ผˆ%1$sไบ†่งฃๆ›ดๅคš%2$s๏ผ‰ใ€‚่ซ‹ๆณจๆ„ๅฆ‚ๆžœไฝ ๅ•Ÿ็”จไบ†้€™้ …ๅŠŸ่ƒฝ๏ผŒไฝ ๅฏ่ƒฝ้Œ„่ฃฝๅˆฐๅ€‹ไบบ่ณ‡ๆ–™ไธฆๅฝฑ้Ÿฟ GDPRใ€‚", + "ChangeReplaySpeed": "่ฎŠๆ›ด้‡ๆ’ญ้€Ÿๅบฆ๏ผˆๅฟซๆท้ต %s๏ผ‰", + "ClickToSkipPauses": "้ปžๆ“Šไปฅ%1$s็•ฅ้Žๆšซๅœ๏ผˆๅฟซๆท้ต %2$s๏ผ‰", + "ColumnActionsDocumentation": "ๆ’ญๆ”พ้Œ„่ฃฝ็š„่กŒ็‚บๆˆ–ๆฐธไน…ๅˆช้™ค็ด€้Œ„ใ€‚", + "ColumnBrowserDocumentation": "้Œ„่ฃฝ่กŒ็‚บๆ™‚๏ผŒ่จชๅฎขไฝฟ็”จ็š„็€่ฆฝๅ™จใ€‚", + "ColumnDeviceDocumentation": "้Œ„่ฃฝ่กŒ็‚บๆ™‚๏ผŒ่จชๅฎขไฝฟ็”จ็š„่ฃ็ฝฎใ€‚", + "ColumnLabelRecordedSessions": "ๅˆฐ้”็ถฒ้  โ†’ ้›ข้–‹็ถฒ้ ", + "ColumnLocationDocumentation": "้Œ„่ฃฝ่กŒ็‚บๆ™‚๏ผŒ่จชๅฎขๆ‰€ๅœจ็š„ๅœฐ้ปžใ€‚", + "ColumnOperatingSystem": "ไฝœๆฅญ็ณป็ตฑ", + "ColumnOperatingSystemDocumentation": "้Œ„่ฃฝ่กŒ็‚บๆ™‚๏ผŒ่จชๅฎขไฝฟ็”จ็š„ไฝœๆฅญ็ณป็ตฑใ€‚", + "ColumnPageviewsDocumentation": "้€™ๆฎต่กŒ็‚บ้Œ„่ฃฝ็š„้Ž็จ‹ไธญ่จชๅ•็š„้ ้ขๆ•ธ้‡ใ€‚", + "ColumnResolutionDocumentation": "ไฝฟ็”จ่€…้–‹ๅ•Ÿ้€™ๅ€‹็ถฒ้ ๆ™‚็€่ฆฝๅ™จ่ฆ–็ช—ๅ…งๅฏ่ฆ‹ๅ€ๅŸŸ็š„ๅƒ็ด ๅคงๅฐใ€‚", + "ColumnTime": "ๆ™‚้–“", + "ColumnTimeDocumentation": "้–‹ๅง‹้Œ„่ฃฝ็š„ๆ™‚้–“้ปž๏ผŒไปฅ็ถฒ็ซ™็š„ๆ™‚ๅ€้กฏ็คบใ€‚", + "ColumnTimeOnPageDocumentation": "้Œ„่ฃฝ่กŒ็‚บๆ™‚๏ผŒ่จชๅฎขๅœจๆญค็ถฒ้ ไธญ่Šฑไบ†ๅคšๅฐ‘ๆ™‚้–“ใ€‚", + "ColumnTimeOnSiteDocumentation": "้Œ„่ฃฝ่กŒ็‚บๆ™‚๏ผŒ่จชๅฎขไธ€ๅ…ฑ่Šฑไบ†ๅคšๅฐ‘ๆ™‚้–“ใ€‚", + "ConfigsInternetDisabled": "็”ฑๆ–ผ้€™ๅ€‹ Matomo ่ขซ็ฆๆญขไบ†็ถฒ่ทฏ้€ฃ็ทš๏ผŒๅ› ๆญคๆˆ‘ๅ€‘็„กๆณ•ๆชขๆŸฅใ€Œ%sใ€ๆ˜ฏๅฆ่ƒฝ่จชๅ•ใ€‚", + "ConfigsPhpErrorResult": "็ตๆžœ้กฏ็คบ๏ผŒ่ฟฝ่นค็†ฑๅบฆๅœ–ๅ’Œ่กŒ็‚บ้Œ„่ฃฝๅฏ่ƒฝ็„กๆณ•ไฝœ็”จใ€‚ไฝ ๅฏ่ƒฝ้œ€่ฆ่ฎŠๆ›ดไฝ ็š„ไผบๆœๅ™จ่จญๅฎšไพ†ๅ…่จฑ็ถฒ้š›็ถฒ่ทฏๆˆ–ๅ…ง้ƒจ็ถฒ่ทฏ่จชๅ•้€™ๅ€‹ๆ–‡ไปถใ€‚", + "ConfigsPhpManualCheck": "่ซ‹ๆ‰‹ๅ‹•ๅœจ็€่ฆฝๅ™จไธญ้–‹ๅ•Ÿ็ถฒๅ€ไพ†ๆŸฅ็œ‹ๅ›žๆ‡‰ๅ…งๅฎนๆ˜ฏๅฆๅŒ…ๅซใ€ŒPiwik.HeatmapSessionRecordingใ€ใ€‚ๅฆ‚ๆžœๆฒ’ๆœ‰๏ผŒไฝ ๅฏ่ƒฝ้œ€่ฆ่ฎŠๆ›ดไผบๆœๅ™จ่จญๅฎš๏ผŒๅ› ็‚บ้€™ๅ€‹ๆช”ๆกˆๅฟ…้ ˆ่ฆ่ƒฝ็ถ“็”ฑ็ถฒ้š›็ถฒ่ทฏๆˆ–ๅ…ง้ƒจ็ถฒ่ทฏๅœจ็€่ฆฝๅ™จไธญ่จชๅ•ใ€‚", + "ConfigsPhpNotAccessible": "็ถฒๅ€ใ€Œ%sใ€ไผผไนŽ็„กๆณ•็ถ“็”ฑ็ถฒ้š›็ถฒ่ทฏๆˆ–ๅ…ง้ƒจ็ถฒ่ทฏ่จชๅ•ใ€‚", + "ConfigsPhpSelfSignedError": "่ซ‹ๆฑ‚็š„ใ€Œ%sใ€ๅ‡บ็พ SSL ้Œฏ่ชคใ€‚ๆˆ–่จฑไฝ ไฝฟ็”จ็š„่‡ช่กŒ็ฐฝ็ฝฒ็š„ๆ†‘่ญ‰๏ผŸ", + "ConfigsPhpSuccess": "ใ€Œ%sใ€ๅฏไปฅ่จชๅ•", + "ConfigsPhpUnknown": "ๆˆ‘ๅ€‘็„กๆณ•ๆชขๆŸฅใ€Œ%sใ€ๆ˜ฏๅฆ่ƒฝๅœจ็ถฒ้š›็ถฒ่ทฏๆˆ–ๅ…ง้ƒจ็ถฒ่ทฏไธญ่จชๅ•ใ€‚", + "ConfigsPhpUnknownError": "่ซ‹ๆฑ‚็š„ใ€Œ%1$sใ€ๅ‡บ็พ้Œฏ่ชค๏ผš%2$sใ€‚", + "CreateNewHeatmap": "ๅปบ็ซ‹ๆ–ฐ็š„็†ฑๅบฆๅœ–", + "CreateNewSessionRecording": "ๅปบ็ซ‹ๆ–ฐ็š„่กŒ็‚บ้Œ„่ฃฝ", + "CreationDate": "ๅปบ็ซ‹ๆ—ฅๆœŸ", + "DeleteHeatmapConfirm": "ไฝ ็ขบๅฎš่ฆๅˆช้™ค้€™ๅ€‹็†ฑๅบฆๅœ–๏ผŸไน‹ๅ‰็”ข็”Ÿ็š„็†ฑๅบฆๅœ–ๅ ฑ่กจๅฐ‡ไธๅ†้กฏ็คบๆ–ผๅ ฑ่กจ UI ไธญใ€‚", + "DeleteHeatmapScreenshotConfirm": "ไฝ ็ขบๅฎš่ฆๅˆช้™ค้€™ๅ€‹ๆˆชๅœ–ๅ—Ž๏ผŸ้‡ๆ–ฐ็”ข็”Ÿๆˆชๅœ–ๅฏ่ƒฝ้œ€่ฆ่ŠฑไธŠไธ€ไบ›ๆ™‚้–“ใ€‚", + "DeleteRecordedPageview": "ๅˆช้™ค้€™ๅ€‹็ถฒ้ ็€่ฆฝ็ด€้Œ„๏ผˆไธๆœƒ่ฉขๅ•็ขบ่ช๏ผ‰", + "DeleteRecordedSession": "ๅˆช้™ค้€™ๅ€‹่กŒ็‚บ้Œ„่ฃฝ๏ผˆไธๆœƒ่ฉขๅ•็ขบ่ช๏ผ‰", + "DeleteScreenshot": "ๅˆช้™คๆˆชๅœ–", + "DeleteSessionRecordingConfirm": "ไฝ ็ขบๅฎš่ฆๅˆช้™ค้€™ๅ€‹่กŒ็‚บ้Œ„่ฃฝ๏ผŸไน‹ๅ‰็”ข็”Ÿ็š„้Œ„่ฃฝๅฐ‡ไธๅ†้กฏ็คบๆ–ผๅ ฑ่กจ UI ไธญใ€‚", + "DeleteX": "ๅˆช้™ค%s", + "EditHeatmapX": "็ทจ่ผฏ็†ฑๅบฆๅœ– %s", + "EditSessionRecordingX": "็ทจ่ผฏ่กŒ็‚บ้Œ„่ฃฝ %s", + "EditX": "็ทจ่ผฏ%s", + "EndHeatmapConfirm": "ไฝ ็ขบๅฎš่ฆๅœๆญข้€™ๅ€‹็†ฑๅบฆๅœ–ๆ•ๆ‰ๆ–ฐ็š„ๆดปๅ‹•๏ผŸ", + "EndSessionRecordingConfirm": "ไฝ ็ขบๅฎš่ฆๅœๆญข้Œ„่ฃฝๆ–ฐ็š„่กŒ็‚บ๏ผŸ", + "ErrorArrayMissingKey": "้™ฃๅˆ— %2$s ไธญไฝ็ฝฎ %3$s ็š„้ตใ€Œ%1$sใ€้บๅคฑใ€‚", + "ErrorArrayMissingValue": "้™ฃๅˆ— %2$s ไธญไฝ็ฝฎ %3$s ็š„้ตใ€Œ%1$sใ€้บๅคฑๅ€ผใ€‚", + "ErrorHeatmapDoesNotExist": "่ซ‹ๆฑ‚็š„็†ฑๅบฆๅœ–ไธๅญ˜ๅœจ", + "ErrorHeatmapNameDuplicate": "็†ฑๅบฆๅœ–็š„ๅ็จฑๅทฒ็ถ“่ขซไฝฟ็”จใ€‚", + "ErrorInnerIsNotAnArray": "ใ€Œ%2$sใ€ไธญ็š„ๆฏๅ€‹ใ€Œ%1$sใ€ๅฟ…้ ˆๆ˜ฏ้™ฃๅˆ—ใ€‚", + "ErrorInvalidRegExp": "ๆญฃ่ฆ่กจ็คบๅผใ€Œ%1$sใ€ไธๅซๆœ‰ๆ•ˆๆ ผๅผใ€‚", + "ErrorNotAnArray": "ใ€Œ%1$sใ€ๅฟ…้ ˆๆ˜ฏ้™ฃๅˆ—ใ€‚", + "ErrorPageRuleRequired": "่‡ณๅฐ‘้œ€่ฆ่จญๅฎšไธ€ๆข็ถฒ้ ่ฆๅ‰‡ใ€‚", + "ErrorSessionRecordingDoesNotExist": "่ซ‹ๆฑ‚็š„่กŒ็‚บ้Œ„่ฃฝไธๅญ˜ๅœจ", + "ErrorXContainsWhitespace": "ใ€Œ%1$sใ€ไธๅ…่จฑๅŒ…ๅซไปปไฝ•็ฉบๆ ผใ€‚", + "ErrorXNotANumber": "ใ€Œ%1$sใ€ๅฟ…้ ˆๆ˜ฏๆ•ธๅญ—ใ€‚", + "ErrorXNotProvided": "่ซ‹่ผธๅ…ฅใ€Œ%1$sใ€็š„ๅ€ผใ€‚", + "ErrorXNotWhitelisted": "ใ€Œ%1$sใ€็š„ๅ€ผไธ่ขซๅ…่จฑ๏ผŒไฝฟ็”จไปฅไธ‹ๅ…ถไธ€๏ผš%2$sใ€‚", + "ErrorXTooHigh": "ใ€Œ%1$sใ€้Ž้ซ˜๏ผŒๆœ€ๅคงๅ…่จฑๅ€ผ็‚บ %2$sใ€‚", + "ErrorXTooLong": "ใ€Œ%1$sใ€้Ž้•ท๏ผŒๆœ€ๅคšๅ…่จฑ %2$s ๅ€‹ๅญ—ๅ…ƒใ€‚", + "ErrorXTooLow": "ใ€Œ%1$sใ€้ŽไฝŽ๏ผŒๆœ€ๅฐๅ…่จฑๅ€ผ็‚บ %2$sใ€‚", + "ExcludedElements": "ๆŽ’้™คๅ…ƒ็ด ", + "ExcludedElementsHelp": "ไฝ ๅฏไปฅ้ธๅกซๅฎš็พฉ CSS ้ธๆ“‡ๅ™จไพ†ๆŽ’้™คไธ่ฉฒๅœจ็†ฑๅบฆๅœ–้ ่ฆฝๅ‡บ็พ็š„็‰นๅฎšๅ…ƒ็ด ใ€‚ไพ‹ๅฆ‚ไธ€ๅ€‹ๅœจ็ถฒ้ ่ผ‰ๅ…ฅๅฎŒๆˆๆœƒๅ‡บ็พ็š„ๅฝˆ่ทณ่ฆ–็ช—ใ€‚ๅฏไปฅไฝฟ็”จๅŠๅฝข้€—่™Ÿไพ†ๅˆ†้š”ๅคšๅ€‹้ธๆ“‡ๅ™จใ€‚", + "FieldIncludedTargetsHelp": "็›ฎๆจ™่ฎ“ไฝ ๅฎš็พฉ่ฆๅœจๅ“ชไบ›็ถฒ้ ไธญ็ด€้Œ„ไฝฟ็”จ่€…ๆดปๅ‹•ใ€‚ไฝ ๅฏไปฅๅฎš็พฉไธ€ๅ€‹ๆˆ–ๅคšๅ€‹ๆขไปถใ€‚ไพ‹ๅฆ‚๏ผŒไฝ ๅฏไปฅๅฎš็พฉ็•ถ็ถฒๅ€ๆˆ–่ทฏๅพ‘็ญ‰ๆ–ผๆŸๅ€‹็‰นๅฎšๅ€ผ๏ผŒไธฆไธ”ๅชๆœ‰็•ถๅŒ…ๅซ็ถฒๅ€ๆŸๅ€‹ๅƒๆ•ธๆ™‚ๆ‰็ด€้Œ„ๆดปๅ‹•ใ€‚ๆดปๅ‹•ๅชๆœƒๅœจ็ฌฆๅˆๅ…จ้ƒจๆขไปถ๏ผŒ่€Œ้ž็ฌฆๅˆๆŸไธ€ๅ€‹ๆขไปถๆ™‚ๆ‰้–‹ๅง‹็ด€้Œ„ใ€‚ๆ‰€ๆœ‰็š„ๆขไปถ้ƒฝไธๅ€ๅˆ†ๅคงๅฐๅฏซใ€‚็•ถไฝ ้ธๆ“‡ใ€Œ็ฐกๆ˜“็ฌฆๅˆใ€ๆ™‚๏ผŒ็ถฒๅ€็š„ๅ”่ญฐใ€ๆœๅฐ‹ๅƒๆ•ธๅ’Œ็ตๅฐพๆ–œ็ทšๆœƒ่ขซๅฟฝ็•ฅใ€‚", + "FieldIncludedTargetsHelpSessions": "็›ฎๆจ™่ฎ“ไฝ ่จญๅฎšๅชๆœ‰ๅœจ่จชๅฎขๅˆฐ้”ๆŒ‡ๅฎš็ถฒ้ ๆ™‚ๆ‰้–‹ๅง‹้Œ„่ฃฝ่กŒ็‚บใ€‚้€™ๅฏไปฅ่ฎ“ไฝ ็ด€้Œ„ไพ‹ๅฆ‚ๅ‰ๅพ€็ตๅธณๅ‰็š„้Ž็จ‹ใ€‚ไฝ ๅฏไปฅๅฎš็พฉไธ€ๅ€‹ๆˆ–ๅคšๅ€‹ๆขไปถใ€‚ไพ‹ๅฆ‚๏ผŒไฝ ๅฏไปฅๅฎš็พฉ็•ถ็ถฒๅ€ๆˆ–่ทฏๅพ‘็ญ‰ๆ–ผๆŸๅ€‹็‰นๅฎšๅ€ผ๏ผŒไธฆไธ”ๅชๆœ‰็•ถๅŒ…ๅซ็ถฒๅ€ๆŸๅ€‹ๅƒๆ•ธๆ™‚ๆ‰้Œ„่ฃฝ่กŒ็‚บใ€‚่กŒ็‚บๅชๆœƒๅœจ็ฌฆๅˆๅ…จ้ƒจๆขไปถ๏ผŒ่€Œ้ž็ฌฆๅˆๆŸไธ€ๅ€‹ๆขไปถๆ™‚ๆ‰้–‹ๅง‹้Œ„่ฃฝใ€‚ๆ‰€ๆœ‰็š„ๆขไปถ้ƒฝไธๅ€ๅˆ†ๅคงๅฐๅฏซใ€‚็•ถไฝ ้ธๆ“‡ใ€Œ็ฐกๆ˜“็ฌฆๅˆใ€ๆ™‚๏ผŒ็ถฒๅ€็š„ๅ”่ญฐใ€ๆœๅฐ‹ๅƒๆ•ธๅ’Œ็ตๅฐพๆ–œ็ทšๆœƒ่ขซๅฟฝ็•ฅใ€‚", + "FieldNamePlaceholder": "ไพ‹ๅฆ‚ใ€Œ่จปๅ†Š็ถฒ้ ใ€", + "FilesystemDirectory": "่ณ‡ๆ–™ๅคพ", + "Filter": "้Žๆฟพ", + "GettingStarted": "้–‹ๅง‹ไฝฟ็”จ", + "Heatmap": "็†ฑๅบฆๅœ–", + "HeatmapCreated": "ๅทฒๆˆๅŠŸๅปบ็ซ‹ๆ–ฐ็š„็†ฑๅบฆๅœ–ใ€‚", + "HeatmapNameHelp": "ๅฎš็พฉ้€™ๅ€‹็†ฑๅบฆๅœ–็š„ๅ ฑ่กจ่ฆ้กฏ็คบ็š„ๅ็จฑใ€‚", + "HeatmapSampleLimit": "็ถฒ้ ็€่ฆฝๆ•ธ", + "HeatmapSampleLimitHelp": "ๅฎš็พฉไฝ ๆƒณ่ฆ้Œ„่ฃฝ็š„็ถฒ้ ็€่ฆฝ็ธฝ้‡ใ€‚", + "HeatmapSampleRateHelp": "ไนŸ่ขซ็จฑไฝœใ€Œๆต้‡ใ€ใ€‚็•ถไฝ ้ธๆ“‡ 100%%๏ผŒๆ‰€ๆœ‰่จชๅ•ไบ†ๆŒ‡ๅฎš้ ้ข็š„่จชๅฎข้ƒฝๆœƒ่ขซ็ด€้Œ„ใ€‚็•ถไฝ ้ธๆ“‡ 10%%๏ผŒๅชๆœ‰ๆฏ็ฌฌ 10 ๅ€‹่จชๅฎขๆ‰ๆœƒ่ขซ็ด€้Œ„ใ€‚้ธๆ“‡็š„ๆฏ”็އ่ถŠไฝŽ๏ผŒ้”ๅˆฐ้ธๆ“‡็š„ๆŽกๆจฃ็އๆ™‚้–“ๆœƒ่ถŠ้•ทใ€‚", + "HeatmapUpdated": "็†ฑๅบฆๅœ–ๅทฒๆˆๅŠŸๆ›ดๆ–ฐใ€‚", + "HeatmapUsageBenefits": "็†ฑๅบฆๅœ–่ฎ“ไฝ ็ด€้Œ„ไฝ ็š„ไฝฟ็”จ่€…ๅœจ็‰นๅฎš็ถฒ้ ไธญ็š„ๆ‰€ๆœ‰้ปžๆ“Šใ€ๆป‘้ผ ็งปๅ‹•ๅ’Œๆฒๅ‹•็ด€้Œ„ใ€‚้€™ๅฐ‡่ƒฝๅนซๅŠฉไฝ ็Ÿฅ้“ไฝฟ็”จ่€…้ปžๆ“Šไบ†ๅ“ชไบ›ไธ่ƒฝ้ปžๆ“Š็š„ๆฑ่ฅฟใ€็ถฒ้ ไธญๆ˜ฏๅฆๆœ‰ๅนพไนŽไธๆœƒ่ขซๆŸฅ็œ‹ๆˆ–ไบ’ๅ‹•็š„้ƒจๅˆ†ใ€ไฝ ็š„่จชๅฎขๆƒณๅฐ‹ๆ‰พ็š„ๆฑ่ฅฟๅ’Œ็•ถไฝฟ็”จ่€…็€่ฆฝไฝ ็š„็ถฒ้ ๆ™‚่ƒฝ่ฆ‹ๅบฆๆ˜ฏๅคšๅฐ‘็ญ‰็ญ‰ใ€‚", + "HeatmapWidth": "็†ฑๅบฆๅœ–ๅฏฌๅบฆ", + "HeatmapX": "็†ฑๅบฆๅœ– %s", + "HeatmapXRecordedSamplesSince": "่‡ช %2$s ่ตทๅทฒ็ด€้Œ„ไบ† %1$s ๅ€‹ๆจฃๆœฌใ€‚", + "Heatmaps": "็†ฑๅบฆๅœ–", + "Manage": "็ฎก็†", + "ManageHeatmaps": "็ฎก็†็†ฑๅบฆๅœ–", + "ManageSessionRecordings": "็ฎก็†่กŒ็‚บ้Œ„่ฃฝ", + "MinSessionTime": "ๆœ€ไฝŽ่กŒ็‚บๆ™‚้–“", + "MinSessionTimeHelp": "ๅชๆœ‰ๅœจ่จชๅฎข่‡ณๅฐ‘ๅœจ็ถฒ้ ไธญๅœ็•™ไบ†ๆŒ‡ๅฎšๆ™‚้–“ๆ‰ๆœƒ้–‹ๅง‹็ด€้Œ„่กŒ็‚บใ€‚", + "NHeatmaps": "%s ๅ€‹็†ฑๅบฆๅœ–", + "NSessionRecordings": "%s ๅ€‹่กŒ็‚บ้Œ„่ฃฝ", + "NoHeatmapSamplesRecordedYet": "้€™ๅ€‹็†ฑๅบฆๅœ–้‚„ๆฒ’ๆœ‰็ด€้Œ„ๅˆฐไปปไฝ•็ถฒ้ ็€่ฆฝใ€‚ๅฆ‚ๆžœ็พๅœจๆ‡‰่ฉฒ่ฆๆœ‰็ด€้Œ„ๅˆฐๆฑ่ฅฟ๏ผŒๅฏ่ƒฝๆ˜ฏ้€™ๅ€‹็†ฑๅบฆๅœ–็š„็ถฒ้ ็›ฎๆจ™่จญๅฎšไธ็ฌฆๅˆไฝ ็ถฒ็ซ™ไธญ็š„ไปปไฝ•้ ้ขใ€‚ๅปบ่ญฐ็ขบ่ชใ€Œ็ฎก็†ไธญๅฟƒใ€๏ผˆๅƒ…้™่ถ…็ดšไฝฟ็”จ่€…๏ผ‰ๅ…ง็š„ใ€Œ็ณป็ตฑๆชขๆŸฅใ€ไพ†ๆŸฅ็œ‹ไฝ ็š„็ณป็ตฑๆ˜ฏๅฆๅทฒ่จญๅฎš่‡ชๅ‹•่ฟฝ่นค็†ฑๅบฆๅœ–ใ€‚", + "NoHeatmapScreenshotRecordedYet": "่‡ณ็›ฎๅ‰็‚บๆญขๅทฒ็ถ“้Œ„่ฃฝไบ† %1$s ๅ€‹ๆจฃๆœฌใ€‚็„ถ่€Œ๏ผŒ้‚„ๆฒ’ๆœ‰ๆ“ทๅ–ไปปไฝ•ๆˆชๅœ–ใ€‚ๅฆ‚ๆžœ้€™ๅ€‹็†ฑๅบฆๅœ–ๆœ‰ใ€Œ%2$sใ€๏ผŒๅฏ่ƒฝๆœƒๅœจ็ฌฌไธ€ๅ€‹ไฝฟ็”จ่€…้ฆ–ๆฌก้–‹ๅ•ŸๅพŒไธ€ๆฎตๆ™‚้–“ๆ‰่ƒฝ้กฏ็คบใ€‚ๆ นๆ“šๆŽกๆจฃ็އๅฏ่ƒฝๆœƒ่ŠฑไธŠไธ€ไบ›ๆ™‚้–“ใ€‚", + "NoHeatmapsConfiguredInfo": "็›ฎๅ‰ๆฒ’ๆœ‰ๅ•Ÿ็”จไธญ็š„็†ฑๅบฆๅœ–ใ€‚่ฆๆŸฅ็œ‹็†ฑๅบฆๅœ–๏ผŒ่ซ‹ๅ‘ๆฌŠ้™็ฎก็†ๅ“กไปฅไธŠ็š„ไฝฟ็”จ่€…่ฆๆฑ‚ๅปบ็ซ‹ไธ€ๅ€‹ๆ–ฐ็š„็†ฑๅบฆๅœ–ใ€‚", + "NoHeatmapsFound": "ๆ‰พไธๅˆฐ็†ฑๅบฆๅœ–", + "NoSessionRecordedYet": "้‚„ๆฒ’ๆœ‰้Œ„่ฃฝๅˆฐไปปไฝ•่กŒ็‚บใ€‚ๅฆ‚ๆžœ็พๅœจๆ‡‰่ฉฒ่ฆๆœ‰้Œ„่ฃฝๅˆฐๆฑ่ฅฟ๏ผŒๅฏ่ƒฝๆ˜ฏๅˆฐ้”็ถฒ้ ็š„่จญๅฎšไธ็ฌฆๅˆไฝ ็ถฒ็ซ™ไธญ็š„ไปปไฝ•้ ้ขใ€‚ๅปบ่ญฐ็ขบ่ชใ€Œ็ฎก็†ไธญๅฟƒใ€๏ผˆๅƒ…้™่ถ…็ดšไฝฟ็”จ่€…๏ผ‰ๅ…ง็š„ใ€Œ็ณป็ตฑๆชขๆŸฅใ€ไพ†ๆŸฅ็œ‹ไฝ ็š„็ณป็ตฑๆ˜ฏๅฆๅทฒ่จญๅฎš่‡ชๅ‹•้Œ„่ฃฝ่กŒ็‚บใ€‚", + "NoSessionRecordingsConfiguredInfo": "็›ฎๅ‰ๆฒ’ๆœ‰ๅ•Ÿ็”จไธญ็š„่กŒ็‚บ้Œ„่ฃฝใ€‚่ฆ้Œ„่ฃฝๆ–ฐ็š„่กŒ็‚บ๏ผŒ่ซ‹ๅ‘ๆฌŠ้™็ฎก็†ๅ“กไปฅไธŠ็š„ไฝฟ็”จ่€…่ฆๆฑ‚ๅปบ็ซ‹ไธ€ๅ€‹ๆ–ฐ็š„่กŒ็‚บ้Œ„่ฃฝใ€‚", + "NoSessionRecordingsFound": "ๆ‰พไธๅˆฐ่กŒ็‚บ้Œ„่ฃฝ", + "NotSupportedBrowser": "ไธๆ”ฏๆด้€™ๅ€‹็€่ฆฝๅ™จ๏ผŒ่ซ‹ไฝฟ็”จ่ผƒๆ–ฐ็š„็‰ˆๆœฌๆˆ–ๅธธๆ˜ฏๅ…ถไป–็€่ฆฝๅ™จใ€‚", + "OnePageview": "1 ๅ€‹็€่ฆฝๆ•ธ", + "PageRule": "็ถฒ้ ่ฆๅ‰‡", + "PageviewXofY": "็€่ฆฝ้ ้ข %1$s / %2$s", + "PageviewsInVisit": "้€™ๆฎต้Œ„่ฃฝ่กŒ็‚บๅ…ง็ด€้Œ„ๅˆฐ็š„็ถฒ้ ", + "PersonalInformationNote": "่ซ‹ๆณจๆ„%1$sๅฏ่ƒฝ็ด€้Œ„ๅˆฐๅ€‹ไบบๆˆ–ๆ•ๆ„Ÿ่ณ‡่จŠใ€‚ๅฆ‚ๆžœไฝ ๆƒณ่ฆ้šฑ่—็ถฒ็ซ™ๆˆ–ๆ‡‰็”จ็จ‹ๅผไธญ็‰นๅฎš็š„ๅ…งๅฎน๏ผŒไฝ ๅฏไปฅๅœจ้€™ๅ€‹ๅ…งๅฎน็š„ HTML ๆจ™็ฑคไธŠๅŠ ๅ…ฅ %2$sdata-matomo-mask%3$s ๅฑฌๆ€งใ€‚%4$sไบ†่งฃๆ›ดๅคš%5$s", + "PlayRecordedSession": "ๆ’ญๆ”พๆญค้Œ„่ฃฝ็š„่กŒ็‚บ", + "PlayerDurationXofY": "%1$s / %2$s", + "PlayerForwardFast": "ๅฟซ่ฝ‰ %1$s ็ง’๏ผˆๅฟซๆท้ต %2$s๏ผ‰", + "PlayerPageViewNext": "ๆ’ญๆ”พๆญค่จชๅฎขไธ‹ไธ€ๅ€‹็€่ฆฝ็š„้ ้ข๏ผˆ%1$s๏ผ‰๏ผˆๅฟซๆท้ต %2$s๏ผ‰", + "PlayerPageViewPrevious": "ๆ’ญๆ”พๆญค่จชๅฎขไธŠไธ€ๅ€‹็€่ฆฝ็š„้ ้ข๏ผˆ%1$s๏ผ‰๏ผˆๅฟซๆท้ต %2$s๏ผ‰", + "PlayerPause": "ๆšซๅœ๏ผˆๅฟซๆท้ต %s ๆˆ–็ฉบ็™ฝ้ต๏ผ‰", + "PlayerPlay": "ๆ’ญๆ”พ๏ผˆๅฟซๆท้ต %s ๆˆ–็ฉบ็™ฝ้ต๏ผ‰", + "PlayerReplay": "้‡ๆ’ญ๏ผˆๅฟซๆท้ต %s ๆˆ–็ฉบ็™ฝ้ต๏ผ‰", + "PlayerRewindFast": "ๅ€’ๅธถ %1$s ็ง’๏ผˆๅฟซๆท้ต %2$s๏ผ‰", + "RecordedHeatmapDocStatusActive": "้€™ๅ€‹็†ฑๅบฆๅœ–ๅทฒๅ•Ÿ็”จใ€‚ๆœ€ๅคšๆœƒ้Œ„่ฃฝ %1$d ๅ€‹็€่ฆฝๆ•ธไธญ็š„ %2$sใ€‚", + "RecordedHeatmapDocStatusEnded": "้€™ๅ€‹็†ฑๅบฆๅœ–ๅทฒ็ตๆŸ๏ผŒๅ› ๆญคไธๆœƒๅ†็ด€้Œ„ๆ–ฐ็š„ๆดปๅ‹•ใ€‚", + "RecordedSessions": "ๅทฒ้Œ„่ฃฝ็š„่กŒ็‚บ", + "RecordedSessionsDocStatusActive": "้€™ๅ€‹่กŒ็‚บ้Œ„่ฃฝๅทฒๅ•Ÿ็”จใ€‚ๆœ€ๅคšๆœƒ้Œ„่ฃฝ %1$d ๅ€‹่กŒ็‚บไธญ็š„ %2$sใ€‚", + "RecordedSessionsDocStatusEnded": "้€™ๅ€‹่กŒ็‚บ้Œ„่ฃฝๅทฒ็ตๆŸ๏ผŒๅ› ๆญคไธๆœƒๅ†็ด€้Œ„ๆ–ฐ็š„่กŒ็‚บใ€‚", + "Recordings": "่กŒ็‚บ้Œ„่ฃฝ", + "ReplayRecordedSession": "้‡ๆ’ญ้Œ„่ฃฝ็š„่กŒ็‚บ", + "ReplayX": "้‡ๆ’ญ %s", + "ReportRecordedSessionsDocumentation": "ๅทฒ้Œ„่ฃฝ่กŒ็‚บ็š„ๅˆ—่กจใ€‚ไฝ ๅฏไปฅ้‡ๆ’ญไปปไฝ•้Œ„่ฃฝ็š„่กŒ็‚บใ€‚", + "RequiresActivity": "้œ€่ฆๆดปๅ‹•", + "RequiresActivityHelp": "่‹ฅๅ•Ÿ็”จ๏ผŒๅชๆœ‰ๅœจๅŒ…ๅซๆฒๅ‹•ๆˆ–้ปžๆ“Šๆดปๅ‹•็š„็€่ฆฝๆœƒ่ขซ้Œ„่ฃฝ่กŒ็‚บใ€‚้€™ๅฐ‡้ ้˜ฒ้Œ„่ฃฝๅˆฐๆฒ’ๆœ‰ๅคชๅคšๆดปๅ‹•็š„่กŒ็‚บใ€‚", + "Rule": "่ฆๅ‰‡", + "SampleLimit": "ๆŽกๆจฃ้™ๅˆถ", + "SampleRate": "ๅ–ๆจฃ็އ", + "ScreenshotUrl": "ๆˆชๅœ–็ถฒๅ€", + "ScreenshotUrlHelp": "้ ่จญ็‹€ๆ…‹ไธ‹๏ผŒ็•ถ่จชๅฎข้ฆ–ๆฌก่จชๅ•็›ฎๆจ™็ถฒ้ ๆ™‚ๆœƒๆ‹ๆ”็ถฒ้ ๆˆชๅœ–ใ€‚ๅฆ‚ๆžœๆœ‰็ฌฆๅˆไฝ ็š„็›ฎๆจ™็ถฒ้ ็š„ไธๅŒ็ถฒๅ€๏ผŒไฝ ๅฏไปฅๆŒ‡ๅฎš่ฆ็”จไพ†ๆ“ทๅ–ๆˆชๅœ–็š„็ถฒๅ€ใ€‚ๅฏ่ฆ–ๅŒ–็†ฑๅบฆๅœ–ๅชๆœ‰ๅœจ็•ถ่‡ณๅฐ‘ๆœ‰ไธ€ๅ€‹่จชๅฎข่จชๅ•ไบ†้€™ๅ€‹็ถฒๅ€ไธฆไธ”็ด€้Œ„ไบ†ๆดปๅ‹•ๆ‰ๅฏ็”จใ€‚ๅฆ‚ๆžœ่ผธๅ…ฅไบ†๏ผŒ็ถฒๅ€ๅฟ…้ ˆๅฎŒๅ…จ็›ธ็ฌฆใ€‚่‹ฅ่ฆๅฟฝ็•ฅๅ”่ญฐ๏ผŒๅฐ‡็ถฒๅ€ไปฅ้›™ๆ–œ็ทš้–‹้ ญ๏ผˆ//example.com๏ผ‰ใ€‚่ซ‹ๆณจๆ„็•ถๆˆชๅœ–ๅทฒๆ“ทๅ–ๅพŒ๏ผŒ้€™ๅ€‹็ถฒๅ€ๅฐฑ็„กๆณ•่ฎŠๆ›ดใ€‚", + "SessionNameHelp": "ๅฎš็พฉ้€™ๅ€‹่กŒ็‚บ้Œ„่ฃฝ่ฆ้กฏ็คบ็š„ๅ็จฑใ€‚", + "SessionRecording": "่กŒ็‚บ้Œ„่ฃฝ", + "SessionRecordingCreated": "ๅทฒๆˆๅŠŸๅปบ็ซ‹ๆ–ฐ็š„่กŒ็‚บ้Œ„่ฃฝใ€‚", + "SessionRecordingUpdated": "่กŒ็‚บ้Œ„่ฃฝๅทฒๆˆๅŠŸๆ›ดๆ–ฐใ€‚", + "SessionRecordingX": "่กŒ็‚บ้Œ„่ฃฝ %s", + "SessionRecordings": "่กŒ็‚บ้Œ„่ฃฝ", + "SessionRecordingsUsageBenefits": "่กŒ็‚บ้Œ„่ฃฝ่ฎ“ไฝ ่ƒฝ็ด€้Œ„ไธ€ๅ€‹็œŸๅฏฆ็š„่จชๅฎขๅœจ่จชๅ•้Ž็จ‹ไธญ็š„ๆ‰€ๆœ‰ๆดปๅ‹•๏ผŒๅฆ‚้ปžๆ“Šใ€ๆป‘้ผ ็งปๅ‹•ใ€ๆฒๅ‹•ใ€่ฆ–็ช—็ธฎๆ”พใ€็ถฒ้ ่ฎŠๆ›ดๅ’Œ่กจๅ–ฎไบ’ๅ‹•ใ€‚ๆŽฅ่‘—ไฝ ๅฏไปฅ้‡ๆ’ญ้€™ไบ›ไบ’ๅ‹•ๅ…งๅฎนไพ†่ง€ๅฏŸ่จชๅฎขๆ˜ฏๆ€Ž้บผๅ’Œไฝ ็š„็ถฒ็ซ™ไบ’ๅ‹•็š„ใ€‚้€™ๅฐ‡่ฎ“ไฝ ไบ†่งฃไป–ๅ€‘็š„ๆœŸๆœ›ใ€ๅฏ่ƒฝ้‡ๅˆฐ็š„ๅ•้กŒๅ’Œไฝฟ็”จๆจกๅผ็ญ‰็ญ‰ใ€‚", + "SessionSampleLimit": "่กŒ็‚บๆ•ธ้‡", + "SessionSampleLimitHelp": "ๅฎš็พฉไฝ ๆƒณ่ฆ้Œ„่ฃฝ็š„่กŒ็‚บ็ธฝ้‡ใ€‚", + "SessionSampleRateHelp": "ไนŸ่ขซ็จฑไฝœใ€Œๆต้‡ใ€ใ€‚็•ถไฝ ้ธๆ“‡ 100%%๏ผŒๆ‰€ๆœ‰่จชๅ•ไบ†็›ฎๆจ™็ถฒ้ ็š„่กŒ็‚บ้ƒฝๆœƒ่ขซ้Œ„่ฃฝใ€‚็•ถไฝ ้ธๆ“‡ 10%%๏ผŒๅชๆœ‰ๆฏ็ฌฌ 10 ๅ€‹่จชๅฎขๆ‰ๆœƒ่ขซ็ด€้Œ„ใ€‚้ธๆ“‡็š„ๆฏ”็އ่ถŠไฝŽ๏ผŒ้”ๅˆฐ้ธๆ“‡็š„ๆŽกๆจฃ็އๆ™‚้–“ๆœƒ่ถŠ้•ทใ€‚", + "StatusActive": "ๅ•Ÿ็”จไธญ", + "StatusEnded": "ๅทฒ็ตๆŸ", + "StopX": "ๅœๆญข้€™ๅ€‹%s็นผ็บŒ็ด€้Œ„ๆ–ฐ็š„ๆดปๅ‹•ใ€‚", + "TargetAttributePath": "่ทฏๅพ‘", + "TargetAttributeUrl": "็ถฒๅ€", + "TargetAttributeUrlParameter": "็ถฒๅ€ๅƒๆ•ธ", + "TargetAttributeUrlParameterExample": "nameOfUrlParameter", + "TargetPage": "็›ฎๆจ™็ถฒ้ ", + "TargetPageTestErrorInvalidUrl": "่ผธๅ…ฅๅŒ…ๅซๅ”่ญฐ็š„็ถฒๅ€ใ€‚", + "TargetPageTestLabel": "่ผธๅ…ฅๅŒ…ๅซๅ”่ญฐ็š„ๅฎŒๆ•ด็ถฒๅ€ไพ†ๆชขๆŸฅๆดปๅ‹•ๆ˜ฏๅฆๆœƒๅœจ้€™ๅ€‹็ถฒๅ€ไธŠ้€ฒ่กŒ็ด€้Œ„๏ผš", + "TargetPageTestTitle": "็ถฒๅ€้ฉ—่ญ‰ๅ™จ", + "TargetPageTestUrlMatches": "้€™ๅ€‹็ถฒๅ€ไธŠ็š„ๆดปๅ‹•ๆœƒ่ขซ็ด€้Œ„", + "TargetPageTestUrlNotMatches": "้€™ๅ€‹็ถฒๅ€ไธŠ็š„ๆดปๅ‹•ไธๆœƒ่ขซ็ด€้Œ„", + "TargetPages": "ๅˆฐ้”็ถฒ้ ", + "TargetTypeContains": "ๅŒ…ๅซ", + "TargetTypeEqualsExactly": "ๅฎŒๅ…จ็›ธ็ฌฆ", + "TargetTypeEqualsExactlyInfo": "ๅ€ผๅฟ…้ ˆๅฎŒๅ…จ็›ธ็ฌฆ๏ผŒๅŒ…ๅซ็ถฒๅ€ๅ”่ญฐใ€ๆœๅฐ‹ๅƒๆ•ธๅ’Œ hashใ€‚", + "TargetTypeEqualsSimple": "็ฐกๆ˜“็›ธ็ฌฆ", + "TargetTypeEqualsSimpleInfo": "้€™ๅ€‹็ถฒๅ€ๅฐ‡็ฌฆๅˆไปปไฝ•ๅ”่ญฐ๏ผˆไพ‹ๅฆ‚ http ๅ’Œ https๏ผ‰ไธฆๅฟฝ็•ฅๆ˜ฏๅฆๅŒ…ๅซใ€Œwww.ใ€ๅญๅŸŸๅใ€‚็ถฒๅ€่ทฏๅพ‘ๅ…งไปปไฝ•็ตๅฐพๆ–œ็ทšๅ’Œๆœๅฐ‹ๅƒๆ•ธไปฅๅŠ hash ้ƒจๅˆ†้ƒฝๆœƒ่ขซๅฟฝ็•ฅใ€‚", + "TargetTypeExists": "ๅญ˜ๅœจ", + "TargetTypeIsAny": "ไปปไฝ•", + "TargetTypeIsNot": "ไธ%s", + "TargetTypeRegExp": "็ฌฆๅˆๆญฃ่ฆ่กจ็คบๅผ", + "TargetTypeRegExpInfo": "ไปปไฝ•ๆญฃ่ฆ่กจ็คบๅผ๏ผŒไพ‹ๅฆ‚ใ€Œ^(.*)test(.*)$ใ€ใ€‚", + "TargetTypeStartsWith": "้–‹ๅง‹ๆ–ผ", + "TimeOnSite": "ๅœ็•™ๆ™‚้–“", + "UpdatingData": "ๆ•ธๆ“šๆ›ดๆ–ฐไธญโ€ฆ", + "UrlParameterValueToMatchPlaceholder": "็ฌฆๅˆ็ถฒๅ€ๅƒๆ•ธๅ็จฑ็š„ๅ€ผ", + "UrlXDoesNotLookLikeUrl": "%s ็œ‹่ตทไพ†ไธๅƒ็ถฒๅ€ใ€‚่ซ‹็ขบๅฎšๅฎƒๅŒ…ๅซไบ†ๅ”่ญฐๅฆ‚ http:// ๆˆ–่ตทๅง‹ๆ–ผ //", + "ViewReport": "ๆŸฅ็œ‹ๅ ฑ่กจ", + "ViewportResolution": "ๅฏ่ฆ‹ๅ€ๅŸŸ่งฃๆžๅบฆ๏ผˆๅฏฌ x ้ซ˜๏ผ‰", + "XSamples": "%s ๅ€‹ๆจฃๆœฌ", + "disable": "ๅœ็”จ", + "enable": "ๅ•Ÿ็”จ" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/MutationObserver.js b/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/MutationObserver.js new file mode 100644 index 0000000..2393f42 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/MutationObserver.js @@ -0,0 +1,624 @@ +/*! + * Shim for MutationObserver interface + * Author: Graeme Yeates (github.com/megawac) + * Repository: https://github.com/megawac/MutationObserver.js + * License: WTFPL V2, 2004 (wtfpl.net). + * Though credit and staring the repo will make me feel pretty, you can modify and redistribute as you please. + * Attempts to follow spec (https://www.w3.org/TR/dom/#mutation-observers) as closely as possible for native javascript + * See https://github.com/WebKit/webkit/blob/master/Source/WebCore/dom/MutationObserver.cpp for current webkit source c++ implementation + */ + +/** + * prefix bugs: + - https://bugs.webkit.org/show_bug.cgi?id=85161 + - https://bugzilla.mozilla.org/show_bug.cgi?id=749920 + * Don't use WebKitMutationObserver as Safari (6.0.5-6.1) use a buggy implementation +*/ + +/* + * Modified by InnoCraft to also fallback to WebKitMutationObserver and MozMutationObserver + */ +window.MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver || (function(undefined) { + "use strict"; + /** + * @param {function(Array., MutationObserver)} listener + * @constructor + */ + function MutationObserver(listener) { + /** + * @type {Array.} + * @private + */ + this._watched = []; + /** @private */ + this._listener = listener; + } + + /** + * Start a recursive timeout function to check all items being observed for mutations + * @type {MutationObserver} observer + * @private + */ + function startMutationChecker(observer) { + (function check() { + var mutations = observer.takeRecords(); + + if (mutations.length) { // fire away + // calling the listener with context is not spec but currently consistent with FF and WebKit + observer._listener(mutations, observer); + } + /** @private */ + observer._timeout = setTimeout(check, MutationObserver._period); + })(); + } + + /** + * Period to check for mutations (~32 times/sec) + * @type {number} + * @expose + */ + MutationObserver._period = 30 /*ms+runtime*/ ; + + /** + * Exposed API + * @expose + * @final + */ + MutationObserver.prototype = { + /** + * see https://dom.spec.whatwg.org/#dom-mutationobserver-observe + * not going to throw here but going to follow the current spec config sets + * @param {Node|null} $target + * @param {Object|null} config : MutationObserverInit configuration dictionary + * @expose + * @return undefined + */ + observe: function($target, config) { + /** + * Using slightly different names so closure can go ham + * @type {!Object} : A custom mutation config + */ + var settings = { + attr: !! (config.attributes || config.attributeFilter || config.attributeOldValue), + + // some browsers enforce that subtree must be set with childList, attributes or characterData. + // We don't care as spec doesn't specify this rule. + kids: !! config.childList, + descendents: !! config.subtree, + charData: !! (config.characterData || config.characterDataOldValue) + }; + + var watched = this._watched; + + // remove already observed target element from pool + for (var i = 0; i < watched.length; i++) { + if (watched[i].tar === $target) watched.splice(i, 1); + } + + if (config.attributeFilter) { + /** + * converts to a {key: true} dict for faster lookup + * @type {Object.} + */ + settings.afilter = reduce(config.attributeFilter, function(a, b) { + a[b] = true; + return a; + }, {}); + } + + watched.push({ + tar: $target, + fn: createMutationSearcher($target, settings) + }); + + // reconnect if not connected + if (!this._timeout) { + startMutationChecker(this); + } + }, + + /** + * Finds mutations since last check and empties the "record queue" i.e. mutations will only be found once + * @expose + * @return {Array.} + */ + takeRecords: function() { + var mutations = []; + var watched = this._watched; + + for (var i = 0; i < watched.length; i++) { + watched[i].fn(mutations); + } + + return mutations; + }, + + /** + * @expose + * @return undefined + */ + disconnect: function() { + this._watched = []; // clear the stuff being observed + clearTimeout(this._timeout); // ready for garbage collection + /** @private */ + this._timeout = null; + } + }; + + /** + * Simple MutationRecord pseudoclass. No longer exposing as its not fully compliant + * @param {Object} data + * @return {Object} a MutationRecord + */ + function MutationRecord(data) { + var settings = { // technically these should be on proto so hasOwnProperty will return false for non explicitly props + type: null, + target: null, + addedNodes: [], + removedNodes: [], + previousSibling: null, + nextSibling: null, + attributeName: null, + attributeNamespace: null, + oldValue: null + }; + for (var prop in data) { + if (has(settings, prop) && data[prop] !== undefined) settings[prop] = data[prop]; + } + return settings; + } + + /** + * Creates a func to find all the mutations + * + * @param {Node} $target + * @param {!Object} config : A custom mutation config + */ + function createMutationSearcher($target, config) { + /** type {Elestuct} */ + var $oldstate = clone($target, config); // create the cloned datastructure + + /** + * consumes array of mutations we can push to + * + * @param {Array.} mutations + */ + return function(mutations) { + var olen = mutations.length, dirty; + + if (config.charData && $target.nodeType === 3 && $target.nodeValue !== $oldstate.charData) { + mutations.push(new MutationRecord({ + type: "characterData", + target: $target, + oldValue: $oldstate.charData + })); + } + + // Alright we check base level changes in attributes... easy + if (config.attr && $oldstate.attr) { + findAttributeMutations(mutations, $target, $oldstate.attr, config.afilter); + } + + // check childlist or subtree for mutations + if (config.kids || config.descendents) { + dirty = searchSubtree(mutations, $target, $oldstate, config); + } + + // reclone data structure if theres changes + if (dirty || mutations.length !== olen) { + /** type {Elestuct} */ + $oldstate = clone($target, config); + } + }; + } + + /* attributes + attributeFilter helpers */ + + // Check if the environment has the attribute bug (#4) which cause + // element.attributes.style to always be null. + var hasAttributeBug = document.createElement("i"); + hasAttributeBug.style.top = 0; + hasAttributeBug = hasAttributeBug.attributes.style.value != "null"; + + /** + * Gets an attribute value in an environment without attribute bug + * + * @param {Node} el + * @param {Attr} attr + * @return {String} an attribute value + */ + function getAttributeSimple(el, attr) { + // There is a potential for a warning to occur here if the attribute is a + // custom attribute in IE<9 with a custom .toString() method. This is + // just a warning and doesn't affect execution (see #21) + return attr.value; + } + + /** + * Gets an attribute value with special hack for style attribute (see #4) + * + * @param {Node} el + * @param {Attr} attr + * @return {String} an attribute value + */ + function getAttributeWithStyleHack(el, attr) { + // As with getAttributeSimple there is a potential warning for custom attribtues in IE7. + return attr.name !== "style" ? attr.value : el.style.cssText; + } + + var getAttributeValue = hasAttributeBug ? getAttributeSimple : getAttributeWithStyleHack; + + /** + * fast helper to check to see if attributes object of an element has changed + * doesnt handle the textnode case + * + * @param {Array.} mutations + * @param {Node} $target + * @param {Object.} $oldstate : Custom attribute clone data structure from clone + * @param {Object} filter + */ + function findAttributeMutations(mutations, $target, $oldstate, filter) { + var checked = {}; + var attributes = $target.attributes; + var attr; + var name; + var i = attributes.length; + while (i--) { + attr = attributes[i]; + name = attr.name; + if (!filter || has(filter, name)) { + if (getAttributeValue($target, attr) !== $oldstate[name]) { + // The pushing is redundant but gzips very nicely + mutations.push(MutationRecord({ + type: "attributes", + target: $target, + attributeName: name, + oldValue: $oldstate[name], + attributeNamespace: attr.namespaceURI // in ie<8 it incorrectly will return undefined + })); + } + checked[name] = true; + } + } + for (name in $oldstate) { + if (!(checked[name])) { + mutations.push(MutationRecord({ + target: $target, + type: "attributes", + attributeName: name, + oldValue: $oldstate[name] + })); + } + } + } + + /** + * searchSubtree: array of mutations so far, element, element clone, bool + * synchronous dfs comparision of two nodes + * This function is applied to any observed element with childList or subtree specified + * Sorry this is kind of confusing as shit, tried to comment it a bit... + * codereview.stackexchange.com/questions/38351 discussion of an earlier version of this func + * + * @param {Array} mutations + * @param {Node} $target + * @param {!Object} $oldstate : A custom cloned node from clone() + * @param {!Object} config : A custom mutation config + */ + function searchSubtree(mutations, $target, $oldstate, config) { + // Track if the tree is dirty and has to be recomputed (#14). + var dirty; + /* + * Helper to identify node rearrangment and stuff... + * There is no gaurentee that the same node will be identified for both added and removed nodes + * if the positions have been shuffled. + * conflicts array will be emptied by end of operation + */ + function resolveConflicts(conflicts, node, $kids, $oldkids, numAddedNodes) { + // the distance between the first conflicting node and the last + var distance = conflicts.length - 1; + // prevents same conflict being resolved twice consider when two nodes switch places. + // only one should be given a mutation event (note -~ is used as a math.ceil shorthand) + var counter = -~((distance - numAddedNodes) / 2); + var $cur; + var oldstruct; + var conflict; + while ((conflict = conflicts.pop())) { + $cur = $kids[conflict.i]; + oldstruct = $oldkids[conflict.j]; + + // attempt to determine if there was node rearrangement... won't gaurentee all matches + // also handles case where added/removed nodes cause nodes to be identified as conflicts + if (config.kids && counter && Math.abs(conflict.i - conflict.j) >= distance) { + mutations.push(MutationRecord({ + type: "childList", + target: node, + addedNodes: [$cur], + removedNodes: [$cur], + // haha don't rely on this please + nextSibling: $cur.nextSibling, + previousSibling: $cur.previousSibling + })); + counter--; // found conflict + } + + // Alright we found the resorted nodes now check for other types of mutations + if (config.attr && oldstruct.attr) findAttributeMutations(mutations, $cur, oldstruct.attr, config.afilter); + if (config.charData && $cur.nodeType === 3 && $cur.nodeValue !== oldstruct.charData) { + mutations.push(MutationRecord({ + type: "characterData", + target: $cur, + oldValue: oldstruct.charData + })); + } + // now look @ subtree + if (config.descendents) findMutations($cur, oldstruct); + } + } + + /** + * Main worker. Finds and adds mutations if there are any + * @param {Node} node + * @param {!Object} old : A cloned data structure using internal clone + */ + function findMutations(node, old) { + var $kids = node.childNodes; + var $oldkids = old.kids; + var klen = $kids.length; + // $oldkids will be undefined for text and comment nodes + var olen = $oldkids ? $oldkids.length : 0; + // if (!olen && !klen) return; // both empty; clearly no changes + + // we delay the intialization of these for marginal performance in the expected case (actually quite signficant on large subtrees when these would be otherwise unused) + // map of checked element of ids to prevent registering the same conflict twice + var map; + // array of potential conflicts (ie nodes that may have been re arranged) + var conflicts; + var id; // element id from getElementId helper + var idx; // index of a moved or inserted element + + var oldstruct; + // current and old nodes + var $cur; + var $old; + // track the number of added nodes so we can resolve conflicts more accurately + var numAddedNodes = 0; + + // iterate over both old and current child nodes at the same time + var i = 0, j = 0; + // while there is still anything left in $kids or $oldkids (same as i < $kids.length || j < $oldkids.length;) + while( i < klen || j < olen ) { + // current and old nodes at the indexs + $cur = $kids[i]; + oldstruct = $oldkids[j]; + $old = oldstruct && oldstruct.node; + + if ($cur === $old) { // expected case - optimized for this case + // check attributes as specified by config + if (config.attr && oldstruct.attr) /* oldstruct.attr instead of textnode check */findAttributeMutations(mutations, $cur, oldstruct.attr, config.afilter); + // check character data if node is a comment or textNode and it's being observed + if (config.charData && oldstruct.charData !== undefined && $cur.nodeValue !== oldstruct.charData) { + mutations.push(MutationRecord({ + type: "characterData", + target: $cur, + oldValue: oldstruct.charData + })); + } + + // resolve conflicts; it will be undefined if there are no conflicts - otherwise an array + if (conflicts) resolveConflicts(conflicts, node, $kids, $oldkids, numAddedNodes); + + // recurse on next level of children. Avoids the recursive call when there are no children left to iterate + if (config.descendents && ($cur.childNodes.length || oldstruct.kids && oldstruct.kids.length)) findMutations($cur, oldstruct); + + i++; + j++; + } else { // (uncommon case) lookahead until they are the same again or the end of children + dirty = true; + if (!map) { // delayed initalization (big perf benefit) + map = {}; + conflicts = []; + } + if ($cur) { + // check id is in the location map otherwise do a indexOf search + if (!(map[id = getElementId($cur)])) { // to prevent double checking + // mark id as found + map[id] = true; + // custom indexOf using comparitor checking oldkids[i].node === $cur + if ((idx = indexOfCustomNode($oldkids, $cur, j)) === -1) { + if (config.kids) { + mutations.push(MutationRecord({ + type: "childList", + target: node, + addedNodes: [$cur], // $cur is a new node + nextSibling: $cur.nextSibling, + previousSibling: $cur.previousSibling + })); + numAddedNodes++; + } + } else { + conflicts.push({ // add conflict + i: i, + j: idx + }); + } + } + i++; + } + + if ($old && + // special case: the changes may have been resolved: i and j appear congurent so we can continue using the expected case + $old !== $kids[i] + ) { + if (!(map[id = getElementId($old)])) { + map[id] = true; + if ((idx = indexOf($kids, $old, i)) === -1) { + if (config.kids) { + mutations.push(MutationRecord({ + type: "childList", + target: old.node, + removedNodes: [$old], + nextSibling: $oldkids[j + 1], // praise no indexoutofbounds exception + previousSibling: $oldkids[j - 1] + })); + numAddedNodes--; + } + } else { + conflicts.push({ + i: idx, + j: j + }); + } + } + j++; + } + }// end uncommon case + }// end loop + + // resolve any remaining conflicts + if (conflicts) resolveConflicts(conflicts, node, $kids, $oldkids, numAddedNodes); + } + findMutations($target, $oldstate); + return dirty; + } + + /** + * Utility + * Cones a element into a custom data structure designed for comparision. https://gist.github.com/megawac/8201012 + * + * @param {Node} $target + * @param {!Object} config : A custom mutation config + * @return {!Object} : Cloned data structure + */ + function clone($target, config) { + var recurse = true; // set true so childList we'll always check the first level + return (function copy($target) { + var elestruct = { + /** @type {Node} */ + node: $target + }; + + // Store current character data of target text or comment node if the config requests + // those properties to be observed. + if (config.charData && ($target.nodeType === 3 || $target.nodeType === 8)) { + elestruct.charData = $target.nodeValue; + } + // its either a element, comment, doc frag or document node + else { + // Add attr only if subtree is specified or top level and avoid if + // attributes is a document object (#13). + if (config.attr && recurse && $target.nodeType === 1) { + /** + * clone live attribute list to an object structure {name: val} + * @type {Object.} + */ + elestruct.attr = reduce($target.attributes, function(memo, attr) { + if (!config.afilter || config.afilter[attr.name]) { + memo[attr.name] = getAttributeValue($target, attr); + } + return memo; + }, {}); + } + + // whether we should iterate the children of $target node + if (recurse && ((config.kids || config.charData) || (config.attr && config.descendents)) ) { + /** @type {Array.} : Array of custom clone */ + elestruct.kids = map($target.childNodes, copy); + } + + recurse = config.descendents; + } + return elestruct; + })($target); + } + + /** + * indexOf an element in a collection of custom nodes + * + * @param {NodeList} set + * @param {!Object} $node : A custom cloned node + * @param {number} idx : index to start the loop + * @return {number} + */ + function indexOfCustomNode(set, $node, idx) { + return indexOf(set, $node, idx, JSCompiler_renameProperty("node")); + } + + // using a non id (eg outerHTML or nodeValue) is extremely naive and will run into issues with nodes that may appear the same like
  • + var counter = 1; // don't use 0 as id (falsy) + /** @const */ + var expando = "mo_id"; + + /** + * Attempt to uniquely id an element for hashing. We could optimize this for legacy browsers but it hopefully wont be called enough to be a concern + * + * @param {Node} $ele + * @return {(string|number)} + */ + function getElementId($ele) { + try { + return $ele.id || ($ele[expando] = $ele[expando] || counter++); + } catch (o_O) { // ie <8 will throw if you set an unknown property on a text node + try { + return $ele.nodeValue; // naive + } catch (shitie) { // when text node is removed: https://gist.github.com/megawac/8355978 :( + return counter++; + } + } + } + + /** + * **map** Apply a mapping function to each item of a set + * @param {Array|NodeList} set + * @param {Function} iterator + */ + function map(set, iterator) { + var results = []; + for (var index = 0; index < set.length; index++) { + results[index] = iterator(set[index], index, set); + } + return results; + } + + /** + * **Reduce** builds up a single result from a list of values + * @param {Array|NodeList|NamedNodeMap} set + * @param {Function} iterator + * @param {*} [memo] Initial value of the memo. + */ + function reduce(set, iterator, memo) { + for (var index = 0; index < set.length; index++) { + memo = iterator(memo, set[index], index, set); + } + return memo; + } + + /** + * **indexOf** find index of item in collection. + * @param {Array|NodeList} set + * @param {Object} item + * @param {number} idx + * @param {string} [prop] Property on set item to compare to item + */ + function indexOf(set, item, idx, prop) { + for (/*idx = ~~idx*/; idx < set.length; idx++) {// start idx is always given as this is internal + if ((prop ? set[idx][prop] : set[idx]) === item) return idx; + } + return -1; + } + + /** + * @param {Object} obj + * @param {(string|number)} prop + * @return {boolean} + */ + function has(obj, prop) { + return obj[prop] !== undefined; // will be nicely inlined by gcc + } + + // GCC hack see https://stackoverflow.com/a/23202438/1517919 + function JSCompiler_renameProperty(a) { + return a; + } + + return MutationObserver; +})(void 0); diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/README.md b/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/README.md new file mode 100644 index 0000000..a2112ad --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/README.md @@ -0,0 +1,68 @@ +MutationObserver +======================== + +[![Browser Test Status](https://saucelabs.com/browser-matrix/mutationobserver.svg)](https://saucelabs.com/u/mutationobserver) +Note: the svg swapped the working browsers; IE8 works while IE7 fails 1 test + +A polyfill for the [MutationObserver API](http://www.w3.org/TR/2013/WD-dom-20131107/#mutation-observers) ([can I use?](http://caniuse.com/mutationobserver)). The polyfill is more cause we can than should (with subtree at any rate)... It's async and uses a recursive timeout fallback (default checks changes every 30ms + runtime) instead of using the deprecated [DOM3 MutationEvents](http://www.w3.org/TR/DOM-Level-3-Events/#events-mutationevents) so theoretically can support virtually any environment. + +```sh +$ npm install mutationobserver-shim +$ bower install MutationObserver-shim +``` + +```html + +``` + +### Polyfill differences from standard interface + +#### MutationObserver + +* Implemented using a recursive `setTimeout` (every ~30 ms) rather than using a `setImmediate` polyfill; so calls will be made less frequently and likely with more data than the standard MutationObserver. In addition, it can miss changes that occur and then are lost in the interval window. +* Setting an observed elements html using `innerHTML` will call `childList` observer listeners with several mutations with only 1 addedNode or removed node per mutation. With the standard you would have 1 call with multiple nodes in addedNodes and removedNodes node lists. +* With `childList` and `subtree` changes in node order (eg first element gets swapped with last) should fire a `addedNode` and `removedNode` mutation but the correct node may not always be identified. + +#### MutationRecord + +* `addedNodes` and `removedNodes` are arrays instead of `NodeList`s +* `oldValue` is always called with attribute changes +* `nextSibling` and `previousSibling` correctfullness is questionable (hard to know if the order of appended items). I'd suggest not relying on them anyway (my tests are extremely permissive with these attributes) + +### Supported MutationObserverInit properties + +Currently supports the following [MutationObserverInit properties](https://developer.mozilla.org/en/docs/Web/API/MutationObserver#MutationObserverInit): + +* **childList**: Set to truthy if mutations to target's immediate children are to be observed. +* **subtree**: Set to truthy to do deep scans on a target's children. +* **attributes**: Set to truthy if mutations to target's children are to be observed. As explained in #4, the `style` attribute may not be matched in ie<8. +* **attributeFilter**: Set to an array of attribute local names (without namespace) if not all attribute mutations need to be observed. +* **attributeOldValue**: doesn't do anything attributes are always called with old value +* **characterData**: currently follows Mozilla's implementation in that it will only watch `textNodes` values and not, like in webkit, where setting .innerHTML will add a characterData mutation. + +### Performance + +By default, the polyfill will check observed nodes about 25 times per second (30 ms interval) for mutations. Try running [these jsperf.com tests](http://jsperf.com/mutationobserver-shim) and the JSLitmus tests in the test suite for usage performance tests. It may be worthwile to adapt `MutationObserver._period` based on UA or heuristics (todo). + +From my tests observing any size element without `subtree` enabled is relatively cheap. Although I've optimized the subtree check to the best of my abilities it can be costly on large trees. You can draw your own conclusions based on the JSLitmus and jsperf tests noting that you can expect the `mo` to do its check 28+ times a second (by default). + +Although supported, I'd recommend against watching `attributes` on the `subtree` on large structures, as the check is complex and expensive on terrible hardware like my phone :( + +The included minified file has been tuned for performance. + +### Compatibility + +I've tested and verified compatibility in the following browsers + [these Sauce browsers](https://saucelabs.com/u/mutationobserver) + +* Internet Explorer 8 (emulated), 9, 10 in win7 and win8 +* Firefox 4, 21, 24, 26 in OSX, win7 and win8 +* Opera 11.8, 12.16 in win7 +* "Internet" on Android HTC One V +* Blackberry 6.0.16 + +Try [running the test suite](https://rawgithub.com/megawac/MutationObserver.js/master/test/index.html) and see some simple example usage: + +* http://jsbin.com/suqewogone listen to images being appended dynamically +* http://jsbin.com/bapohopuwi autoscroll an element as new content is added + +See http://dev.opera.com/articles/view/mutation-observers-tutorial/ for some sample usage. diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/dist/README.md b/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/dist/README.md new file mode 100644 index 0000000..a3e83b2 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/dist/README.md @@ -0,0 +1,7 @@ +###Compiled files + +*Compiled by Google closure compiler in `ADVANCED_OPTIMIZATIONS`* + +- Original: 25 kB +- Minified: 3.7 kB +- Gzipped: 1.6 kB diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/dist/mutationobserver.min.js b/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/dist/mutationobserver.min.js new file mode 100644 index 0000000..94e8949 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/dist/mutationobserver.min.js @@ -0,0 +1,10 @@ +// mutationobserver-shim v0.3.2 (github.com/megawac/MutationObserver.js) +// Authors: Graeme Yeates (github.com/megawac) +window.MutationObserver=window.MutationObserver||function(w){function v(a){this.i=[];this.m=a}function I(a){(function c(){var d=a.takeRecords();d.length&&a.m(d,a);a.h=setTimeout(c,v._period)})()}function p(a){var b={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null},c;for(c in a)b[c]!==w&&a[c]!==w&&(b[c]=a[c]);return b}function J(a,b){var c=C(a,b);return function(d){var f=d.length,n;b.a&&3===a.nodeType&& +a.nodeValue!==c.a&&d.push(new p({type:"characterData",target:a,oldValue:c.a}));b.b&&c.b&&A(d,a,c.b,b.f);if(b.c||b.g)n=K(d,a,c,b);if(n||d.length!==f)c=C(a,b)}}function L(a,b){return b.value}function M(a,b){return"style"!==b.name?b.value:a.style.cssText}function A(a,b,c,d){for(var f={},n=b.attributes,k,g,x=n.length;x--;)k=n[x],g=k.name,d&&d[g]===w||(D(b,k)!==c[g]&&a.push(p({type:"attributes",target:b,attributeName:g,oldValue:c[g],attributeNamespace:k.namespaceURI})),f[g]=!0);for(g in c)f[g]||a.push(p({target:b, +type:"attributes",attributeName:g,oldValue:c[g]}))}function K(a,b,c,d){function f(b,c,f,k,y){var g=b.length-1;y=-~((g-y)/2);for(var h,l,e;e=b.pop();)h=f[e.j],l=k[e.l],d.c&&y&&Math.abs(e.j-e.l)>=g&&(a.push(p({type:"childList",target:c,addedNodes:[h],removedNodes:[h],nextSibling:h.nextSibling,previousSibling:h.previousSibling})),y--),d.b&&l.b&&A(a,h,l.b,d.f),d.a&&3===h.nodeType&&h.nodeValue!==l.a&&a.push(p({type:"characterData",target:h,oldValue:l.a})),d.g&&n(h,l)}function n(b,c){for(var g=b.childNodes, +q=c.c,x=g.length,v=q?q.length:0,h,l,e,m,t,z=0,u=0,r=0;u + +This work is free. You can redistribute it and/or modify it under the +terms of the Do What The Fuck You Want To Public License, Version 2, +as published by Sam Hocevar. See http://www.wtfpl.net/ for more details. + +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://www.wtfpl.net/ for more details. \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/package.json b/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/package.json new file mode 100644 index 0000000..f99c9bc --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/package.json @@ -0,0 +1,49 @@ +{ + "name": "mutationobserver-shim", + "short name": "mutationobserver", + "description": "MutationObserver shim for ES3 environments", + "version": "0.3.2", + "keywords": [ + "DOM", + "observer", + "mutation observer", + "MutationObserver" + ], + "authors": [ + { + "name": "Graeme Yeates", + "email": "github.com/megawac" + } + ], + "repository": { + "type": "git", + "git": "git@github.com:megawac/MutationObserver.js.git", + "url": "github.com/megawac/MutationObserver.js" + }, + "main": "dist/mutationobserver.min.js", + "scripts": { + "test": "grunt test --verbose" + }, + "files": [ + "MutationObserver.js", + "dist/mutationobserver.min.js" + ], + "license": { + "type": "WTFPL", + "version": "v2 2004", + "url": "http://www.wtfpl.net/" + }, + "devDependencies": { + "grunt": "~0.4.2", + "grunt-bumpup": "~0.5.0", + "grunt-closurecompiler": "0.9", + "grunt-contrib-connect": "0.7", + "grunt-contrib-jshint": ">= 0.8", + "grunt-contrib-qunit": "~0.5.0", + "grunt-file-info": "~1.0.14", + "grunt-saucelabs": "~4.1.2", + "grunt-tagrelease": "~0.3.1", + "matchdep": "~0.3.0", + "phantomjs": "1.9.x" + } +} \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/COPYING b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/COPYING new file mode 100644 index 0000000..65ee1c1 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/COPYING @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/README.md b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/README.md new file mode 100644 index 0000000..5eac04f --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/README.md @@ -0,0 +1,59 @@ +# What is this? # + +Mutation Summary is a JavaScript library that makes observing changes to the DOM fast, easy and safe. + +It's built on top of (and requires) a new browser API called [DOM Mutation Observers](http://dom.spec.whatwg.org/#mutation-observers). + + * [Browsers which currently implement DOM Mutation Observers](DOMMutationObservers.md#browser-availability). + * [DOM Mutation Observers API and its relationship to this library and (the deprecated) DOM Mutation Events](DOMMutationObservers.md). + + + +# Why do I need it? # + +Mutation Summary does five main things for you: + + * **It tells you how the document is different now from how it was.** As its name suggests, it summarizes whatโ€™s happened. Itโ€™s as if it takes a picture of the document when you first create it, and then again after each time it calls you back. When things have changed, it calls you with a concise description of exactly whatโ€™s different now from the last picture it took for you. + * **It handles any and all changes, no matter how complex.** All kinds of things can happen to the DOM: values can change and but put back to what they were, large parts can be pulled out, changed, rearranged, put back. Mutation Summary can take any crazy thing you throw at it. Go ahead, tear the document to shreds, Mutation Summary wonโ€™t even blink. + * **It lets you express what kinds of things youโ€™re interested in.** It presents a query API that lets you tell it exactly what kinds of changes youโ€™re interested in. This includes support for simple CSS-like selector descriptions of elements you care about. + * **Itโ€™s fast.** The time and memory it takes is dependant on number of changes that occurred (which typically involves only a few nodes) -- not the size of your document (which is commonly thousands of nodes). + * **It can automatically ignore changes you make during your callback.** Mutation Summary is going to call you back when changes have occurred. If you need to react to those changes by making more changes -- wonโ€™t you hear about those changes the next time it calls you back? Not unless you [ask for that](APIReference.md#configuration-options). By default, it stops watching the document immediately before it calls you back and resumes watching as soon as your callback finishes. + +# What is it useful for? # + +Lots of things, here are some examples: + + * **Browser extensions.** Want to make a browser extension that creates a link to your mapping application whenever an address appears in a page? Youโ€™ll need to know when those addresses appear (and disappear). + * **Implement missing HTML capabilities.** Think building web apps is too darn hard and you know whatโ€™s missing from HTML that would make it a snap? Writing the code for the desired behavior is only half the battle--youโ€™ll also need to know when those elements and attributes show up and what happens to them. In fact, thereโ€™s already two widely used classes of libraries which do exactly this, but donโ€™t currently have a good way to observe changes to the DOM. + * **UI Widget** libraries, e.g. Dojo Widgets + * **Templating** and/or **Databinding** libraries, e.g. Angular or KnockoutJS + * **Text Editors.** HTML Text editors often want to observe whatโ€™s being input and โ€œfix it upโ€ so that they can maintain a consistent WYSWIG UI. + +# What is this _not_ useful for? # + +The intent here isn't to be all things to all use-cases. Mutation Summary is not meant to: + + * **Use the DOM as some sort of state-transition machine.** It won't report transient states that the DOM moved through. It will only tell you what the difference is between the previous state and the present one. + * **Observing complex selectors.** It offers support for a simple [subset of CSS selectors](APIReference.md#supported-selector-syntax). Want to observe all elements that match `โ€œdiv[foo] span.bar > p:first-childโ€`? Unfortunately, efficiently computing that is much harder and currently outside the scope of this library. + +Note that both of the above use cases are possible given the data that the underlying Mutation Observers API provides -- we simply judged them to be outside the "80% use case" that we targeted with this particular library. + +# Where can Mutation Summary be used? # + +The Mutation Summary library depends on the presence of the Mutation Observer DOM API. Mutation Observers are available in + + * [Google Chrome](https://www.google.com/chrome) + * [Firefox](http://www.mozilla.org/en-US/firefox/new/) + * [Safari](http://www.apple.com/safari/) + * [Opera](http://www.opera.com/) + * [IE11](http://www.microsoft.com/ie) + +Mutation Observers is the work of the [W3C WebApps working group](http://www.w3.org/2008/webapps/). In the future it will be implemented in other browsers (weโ€™ll keep the above list of supporting browsers as up-to-date as possible). + +# Great. I want to get started. Whatโ€™s next? # + + * Check out the [tutorial](Tutorial.md) and the [API reference](APIReference.md). + +# Google groups discussion list # + + * [mutation-summary-discuss@googlegroups.com](https://groups.google.com/group/mutation-summary-discuss) diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/package.json b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/package.json new file mode 100644 index 0000000..3029ee6 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/package.json @@ -0,0 +1,30 @@ +{ + "name": "mutation-summary", + "version": "0.0.0", + "description": "Makes observing the DOM fast and easy", + "main": "src/mutation-summary.js", + "directories": { + "example": "examples", + "test": "tests" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "https://code.google.com/p/mutation-summary/" + }, + "author": "", + "license": "Apache 2.0", + "devDependencies": { + "chai": "*", + "mocha": "*" + } +} + + + + + + + diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/src/mutation-summary.js b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/src/mutation-summary.js new file mode 100644 index 0000000..feef885 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/src/mutation-summary.js @@ -0,0 +1,1406 @@ +// Copyright 2011 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var MutationObserverCtor; +if (typeof WebKitMutationObserver !== 'undefined') + MutationObserverCtor = WebKitMutationObserver; +else + MutationObserverCtor = MutationObserver; +if (MutationObserverCtor === undefined) { + console.error('DOM Mutation Observers are required.'); + console.error('https://developer.mozilla.org/en-US/docs/DOM/MutationObserver'); + throw Error('DOM Mutation Observers are required'); +} +var NodeMap = /** @class */ (function () { + function NodeMap() { + this.nodes = []; + this.values = []; + } + NodeMap.prototype.isIndex = function (s) { + return +s === s >>> 0; + }; + NodeMap.prototype.nodeId = function (node) { + var id = node[NodeMap.ID_PROP]; + if (!id) + id = node[NodeMap.ID_PROP] = NodeMap.nextId_++; + return id; + }; + NodeMap.prototype.set = function (node, value) { + var id = this.nodeId(node); + this.nodes[id] = node; + this.values[id] = value; + }; + NodeMap.prototype.get = function (node) { + var id = this.nodeId(node); + return this.values[id]; + }; + NodeMap.prototype.has = function (node) { + return this.nodeId(node) in this.nodes; + }; + NodeMap.prototype["delete"] = function (node) { + var id = this.nodeId(node); + delete this.nodes[id]; + this.values[id] = undefined; + }; + NodeMap.prototype.keys = function () { + var nodes = []; + for (var id in this.nodes) { + if (!this.isIndex(id)) + continue; + nodes.push(this.nodes[id]); + } + return nodes; + }; + NodeMap.ID_PROP = '__mutation_summary_node_map_id__'; + NodeMap.nextId_ = 1; + return NodeMap; +}()); +/** + * var reachableMatchableProduct = [ + * // STAYED_OUT, ENTERED, STAYED_IN, EXITED + * [ STAYED_OUT, STAYED_OUT, STAYED_OUT, STAYED_OUT ], // STAYED_OUT + * [ STAYED_OUT, ENTERED, ENTERED, STAYED_OUT ], // ENTERED + * [ STAYED_OUT, ENTERED, STAYED_IN, EXITED ], // STAYED_IN + * [ STAYED_OUT, STAYED_OUT, EXITED, EXITED ] // EXITED + * ]; + */ +var Movement; +(function (Movement) { + Movement[Movement["STAYED_OUT"] = 0] = "STAYED_OUT"; + Movement[Movement["ENTERED"] = 1] = "ENTERED"; + Movement[Movement["STAYED_IN"] = 2] = "STAYED_IN"; + Movement[Movement["REPARENTED"] = 3] = "REPARENTED"; + Movement[Movement["REORDERED"] = 4] = "REORDERED"; + Movement[Movement["EXITED"] = 5] = "EXITED"; +})(Movement || (Movement = {})); +function enteredOrExited(changeType) { + return changeType === Movement.ENTERED || changeType === Movement.EXITED; +} +var NodeChange = /** @class */ (function () { + function NodeChange(node, childList, attributes, characterData, oldParentNode, added, attributeOldValues, characterDataOldValue) { + if (childList === void 0) { childList = false; } + if (attributes === void 0) { attributes = false; } + if (characterData === void 0) { characterData = false; } + if (oldParentNode === void 0) { oldParentNode = null; } + if (added === void 0) { added = false; } + if (attributeOldValues === void 0) { attributeOldValues = null; } + if (characterDataOldValue === void 0) { characterDataOldValue = null; } + this.node = node; + this.childList = childList; + this.attributes = attributes; + this.characterData = characterData; + this.oldParentNode = oldParentNode; + this.added = added; + this.attributeOldValues = attributeOldValues; + this.characterDataOldValue = characterDataOldValue; + this.isCaseInsensitive = + this.node.nodeType === Node.ELEMENT_NODE && + this.node instanceof HTMLElement && + this.node.ownerDocument instanceof HTMLDocument; + } + NodeChange.prototype.getAttributeOldValue = function (name) { + if (!this.attributeOldValues) + return undefined; + if (this.isCaseInsensitive) + name = name.toLowerCase(); + return this.attributeOldValues[name]; + }; + NodeChange.prototype.getAttributeNamesMutated = function () { + var names = []; + if (!this.attributeOldValues) + return names; + for (var name in this.attributeOldValues) { + names.push(name); + } + return names; + }; + NodeChange.prototype.attributeMutated = function (name, oldValue) { + this.attributes = true; + this.attributeOldValues = this.attributeOldValues || {}; + if (name in this.attributeOldValues) + return; + this.attributeOldValues[name] = oldValue; + }; + NodeChange.prototype.characterDataMutated = function (oldValue) { + if (this.characterData) + return; + this.characterData = true; + this.characterDataOldValue = oldValue; + }; + // Note: is it possible to receive a removal followed by a removal. This + // can occur if the removed node is added to an non-observed node, that + // node is added to the observed area, and then the node removed from + // it. + NodeChange.prototype.removedFromParent = function (parent) { + this.childList = true; + if (this.added || this.oldParentNode) + this.added = false; + else + this.oldParentNode = parent; + }; + NodeChange.prototype.insertedIntoParent = function () { + this.childList = true; + this.added = true; + }; + // An node's oldParent is + // -its present parent, if its parentNode was not changed. + // -null if the first thing that happened to it was an add. + // -the node it was removed from if the first thing that happened to it + // was a remove. + NodeChange.prototype.getOldParent = function () { + if (this.childList) { + if (this.oldParentNode) + return this.oldParentNode; + if (this.added) + return null; + } + return this.node.parentNode; + }; + return NodeChange; +}()); +var ChildListChange = /** @class */ (function () { + function ChildListChange() { + this.added = new NodeMap(); + this.removed = new NodeMap(); + this.maybeMoved = new NodeMap(); + this.oldPrevious = new NodeMap(); + this.moved = undefined; + } + return ChildListChange; +}()); +var TreeChanges = /** @class */ (function (_super) { + __extends(TreeChanges, _super); + function TreeChanges(rootNode, mutations) { + var _this = _super.call(this) || this; + _this.rootNode = rootNode; + _this.reachableCache = undefined; + _this.wasReachableCache = undefined; + _this.anyParentsChanged = false; + _this.anyAttributesChanged = false; + _this.anyCharacterDataChanged = false; + for (var m = 0; m < mutations.length; m++) { + var mutation = mutations[m]; + switch (mutation.type) { + case 'childList': + _this.anyParentsChanged = true; + for (var i = 0; i < mutation.removedNodes.length; i++) { + var node = mutation.removedNodes[i]; + _this.getChange(node).removedFromParent(mutation.target); + } + for (var i = 0; i < mutation.addedNodes.length; i++) { + var node = mutation.addedNodes[i]; + _this.getChange(node).insertedIntoParent(); + } + break; + case 'attributes': + _this.anyAttributesChanged = true; + var change = _this.getChange(mutation.target); + change.attributeMutated(mutation.attributeName, mutation.oldValue); + break; + case 'characterData': + _this.anyCharacterDataChanged = true; + var change = _this.getChange(mutation.target); + change.characterDataMutated(mutation.oldValue); + break; + } + } + return _this; + } + TreeChanges.prototype.getChange = function (node) { + var change = this.get(node); + if (!change) { + change = new NodeChange(node); + this.set(node, change); + } + return change; + }; + TreeChanges.prototype.getOldParent = function (node) { + var change = this.get(node); + return change ? change.getOldParent() : node.parentNode; + }; + TreeChanges.prototype.getIsReachable = function (node) { + if (node === this.rootNode) + return true; + if (!node) + return false; + this.reachableCache = this.reachableCache || new NodeMap(); + var isReachable = this.reachableCache.get(node); + if (isReachable === undefined) { + isReachable = this.getIsReachable(node.parentNode); + this.reachableCache.set(node, isReachable); + } + return isReachable; + }; + // A node wasReachable if its oldParent wasReachable. + TreeChanges.prototype.getWasReachable = function (node) { + if (node === this.rootNode) + return true; + if (!node) + return false; + this.wasReachableCache = this.wasReachableCache || new NodeMap(); + var wasReachable = this.wasReachableCache.get(node); + if (wasReachable === undefined) { + wasReachable = this.getWasReachable(this.getOldParent(node)); + this.wasReachableCache.set(node, wasReachable); + } + return wasReachable; + }; + TreeChanges.prototype.reachabilityChange = function (node) { + if (this.getIsReachable(node)) { + return this.getWasReachable(node) ? + Movement.STAYED_IN : Movement.ENTERED; + } + return this.getWasReachable(node) ? + Movement.EXITED : Movement.STAYED_OUT; + }; + return TreeChanges; +}(NodeMap)); +var MutationProjection = /** @class */ (function () { + // TOOD(any) + function MutationProjection(rootNode, mutations, selectors, calcReordered, calcOldPreviousSibling) { + this.rootNode = rootNode; + this.mutations = mutations; + this.selectors = selectors; + this.calcReordered = calcReordered; + this.calcOldPreviousSibling = calcOldPreviousSibling; + this.treeChanges = new TreeChanges(rootNode, mutations); + this.entered = []; + this.exited = []; + this.stayedIn = new NodeMap(); + this.visited = new NodeMap(); + this.childListChangeMap = undefined; + this.characterDataOnly = undefined; + this.matchCache = undefined; + this.processMutations(); + } + MutationProjection.prototype.processMutations = function () { + if (!this.treeChanges.anyParentsChanged && + !this.treeChanges.anyAttributesChanged) + return; + var changedNodes = this.treeChanges.keys(); + for (var i = 0; i < changedNodes.length; i++) { + this.visitNode(changedNodes[i], undefined); + } + }; + MutationProjection.prototype.visitNode = function (node, parentReachable) { + if (this.visited.has(node)) + return; + this.visited.set(node, true); + var change = this.treeChanges.get(node); + var reachable = parentReachable; + // node inherits its parent's reachability change unless + // its parentNode was mutated. + if ((change && change.childList) || reachable == undefined) + reachable = this.treeChanges.reachabilityChange(node); + if (reachable === Movement.STAYED_OUT) + return; + // Cache match results for sub-patterns. + this.matchabilityChange(node); + if (reachable === Movement.ENTERED) { + this.entered.push(node); + } + else if (reachable === Movement.EXITED) { + this.exited.push(node); + this.ensureHasOldPreviousSiblingIfNeeded(node); + } + else if (reachable === Movement.STAYED_IN) { + var movement = Movement.STAYED_IN; + if (change && change.childList) { + if (change.oldParentNode !== node.parentNode) { + movement = Movement.REPARENTED; + this.ensureHasOldPreviousSiblingIfNeeded(node); + } + else if (this.calcReordered && this.wasReordered(node)) { + movement = Movement.REORDERED; + } + } + this.stayedIn.set(node, movement); + } + if (reachable === Movement.STAYED_IN) + return; + // reachable === ENTERED || reachable === EXITED. + for (var child = node.firstChild; child; child = child.nextSibling) { + this.visitNode(child, reachable); + } + }; + MutationProjection.prototype.ensureHasOldPreviousSiblingIfNeeded = function (node) { + if (!this.calcOldPreviousSibling) + return; + this.processChildlistChanges(); + var parentNode = node.parentNode; + var nodeChange = this.treeChanges.get(node); + if (nodeChange && nodeChange.oldParentNode) + parentNode = nodeChange.oldParentNode; + var change = this.childListChangeMap.get(parentNode); + if (!change) { + change = new ChildListChange(); + this.childListChangeMap.set(parentNode, change); + } + if (!change.oldPrevious.has(node)) { + change.oldPrevious.set(node, node.previousSibling); + } + }; + MutationProjection.prototype.getChanged = function (summary, selectors, characterDataOnly) { + this.selectors = selectors; + this.characterDataOnly = characterDataOnly; + for (var i = 0; i < this.entered.length; i++) { + var node = this.entered[i]; + var matchable = this.matchabilityChange(node); + if (matchable === Movement.ENTERED || matchable === Movement.STAYED_IN) + summary.added.push(node); + } + var stayedInNodes = this.stayedIn.keys(); + for (var i = 0; i < stayedInNodes.length; i++) { + var node = stayedInNodes[i]; + var matchable = this.matchabilityChange(node); + if (matchable === Movement.ENTERED) { + summary.added.push(node); + } + else if (matchable === Movement.EXITED) { + summary.removed.push(node); + } + else if (matchable === Movement.STAYED_IN && (summary.reparented || summary.reordered)) { + var movement = this.stayedIn.get(node); + if (summary.reparented && movement === Movement.REPARENTED) + summary.reparented.push(node); + else if (summary.reordered && movement === Movement.REORDERED) + summary.reordered.push(node); + } + } + for (var i = 0; i < this.exited.length; i++) { + var node = this.exited[i]; + var matchable = this.matchabilityChange(node); + if (matchable === Movement.EXITED || matchable === Movement.STAYED_IN) + summary.removed.push(node); + } + }; + MutationProjection.prototype.getOldParentNode = function (node) { + var change = this.treeChanges.get(node); + if (change && change.childList) + return change.oldParentNode ? change.oldParentNode : null; + var reachabilityChange = this.treeChanges.reachabilityChange(node); + if (reachabilityChange === Movement.STAYED_OUT || reachabilityChange === Movement.ENTERED) + throw Error('getOldParentNode requested on invalid node.'); + return node.parentNode; + }; + MutationProjection.prototype.getOldPreviousSibling = function (node) { + var parentNode = node.parentNode; + var nodeChange = this.treeChanges.get(node); + if (nodeChange && nodeChange.oldParentNode) + parentNode = nodeChange.oldParentNode; + var change = this.childListChangeMap.get(parentNode); + if (!change) + throw Error('getOldPreviousSibling requested on invalid node.'); + return change.oldPrevious.get(node); + }; + MutationProjection.prototype.getOldAttribute = function (element, attrName) { + var change = this.treeChanges.get(element); + if (!change || !change.attributes) + throw Error('getOldAttribute requested on invalid node.'); + var value = change.getAttributeOldValue(attrName); + if (value === undefined) + throw Error('getOldAttribute requested for unchanged attribute name.'); + return value; + }; + MutationProjection.prototype.attributeChangedNodes = function (includeAttributes) { + if (!this.treeChanges.anyAttributesChanged) + return {}; // No attributes mutations occurred. + var attributeFilter; + var caseInsensitiveFilter; + if (includeAttributes) { + attributeFilter = {}; + caseInsensitiveFilter = {}; + for (var i = 0; i < includeAttributes.length; i++) { + var attrName = includeAttributes[i]; + attributeFilter[attrName] = true; + caseInsensitiveFilter[attrName.toLowerCase()] = attrName; + } + } + var result = {}; + var nodes = this.treeChanges.keys(); + for (var i = 0; i < nodes.length; i++) { + var node = nodes[i]; + var change = this.treeChanges.get(node); + if (!change.attributes) + continue; + if (Movement.STAYED_IN !== this.treeChanges.reachabilityChange(node) || + Movement.STAYED_IN !== this.matchabilityChange(node)) { + continue; + } + var element = node; + var changedAttrNames = change.getAttributeNamesMutated(); + for (var j = 0; j < changedAttrNames.length; j++) { + var attrName = changedAttrNames[j]; + if (attributeFilter && + !attributeFilter[attrName] && + !(change.isCaseInsensitive && caseInsensitiveFilter[attrName])) { + continue; + } + var oldValue = change.getAttributeOldValue(attrName); + if (oldValue === element.getAttribute(attrName)) + continue; + if (caseInsensitiveFilter && change.isCaseInsensitive) + attrName = caseInsensitiveFilter[attrName]; + result[attrName] = result[attrName] || []; + result[attrName].push(element); + } + } + return result; + }; + MutationProjection.prototype.getOldCharacterData = function (node) { + var change = this.treeChanges.get(node); + if (!change || !change.characterData) + throw Error('getOldCharacterData requested on invalid node.'); + return change.characterDataOldValue; + }; + MutationProjection.prototype.getCharacterDataChanged = function () { + if (!this.treeChanges.anyCharacterDataChanged) + return []; // No characterData mutations occurred. + var nodes = this.treeChanges.keys(); + var result = []; + for (var i = 0; i < nodes.length; i++) { + var target = nodes[i]; + if (Movement.STAYED_IN !== this.treeChanges.reachabilityChange(target)) + continue; + var change = this.treeChanges.get(target); + if (!change.characterData || + target.textContent == change.characterDataOldValue) + continue; + result.push(target); + } + return result; + }; + MutationProjection.prototype.computeMatchabilityChange = function (selector, el) { + if (!this.matchCache) + this.matchCache = []; + if (!this.matchCache[selector.uid]) + this.matchCache[selector.uid] = new NodeMap(); + var cache = this.matchCache[selector.uid]; + var result = cache.get(el); + if (result === undefined) { + result = selector.matchabilityChange(el, this.treeChanges.get(el)); + cache.set(el, result); + } + return result; + }; + MutationProjection.prototype.matchabilityChange = function (node) { + var _this = this; + // TODO(rafaelw): Include PI, CDATA? + // Only include text nodes. + if (this.characterDataOnly) { + switch (node.nodeType) { + case Node.COMMENT_NODE: + case Node.TEXT_NODE: + return Movement.STAYED_IN; + default: + return Movement.STAYED_OUT; + } + } + // No element filter. Include all nodes. + if (!this.selectors) + return Movement.STAYED_IN; + // Element filter. Exclude non-elements. + if (node.nodeType !== Node.ELEMENT_NODE) + return Movement.STAYED_OUT; + var el = node; + var matchChanges = this.selectors.map(function (selector) { + return _this.computeMatchabilityChange(selector, el); + }); + var accum = Movement.STAYED_OUT; + var i = 0; + while (accum !== Movement.STAYED_IN && i < matchChanges.length) { + switch (matchChanges[i]) { + case Movement.STAYED_IN: + accum = Movement.STAYED_IN; + break; + case Movement.ENTERED: + if (accum === Movement.EXITED) + accum = Movement.STAYED_IN; + else + accum = Movement.ENTERED; + break; + case Movement.EXITED: + if (accum === Movement.ENTERED) + accum = Movement.STAYED_IN; + else + accum = Movement.EXITED; + break; + } + i++; + } + return accum; + }; + MutationProjection.prototype.getChildlistChange = function (el) { + var change = this.childListChangeMap.get(el); + if (!change) { + change = new ChildListChange(); + this.childListChangeMap.set(el, change); + } + return change; + }; + MutationProjection.prototype.processChildlistChanges = function () { + if (this.childListChangeMap) + return; + this.childListChangeMap = new NodeMap(); + for (var i = 0; i < this.mutations.length; i++) { + var mutation = this.mutations[i]; + if (mutation.type != 'childList') + continue; + if (this.treeChanges.reachabilityChange(mutation.target) !== Movement.STAYED_IN && + !this.calcOldPreviousSibling) + continue; + var change = this.getChildlistChange(mutation.target); + var oldPrevious = mutation.previousSibling; + function recordOldPrevious(node, previous) { + if (!node || + change.oldPrevious.has(node) || + change.added.has(node) || + change.maybeMoved.has(node)) + return; + if (previous && + (change.added.has(previous) || + change.maybeMoved.has(previous))) + return; + change.oldPrevious.set(node, previous); + } + for (var j = 0; j < mutation.removedNodes.length; j++) { + var node = mutation.removedNodes[j]; + recordOldPrevious(node, oldPrevious); + if (change.added.has(node)) { + change.added["delete"](node); + } + else { + change.removed.set(node, true); + change.maybeMoved["delete"](node); + } + oldPrevious = node; + } + recordOldPrevious(mutation.nextSibling, oldPrevious); + for (var j = 0; j < mutation.addedNodes.length; j++) { + var node = mutation.addedNodes[j]; + if (change.removed.has(node)) { + change.removed["delete"](node); + change.maybeMoved.set(node, true); + } + else { + change.added.set(node, true); + } + } + } + }; + MutationProjection.prototype.wasReordered = function (node) { + if (!this.treeChanges.anyParentsChanged) + return false; + this.processChildlistChanges(); + var parentNode = node.parentNode; + var nodeChange = this.treeChanges.get(node); + if (nodeChange && nodeChange.oldParentNode) + parentNode = nodeChange.oldParentNode; + var change = this.childListChangeMap.get(parentNode); + if (!change) + return false; + if (change.moved) + return change.moved.get(node); + change.moved = new NodeMap(); + var pendingMoveDecision = new NodeMap(); + function isMoved(node) { + if (!node) + return false; + if (!change.maybeMoved.has(node)) + return false; + var didMove = change.moved.get(node); + if (didMove !== undefined) + return didMove; + if (pendingMoveDecision.has(node)) { + didMove = true; + } + else { + pendingMoveDecision.set(node, true); + didMove = getPrevious(node) !== getOldPrevious(node); + } + if (pendingMoveDecision.has(node)) { + pendingMoveDecision["delete"](node); + change.moved.set(node, didMove); + } + else { + didMove = change.moved.get(node); + } + return didMove; + } + var oldPreviousCache = new NodeMap(); + function getOldPrevious(node) { + var oldPrevious = oldPreviousCache.get(node); + if (oldPrevious !== undefined) + return oldPrevious; + oldPrevious = change.oldPrevious.get(node); + while (oldPrevious && + (change.removed.has(oldPrevious) || isMoved(oldPrevious))) { + oldPrevious = getOldPrevious(oldPrevious); + } + if (oldPrevious === undefined) + oldPrevious = node.previousSibling; + oldPreviousCache.set(node, oldPrevious); + return oldPrevious; + } + var previousCache = new NodeMap(); + function getPrevious(node) { + if (previousCache.has(node)) + return previousCache.get(node); + var previous = node.previousSibling; + while (previous && (change.added.has(previous) || isMoved(previous))) + previous = previous.previousSibling; + previousCache.set(node, previous); + return previous; + } + change.maybeMoved.keys().forEach(isMoved); + return change.moved.get(node); + }; + return MutationProjection; +}()); +var Summary = /** @class */ (function () { + function Summary(projection, query) { + var _this = this; + this.projection = projection; + this.added = []; + this.removed = []; + this.reparented = query.all || query.element || query.characterData ? [] : undefined; + this.reordered = query.all ? [] : undefined; + projection.getChanged(this, query.elementFilter, query.characterData); + if (query.all || query.attribute || query.attributeList) { + var filter = query.attribute ? [query.attribute] : query.attributeList; + var attributeChanged = projection.attributeChangedNodes(filter); + if (query.attribute) { + this.valueChanged = attributeChanged[query.attribute] || []; + } + else { + this.attributeChanged = attributeChanged; + if (query.attributeList) { + query.attributeList.forEach(function (attrName) { + if (!_this.attributeChanged.hasOwnProperty(attrName)) + _this.attributeChanged[attrName] = []; + }); + } + } + } + if (query.all || query.characterData) { + var characterDataChanged = projection.getCharacterDataChanged(); + if (query.characterData) + this.valueChanged = characterDataChanged; + else + this.characterDataChanged = characterDataChanged; + } + if (this.reordered) + this.getOldPreviousSibling = projection.getOldPreviousSibling.bind(projection); + } + Summary.prototype.getOldParentNode = function (node) { + return this.projection.getOldParentNode(node); + }; + Summary.prototype.getOldAttribute = function (node, name) { + return this.projection.getOldAttribute(node, name); + }; + Summary.prototype.getOldCharacterData = function (node) { + return this.projection.getOldCharacterData(node); + }; + Summary.prototype.getOldPreviousSibling = function (node) { + return this.projection.getOldPreviousSibling(node); + }; + return Summary; +}()); +// TODO(rafaelw): Allow ':' and '.' as valid name characters. +var validNameInitialChar = /[a-zA-Z_]+/; +var validNameNonInitialChar = /[a-zA-Z0-9_\-]+/; +// TODO(rafaelw): Consider allowing backslash in the attrValue. +// TODO(rafaelw): There's got a to be way to represent this state machine +// more compactly??? +function escapeQuotes(value) { + return '"' + value.replace(/"/, '\\\"') + '"'; +} +var Qualifier = /** @class */ (function () { + function Qualifier() { + } + Qualifier.prototype.matches = function (oldValue) { + if (oldValue === null) + return false; + if (this.attrValue === undefined) + return true; + if (!this.contains) + return this.attrValue == oldValue; + var tokens = oldValue.split(' '); + for (var i = 0; i < tokens.length; i++) { + if (this.attrValue === tokens[i]) + return true; + } + return false; + }; + Qualifier.prototype.toString = function () { + if (this.attrName === 'class' && this.contains) + return '.' + this.attrValue; + if (this.attrName === 'id' && !this.contains) + return '#' + this.attrValue; + if (this.contains) + return '[' + this.attrName + '~=' + escapeQuotes(this.attrValue) + ']'; + if ('attrValue' in this) + return '[' + this.attrName + '=' + escapeQuotes(this.attrValue) + ']'; + return '[' + this.attrName + ']'; + }; + return Qualifier; +}()); +var Selector = /** @class */ (function () { + function Selector() { + this.uid = Selector.nextUid++; + this.qualifiers = []; + } + Object.defineProperty(Selector.prototype, "caseInsensitiveTagName", { + get: function () { + return this.tagName.toUpperCase(); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(Selector.prototype, "selectorString", { + get: function () { + return this.tagName + this.qualifiers.join(''); + }, + enumerable: false, + configurable: true + }); + Selector.prototype.isMatching = function (el) { + return el[Selector.matchesSelector](this.selectorString); + }; + Selector.prototype.wasMatching = function (el, change, isMatching) { + if (!change || !change.attributes) + return isMatching; + var tagName = change.isCaseInsensitive ? this.caseInsensitiveTagName : this.tagName; + if (tagName !== '*' && tagName !== el.tagName) + return false; + var attributeOldValues = []; + var anyChanged = false; + for (var i = 0; i < this.qualifiers.length; i++) { + var qualifier = this.qualifiers[i]; + var oldValue = change.getAttributeOldValue(qualifier.attrName); + attributeOldValues.push(oldValue); + anyChanged = anyChanged || (oldValue !== undefined); + } + if (!anyChanged) + return isMatching; + for (var i = 0; i < this.qualifiers.length; i++) { + var qualifier = this.qualifiers[i]; + var oldValue = attributeOldValues[i]; + if (oldValue === undefined) + oldValue = el.getAttribute(qualifier.attrName); + if (!qualifier.matches(oldValue)) + return false; + } + return true; + }; + Selector.prototype.matchabilityChange = function (el, change) { + var isMatching = this.isMatching(el); + if (isMatching) + return this.wasMatching(el, change, isMatching) ? Movement.STAYED_IN : Movement.ENTERED; + else + return this.wasMatching(el, change, isMatching) ? Movement.EXITED : Movement.STAYED_OUT; + }; + Selector.parseSelectors = function (input) { + var selectors = []; + var currentSelector; + var currentQualifier; + function newSelector() { + if (currentSelector) { + if (currentQualifier) { + currentSelector.qualifiers.push(currentQualifier); + currentQualifier = undefined; + } + selectors.push(currentSelector); + } + currentSelector = new Selector(); + } + function newQualifier() { + if (currentQualifier) + currentSelector.qualifiers.push(currentQualifier); + currentQualifier = new Qualifier(); + } + var WHITESPACE = /\s/; + var valueQuoteChar; + var SYNTAX_ERROR = 'Invalid or unsupported selector syntax.'; + var SELECTOR = 1; + var TAG_NAME = 2; + var QUALIFIER = 3; + var QUALIFIER_NAME_FIRST_CHAR = 4; + var QUALIFIER_NAME = 5; + var ATTR_NAME_FIRST_CHAR = 6; + var ATTR_NAME = 7; + var EQUIV_OR_ATTR_QUAL_END = 8; + var EQUAL = 9; + var ATTR_QUAL_END = 10; + var VALUE_FIRST_CHAR = 11; + var VALUE = 12; + var QUOTED_VALUE = 13; + var SELECTOR_SEPARATOR = 14; + var state = SELECTOR; + var i = 0; + while (i < input.length) { + var c = input[i++]; + switch (state) { + case SELECTOR: + if (c.match(validNameInitialChar)) { + newSelector(); + currentSelector.tagName = c; + state = TAG_NAME; + break; + } + if (c == '*') { + newSelector(); + currentSelector.tagName = '*'; + state = QUALIFIER; + break; + } + if (c == '.') { + newSelector(); + newQualifier(); + currentSelector.tagName = '*'; + currentQualifier.attrName = 'class'; + currentQualifier.contains = true; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '#') { + newSelector(); + newQualifier(); + currentSelector.tagName = '*'; + currentQualifier.attrName = 'id'; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '[') { + newSelector(); + newQualifier(); + currentSelector.tagName = '*'; + currentQualifier.attrName = ''; + state = ATTR_NAME_FIRST_CHAR; + break; + } + if (c.match(WHITESPACE)) + break; + throw Error(SYNTAX_ERROR); + case TAG_NAME: + if (c.match(validNameNonInitialChar)) { + currentSelector.tagName += c; + break; + } + if (c == '.') { + newQualifier(); + currentQualifier.attrName = 'class'; + currentQualifier.contains = true; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '#') { + newQualifier(); + currentQualifier.attrName = 'id'; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '[') { + newQualifier(); + currentQualifier.attrName = ''; + state = ATTR_NAME_FIRST_CHAR; + break; + } + if (c.match(WHITESPACE)) { + state = SELECTOR_SEPARATOR; + break; + } + if (c == ',') { + state = SELECTOR; + break; + } + throw Error(SYNTAX_ERROR); + case QUALIFIER: + if (c == '.') { + newQualifier(); + currentQualifier.attrName = 'class'; + currentQualifier.contains = true; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '#') { + newQualifier(); + currentQualifier.attrName = 'id'; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '[') { + newQualifier(); + currentQualifier.attrName = ''; + state = ATTR_NAME_FIRST_CHAR; + break; + } + if (c.match(WHITESPACE)) { + state = SELECTOR_SEPARATOR; + break; + } + if (c == ',') { + state = SELECTOR; + break; + } + throw Error(SYNTAX_ERROR); + case QUALIFIER_NAME_FIRST_CHAR: + if (c.match(validNameInitialChar)) { + currentQualifier.attrValue = c; + state = QUALIFIER_NAME; + break; + } + throw Error(SYNTAX_ERROR); + case QUALIFIER_NAME: + if (c.match(validNameNonInitialChar)) { + currentQualifier.attrValue += c; + break; + } + if (c == '.') { + newQualifier(); + currentQualifier.attrName = 'class'; + currentQualifier.contains = true; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '#') { + newQualifier(); + currentQualifier.attrName = 'id'; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '[') { + newQualifier(); + state = ATTR_NAME_FIRST_CHAR; + break; + } + if (c.match(WHITESPACE)) { + state = SELECTOR_SEPARATOR; + break; + } + if (c == ',') { + state = SELECTOR; + break; + } + throw Error(SYNTAX_ERROR); + case ATTR_NAME_FIRST_CHAR: + if (c.match(validNameInitialChar)) { + currentQualifier.attrName = c; + state = ATTR_NAME; + break; + } + if (c.match(WHITESPACE)) + break; + throw Error(SYNTAX_ERROR); + case ATTR_NAME: + if (c.match(validNameNonInitialChar)) { + currentQualifier.attrName += c; + break; + } + if (c.match(WHITESPACE)) { + state = EQUIV_OR_ATTR_QUAL_END; + break; + } + if (c == '~') { + currentQualifier.contains = true; + state = EQUAL; + break; + } + if (c == '=') { + currentQualifier.attrValue = ''; + state = VALUE_FIRST_CHAR; + break; + } + if (c == ']') { + state = QUALIFIER; + break; + } + throw Error(SYNTAX_ERROR); + case EQUIV_OR_ATTR_QUAL_END: + if (c == '~') { + currentQualifier.contains = true; + state = EQUAL; + break; + } + if (c == '=') { + currentQualifier.attrValue = ''; + state = VALUE_FIRST_CHAR; + break; + } + if (c == ']') { + state = QUALIFIER; + break; + } + if (c.match(WHITESPACE)) + break; + throw Error(SYNTAX_ERROR); + case EQUAL: + if (c == '=') { + currentQualifier.attrValue = ''; + state = VALUE_FIRST_CHAR; + break; + } + throw Error(SYNTAX_ERROR); + case ATTR_QUAL_END: + if (c == ']') { + state = QUALIFIER; + break; + } + if (c.match(WHITESPACE)) + break; + throw Error(SYNTAX_ERROR); + case VALUE_FIRST_CHAR: + if (c.match(WHITESPACE)) + break; + if (c == '"' || c == "'") { + valueQuoteChar = c; + state = QUOTED_VALUE; + break; + } + currentQualifier.attrValue += c; + state = VALUE; + break; + case VALUE: + if (c.match(WHITESPACE)) { + state = ATTR_QUAL_END; + break; + } + if (c == ']') { + state = QUALIFIER; + break; + } + if (c == "'" || c == '"') + throw Error(SYNTAX_ERROR); + currentQualifier.attrValue += c; + break; + case QUOTED_VALUE: + if (c == valueQuoteChar) { + state = ATTR_QUAL_END; + break; + } + currentQualifier.attrValue += c; + break; + case SELECTOR_SEPARATOR: + if (c.match(WHITESPACE)) + break; + if (c == ',') { + state = SELECTOR; + break; + } + throw Error(SYNTAX_ERROR); + } + } + switch (state) { + case SELECTOR: + case TAG_NAME: + case QUALIFIER: + case QUALIFIER_NAME: + case SELECTOR_SEPARATOR: + // Valid end states. + newSelector(); + break; + default: + throw Error(SYNTAX_ERROR); + } + if (!selectors.length) + throw Error(SYNTAX_ERROR); + return selectors; + }; + Selector.nextUid = 1; + Selector.matchesSelector = (function () { + var element = document.createElement('div'); + if (typeof element['webkitMatchesSelector'] === 'function') + return 'webkitMatchesSelector'; + if (typeof element['mozMatchesSelector'] === 'function') + return 'mozMatchesSelector'; + if (typeof element['msMatchesSelector'] === 'function') + return 'msMatchesSelector'; + return 'matchesSelector'; + })(); + return Selector; +}()); +var attributeFilterPattern = /^([a-zA-Z:_]+[a-zA-Z0-9_\-:\.]*)$/; +function validateAttribute(attribute) { + if (typeof attribute != 'string') + throw Error('Invalid request opion. attribute must be a non-zero length string.'); + attribute = attribute.trim(); + if (!attribute) + throw Error('Invalid request opion. attribute must be a non-zero length string.'); + if (!attribute.match(attributeFilterPattern)) + throw Error('Invalid request option. invalid attribute name: ' + attribute); + return attribute; +} +function validateElementAttributes(attribs) { + if (!attribs.trim().length) + throw Error('Invalid request option: elementAttributes must contain at least one attribute.'); + var lowerAttributes = {}; + var attributes = {}; + var tokens = attribs.split(/\s+/); + for (var i = 0; i < tokens.length; i++) { + var name = tokens[i]; + if (!name) + continue; + var name = validateAttribute(name); + var nameLower = name.toLowerCase(); + if (lowerAttributes[nameLower]) + throw Error('Invalid request option: observing multiple case variations of the same attribute is not supported.'); + attributes[name] = true; + lowerAttributes[nameLower] = true; + } + return Object.keys(attributes); +} +function elementFilterAttributes(selectors) { + var attributes = {}; + selectors.forEach(function (selector) { + selector.qualifiers.forEach(function (qualifier) { + attributes[qualifier.attrName] = true; + }); + }); + return Object.keys(attributes); +} +var MutationSummary = /** @class */ (function () { + function MutationSummary(opts) { + var _this = this; + this.connected = false; + this.options = MutationSummary.validateOptions(opts); + this.observerOptions = MutationSummary.createObserverOptions(this.options.queries); + this.root = this.options.rootNode; + this.callback = this.options.callback; + this.elementFilter = Array.prototype.concat.apply([], this.options.queries.map(function (query) { + return query.elementFilter ? query.elementFilter : []; + })); + if (!this.elementFilter.length) + this.elementFilter = undefined; + this.calcReordered = this.options.queries.some(function (query) { + return query.all; + }); + this.queryValidators = []; // TODO(rafaelw): Shouldn't always define this. + if (MutationSummary.createQueryValidator) { + this.queryValidators = this.options.queries.map(function (query) { + return MutationSummary.createQueryValidator(_this.root, query); + }); + } + this.observer = new MutationObserverCtor(function (mutations) { + _this.observerCallback(mutations); + }); + this.reconnect(); + } + MutationSummary.createObserverOptions = function (queries) { + var observerOptions = { + childList: true, + subtree: true + }; + var attributeFilter; + function observeAttributes(attributes) { + if (observerOptions.attributes && !attributeFilter) + return; // already observing all. + observerOptions.attributes = true; + observerOptions.attributeOldValue = true; + if (!attributes) { + // observe all. + attributeFilter = undefined; + return; + } + // add to observed. + attributeFilter = attributeFilter || {}; + attributes.forEach(function (attribute) { + attributeFilter[attribute] = true; + attributeFilter[attribute.toLowerCase()] = true; + }); + } + queries.forEach(function (query) { + if (query.characterData) { + observerOptions.characterData = true; + observerOptions.characterDataOldValue = true; + return; + } + if (query.all) { + observeAttributes(); + observerOptions.characterData = true; + observerOptions.characterDataOldValue = true; + return; + } + if (query.attribute) { + observeAttributes([query.attribute.trim()]); + return; + } + var attributes = elementFilterAttributes(query.elementFilter).concat(query.attributeList || []); + if (attributes.length) + observeAttributes(attributes); + }); + if (attributeFilter) + observerOptions.attributeFilter = Object.keys(attributeFilter); + return observerOptions; + }; + MutationSummary.validateOptions = function (options) { + for (var prop in options) { + if (!(prop in MutationSummary.optionKeys)) + throw Error('Invalid option: ' + prop); + } + if (typeof options.callback !== 'function') + throw Error('Invalid options: callback is required and must be a function'); + if (!options.queries || !options.queries.length) + throw Error('Invalid options: queries must contain at least one query request object.'); + var opts = { + callback: options.callback, + rootNode: options.rootNode || document, + observeOwnChanges: !!options.observeOwnChanges, + oldPreviousSibling: !!options.oldPreviousSibling, + queries: [] + }; + for (var i = 0; i < options.queries.length; i++) { + var request = options.queries[i]; + // all + if (request.all) { + if (Object.keys(request).length > 1) + throw Error('Invalid request option. all has no options.'); + opts.queries.push({ all: true }); + continue; + } + // attribute + if ('attribute' in request) { + var query = { + attribute: validateAttribute(request.attribute) + }; + query.elementFilter = Selector.parseSelectors('*[' + query.attribute + ']'); + if (Object.keys(request).length > 1) + throw Error('Invalid request option. attribute has no options.'); + opts.queries.push(query); + continue; + } + // element + if ('element' in request) { + var requestOptionCount = Object.keys(request).length; + var query = { + element: request.element, + elementFilter: Selector.parseSelectors(request.element) + }; + if (request.hasOwnProperty('elementAttributes')) { + query.attributeList = validateElementAttributes(request.elementAttributes); + requestOptionCount--; + } + if (requestOptionCount > 1) + throw Error('Invalid request option. element only allows elementAttributes option.'); + opts.queries.push(query); + continue; + } + // characterData + if (request.characterData) { + if (Object.keys(request).length > 1) + throw Error('Invalid request option. characterData has no options.'); + opts.queries.push({ characterData: true }); + continue; + } + throw Error('Invalid request option. Unknown query request.'); + } + return opts; + }; + MutationSummary.prototype.createSummaries = function (mutations) { + if (!mutations || !mutations.length) + return []; + var projection = new MutationProjection(this.root, mutations, this.elementFilter, this.calcReordered, this.options.oldPreviousSibling); + var summaries = []; + for (var i = 0; i < this.options.queries.length; i++) { + summaries.push(new Summary(projection, this.options.queries[i])); + } + return summaries; + }; + MutationSummary.prototype.checkpointQueryValidators = function () { + this.queryValidators.forEach(function (validator) { + if (validator) + validator.recordPreviousState(); + }); + }; + MutationSummary.prototype.runQueryValidators = function (summaries) { + this.queryValidators.forEach(function (validator, index) { + if (validator) + validator.validate(summaries[index]); + }); + }; + MutationSummary.prototype.changesToReport = function (summaries) { + return summaries.some(function (summary) { + var summaryProps = ['added', 'removed', 'reordered', 'reparented', + 'valueChanged', 'characterDataChanged']; + if (summaryProps.some(function (prop) { return summary[prop] && summary[prop].length; })) + return true; + if (summary.attributeChanged) { + var attrNames = Object.keys(summary.attributeChanged); + var attrsChanged = attrNames.some(function (attrName) { + return !!summary.attributeChanged[attrName].length; + }); + if (attrsChanged) + return true; + } + return false; + }); + }; + MutationSummary.prototype.observerCallback = function (mutations) { + if (!this.options.observeOwnChanges) + this.observer.disconnect(); + var summaries = this.createSummaries(mutations); + this.runQueryValidators(summaries); + if (this.options.observeOwnChanges) + this.checkpointQueryValidators(); + if (this.changesToReport(summaries)) + this.callback(summaries); + // disconnect() may have been called during the callback. + if (!this.options.observeOwnChanges && this.connected) { + this.checkpointQueryValidators(); + this.observer.observe(this.root, this.observerOptions); + } + }; + MutationSummary.prototype.reconnect = function () { + if (this.connected) + throw Error('Already connected'); + this.observer.observe(this.root, this.observerOptions); + this.connected = true; + this.checkpointQueryValidators(); + }; + MutationSummary.prototype.takeSummaries = function () { + if (!this.connected) + throw Error('Not connected'); + var summaries = this.createSummaries(this.observer.takeRecords()); + return this.changesToReport(summaries) ? summaries : undefined; + }; + MutationSummary.prototype.disconnect = function () { + var summaries = this.takeSummaries(); + this.observer.disconnect(); + this.connected = false; + return summaries; + }; + MutationSummary.NodeMap = NodeMap; // exposed for use in TreeMirror. + MutationSummary.parseElementFilter = Selector.parseSelectors; // exposed for testing. + MutationSummary.optionKeys = { + 'callback': true, + 'queries': true, + 'rootNode': true, + 'oldPreviousSibling': true, + 'observeOwnChanges': true + }; + return MutationSummary; +}()); diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/src/mutation-summary.ts b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/src/mutation-summary.ts new file mode 100644 index 0000000..ee3a268 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/src/mutation-summary.ts @@ -0,0 +1,1750 @@ +// Copyright 2011 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +var MutationObserverCtor; +if (typeof WebKitMutationObserver !== 'undefined') + MutationObserverCtor = WebKitMutationObserver; +else + MutationObserverCtor = MutationObserver; + +if (MutationObserverCtor === undefined) { + console.error('DOM Mutation Observers are required.'); + console.error('https://developer.mozilla.org/en-US/docs/DOM/MutationObserver'); + throw Error('DOM Mutation Observers are required'); +} + +interface StringMap { + [key: string]: T; +} + +interface NumberMap { + [key: number]: T; +} + +class NodeMap { + + private static ID_PROP = '__mutation_summary_node_map_id__'; + private static nextId_:number = 1; + + private nodes:Node[]; + private values:T[]; + + constructor() { + this.nodes = []; + this.values = []; + } + + private isIndex(s:string):boolean { + return +s === s >>> 0; + } + + private nodeId(node:Node) { + var id = node[NodeMap.ID_PROP]; + if (!id) + id = node[NodeMap.ID_PROP] = NodeMap.nextId_++; + return id; + } + + set(node:Node, value:T) { + var id = this.nodeId(node); + this.nodes[id] = node; + this.values[id] = value; + } + + get(node:Node):T { + var id = this.nodeId(node); + return this.values[id]; + } + + has(node:Node):boolean { + return this.nodeId(node) in this.nodes; + } + + delete(node:Node) { + var id = this.nodeId(node); + delete this.nodes[id]; + this.values[id] = undefined; + } + + keys():Node[] { + var nodes:Node[] = []; + for (var id in this.nodes) { + if (!this.isIndex(id)) + continue; + nodes.push(this.nodes[id]); + } + + return nodes; + } +} + +/** + * var reachableMatchableProduct = [ + * // STAYED_OUT, ENTERED, STAYED_IN, EXITED + * [ STAYED_OUT, STAYED_OUT, STAYED_OUT, STAYED_OUT ], // STAYED_OUT + * [ STAYED_OUT, ENTERED, ENTERED, STAYED_OUT ], // ENTERED + * [ STAYED_OUT, ENTERED, STAYED_IN, EXITED ], // STAYED_IN + * [ STAYED_OUT, STAYED_OUT, EXITED, EXITED ] // EXITED + * ]; + */ + +enum Movement { + STAYED_OUT, + ENTERED, + STAYED_IN, + REPARENTED, + REORDERED, + EXITED +} + +function enteredOrExited(changeType:Movement):boolean { + return changeType === Movement.ENTERED || changeType === Movement.EXITED; +} + +class NodeChange { + + public isCaseInsensitive:boolean; + + constructor(public node:Node, + public childList:boolean = false, + public attributes:boolean = false, + public characterData:boolean = false, + public oldParentNode:Node = null, + public added:boolean = false, + private attributeOldValues:StringMap = null, + public characterDataOldValue:string = null) { + this.isCaseInsensitive = + this.node.nodeType === Node.ELEMENT_NODE && + this.node instanceof HTMLElement && + this.node.ownerDocument instanceof HTMLDocument; + } + + getAttributeOldValue(name:string):string { + if (!this.attributeOldValues) + return undefined; + if (this.isCaseInsensitive) + name = name.toLowerCase(); + return this.attributeOldValues[name]; + } + + getAttributeNamesMutated():string[] { + var names:string[] = []; + if (!this.attributeOldValues) + return names; + for (var name in this.attributeOldValues) { + names.push(name); + } + return names; + } + + attributeMutated(name:string, oldValue:string) { + this.attributes = true; + this.attributeOldValues = this.attributeOldValues || {}; + + if (name in this.attributeOldValues) + return; + + this.attributeOldValues[name] = oldValue; + } + + characterDataMutated(oldValue:string) { + if (this.characterData) + return; + this.characterData = true; + this.characterDataOldValue = oldValue; + } + + // Note: is it possible to receive a removal followed by a removal. This + // can occur if the removed node is added to an non-observed node, that + // node is added to the observed area, and then the node removed from + // it. + removedFromParent(parent:Node) { + this.childList = true; + if (this.added || this.oldParentNode) + this.added = false; + else + this.oldParentNode = parent; + } + + insertedIntoParent() { + this.childList = true; + this.added = true; + } + + // An node's oldParent is + // -its present parent, if its parentNode was not changed. + // -null if the first thing that happened to it was an add. + // -the node it was removed from if the first thing that happened to it + // was a remove. + getOldParent() { + if (this.childList) { + if (this.oldParentNode) + return this.oldParentNode; + if (this.added) + return null; + } + + return this.node.parentNode; + } +} + +class ChildListChange { + + public added:NodeMap; + public removed:NodeMap; + public maybeMoved:NodeMap; + public oldPrevious:NodeMap; + public moved:NodeMap; + + constructor() { + this.added = new NodeMap(); + this.removed = new NodeMap(); + this.maybeMoved = new NodeMap(); + this.oldPrevious = new NodeMap(); + this.moved = undefined; + } +} + +class TreeChanges extends NodeMap { + + public anyParentsChanged:boolean; + public anyAttributesChanged:boolean; + public anyCharacterDataChanged:boolean; + + private reachableCache:NodeMap; + private wasReachableCache:NodeMap; + + private rootNode:Node; + + constructor(rootNode:Node, mutations:MutationRecord[]) { + super(); + + this.rootNode = rootNode; + this.reachableCache = undefined; + this.wasReachableCache = undefined; + this.anyParentsChanged = false; + this.anyAttributesChanged = false; + this.anyCharacterDataChanged = false; + + for (var m = 0; m < mutations.length; m++) { + var mutation = mutations[m]; + switch (mutation.type) { + + case 'childList': + this.anyParentsChanged = true; + for (var i = 0; i < mutation.removedNodes.length; i++) { + var node = mutation.removedNodes[i]; + this.getChange(node).removedFromParent(mutation.target); + } + for (var i = 0; i < mutation.addedNodes.length; i++) { + var node = mutation.addedNodes[i]; + this.getChange(node).insertedIntoParent(); + } + break; + + case 'attributes': + this.anyAttributesChanged = true; + var change = this.getChange(mutation.target); + change.attributeMutated(mutation.attributeName, mutation.oldValue); + break; + + case 'characterData': + this.anyCharacterDataChanged = true; + var change = this.getChange(mutation.target); + change.characterDataMutated(mutation.oldValue); + break; + } + } + } + + getChange(node:Node):NodeChange { + var change = this.get(node); + if (!change) { + change = new NodeChange(node); + this.set(node, change); + } + return change; + } + + getOldParent(node:Node):Node { + var change = this.get(node); + return change ? change.getOldParent() : node.parentNode; + } + + getIsReachable(node:Node):boolean { + if (node === this.rootNode) + return true; + if (!node) + return false; + + this.reachableCache = this.reachableCache || new NodeMap(); + var isReachable = this.reachableCache.get(node); + if (isReachable === undefined) { + isReachable = this.getIsReachable(node.parentNode); + this.reachableCache.set(node, isReachable); + } + return isReachable; + } + + // A node wasReachable if its oldParent wasReachable. + getWasReachable(node:Node):boolean { + if (node === this.rootNode) + return true; + if (!node) + return false; + + this.wasReachableCache = this.wasReachableCache || new NodeMap(); + var wasReachable:boolean = this.wasReachableCache.get(node); + if (wasReachable === undefined) { + wasReachable = this.getWasReachable(this.getOldParent(node)); + this.wasReachableCache.set(node, wasReachable); + } + return wasReachable; + } + + reachabilityChange(node:Node):Movement { + if (this.getIsReachable(node)) { + return this.getWasReachable(node) ? + Movement.STAYED_IN : Movement.ENTERED; + } + + return this.getWasReachable(node) ? + Movement.EXITED : Movement.STAYED_OUT; + } +} + +class MutationProjection { + + private treeChanges:TreeChanges; + private entered:Node[]; + private exited:Node[]; + private stayedIn:NodeMap; + private visited:NodeMap; + private childListChangeMap:NodeMap; + private characterDataOnly:boolean; + private matchCache:NumberMap>; + + // TOOD(any) + constructor(public rootNode:Node, + public mutations:MutationRecord[], + public selectors:Selector[], + public calcReordered:boolean, + public calcOldPreviousSibling:boolean) { + + this.treeChanges = new TreeChanges(rootNode, mutations); + this.entered = []; + this.exited = []; + this.stayedIn = new NodeMap(); + this.visited = new NodeMap(); + this.childListChangeMap = undefined; + this.characterDataOnly = undefined; + this.matchCache = undefined; + + this.processMutations(); + } + + processMutations() { + if (!this.treeChanges.anyParentsChanged && + !this.treeChanges.anyAttributesChanged) + return; + + var changedNodes:Node[] = this.treeChanges.keys(); + for (var i = 0; i < changedNodes.length; i++) { + this.visitNode(changedNodes[i], undefined); + } + } + + visitNode(node:Node, parentReachable:Movement) { + if (this.visited.has(node)) + return; + + this.visited.set(node, true); + + var change = this.treeChanges.get(node); + var reachable = parentReachable; + + // node inherits its parent's reachability change unless + // its parentNode was mutated. + if ((change && change.childList) || reachable == undefined) + reachable = this.treeChanges.reachabilityChange(node); + + if (reachable === Movement.STAYED_OUT) + return; + + // Cache match results for sub-patterns. + this.matchabilityChange(node); + + if (reachable === Movement.ENTERED) { + this.entered.push(node); + } else if (reachable === Movement.EXITED) { + this.exited.push(node); + this.ensureHasOldPreviousSiblingIfNeeded(node); + + } else if (reachable === Movement.STAYED_IN) { + var movement = Movement.STAYED_IN; + + if (change && change.childList) { + if (change.oldParentNode !== node.parentNode) { + movement = Movement.REPARENTED; + this.ensureHasOldPreviousSiblingIfNeeded(node); + } else if (this.calcReordered && this.wasReordered(node)) { + movement = Movement.REORDERED; + } + } + + this.stayedIn.set(node, movement); + } + + if (reachable === Movement.STAYED_IN) + return; + + // reachable === ENTERED || reachable === EXITED. + for (var child = node.firstChild; child; child = child.nextSibling) { + this.visitNode(child, reachable); + } + } + + ensureHasOldPreviousSiblingIfNeeded(node:Node) { + if (!this.calcOldPreviousSibling) + return; + + this.processChildlistChanges(); + + var parentNode = node.parentNode; + var nodeChange = this.treeChanges.get(node); + if (nodeChange && nodeChange.oldParentNode) + parentNode = nodeChange.oldParentNode; + + var change = this.childListChangeMap.get(parentNode); + if (!change) { + change = new ChildListChange(); + this.childListChangeMap.set(parentNode, change); + } + + if (!change.oldPrevious.has(node)) { + change.oldPrevious.set(node, node.previousSibling); + } + } + + getChanged(summary:Summary, selectors:Selector[], characterDataOnly:boolean) { + this.selectors = selectors; + this.characterDataOnly = characterDataOnly; + + for (var i = 0; i < this.entered.length; i++) { + var node = this.entered[i]; + var matchable = this.matchabilityChange(node); + if (matchable === Movement.ENTERED || matchable === Movement.STAYED_IN) + summary.added.push(node); + } + + var stayedInNodes = this.stayedIn.keys(); + for (var i = 0; i < stayedInNodes.length; i++) { + var node = stayedInNodes[i]; + var matchable = this.matchabilityChange(node); + + if (matchable === Movement.ENTERED) { + summary.added.push(node); + } else if (matchable === Movement.EXITED) { + summary.removed.push(node); + } else if (matchable === Movement.STAYED_IN && (summary.reparented || summary.reordered)) { + var movement:Movement = this.stayedIn.get(node); + if (summary.reparented && movement === Movement.REPARENTED) + summary.reparented.push(node); + else if (summary.reordered && movement === Movement.REORDERED) + summary.reordered.push(node); + } + } + + for (var i = 0; i < this.exited.length; i++) { + var node = this.exited[i]; + var matchable = this.matchabilityChange(node); + if (matchable === Movement.EXITED || matchable === Movement.STAYED_IN) + summary.removed.push(node); + } + } + + getOldParentNode(node:Node):Node { + var change = this.treeChanges.get(node); + if (change && change.childList) + return change.oldParentNode ? change.oldParentNode : null; + + var reachabilityChange = this.treeChanges.reachabilityChange(node); + if (reachabilityChange === Movement.STAYED_OUT || reachabilityChange === Movement.ENTERED) + throw Error('getOldParentNode requested on invalid node.'); + + return node.parentNode; + } + + getOldPreviousSibling(node:Node):Node { + var parentNode = node.parentNode; + var nodeChange = this.treeChanges.get(node); + if (nodeChange && nodeChange.oldParentNode) + parentNode = nodeChange.oldParentNode; + + var change = this.childListChangeMap.get(parentNode); + if (!change) + throw Error('getOldPreviousSibling requested on invalid node.'); + + return change.oldPrevious.get(node); + } + + getOldAttribute(element:Node, attrName:string):string { + var change = this.treeChanges.get(element); + if (!change || !change.attributes) + throw Error('getOldAttribute requested on invalid node.'); + + var value = change.getAttributeOldValue(attrName); + if (value === undefined) + throw Error('getOldAttribute requested for unchanged attribute name.'); + + return value; + } + + attributeChangedNodes(includeAttributes:string[]):StringMap { + if (!this.treeChanges.anyAttributesChanged) + return {}; // No attributes mutations occurred. + + var attributeFilter:StringMap; + var caseInsensitiveFilter:StringMap; + if (includeAttributes) { + attributeFilter = {}; + caseInsensitiveFilter = {}; + for (var i = 0; i < includeAttributes.length; i++) { + var attrName:string = includeAttributes[i]; + attributeFilter[attrName] = true; + caseInsensitiveFilter[attrName.toLowerCase()] = attrName; + } + } + + var result:StringMap = {}; + var nodes = this.treeChanges.keys(); + + for (var i = 0; i < nodes.length; i++) { + var node = nodes[i]; + + var change = this.treeChanges.get(node); + if (!change.attributes) + continue; + + if (Movement.STAYED_IN !== this.treeChanges.reachabilityChange(node) || + Movement.STAYED_IN !== this.matchabilityChange(node)) { + continue; + } + + var element = node; + var changedAttrNames = change.getAttributeNamesMutated(); + for (var j = 0; j < changedAttrNames.length; j++) { + var attrName = changedAttrNames[j]; + + if (attributeFilter && + !attributeFilter[attrName] && + !(change.isCaseInsensitive && caseInsensitiveFilter[attrName])) { + continue; + } + + var oldValue = change.getAttributeOldValue(attrName); + if (oldValue === element.getAttribute(attrName)) + continue; + + if (caseInsensitiveFilter && change.isCaseInsensitive) + attrName = caseInsensitiveFilter[attrName]; + + result[attrName] = result[attrName] || []; + result[attrName].push(element); + } + } + + return result; + } + + getOldCharacterData(node:Node):string { + var change = this.treeChanges.get(node); + if (!change || !change.characterData) + throw Error('getOldCharacterData requested on invalid node.'); + + return change.characterDataOldValue; + } + + getCharacterDataChanged():Node[] { + if (!this.treeChanges.anyCharacterDataChanged) + return []; // No characterData mutations occurred. + + var nodes = this.treeChanges.keys(); + var result:Node[] = []; + for (var i = 0; i < nodes.length; i++) { + var target = nodes[i]; + if (Movement.STAYED_IN !== this.treeChanges.reachabilityChange(target)) + continue; + + var change = this.treeChanges.get(target); + if (!change.characterData || + target.textContent == change.characterDataOldValue) + continue + + result.push(target); + } + + return result; + } + + computeMatchabilityChange(selector:Selector, el:Element):Movement { + if (!this.matchCache) + this.matchCache = []; + if (!this.matchCache[selector.uid]) + this.matchCache[selector.uid] = new NodeMap(); + + var cache = this.matchCache[selector.uid]; + var result = cache.get(el); + if (result === undefined) { + result = selector.matchabilityChange(el, this.treeChanges.get(el)); + cache.set(el, result); + } + return result; + } + + matchabilityChange(node:Node) { + // TODO(rafaelw): Include PI, CDATA? + // Only include text nodes. + if (this.characterDataOnly) { + switch (node.nodeType) { + case Node.COMMENT_NODE: + case Node.TEXT_NODE: + return Movement.STAYED_IN; + default: + return Movement.STAYED_OUT; + } + } + + // No element filter. Include all nodes. + if (!this.selectors) + return Movement.STAYED_IN; + + // Element filter. Exclude non-elements. + if (node.nodeType !== Node.ELEMENT_NODE) + return Movement.STAYED_OUT; + + var el = node; + + var matchChanges = this.selectors.map((selector:Selector) => { + return this.computeMatchabilityChange(selector, el); + }); + + var accum:Movement = Movement.STAYED_OUT; + var i = 0; + + while (accum !== Movement.STAYED_IN && i < matchChanges.length) { + switch(matchChanges[i]) { + case Movement.STAYED_IN: + accum = Movement.STAYED_IN; + break; + case Movement.ENTERED: + if (accum === Movement.EXITED) + accum = Movement.STAYED_IN; + else + accum = Movement.ENTERED; + break; + case Movement.EXITED: + if (accum === Movement.ENTERED) + accum = Movement.STAYED_IN; + else + accum = Movement.EXITED; + break; + } + + i++; + } + + return accum; + } + + getChildlistChange(el:Element):ChildListChange { + var change = this.childListChangeMap.get(el); + if (!change) { + change = new ChildListChange(); + this.childListChangeMap.set(el, change); + } + + return change; + } + + processChildlistChanges() { + if (this.childListChangeMap) + return; + + this.childListChangeMap = new NodeMap(); + + for (var i = 0; i < this.mutations.length; i++) { + var mutation = this.mutations[i]; + if (mutation.type != 'childList') + continue; + + if (this.treeChanges.reachabilityChange(mutation.target) !== Movement.STAYED_IN && + !this.calcOldPreviousSibling) + continue; + + var change = this.getChildlistChange(mutation.target); + + var oldPrevious = mutation.previousSibling; + + function recordOldPrevious(node:Node, previous:Node) { + if (!node || + change.oldPrevious.has(node) || + change.added.has(node) || + change.maybeMoved.has(node)) + return; + + if (previous && + (change.added.has(previous) || + change.maybeMoved.has(previous))) + return; + + change.oldPrevious.set(node, previous); + } + + for (var j = 0; j < mutation.removedNodes.length; j++) { + var node = mutation.removedNodes[j]; + recordOldPrevious(node, oldPrevious); + + if (change.added.has(node)) { + change.added.delete(node); + } else { + change.removed.set(node, true); + change.maybeMoved.delete(node); + } + + oldPrevious = node; + } + + recordOldPrevious(mutation.nextSibling, oldPrevious); + + for (var j = 0; j < mutation.addedNodes.length; j++) { + var node = mutation.addedNodes[j]; + if (change.removed.has(node)) { + change.removed.delete(node); + change.maybeMoved.set(node, true); + } else { + change.added.set(node, true); + } + } + } + } + + wasReordered(node:Node) { + if (!this.treeChanges.anyParentsChanged) + return false; + + this.processChildlistChanges(); + + var parentNode = node.parentNode; + var nodeChange = this.treeChanges.get(node); + if (nodeChange && nodeChange.oldParentNode) + parentNode = nodeChange.oldParentNode; + + var change = this.childListChangeMap.get(parentNode); + if (!change) + return false; + + if (change.moved) + return change.moved.get(node); + + change.moved = new NodeMap(); + var pendingMoveDecision = new NodeMap(); + + function isMoved(node:Node) { + if (!node) + return false; + if (!change.maybeMoved.has(node)) + return false; + + var didMove = change.moved.get(node); + if (didMove !== undefined) + return didMove; + + if (pendingMoveDecision.has(node)) { + didMove = true; + } else { + pendingMoveDecision.set(node, true); + didMove = getPrevious(node) !== getOldPrevious(node); + } + + if (pendingMoveDecision.has(node)) { + pendingMoveDecision.delete(node); + change.moved.set(node, didMove); + } else { + didMove = change.moved.get(node); + } + + return didMove; + } + + var oldPreviousCache = new NodeMap(); + function getOldPrevious(node:Node):Node { + var oldPrevious = oldPreviousCache.get(node); + if (oldPrevious !== undefined) + return oldPrevious; + + oldPrevious = change.oldPrevious.get(node); + while (oldPrevious && + (change.removed.has(oldPrevious) || isMoved(oldPrevious))) { + oldPrevious = getOldPrevious(oldPrevious); + } + + if (oldPrevious === undefined) + oldPrevious = node.previousSibling; + oldPreviousCache.set(node, oldPrevious); + + return oldPrevious; + } + + var previousCache = new NodeMap(); + function getPrevious(node:Node):Node { + if (previousCache.has(node)) + return previousCache.get(node); + + var previous = node.previousSibling; + while (previous && (change.added.has(previous) || isMoved(previous))) + previous = previous.previousSibling; + + previousCache.set(node, previous); + return previous; + } + + change.maybeMoved.keys().forEach(isMoved); + return change.moved.get(node); + } +} + +class Summary { + public added:Node[]; + public removed:Node[]; + public reparented:Node[]; + public reordered:Node[]; + public valueChanged:Node[]; + public attributeChanged:StringMap; + public characterDataChanged:Node[]; + + constructor(private projection:MutationProjection, query:Query) { + this.added = []; + this.removed = []; + this.reparented = query.all || query.element || query.characterData ? [] : undefined; + this.reordered = query.all ? [] : undefined; + + projection.getChanged(this, query.elementFilter, query.characterData); + + if (query.all || query.attribute || query.attributeList) { + var filter = query.attribute ? [ query.attribute ] : query.attributeList; + var attributeChanged = projection.attributeChangedNodes(filter); + + if (query.attribute) { + this.valueChanged = attributeChanged[query.attribute] || []; + } else { + this.attributeChanged = attributeChanged; + if (query.attributeList) { + query.attributeList.forEach((attrName) => { + if (!this.attributeChanged.hasOwnProperty(attrName)) + this.attributeChanged[attrName] = []; + }); + } + } + } + + if (query.all || query.characterData) { + var characterDataChanged = projection.getCharacterDataChanged() + + if (query.characterData) + this.valueChanged = characterDataChanged; + else + this.characterDataChanged = characterDataChanged; + } + + if (this.reordered) + this.getOldPreviousSibling = projection.getOldPreviousSibling.bind(projection); + } + + getOldParentNode(node:Node):Node { + return this.projection.getOldParentNode(node); + } + + getOldAttribute(node:Node, name: string):string { + return this.projection.getOldAttribute(node, name); + } + + getOldCharacterData(node:Node):string { + return this.projection.getOldCharacterData(node); + } + + getOldPreviousSibling(node:Node):Node { + return this.projection.getOldPreviousSibling(node); + } +} + +// TODO(rafaelw): Allow ':' and '.' as valid name characters. +var validNameInitialChar = /[a-zA-Z_]+/; +var validNameNonInitialChar = /[a-zA-Z0-9_\-]+/; + +// TODO(rafaelw): Consider allowing backslash in the attrValue. +// TODO(rafaelw): There's got a to be way to represent this state machine +// more compactly??? + +function escapeQuotes(value:string):string { + return '"' + value.replace(/"/, '\\\"') + '"'; +} + +class Qualifier { + public attrName:string; + public attrValue:string; + public contains:boolean; + + constructor() {} + + public matches(oldValue:string):boolean { + if (oldValue === null) + return false; + + if (this.attrValue === undefined) + return true; + + if (!this.contains) + return this.attrValue == oldValue; + + var tokens = oldValue.split(' '); + for (var i = 0; i < tokens.length; i++) { + if (this.attrValue === tokens[i]) + return true; + } + + return false; + } + + public toString():string { + if (this.attrName === 'class' && this.contains) + return '.' + this.attrValue; + + if (this.attrName === 'id' && !this.contains) + return '#' + this.attrValue; + + if (this.contains) + return '[' + this.attrName + '~=' + escapeQuotes(this.attrValue) + ']'; + + if ('attrValue' in this) + return '[' + this.attrName + '=' + escapeQuotes(this.attrValue) + ']'; + + return '[' + this.attrName + ']'; + } +} + +class Selector { + private static nextUid:number = 1; + private static matchesSelector:string = (function(){ + var element = document.createElement('div'); + if (typeof element['webkitMatchesSelector'] === 'function') + return 'webkitMatchesSelector'; + if (typeof element['mozMatchesSelector'] === 'function') + return 'mozMatchesSelector'; + if (typeof element['msMatchesSelector'] === 'function') + return 'msMatchesSelector'; + + return 'matchesSelector'; + })(); + + public tagName:string; + public qualifiers:Qualifier[]; + public uid:number; + + private get caseInsensitiveTagName():string { + return this.tagName.toUpperCase(); + } + + get selectorString() { + return this.tagName + this.qualifiers.join(''); + } + + constructor() { + this.uid = Selector.nextUid++; + this.qualifiers = []; + } + + private isMatching(el:Element):boolean { + return el[Selector.matchesSelector](this.selectorString); + } + + private wasMatching(el:Element, change:NodeChange, isMatching:boolean):boolean { + if (!change || !change.attributes) + return isMatching; + + var tagName = change.isCaseInsensitive ? this.caseInsensitiveTagName : this.tagName; + if (tagName !== '*' && tagName !== el.tagName) + return false; + + var attributeOldValues:string[] = []; + var anyChanged = false; + for (var i = 0; i < this.qualifiers.length; i++) { + var qualifier = this.qualifiers[i]; + var oldValue = change.getAttributeOldValue(qualifier.attrName); + attributeOldValues.push(oldValue); + anyChanged = anyChanged || (oldValue !== undefined); + } + + if (!anyChanged) + return isMatching; + + for (var i = 0; i < this.qualifiers.length; i++) { + var qualifier = this.qualifiers[i]; + var oldValue = attributeOldValues[i]; + if (oldValue === undefined) + oldValue = el.getAttribute(qualifier.attrName); + if (!qualifier.matches(oldValue)) + return false; + } + + return true; + } + + public matchabilityChange(el:Element, change:NodeChange):Movement { + var isMatching = this.isMatching(el); + if (isMatching) + return this.wasMatching(el, change, isMatching) ? Movement.STAYED_IN : Movement.ENTERED; + else + return this.wasMatching(el, change, isMatching) ? Movement.EXITED : Movement.STAYED_OUT; + } + + public static parseSelectors(input:string):Selector[] { + var selectors:Selector[] = []; + var currentSelector:Selector; + var currentQualifier:Qualifier; + + function newSelector() { + if (currentSelector) { + if (currentQualifier) { + currentSelector.qualifiers.push(currentQualifier); + currentQualifier = undefined; + } + + selectors.push(currentSelector); + } + currentSelector = new Selector(); + } + + function newQualifier() { + if (currentQualifier) + currentSelector.qualifiers.push(currentQualifier); + + currentQualifier = new Qualifier(); + } + + var WHITESPACE = /\s/; + var valueQuoteChar:string; + var SYNTAX_ERROR = 'Invalid or unsupported selector syntax.'; + + var SELECTOR = 1; + var TAG_NAME = 2; + var QUALIFIER = 3; + var QUALIFIER_NAME_FIRST_CHAR = 4; + var QUALIFIER_NAME = 5; + var ATTR_NAME_FIRST_CHAR = 6; + var ATTR_NAME = 7; + var EQUIV_OR_ATTR_QUAL_END = 8; + var EQUAL = 9; + var ATTR_QUAL_END = 10; + var VALUE_FIRST_CHAR = 11; + var VALUE = 12; + var QUOTED_VALUE = 13; + var SELECTOR_SEPARATOR = 14; + + var state = SELECTOR; + var i = 0; + while (i < input.length) { + var c = input[i++]; + + switch (state) { + case SELECTOR: + if (c.match(validNameInitialChar)) { + newSelector(); + currentSelector.tagName = c; + state = TAG_NAME; + break; + } + + if (c == '*') { + newSelector(); + currentSelector.tagName = '*'; + state = QUALIFIER; + break; + } + + if (c == '.') { + newSelector(); + newQualifier(); + currentSelector.tagName = '*'; + currentQualifier.attrName = 'class'; + currentQualifier.contains = true; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '#') { + newSelector(); + newQualifier(); + currentSelector.tagName = '*'; + currentQualifier.attrName = 'id'; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '[') { + newSelector(); + newQualifier(); + currentSelector.tagName = '*'; + currentQualifier.attrName = ''; + state = ATTR_NAME_FIRST_CHAR; + break; + } + + if (c.match(WHITESPACE)) + break; + + throw Error(SYNTAX_ERROR); + + case TAG_NAME: + if (c.match(validNameNonInitialChar)) { + currentSelector.tagName += c; + break; + } + + if (c == '.') { + newQualifier(); + currentQualifier.attrName = 'class'; + currentQualifier.contains = true; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '#') { + newQualifier(); + currentQualifier.attrName = 'id'; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '[') { + newQualifier(); + currentQualifier.attrName = ''; + state = ATTR_NAME_FIRST_CHAR; + break; + } + + if (c.match(WHITESPACE)) { + state = SELECTOR_SEPARATOR; + break; + } + + if (c == ',') { + state = SELECTOR; + break; + } + + throw Error(SYNTAX_ERROR); + + case QUALIFIER: + if (c == '.') { + newQualifier(); + currentQualifier.attrName = 'class'; + currentQualifier.contains = true; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '#') { + newQualifier(); + currentQualifier.attrName = 'id'; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '[') { + newQualifier(); + currentQualifier.attrName = ''; + state = ATTR_NAME_FIRST_CHAR; + break; + } + + if (c.match(WHITESPACE)) { + state = SELECTOR_SEPARATOR; + break; + } + + if (c == ',') { + state = SELECTOR; + break; + } + + throw Error(SYNTAX_ERROR); + + case QUALIFIER_NAME_FIRST_CHAR: + if (c.match(validNameInitialChar)) { + currentQualifier.attrValue = c; + state = QUALIFIER_NAME; + break; + } + + throw Error(SYNTAX_ERROR); + + case QUALIFIER_NAME: + if (c.match(validNameNonInitialChar)) { + currentQualifier.attrValue += c; + break; + } + + if (c == '.') { + newQualifier(); + currentQualifier.attrName = 'class'; + currentQualifier.contains = true; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '#') { + newQualifier(); + currentQualifier.attrName = 'id'; + state = QUALIFIER_NAME_FIRST_CHAR; + break; + } + if (c == '[') { + newQualifier(); + state = ATTR_NAME_FIRST_CHAR; + break; + } + + if (c.match(WHITESPACE)) { + state = SELECTOR_SEPARATOR; + break; + } + if (c == ',') { + state = SELECTOR; + break + } + + throw Error(SYNTAX_ERROR); + + case ATTR_NAME_FIRST_CHAR: + if (c.match(validNameInitialChar)) { + currentQualifier.attrName = c; + state = ATTR_NAME; + break; + } + + if (c.match(WHITESPACE)) + break; + + throw Error(SYNTAX_ERROR); + + case ATTR_NAME: + if (c.match(validNameNonInitialChar)) { + currentQualifier.attrName += c; + break; + } + + if (c.match(WHITESPACE)) { + state = EQUIV_OR_ATTR_QUAL_END; + break; + } + + if (c == '~') { + currentQualifier.contains = true; + state = EQUAL; + break; + } + + if (c == '=') { + currentQualifier.attrValue = ''; + state = VALUE_FIRST_CHAR; + break; + } + + if (c == ']') { + state = QUALIFIER; + break; + } + + throw Error(SYNTAX_ERROR); + + case EQUIV_OR_ATTR_QUAL_END: + if (c == '~') { + currentQualifier.contains = true; + state = EQUAL; + break; + } + + if (c == '=') { + currentQualifier.attrValue = ''; + state = VALUE_FIRST_CHAR; + break; + } + + if (c == ']') { + state = QUALIFIER; + break; + } + + if (c.match(WHITESPACE)) + break; + + throw Error(SYNTAX_ERROR); + + case EQUAL: + if (c == '=') { + currentQualifier.attrValue = ''; + state = VALUE_FIRST_CHAR + break; + } + + throw Error(SYNTAX_ERROR); + + case ATTR_QUAL_END: + if (c == ']') { + state = QUALIFIER; + break; + } + + if (c.match(WHITESPACE)) + break; + + throw Error(SYNTAX_ERROR); + + case VALUE_FIRST_CHAR: + if (c.match(WHITESPACE)) + break; + + if (c == '"' || c == "'") { + valueQuoteChar = c; + state = QUOTED_VALUE; + break; + } + + currentQualifier.attrValue += c; + state = VALUE; + break; + + case VALUE: + if (c.match(WHITESPACE)) { + state = ATTR_QUAL_END; + break; + } + if (c == ']') { + state = QUALIFIER; + break; + } + if (c == "'" || c == '"') + throw Error(SYNTAX_ERROR); + + currentQualifier.attrValue += c; + break; + + case QUOTED_VALUE: + if (c == valueQuoteChar) { + state = ATTR_QUAL_END; + break; + } + + currentQualifier.attrValue += c; + break; + + case SELECTOR_SEPARATOR: + if (c.match(WHITESPACE)) + break; + + if (c == ',') { + state = SELECTOR; + break + } + + throw Error(SYNTAX_ERROR); + } + } + + switch (state) { + case SELECTOR: + case TAG_NAME: + case QUALIFIER: + case QUALIFIER_NAME: + case SELECTOR_SEPARATOR: + // Valid end states. + newSelector(); + break; + default: + throw Error(SYNTAX_ERROR); + } + + if (!selectors.length) + throw Error(SYNTAX_ERROR); + + return selectors; + } +} + +var attributeFilterPattern = /^([a-zA-Z:_]+[a-zA-Z0-9_\-:\.]*)$/; + +function validateAttribute(attribute:string) { + if (typeof attribute != 'string') + throw Error('Invalid request opion. attribute must be a non-zero length string.'); + + attribute = attribute.trim(); + + if (!attribute) + throw Error('Invalid request opion. attribute must be a non-zero length string.'); + + + if (!attribute.match(attributeFilterPattern)) + throw Error('Invalid request option. invalid attribute name: ' + attribute); + + return attribute; +} + +function validateElementAttributes(attribs:string):string[] { + if (!attribs.trim().length) + throw Error('Invalid request option: elementAttributes must contain at least one attribute.'); + + var lowerAttributes = {}; + var attributes = {}; + + var tokens = attribs.split(/\s+/); + for (var i = 0; i < tokens.length; i++) { + var name = tokens[i]; + if (!name) + continue; + + var name = validateAttribute(name); + var nameLower = name.toLowerCase(); + if (lowerAttributes[nameLower]) + throw Error('Invalid request option: observing multiple case variations of the same attribute is not supported.'); + + attributes[name] = true; + lowerAttributes[nameLower] = true; + } + + return Object.keys(attributes); +} + + + +function elementFilterAttributes(selectors:Selector[]):string[] { + var attributes:StringMap = {}; + + selectors.forEach((selector) => { + selector.qualifiers.forEach((qualifier) => { + attributes[qualifier.attrName] = true; + }); + }); + + return Object.keys(attributes); +} + +interface Query { + element?:string; + attribute?:string; + all?:boolean; + characterData?:boolean; + elementAttributes?:string; + attributeList?:string[]; + elementFilter?:Selector[]; +} + +interface Options { + callback:(summaries:Summary[]) => any; + queries: Query[]; + rootNode?:Node; + oldPreviousSibling?:boolean; + observeOwnChanges?:boolean; +} + +class MutationSummary { + + public static NodeMap = NodeMap; // exposed for use in TreeMirror. + public static parseElementFilter = Selector.parseSelectors; // exposed for testing. + + public static createQueryValidator:(root:Node, query:Query)=>any; + private connected:boolean; + private options:Options; + private observer:MutationObserver; + private observerOptions:MutationObserverInit; + private root:Node; + private callback:(summaries:Summary[])=>any; + private elementFilter:Selector[]; + private calcReordered:boolean; + private queryValidators:any[]; + + private static optionKeys:StringMap = { + 'callback': true, // required + 'queries': true, // required + 'rootNode': true, + 'oldPreviousSibling': true, + 'observeOwnChanges': true + }; + + private static createObserverOptions(queries:Query[]):MutationObserverInit { + var observerOptions:MutationObserverInit = { + childList: true, + subtree: true + }; + + var attributeFilter:StringMap; + function observeAttributes(attributes?:string[]) { + if (observerOptions.attributes && !attributeFilter) + return; // already observing all. + + observerOptions.attributes = true; + observerOptions.attributeOldValue = true; + + if (!attributes) { + // observe all. + attributeFilter = undefined; + return; + } + + // add to observed. + attributeFilter = attributeFilter || {}; + attributes.forEach((attribute) => { + attributeFilter[attribute] = true; + attributeFilter[attribute.toLowerCase()] = true; + }); + } + + queries.forEach((query) => { + if (query.characterData) { + observerOptions.characterData = true; + observerOptions.characterDataOldValue = true; + return; + } + + if (query.all) { + observeAttributes(); + observerOptions.characterData = true; + observerOptions.characterDataOldValue = true; + return; + } + + if (query.attribute) { + observeAttributes([query.attribute.trim()]); + return; + } + + var attributes = elementFilterAttributes(query.elementFilter).concat(query.attributeList || []); + if (attributes.length) + observeAttributes(attributes); + }); + + if (attributeFilter) + observerOptions.attributeFilter = Object.keys(attributeFilter); + + return observerOptions; + } + + private static validateOptions(options:Options):Options { + for (var prop in options) { + if (!(prop in MutationSummary.optionKeys)) + throw Error('Invalid option: ' + prop); + } + + if (typeof options.callback !== 'function') + throw Error('Invalid options: callback is required and must be a function'); + + if (!options.queries || !options.queries.length) + throw Error('Invalid options: queries must contain at least one query request object.'); + + var opts:Options = { + callback: options.callback, + rootNode: options.rootNode || document, + observeOwnChanges: !!options.observeOwnChanges, + oldPreviousSibling: !!options.oldPreviousSibling, + queries: [] + }; + + for (var i = 0; i < options.queries.length; i++) { + var request = options.queries[i]; + + // all + if (request.all) { + if (Object.keys(request).length > 1) + throw Error('Invalid request option. all has no options.'); + + opts.queries.push({all: true}); + continue; + } + + // attribute + if ('attribute' in request) { + var query:Query = { + attribute: validateAttribute(request.attribute) + }; + + query.elementFilter = Selector.parseSelectors('*[' + query.attribute + ']'); + + if (Object.keys(request).length > 1) + throw Error('Invalid request option. attribute has no options.'); + + opts.queries.push(query); + continue; + } + + // element + if ('element' in request) { + var requestOptionCount = Object.keys(request).length; + var query:Query = { + element: request.element, + elementFilter: Selector.parseSelectors(request.element) + }; + + if (request.hasOwnProperty('elementAttributes')) { + query.attributeList = validateElementAttributes(request.elementAttributes); + requestOptionCount--; + } + + if (requestOptionCount > 1) + throw Error('Invalid request option. element only allows elementAttributes option.'); + + opts.queries.push(query); + continue; + } + + // characterData + if (request.characterData) { + if (Object.keys(request).length > 1) + throw Error('Invalid request option. characterData has no options.'); + + opts.queries.push({ characterData: true }); + continue; + } + + throw Error('Invalid request option. Unknown query request.'); + } + + return opts; + } + + private createSummaries(mutations:MutationRecord[]):Summary[] { + if (!mutations || !mutations.length) + return []; + + var projection = new MutationProjection(this.root, mutations, this.elementFilter, this.calcReordered, this.options.oldPreviousSibling); + + var summaries:Summary[] = []; + for (var i = 0; i < this.options.queries.length; i++) { + summaries.push(new Summary(projection, this.options.queries[i])); + } + + return summaries; + } + + private checkpointQueryValidators() { + this.queryValidators.forEach((validator) => { + if (validator) + validator.recordPreviousState(); + }); + } + + private runQueryValidators(summaries:Summary[]) { + this.queryValidators.forEach((validator, index) => { + if (validator) + validator.validate(summaries[index]); + }); + } + + private changesToReport(summaries:Summary[]):boolean { + return summaries.some((summary) => { + var summaryProps = ['added', 'removed', 'reordered', 'reparented', + 'valueChanged', 'characterDataChanged']; + if (summaryProps.some(function(prop) { return summary[prop] && summary[prop].length; })) + return true; + + if (summary.attributeChanged) { + var attrNames = Object.keys(summary.attributeChanged); + var attrsChanged = attrNames.some((attrName) => { + return !!summary.attributeChanged[attrName].length + }); + if (attrsChanged) + return true; + } + return false; + }); + } + + constructor(opts:Options) { + this.connected = false; + this.options = MutationSummary.validateOptions(opts); + this.observerOptions = MutationSummary.createObserverOptions(this.options.queries); + this.root = this.options.rootNode; + this.callback = this.options.callback; + + this.elementFilter = Array.prototype.concat.apply([], this.options.queries.map((query) => { + return query.elementFilter ? query.elementFilter : []; + })); + if (!this.elementFilter.length) + this.elementFilter = undefined; + + this.calcReordered = this.options.queries.some((query) => { + return query.all; + }); + + this.queryValidators = []; // TODO(rafaelw): Shouldn't always define this. + if (MutationSummary.createQueryValidator) { + this.queryValidators = this.options.queries.map((query) => { + return MutationSummary.createQueryValidator(this.root, query); + }); + } + + this.observer = new MutationObserverCtor((mutations:MutationRecord[]) => { + this.observerCallback(mutations); + }); + + this.reconnect(); + } + + private observerCallback(mutations:MutationRecord[]) { + if (!this.options.observeOwnChanges) + this.observer.disconnect(); + + var summaries = this.createSummaries(mutations); + this.runQueryValidators(summaries); + + if (this.options.observeOwnChanges) + this.checkpointQueryValidators(); + + if (this.changesToReport(summaries)) + this.callback(summaries); + + // disconnect() may have been called during the callback. + if (!this.options.observeOwnChanges && this.connected) { + this.checkpointQueryValidators(); + this.observer.observe(this.root, this.observerOptions); + } + } + + reconnect() { + if (this.connected) + throw Error('Already connected'); + + this.observer.observe(this.root, this.observerOptions); + this.connected = true; + this.checkpointQueryValidators(); + } + + takeSummaries():Summary[] { + if (!this.connected) + throw Error('Not connected'); + + var summaries = this.createSummaries(this.observer.takeRecords()); + return this.changesToReport(summaries) ? summaries : undefined; + } + + disconnect():Summary[] { + var summaries = this.takeSummaries(); + this.observer.disconnect(); + this.connected = false; + return summaries; + } +} + diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/util/tree-mirror.js b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/util/tree-mirror.js new file mode 100644 index 0000000..6d04d33 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/util/tree-mirror.js @@ -0,0 +1,275 @@ +/// +var TreeMirror = /** @class */ (function () { + function TreeMirror(root, delegate) { + this.root = root; + this.delegate = delegate; + this.idMap = {}; + } + TreeMirror.prototype.initialize = function (rootId, children) { + this.idMap[rootId] = this.root; + for (var i = 0; i < children.length; i++) + this.deserializeNode(children[i], this.root); + }; + TreeMirror.prototype.getNode = function (id) { + return this.idMap[id] || null; + }; + TreeMirror.prototype.applyChanged = function (removed, addedOrMoved, attributes, text) { + var _this = this; + // NOTE: Applying the changes can result in an attempting to add a child + // to a parent which is presently an ancestor of the parent. This can occur + // based on random ordering of moves. The way we handle this is to first + // remove all changed nodes from their parents, then apply. + addedOrMoved.forEach(function (data) { + var node = _this.deserializeNode(data); + var parent = _this.deserializeNode(data.parentNode); + var previous = _this.deserializeNode(data.previousSibling); + if (node.parentNode) + node.parentNode.removeChild(node); + }); + removed.forEach(function (data) { + var node = _this.deserializeNode(data); + if (node.parentNode) + node.parentNode.removeChild(node); + }); + addedOrMoved.forEach(function (data) { + var node = _this.deserializeNode(data); + var parent = _this.deserializeNode(data.parentNode); + var previous = _this.deserializeNode(data.previousSibling); + parent.insertBefore(node, previous ? previous.nextSibling : parent.firstChild); + }); + attributes.forEach(function (data) { + var node = _this.deserializeNode(data); + Object.keys(data.attributes).forEach(function (attrName) { + var newVal = data.attributes[attrName]; + if (newVal === null) { + if (!_this.delegate || + !_this.delegate.removeAttribute || + !_this.delegate.removeAttribute(node, attrName)) { + node.removeAttribute(attrName); + } + } + else { + if (!_this.delegate || + !_this.delegate.setAttribute || + !_this.delegate.setAttribute(node, attrName, newVal)) { + node.setAttribute(attrName, newVal); + } + } + }); + }); + text.forEach(function (data) { + var node = _this.deserializeNode(data); + node.textContent = data.textContent; + }); + removed.forEach(function (node) { + delete _this.idMap[node.id]; + }); + }; + TreeMirror.prototype.deserializeNode = function (nodeData, parent) { + var _this = this; + if (nodeData === null) + return null; + var node = this.idMap[nodeData.id]; + if (node) + return node; + var doc = this.root.ownerDocument; + if (doc === null) + doc = this.root; + switch (nodeData.nodeType) { + case Node.COMMENT_NODE: + node = doc.createComment(nodeData.textContent); + break; + case Node.TEXT_NODE: + node = doc.createTextNode(nodeData.textContent); + break; + case Node.DOCUMENT_TYPE_NODE: + node = doc.implementation.createDocumentType(nodeData.name, nodeData.publicId, nodeData.systemId); + break; + case Node.ELEMENT_NODE: + if (this.delegate && this.delegate.createElement) + node = this.delegate.createElement(nodeData.tagName, nodeData); + if (!node) + try { + node = doc.createElement(nodeData.tagName); + } + catch (e) { + console.log("Removing invalid node", nodeData); + return null; + } + Object.keys(nodeData.attributes).forEach(function (name) { + if (!_this.delegate || + !_this.delegate.setAttribute || + !_this.delegate.setAttribute(node, name, nodeData.attributes[name])) { + try { + node.setAttribute(name, nodeData.attributes[name]); + } + catch (e) { + console.log("Removing node due to invalid attribute", nodeData); + return null; + } + } + }); + break; + } + if (!node) + throw "ouch"; + this.idMap[nodeData.id] = node; + if (parent) + parent.appendChild(node); + if (nodeData.childNodes) { + for (var i = 0; i < nodeData.childNodes.length; i++) + this.deserializeNode(nodeData.childNodes[i], node); + } + return node; + }; + return TreeMirror; +}()); +var TreeMirrorClient = /** @class */ (function () { + function TreeMirrorClient(target, mirror, testingQueries) { + var _this = this; + this.target = target; + this.mirror = mirror; + this.nextId = 1; + this.knownNodes = new MutationSummary.NodeMap(); + var rootId = this.serializeNode(target).id; + var children = []; + for (var child = target.firstChild; child; child = child.nextSibling) + children.push(this.serializeNode(child, true)); + this.mirror.initialize(rootId, children); + var self = this; + var queries = [{ all: true }]; + if (testingQueries) + queries = queries.concat(testingQueries); + this.mutationSummary = new MutationSummary({ + rootNode: target, + callback: function (summaries) { + _this.applyChanged(summaries); + }, + queries: queries + }); + } + TreeMirrorClient.prototype.disconnect = function () { + if (this.mutationSummary) { + this.mutationSummary.disconnect(); + this.mutationSummary = undefined; + } + }; + TreeMirrorClient.prototype.rememberNode = function (node) { + var id = this.nextId++; + this.knownNodes.set(node, id); + return id; + }; + TreeMirrorClient.prototype.forgetNode = function (node) { + this.knownNodes["delete"](node); + }; + TreeMirrorClient.prototype.serializeNode = function (node, recursive) { + if (node === null) + return null; + var id = this.knownNodes.get(node); + if (id !== undefined) { + return { id: id }; + } + var data = { + nodeType: node.nodeType, + id: this.rememberNode(node) + }; + switch (data.nodeType) { + case Node.DOCUMENT_TYPE_NODE: + var docType = node; + data.name = docType.name; + data.publicId = docType.publicId; + data.systemId = docType.systemId; + break; + case Node.COMMENT_NODE: + case Node.TEXT_NODE: + data.textContent = node.textContent; + break; + case Node.ELEMENT_NODE: + var elm = node; + data.tagName = elm.tagName; + data.attributes = {}; + for (var i = 0; i < elm.attributes.length; i++) { + var attr = elm.attributes[i]; + data.attributes[attr.name] = attr.value; + } + if (recursive && elm.childNodes.length) { + data.childNodes = []; + for (var child = elm.firstChild; child; child = child.nextSibling) + data.childNodes.push(this.serializeNode(child, true)); + } + break; + } + return data; + }; + TreeMirrorClient.prototype.serializeAddedAndMoved = function (added, reparented, reordered) { + var _this = this; + var all = added.concat(reparented).concat(reordered); + var parentMap = new MutationSummary.NodeMap(); + all.forEach(function (node) { + var parent = node.parentNode; + var children = parentMap.get(parent); + if (!children) { + children = new MutationSummary.NodeMap(); + parentMap.set(parent, children); + } + children.set(node, true); + }); + var moved = []; + parentMap.keys().forEach(function (parent) { + var children = parentMap.get(parent); + var keys = children.keys(); + while (keys.length) { + var node = keys[0]; + while (node.previousSibling && children.has(node.previousSibling)) + node = node.previousSibling; + while (node && children.has(node)) { + var data = _this.serializeNode(node); + data.previousSibling = _this.serializeNode(node.previousSibling); + data.parentNode = _this.serializeNode(node.parentNode); + moved.push(data); + children["delete"](node); + node = node.nextSibling; + } + var keys = children.keys(); + } + }); + return moved; + }; + TreeMirrorClient.prototype.serializeAttributeChanges = function (attributeChanged) { + var _this = this; + var map = new MutationSummary.NodeMap(); + Object.keys(attributeChanged).forEach(function (attrName) { + attributeChanged[attrName].forEach(function (element) { + var record = map.get(element); + if (!record) { + record = _this.serializeNode(element); + record.attributes = {}; + map.set(element, record); + } + record.attributes[attrName] = element.getAttribute(attrName); + }); + }); + return map.keys().map(function (node) { + return map.get(node); + }); + }; + TreeMirrorClient.prototype.applyChanged = function (summaries) { + var _this = this; + var summary = summaries[0]; + var removed = summary.removed.map(function (node) { + return _this.serializeNode(node); + }); + var moved = this.serializeAddedAndMoved(summary.added, summary.reparented, summary.reordered); + var attributes = this.serializeAttributeChanges(summary.attributeChanged); + var text = summary.characterDataChanged.map(function (node) { + var data = _this.serializeNode(node); + data.textContent = node.textContent; + return data; + }); + this.mirror.applyChanged(removed, moved, attributes, text); + summary.removed.forEach(function (node) { + _this.forgetNode(node); + }); + }; + return TreeMirrorClient; +}()); diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/util/tree-mirror.ts b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/util/tree-mirror.ts new file mode 100644 index 0000000..42390df --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/util/tree-mirror.ts @@ -0,0 +1,383 @@ +/// + +// Copyright 2013 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +interface NodeData { + id:number; + nodeType?:number; + name?:string; + publicId?:string; + systemId?:string; + textContent?:string; + tagName?:string; + attributes?:StringMap; + childNodes?:NodeData[]; +} + +interface PositionData extends NodeData { + previousSibling:NodeData; + parentNode:NodeData; +} + +interface AttributeData extends NodeData { + attributes:StringMap; +} + +interface TextData extends NodeData{ + textContent:string; +} + +class TreeMirror { + + private idMap:NumberMap; + + constructor(public root:Node, public delegate?:any) { + this.idMap = {}; + } + + initialize(rootId:number, children:NodeData[]) { + this.idMap[rootId] = this.root; + + for (var i = 0; i < children.length; i++) + this.deserializeNode(children[i], this.root); + } + + getNode(id:number):Node { + return this.idMap[id] || null; + } + + applyChanged(removed:NodeData[], + addedOrMoved:PositionData[], + attributes:AttributeData[], + text:TextData[]) { + + // NOTE: Applying the changes can result in an attempting to add a child + // to a parent which is presently an ancestor of the parent. This can occur + // based on random ordering of moves. The way we handle this is to first + // remove all changed nodes from their parents, then apply. + addedOrMoved.forEach((data:PositionData) => { + var node = this.deserializeNode(data); + var parent = this.deserializeNode(data.parentNode); + var previous = this.deserializeNode(data.previousSibling); + if (node.parentNode) + node.parentNode.removeChild(node); + }); + + removed.forEach((data:NodeData) => { + var node = this.deserializeNode(data); + if (node.parentNode) + node.parentNode.removeChild(node); + }); + + addedOrMoved.forEach((data:PositionData) => { + var node = this.deserializeNode(data); + var parent = this.deserializeNode(data.parentNode); + var previous = this.deserializeNode(data.previousSibling); + parent.insertBefore(node, + previous ? previous.nextSibling : parent.firstChild); + }); + + attributes.forEach((data:AttributeData) => { + var node = this.deserializeNode(data); + Object.keys(data.attributes).forEach((attrName) => { + var newVal = data.attributes[attrName]; + if (newVal === null) { + if (!this.delegate || + !this.delegate.removeAttribute || + !this.delegate.removeAttribute(node, attrName)) { + node.removeAttribute(attrName); + } + } else { + if (!this.delegate || + !this.delegate.setAttribute || + !this.delegate.setAttribute(node, attrName, newVal)) { + node.setAttribute(attrName, newVal); + } + } + }); + }); + + text.forEach((data:TextData) => { + var node = this.deserializeNode(data); + node.textContent = data.textContent; + }); + + removed.forEach((node:NodeData) => { + delete this.idMap[node.id]; + }); + } + + private deserializeNode(nodeData:NodeData, parent?:Element):Node { + if (nodeData === null) + return null; + + var node:Node = this.idMap[nodeData.id]; + if (node) + return node; + + var doc = this.root.ownerDocument; + if (doc === null) + doc = this.root; + + switch(nodeData.nodeType) { + case Node.COMMENT_NODE: + node = doc.createComment(nodeData.textContent); + break; + + case Node.TEXT_NODE: + node = doc.createTextNode(nodeData.textContent); + break; + + case Node.DOCUMENT_TYPE_NODE: + node = doc.implementation.createDocumentType(nodeData.name, nodeData.publicId, nodeData.systemId); + break; + + case Node.ELEMENT_NODE: + if (this.delegate && this.delegate.createElement) + node = this.delegate.createElement(nodeData.tagName, nodeData); + if (!node) + try { + node = doc.createElement(nodeData.tagName); + } catch (e) { + console.log("Removing invalid node", nodeData); + return null; + } + + Object.keys(nodeData.attributes).forEach((name) => { + if (!this.delegate || + !this.delegate.setAttribute || + !this.delegate.setAttribute(node, name, nodeData.attributes[name])) { + try { + (node).setAttribute(name, nodeData.attributes[name]); + } catch (e) { + console.log("Removing node due to invalid attribute", nodeData); + return null; + } + } + }); + + break; + } + + if (!node) + throw "ouch"; + + this.idMap[nodeData.id] = node; + + if (parent) + parent.appendChild(node); + + if (nodeData.childNodes) { + for (var i = 0; i < nodeData.childNodes.length; i++) + this.deserializeNode(nodeData.childNodes[i], node); + } + + return node; + } +} + +class TreeMirrorClient { + private nextId:number; + + private mutationSummary:MutationSummary; + private knownNodes:NodeMap; + + constructor(public target:Node, public mirror:any, testingQueries:Query[]) { + this.nextId = 1; + this.knownNodes = new MutationSummary.NodeMap(); + + var rootId = this.serializeNode(target).id; + var children:NodeData[] = []; + for (var child = target.firstChild; child; child = child.nextSibling) + children.push(this.serializeNode(child, true)); + + this.mirror.initialize(rootId, children); + + var self = this; + + var queries = [{ all: true }]; + + if (testingQueries) + queries = queries.concat(testingQueries); + + this.mutationSummary = new MutationSummary({ + rootNode: target, + callback: (summaries:Summary[]) => { + this.applyChanged(summaries); + }, + queries: queries + }); + } + + + disconnect() { + if (this.mutationSummary) { + this.mutationSummary.disconnect(); + this.mutationSummary = undefined; + } + } + + private rememberNode(node:Node):number { + var id = this.nextId++; + this.knownNodes.set(node, id); + return id; + } + + private forgetNode(node:Node) { + this.knownNodes.delete(node); + } + + private serializeNode(node:Node, recursive?:boolean):NodeData { + if (node === null) + return null; + + var id = this.knownNodes.get(node); + if (id !== undefined) { + return { id: id }; + } + + var data:NodeData = { + nodeType: node.nodeType, + id: this.rememberNode(node) + }; + + switch(data.nodeType) { + case Node.DOCUMENT_TYPE_NODE: + var docType = node; + data.name = docType.name; + data.publicId = docType.publicId; + data.systemId = docType.systemId; + break; + + case Node.COMMENT_NODE: + case Node.TEXT_NODE: + data.textContent = node.textContent; + break; + + case Node.ELEMENT_NODE: + var elm = node; + data.tagName = elm.tagName; + data.attributes = {}; + for (var i = 0; i < elm.attributes.length; i++) { + var attr = elm.attributes[i]; + data.attributes[attr.name] = attr.value; + } + + if (recursive && elm.childNodes.length) { + data.childNodes = []; + + for (var child = elm.firstChild; child; child = child.nextSibling) + data.childNodes.push(this.serializeNode(child, true)); + } + break; + } + + return data; + } + + private serializeAddedAndMoved(added:Node[], + reparented:Node[], + reordered:Node[]):PositionData[] { + var all = added.concat(reparented).concat(reordered); + + var parentMap = new MutationSummary.NodeMap>(); + + all.forEach((node) => { + var parent = node.parentNode; + var children = parentMap.get(parent) + if (!children) { + children = new MutationSummary.NodeMap(); + parentMap.set(parent, children); + } + + children.set(node, true); + }); + + var moved:PositionData[] = []; + + parentMap.keys().forEach((parent) => { + var children = parentMap.get(parent); + + var keys = children.keys(); + while (keys.length) { + var node = keys[0]; + while (node.previousSibling && children.has(node.previousSibling)) + node = node.previousSibling; + + while (node && children.has(node)) { + var data = this.serializeNode(node); + data.previousSibling = this.serializeNode(node.previousSibling); + data.parentNode = this.serializeNode(node.parentNode); + moved.push(data); + children.delete(node); + node = node.nextSibling; + } + + var keys = children.keys(); + } + }); + + return moved; + } + + private serializeAttributeChanges(attributeChanged:StringMap):AttributeData[] { + var map = new MutationSummary.NodeMap(); + + Object.keys(attributeChanged).forEach((attrName) => { + attributeChanged[attrName].forEach((element) => { + var record = map.get(element); + if (!record) { + record = this.serializeNode(element); + record.attributes = {}; + map.set(element, record); + } + + record.attributes[attrName] = element.getAttribute(attrName); + }); + }); + + return map.keys().map((node:Node) => { + return map.get(node); + }); + } + + applyChanged(summaries:Summary[]) { + var summary:Summary = summaries[0] + + var removed:NodeData[] = summary.removed.map((node:Node) => { + return this.serializeNode(node); + }); + + var moved:PositionData[] = + this.serializeAddedAndMoved(summary.added, + summary.reparented, + summary.reordered); + + var attributes:AttributeData[] = + this.serializeAttributeChanges(summary.attributeChanged); + + var text:TextData[] = summary.characterDataChanged.map((node:Node) => { + var data = this.serializeNode(node); + data.textContent = node.textContent; + return data; + }); + + this.mirror.applyChanged(removed, moved, attributes, text); + + summary.removed.forEach((node:Node) => { + this.forgetNode(node); + }); + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/CHANGELOG.md b/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/CHANGELOG.md new file mode 100644 index 0000000..6d9eb1e --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/CHANGELOG.md @@ -0,0 +1,642 @@ +# Change Log + +All notable changes to this project will be documented in this file. + +The document follows the conventions described in [โ€œKeep a CHANGELOGโ€](http://keepachangelog.com). + + +==== + + +## UNRELEASED 3.0.0 + +### Added +- added `'random'` option and `randomize()` method to `SVG.Color` -> __TODO!__ +- added `precision()` method to round numeric element attributes -> __TODO!__ +- added specs for `SVG.FX` -> __TODO!__ + +### Changed +- made transform-methods relative as default (breaking change) +- changed SVG() to use querySelector instead of getElementById (breaking change) -> __TODO!__ +- made `parents()` method on `SVG.Element` return an instance of SVG.Set (breaking change) -> __TODO!__ +- replaced static reference to `masker` in `SVG.Mask` with the `masker()` method (breaking change) -> __TODO!__ +- replaced static reference to `clipper` in `SVG.ClipPath` with the `clipper()` method (breaking change) -> __TODO!__ +- replaced static reference to `targets` in `SVG.Mask` and `SVG.ClipPath` with the `targets()` method (breaking change) -> __TODO!__ +- moved all regexes to `SVG.regex` (in color, element, pointarray, style, transform and viewbox) -> __TODO!__ + +### Fixed +- fixed a bug in clipping and masking where empty nodes persists after removal -> __TODO!__ +- fixed a bug in IE11 with `mouseenter` and `mouseleave` -> __TODO!__ + + +## [2.6.1] - 2017-04-25 + +### Fixed +- fixed a bug in path parser which made it stop parsing when hitting z command (#665) + +## [2.6.0] - 2017-04-21 + +### Added +- added `options` object to `SVG.on()` and `el.on()` (#661) + +### Changed +- back to sloppy mode because of problems with plugins (#660) + + +## [2.5.3] - 2017-04-15 + +### Added +- added gitter badge in readme + + +### Fixed +- fixed svg.js.d.ts (#644 #648) +- fixed bug in `el.flip()` which causes an error when calling flip without any argument + +### Removed +- component.json (#652) + + +## [2.5.2] - 2017-04-11 + +### Changed +- SVG.js is now running in strict mode + +### Fixed +- `clear()` does not remove the parser in svg documents anymore +- `len` not declared in FX module, making it a global variable (9737e8a) +- `bbox` not declared in SVG.Box.transform in the Box module (131df0f) +- `namespace` not declared in the Event module (e89c97e) + + +## [2.5.1] - 2017-03-27 + +### Changed +- make svgjs ready to be used on the server + +### Fixed +- fixed `SVG.PathArray.parse` that did not correctly parsed flat arrays +- prevented unnecessary parsing of point or path strings + + +## [2.5.0] - 2017-03-10 + +### Added +- added a plot and array method to `SVG.TextPath` (#582) +- added `clone()` method to `SVG.Array/PointArray/PathArray` (#590) +- added `font()` method to `SVG.Tspan` +- added `SVG.Box()` +- added `transform()` method to boxes +- added `event()` to `SVG.Element` to retrieve the event that was fired last on the element (#550) + +### Changed +- changed CHANGELOG to follow the conventions described in [โ€œKeep a CHANGELOGโ€](http://keepachangelog.com) (#578) +- make the method plot a getter when no parameter is passed for `SVG.Polyline`,`SVG.Polygon`, `SVG.Line`, `SVG.Path` (related #547) +- allow `SVG.PointArray` to be passed flat array +- change the regexp `SVG.PointArray` use to parse string to allow more flexibility in the way spaces and commas can be used +- allow `plot` to be called with 4 parameters when animating an `SVG.Line` +- relative value for `SVG.Number` are now calculated in its `morph` method (related #547) +- clean up the implementation of the `initAnimation` method of the FX module (#547, #552, #584) +- deprecated `.tbox()`. `.tbox()` now map to `.rbox()`. If you are using `.tbox()`, you can substitute it with `.rbox()` (#594, #602) +- all boxes now accept 4 values or an object on creation +- `el.rbox()` now always returns the right boxes in screen coordinates and has an additional paramater to transform the box into other coordinate systems +- `font()` method can now be used like `attr()` method (#620) +- events are now cancelable by default (#550) + +### Fixed +- fixed a bug in the plain morphing part of `SVG.MorphObj` that is in the FX module +- fixed bug which produces an error when removing an event from a node which was formerly removed with a global `off()` (#518) +- fixed a bug in `size()` for poly elements when their height/width is zero (#505) +- viewbox now also accepts strings and arrays as constructor arguments +- `SVG.Array` now accepts a comma seperated string and returns array of numbers instead of strings +- `SVG.Matrix` now accepts an array as input +- `SVG.Element.matrix()` now accepts also 6 values +- `dx()/dy()` now accepts percentage values, too but only if the value on the element is already percentage +- `flip()` now flips on both axis when no parameter is passed +- fixed bug with `documentElement.contains()` in IE +- fixed offset produced by svg parser (#553) +- fixed a bug with clone which didnt copy over dom data (#621) + + +## [2.4.0] - 2017-01-14 + +### Added +- added support for basic path animations (#561) + + +## [2.3.7] - 2017-01-14 + +### Added +- added code coverage https://coveralls.io/github/svgdotjs/svg.js (3e614d4) +- added `npm run test:quick` which aim at being fast rather than correct - great for git hooks (981ce24) + +### Changed +- moved project to [svgdotjs](https://github.com/svgdotjs) +- made matrixify work with transformation chain separated by commas (#543) +- updated dev dependencies; request and gulp-chmod - `npm run build` now requires nodejs 4.x+ + +### Fixed +- fixed `SVG.Matrix.skew()` (#545) +- fixed broken animations, if using polyfills for es6/7 proposals (#504) +- fixed and improved `SVG.FX.dequeue()` (#546) +- fixed an error in `SVG.FX.step`, if custom properties is added to `Array.prototype` (#549) + + +## [2.3.6] - 2016-10-21 + +### Changed +- make SVG.FX.loop modify the last situation instead of the current one (#532) + +### Fixed +- fixed leading and trailing space in SVG.PointArray would return NaN for some points (695f26a) (#529) +- fixed test of `SVG.FX.afterAll` (#534) +- fixed `SVG.FX.speed()` (#536) + + +## [2.3.5] - 2016-10-13 + +### Added +- added automated unit tests via [Travis](https://travis-ci.org/svgdotjs/svg.js) (#527) +- added `npm run build` to build a new version of SVG.js without requiring gulp to be globally installed + +### Changed +- calling `fill()`, `stroke()` without an argument is now a nop +- Polygon now accepts comma less points to achieve parity with Adobe Illustrator (#529) +- updated dependencies + + +## [2.3.4] - 2016-08-04 + +### Changed +- reworked parent module for speed improvemenents +- reworked `filterSVGElements` utility to use a for loop instead of the native filter function + + +## [2.3.3] - 2016-08-02 + +### Added +- add error callback on image loading (#508) + +### Fixed +- fixed bug when getting bbox of text elements which are not in the dom (#514) +- fixed bug when getting bbox of element which is hidden with css (#516) + + +## [2.3.2] - 2016-06-21 + +### Added +- added specs for `SVG.ViewBox` +- added `parent` parameter for `clone()` +- added spec for mentioned issue + +### Fixed +- fixed string parsing in viewbox (#483) +- fixed bbox when element is not in the dom (#480) +- fixed line constructor which doesn't work with Array as input (#487) +- fixed problem in IE with `document.contains` (#490) related to (#480) +- fixed `undo` when undoing transformations (#494) + + +## [2.3.1] - 2016-05-05 + +### Added +- added typings for svg.js (#470) + +### Fixed +- fixed `SVG.morph()` (#473) +- fixed parser error (#471) +- fixed bug in `SVG.Color` with new fx +- fixed `radius()` for circles when animating and other related code (#477) +- fixed bug where `stop(true)` throws an error when element is not animated (#475) +- fixed bug in `add()` when altering svgs with whitespaces +- fixed bug in `SVG.Doc().create` where size was set to 100% even if size was already specified +- fixed bug in `parse()` from `SVG.PathArray` which does not correctly handled `S` and `T` (#485) + + +## [2.3.0] - 2016-03-30 + +### Added +- added `SVG.Point` which serves as Wrapper to the native `SVGPoint` (#437) +- added `element.point(x,y)` which transforms a point from screen coordinates to the elements space (#403) +- added `element.is()` which helps to check for the object instance faster (instanceof check) +- added more fx specs + +### Changed +- textpath now is a parent element, the lines method of text will return the tspans inside the textpath (#450) +- fx module rewritten to support animation chaining and several other stuff (see docs) + +### Fixed +- fixed `svgjs:data` attribute which was not set properly in all browsers (#428) +- fixed `isNumber` and `numberAndUnit` regex (#405) +- fixed error where a parent node is not found when loading an image but the canvas was cleared (#447) +- fixed absolute transformation animations (not perfect but better) +- fixed event listeners which didnt work correctly when identic funtions used + + +## [2.2.5] - 2015-12-29 + +### Added +- added check for existence of node (#431) + +### Changed +- `group.move()` now allows string numbers as input (#433) +- `matrixify()` will not apply the calculated matrix to the node anymore + + +## [2.2.4] - 2015-12-12 + +### Fixed +- fixed `transform()` which returns the matrix values (a-f) now, too (#423) +- double newlines (\n\n) are correctly handled as blank line from `text()` +- fixed use of scrollX vs pageXOffset in `rbox()` (#425) +- fixed target array in mask and clip which was removed instead of reinitialized (#429) + + +## [2.2.3] - 2015-11-30 + +### Fixed +- fixed null check in image (see 2.2.2) +- fixed bug related to the new path parser (see 2.2.2) +- fixed amd loader (#412) + + +## [2.2.2] - 2015-11-28 + +### Added +- added null check in image onload callback (#415) + +### Changed +- documentation rework (#407) [thanks @snowyplover] + +### Fixed +- fixed leading point bug in path parsing (#416) + + +## [2.2.1] - 2015-11-18 + +### Added +- added workaround for `SvgPathSeg` which is removed in Chrome 48 (#409) +- added `gbox()` to group to get bbox with translation included (#405) + +### Fixed +- fixed dom data which was not cleaned up properly (#398) + + +## [2.2.0] - 2015-11-06 + +### Added +- added `ungroup()/flatten()` (#238), `toParent()` and `toDoc()` +- added UMD-Wrapper with possibility to pass custom window object (#352) +- added `morph()` method for paths via plugin [svg.pathmorphing.js](https://github.com/Fuzzyma/svg.pathmorphing.js) +- added support for css selectors within the `parent()` method +- added `parents()` method to get an array of all parenting elements + +### Changed +- svgjs now saves crucial data in the dom before export and restores them when element is adopted + +### Fixed +- fixed pattern and gradient animation (#385) +- fixed mask animation in Firefox (#287) +- fixed return value of `text()` after import/clone (#393) + + +## [2.1.1] - 2015-10-03 + +### Added +- added custom context binding to event callback (default is the element the event is bound to) + + +## [2.1.0] - 2015-09-20 + +### Added +- added transform to pattern and gradients (#383) + +### Fixed +- fixed clone of textnodes (#369) +- fixed transformlists in IE (#372) +- fixed typo that leads to broken gradients (#370) +- fixed animate radius for circles (#367) + + +## [2.0.2] - 2015-06-22 + +### Fixed +- Fixed zoom consideration in circle and ellipse + + +## [2.0.1] - 2015-06-21 + +### Added +- added possibility to remove all events from a certain namespace + +### Fixed +- fixed bug with `doc()` which always should return root svg +- fixed bug in `SVG.FX` when animating with `plot()` + +### Removed +- removed target reference from use which caused bugs in `dmove()` and `use()` with external file +- removed scale consideration in `move()` duo to incompatibilities with other move-functions e.g. in `SVG.PointArray` + + +## [2.0.0] - 2015-06-11 + +### Added +- implemented an SVG adoption system to be able to manipulate existing SVG's not created with svg.js +- added polyfill for IE9 and IE10 custom events [thanks @Fuzzyma] +- added DOM query selector with the `select()` method globally or on parent elements +- added the intentionally neglected `SVG.Circle` element +- added `rx()` and `ry()` to `SVG.Rect`, `SVG.Circle`, `SVG.Ellispe` and `SVG.FX` +- added support to clone manually built text elements +- added `svg.wiml.js` plugin to plugins list +- added `ctm()` method to for matrix-centric transformations +- added `morph()` method to `SVG.Matrix` +- added support for new matrix system to `SVG.FX` +- added `native()` method to elements and matrix to get to the native api +- added `untransform()` method to remove all transformations +- added raw svg import functionality with the `svg()` method +- added coding style description to README +- added reverse functionality for animations +- documented the `situation` object in `SVG.FX` +- added distinction between relative and absolute matrix transformations +- implemented the `element()` method using the `SVG.Bare` class to create elements that are not described by SVG.js +- added `w` and `h` properties as shorthand for `width` and `height` to `SVG.BBox` +- added `SVG.TBox` to get a bounding box that is affected by transformation values +- added event-based or complete detaching of event listeners in `off()` method + +### Changed +- changed `parent` reference on elements to `parent()` method +- using `CustomEvent` instead of `Event` to be able to fire events with a `detail` object [thanks @Fuzzyma] +- renamed `SVG.TSpan` class to `SVG.Tspan` to play nice with the adoption system +- completely reworked `clone()` method to use the adoption system +- completely reworked transformations to be chainable and more true to their nature +- changed `lines` reference to `lines()` on `SVG.Text` +- changed `track` reference to `track()` on `SVG.Text` +- changed `textPath` reference to `textPath()` on `SVG.Text` +- changed `array` reference to `array()` method on `SVG.Polyline`, `SVG.Polygon` and `SVG.Path` +- reworked sup-pixel offset implementation to be more compact +- switched from Ruby's `rake` to Node's `gulp` for building [thanks to Alex Ewerlรถf] +- changed `to()` method to `at()` method in `SVG.FX` +- renamed `SVG.SetFX` to `SVG.FX.Set` +- reworked `SVG.Number` to return new instances with calculations rather than itself +- reworked animatable matrix rotations +- removed `SVG.Symbol` but kept the `symbol()` method using the new `element()` method + +### Fixed +- fixed bug in `radius()` method when `y` value equals `0` +- fixed a bug where events are not detached properly + + +## [1.0.0-rc.9] - 2014-06-17 + +### Added +- added `SVG.Marker` +- added `SVG.Symbol` +- added `first()` and `last()` methods to `SVG.Set` +- added `length()` method to `SVG.Text` and `SVG.TSpan` to calculate total text length +- added `reference()` method to get referenced elements from a given attribute value + +### Changed +- `SVG.get()` will now also fetch elements with a `xlink:href="#elementId"` or `url(#elementId)` value given + +### Fixed +- fixed infinite loop in viewbox when element has a percentage width / height [thanks @shabegger] + + +## [1.0.0-rc.8] - 2014-06-12 + +### Fixed +- fixed bug in `SVG.off` +- fixed offset by window scroll position in `rbox()` [thanks @bryhoyt] + + +## [1.0.0-rc.7] - 2014-06-11 + +### Added +- added `classes()`, `hasClass()`, `addClass()`, `removeClass()` and `toggleClass()` [thanks @pklingem] + +### Changed +- binding events listeners to svg.js instance +- calling `after()` when calling `stop(true)` (fulfill flag) [thanks @vird] +- text element fires `rebuild` event whenever the `rebuild()` method is called + +### Fixed +- fixed a bug where `Element#style()` would not save empty values in IE11 [thanks @Shtong] +- fixed `SVG is not defined error` [thanks @anvaka] +- fixed a bug in `move()`on text elements with a string based value +- fix for `text()` method on text element when acting as getter [thanks @Lochemage] +- fix in `style()` method with a css string [thanks @TobiasHeckel] + + +## [1.0.0-rc.6] - 2014-03-03 + +### Added +- added `leading()` method to `SVG.FX` +- added `reverse()` method to `SVG.Array` (and thereby also to `SVG.PointArray` and `SVG.PathArray`) +- added `fulfill` option to `stop()` method in `SVG.FX` to finalise animations +- added more output values to `bbox()` and `rbox()` methods + +### Changed +- fine-tuned text element positioning +- calling `at()` method directly on morphable svg.js instances in `SVG.FX` module +- moved most `_private` methods to local named functions +- moved helpers to a separate file + +### Fixed +- fixed a bug in text `dy()` method + +### Removed +- removed internal representation for `style` + + +## [1.0.0-rc.5] - 2014-02-14 + +### Added +- added `plain()` method to `SVG.Text` element to add plain text content, without tspans +- added `plain()` method to parent elements to create a text element without tspans +- added `build()` to enable/disable build mode + +### Changed +- updated `SVG.TSpan` to accept nested tspan elements, not unlike the `text()` method in `SVG.Text` +- removed the `relative()` method in favour of `dx()`, `dy()` and `dmove()` +- switched form objects to arrays in `SVG.PathArray` for compatibility with other libraries and better performance on parsing and rendering (up-to 48% faster than 1.0.0-rc.4) +- refined docs on element-specific methods and `SVG.PathArray` structure +- reworked `leading()` implementation to be more font-size "aware" +- refactored the `attr` method on `SVG.Element` +- applied Helvetica as default font +- building `SVG.FX` class with `SVG.invent()` function + +### Removed +- removed verbose style application to tspans + + +## [1.0.0-rc.4] - 2014-02-04 + +### Added +- automatic pattern creation by passing an image url or instance as `fill` attribute on elements +- added `loaded()` method to image tag +- added `pointAt()` method to `SVG.Path`, wrapping the native `getPointAtLength()` + +### Changed +- switched to `MAJOR`.`MINOR`.`PATCH` versioning format to play nice with package managers +- made svg.pattern.js part of the core library +- moved `length()` method to sugar module + +### Fixed +- fix in `animate('=').to()` +- fix for arcs in patharray `toString()` method [thanks @dotnetCarpenter] + + +## [v1.0rc3] - 2014-02-03 + +### Added +- added the `SVG.invent` function to ease invention of new elements +- added second values for `animate('2s')` +- added `length()` mehtod to path, wrapping the native `getTotalLength()` + +### Changed +- using `SVG.invent` to generate core shapes as well for leaner code + +### Fixed +- fix for html-less documents +- fix for arcs in patharray `toString()` method + + +## [v1.0rc2] - 2014-02-01 + +### Added +- added `index()` method to `SVG.Parent` and `SVG.Set` +- added `morph()` and `at()` methods to `SVG.Number` for unit morphing + +### Changed +- modified `cx()` and `cy()` methods on elements with native `x`, `y`, `width` and `height` attributes for better performance + + +## [v1.0rc1] - 2014-01-31 + +### Added +- added `SVG.PathArray` for real path transformations +- added `bbox()` method to `SVG.Set` +- added `relative()` method for moves relative to the current position +- added `morph()` and `at()` methods to `SVG.Color` for color morphing + +### Changed +- enabled proportional resizing on `size()` method with `null` for either `width` or `height` values +- moved data module to separate file +- `data()` method now accepts object for for multiple key / value assignments + +### Removed +- removed `unbiased` system for paths + + +## [v0.38] - 2014-01-28 + +### Added +- added `loop()` method to `SVG.FX` + +### Changed +- switched from `setInterval` to `requestAnimFrame` for animations + + +## [v0.37] - 2014-01-26 + +### Added +- added `get()` to `SVG.Set` + +### Changed +- moved `SVG.PointArray` to a separate file + + +## [v0.36] - 2014-01-25 + +### Added +- added `linkTo()`, `addTo()` and `putIn()` methods on `SVG.Element` + +### Changed +- provided more detailed documentation on parent elements + +### Fixed + + +## [v0.35] - 2014-01-23 + +### Added +- added `SVG.A` element with the `link()` + + +## [v0.34] - 2014-01-23 + +### Added +- added `pause()` and `play()` to `SVG.FX` + +### Changed +- storing animation values in `situation` object + + +## [v0.33] - 2014-01-22 + +### Added +- added `has()` method to `SVG.Set` +- added `width()` and `height()` as setter and getter methods on all shapes +- added `replace()` method to elements +- added `radius()` method to `SVG.Rect` and `SVG.Ellipse` +- added reference to parent node in defs + +### Changed +- moved sub-pixel offset fix to be an optional method (e.g. `SVG('drawing').fixSubPixelOffset()`) +- merged plotable.js and path.js + + +## [v0.32] + +### Added +- added library to [cdnjs](http://cdnjs.com) + + + +[2.6.0]: https://github.com/svgdotjs/svg.js/releases/tag/2.6.0 +[2.5.3]: https://github.com/svgdotjs/svg.js/releases/tag/2.5.3 +[2.5.2]: https://github.com/svgdotjs/svg.js/releases/tag/2.5.2 +[2.5.1]: https://github.com/svgdotjs/svg.js/releases/tag/2.5.1 +[2.5.0]: https://github.com/svgdotjs/svg.js/releases/tag/2.5.0 +[2.4.0]: https://github.com/svgdotjs/svg.js/releases/tag/2.4.0 + +[2.3.7]: https://github.com/svgdotjs/svg.js/releases/tag/2.3.7 +[2.3.6]: https://github.com/svgdotjs/svg.js/releases/tag/2.3.6 +[2.3.5]: https://github.com/svgdotjs/svg.js/releases/tag/2.3.5 +[2.3.4]: https://github.com/svgdotjs/svg.js/releases/tag/2.3.4 +[2.3.3]: https://github.com/svgdotjs/svg.js/releases/tag/2.3.3 +[2.3.2]: https://github.com/svgdotjs/svg.js/releases/tag/2.3.2 +[2.3.1]: https://github.com/svgdotjs/svg.js/releases/tag/2.3.1 +[2.3.0]: https://github.com/svgdotjs/svg.js/releases/tag/2.3.0 + +[2.2.5]: https://github.com/svgdotjs/svg.js/releases/tag/2.2.5 +[2.2.4]: https://github.com/svgdotjs/svg.js/releases/tag/2.2.4 +[2.2.3]: https://github.com/svgdotjs/svg.js/releases/tag/2.2.3 +[2.2.2]: https://github.com/svgdotjs/svg.js/releases/tag/2.2.2 +[2.2.1]: https://github.com/svgdotjs/svg.js/releases/tag/2.2.1 +[2.2.0]: https://github.com/svgdotjs/svg.js/releases/tag/2.2.0 + +[2.1.1]: https://github.com/svgdotjs/svg.js/releases/tag/2.1.1 +[2.1.0]: https://github.com/svgdotjs/svg.js/releases/tag/2.1.0 + +[2.0.2]: https://github.com/svgdotjs/svg.js/releases/tag/2.0.2 +[2.0.1]: https://github.com/svgdotjs/svg.js/releases/tag/2.0.1 +[2.0.0]: https://github.com/svgdotjs/svg.js/releases/tag/2.0.0 + +[1.0.0-rc.9]: https://github.com/svgdotjs/svg.js/releases/tag/1.0.0-rc.9 +[1.0.0-rc.8]: https://github.com/svgdotjs/svg.js/releases/tag/1.0.0-rc.8 +[1.0.0-rc.7]: https://github.com/svgdotjs/svg.js/releases/tag/1.0.0-rc.7 +[1.0.0-rc.6]: https://github.com/svgdotjs/svg.js/releases/tag/1.0.0-rc.6 +[1.0.0-rc.5]: https://github.com/svgdotjs/svg.js/releases/tag/1.0.0-rc.5 +[1.0.0-rc.4]: https://github.com/svgdotjs/svg.js/releases/tag/1.0.0-rc.4 +[v1.0rc3]: https://github.com/svgdotjs/svg.js/releases/tag/v1.0rc3 +[v1.0rc2]: https://github.com/svgdotjs/svg.js/releases/tag/v1.0rc2 +[v1.0rc1]: https://github.com/svgdotjs/svg.js/releases/tag/v1.0rc1 + +[v0.38]: https://github.com/svgdotjs/svg.js/releases/tag/v0.38 +[v0.37]: https://github.com/svgdotjs/svg.js/releases/tag/v0.37 +[v0.36]: https://github.com/svgdotjs/svg.js/releases/tag/v0.36 +[v0.35]: https://github.com/svgdotjs/svg.js/releases/tag/v0.35 +[v0.34]: https://github.com/svgdotjs/svg.js/releases/tag/v0.34 +[v0.33]: https://github.com/svgdotjs/svg.js/releases/tag/v0.33 +[v0.32]: https://github.com/svgdotjs/svg.js/releases/tag/v0.32 diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/LICENSE.txt b/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/LICENSE.txt new file mode 100644 index 0000000..148b70a --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/LICENSE.txt @@ -0,0 +1,21 @@ +Copyright (c) 2012-2017 Wout Fierens +https://svgdotjs.github.io/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/README.md b/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/README.md new file mode 100644 index 0000000..b88c5a5 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/README.md @@ -0,0 +1,29 @@ +# SVG.js + +[![Build Status](https://travis-ci.org/svgdotjs/svg.js.svg?branch=master)](https://travis-ci.org/svgdotjs/svg.js) +[![Coverage Status](https://coveralls.io/repos/github/svgdotjs/svg.js/badge.svg?branch=master)](https://coveralls.io/github/svgdotjs/svg.js?branch=master) +[![CDNJS](https://img.shields.io/cdnjs/v/svg.js.svg)](https://cdnjs.com/libraries/svg.js) +[![Join the chat at https://gitter.im/svgdotjs/svg.js](https://badges.gitter.im/svgdotjs/svg.js.svg)](https://gitter.im/svgdotjs/svg.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +__A lightweight library for manipulating and animating SVG, without any dependencies.__ + +SVG.js is licensed under the terms of the MIT License. + +## Installation + +#### Bower: + +`bower install svg.js` + +#### Node: + +`npm install svg.js` + +#### Cdnjs: + +[https://cdnjs.com/libraries/svg.js](https://cdnjs.com/libraries/svg.js) + +## Documentation +Check [https://svgdotjs.github.io](https://svgdotjs.github.io/) to learn more. + +[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=pay%40woutfierens.com&lc=US&item_name=SVG.JS¤cy_code=EUR&bn=PP-DonationsBF%3Abtn_donate_74x21.png%3ANonHostedGuest) diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/dist/svg.js b/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/dist/svg.js new file mode 100644 index 0000000..d2fd5d3 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/dist/svg.js @@ -0,0 +1,5518 @@ +/*! +* svg.js - A lightweight library for manipulating and animating SVG. +* @version 2.6.1 +* https://svgdotjs.github.io/ +* +* @copyright Wout Fierens +* @license MIT +* +* BUILT: Tue Apr 25 2017 11:58:09 GMT+0200 (Mitteleuropรคische Sommerzeit) +*/; +(function(root, factory) { + /* istanbul ignore next */ + if (typeof define === 'function' && define.amd) { + define(function(){ + return factory(root, root.document) + }) + } else if (typeof exports === 'object') { + module.exports = root.document ? factory(root, root.document) : function(w){ return factory(w, w.document) } + } else { + root.SVG = factory(root, root.document) + } +}(typeof window !== "undefined" ? window : this, function(window, document) { + +// The main wrapping element +var SVG = this.SVG = function(element) { + if (SVG.supported) { + element = new SVG.Doc(element) + + if(!SVG.parser.draw) + SVG.prepare() + + return element + } +} + +// Default namespaces +SVG.ns = 'http://www.w3.org/2000/svg' +SVG.xmlns = 'http://www.w3.org/2000/xmlns/' +SVG.xlink = 'http://www.w3.org/1999/xlink' +SVG.svgjs = 'http://svgjs.com/svgjs' + +// Svg support test +SVG.supported = (function() { + return !! document.createElementNS && + !! document.createElementNS(SVG.ns,'svg').createSVGRect +})() + +// Don't bother to continue if SVG is not supported +if (!SVG.supported) return false + +// Element id sequence +SVG.did = 1000 + +// Get next named element id +SVG.eid = function(name) { + return 'Svgjs' + capitalize(name) + (SVG.did++) +} + +// Method for element creation +SVG.create = function(name) { + // create element + var element = document.createElementNS(this.ns, name) + + // apply unique id + element.setAttribute('id', this.eid(name)) + + return element +} + +// Method for extending objects +SVG.extend = function() { + var modules, methods, key, i + + // Get list of modules + modules = [].slice.call(arguments) + + // Get object with extensions + methods = modules.pop() + + for (i = modules.length - 1; i >= 0; i--) + if (modules[i]) + for (key in methods) + modules[i].prototype[key] = methods[key] + + // Make sure SVG.Set inherits any newly added methods + if (SVG.Set && SVG.Set.inherit) + SVG.Set.inherit() +} + +// Invent new element +SVG.invent = function(config) { + // Create element initializer + var initializer = typeof config.create == 'function' ? + config.create : + function() { + this.constructor.call(this, SVG.create(config.create)) + } + + // Inherit prototype + if (config.inherit) + initializer.prototype = new config.inherit + + // Extend with methods + if (config.extend) + SVG.extend(initializer, config.extend) + + // Attach construct method to parent + if (config.construct) + SVG.extend(config.parent || SVG.Container, config.construct) + + return initializer +} + +// Adopt existing svg elements +SVG.adopt = function(node) { + // check for presence of node + if (!node) return null + + // make sure a node isn't already adopted + if (node.instance) return node.instance + + // initialize variables + var element + + // adopt with element-specific settings + if (node.nodeName == 'svg') + element = node.parentNode instanceof window.SVGElement ? new SVG.Nested : new SVG.Doc + else if (node.nodeName == 'linearGradient') + element = new SVG.Gradient('linear') + else if (node.nodeName == 'radialGradient') + element = new SVG.Gradient('radial') + else if (SVG[capitalize(node.nodeName)]) + element = new SVG[capitalize(node.nodeName)] + else + element = new SVG.Element(node) + + // ensure references + element.type = node.nodeName + element.node = node + node.instance = element + + // SVG.Class specific preparations + if (element instanceof SVG.Doc) + element.namespace().defs() + + // pull svgjs data from the dom (getAttributeNS doesn't work in html5) + element.setData(JSON.parse(node.getAttribute('svgjs:data')) || {}) + + return element +} + +// Initialize parsing element +SVG.prepare = function() { + // Select document body and create invisible svg element + var body = document.getElementsByTagName('body')[0] + , draw = (body ? new SVG.Doc(body) : SVG.adopt(document.documentElement).nested()).size(2, 0) + + // Create parser object + SVG.parser = { + body: body || document.documentElement + , draw: draw.style('opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden').node + , poly: draw.polyline().node + , path: draw.path().node + , native: SVG.create('svg') + } +} + +SVG.parser = { + native: SVG.create('svg') +} + +document.addEventListener('DOMContentLoaded', function() { + if(!SVG.parser.draw) + SVG.prepare() +}, false) + +// Storage for regular expressions +SVG.regex = { + // Parse unit value + numberAndUnit: /^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i + + // Parse hex value +, hex: /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i + + // Parse rgb value +, rgb: /rgb\((\d+),(\d+),(\d+)\)/ + + // Parse reference id +, reference: /#([a-z0-9\-_]+)/i + + // splits a transformation chain +, transforms: /\)\s*,?\s*/ + + // Whitespace +, whitespace: /\s/g + + // Test hex value +, isHex: /^#[a-f0-9]{3,6}$/i + + // Test rgb value +, isRgb: /^rgb\(/ + + // Test css declaration +, isCss: /[^:]+:[^;]+;?/ + + // Test for blank string +, isBlank: /^(\s+)?$/ + + // Test for numeric string +, isNumber: /^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i + + // Test for percent value +, isPercent: /^-?[\d\.]+%$/ + + // Test for image url +, isImage: /\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i + + // split at whitespace and comma +, delimiter: /[\s,]+/ + + // The following regex are used to parse the d attribute of a path + + // Matches all hyphens which are not after an exponent +, hyphen: /([^e])\-/gi + + // Replaces and tests for all path letters +, pathLetters: /[MLHVCSQTAZ]/gi + + // yes we need this one, too +, isPathLetter: /[MLHVCSQTAZ]/i + + // matches 0.154.23.45 +, numbersWithDots: /((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi + + // matches . +, dots: /\./g +} + +SVG.utils = { + // Map function + map: function(array, block) { + var i + , il = array.length + , result = [] + + for (i = 0; i < il; i++) + result.push(block(array[i])) + + return result + } + + // Filter function +, filter: function(array, block) { + var i + , il = array.length + , result = [] + + for (i = 0; i < il; i++) + if (block(array[i])) + result.push(array[i]) + + return result + } + + // Degrees to radians +, radians: function(d) { + return d % 360 * Math.PI / 180 + } + + // Radians to degrees +, degrees: function(r) { + return r * 180 / Math.PI % 360 + } + +, filterSVGElements: function(nodes) { + return this.filter( nodes, function(el) { return el instanceof window.SVGElement }) + } + +} + +SVG.defaults = { + // Default attribute values + attrs: { + // fill and stroke + 'fill-opacity': 1 + , 'stroke-opacity': 1 + , 'stroke-width': 0 + , 'stroke-linejoin': 'miter' + , 'stroke-linecap': 'butt' + , fill: '#000000' + , stroke: '#000000' + , opacity: 1 + // position + , x: 0 + , y: 0 + , cx: 0 + , cy: 0 + // size + , width: 0 + , height: 0 + // radius + , r: 0 + , rx: 0 + , ry: 0 + // gradient + , offset: 0 + , 'stop-opacity': 1 + , 'stop-color': '#000000' + // text + , 'font-size': 16 + , 'font-family': 'Helvetica, Arial, sans-serif' + , 'text-anchor': 'start' + } + +} +// Module for color convertions +SVG.Color = function(color) { + var match + + // initialize defaults + this.r = 0 + this.g = 0 + this.b = 0 + + if(!color) return + + // parse color + if (typeof color === 'string') { + if (SVG.regex.isRgb.test(color)) { + // get rgb values + match = SVG.regex.rgb.exec(color.replace(SVG.regex.whitespace,'')) + + // parse numeric values + this.r = parseInt(match[1]) + this.g = parseInt(match[2]) + this.b = parseInt(match[3]) + + } else if (SVG.regex.isHex.test(color)) { + // get hex values + match = SVG.regex.hex.exec(fullHex(color)) + + // parse numeric values + this.r = parseInt(match[1], 16) + this.g = parseInt(match[2], 16) + this.b = parseInt(match[3], 16) + + } + + } else if (typeof color === 'object') { + this.r = color.r + this.g = color.g + this.b = color.b + + } + +} + +SVG.extend(SVG.Color, { + // Default to hex conversion + toString: function() { + return this.toHex() + } + // Build hex value +, toHex: function() { + return '#' + + compToHex(this.r) + + compToHex(this.g) + + compToHex(this.b) + } + // Build rgb value +, toRgb: function() { + return 'rgb(' + [this.r, this.g, this.b].join() + ')' + } + // Calculate true brightness +, brightness: function() { + return (this.r / 255 * 0.30) + + (this.g / 255 * 0.59) + + (this.b / 255 * 0.11) + } + // Make color morphable +, morph: function(color) { + this.destination = new SVG.Color(color) + + return this + } + // Get morphed color at given position +, at: function(pos) { + // make sure a destination is defined + if (!this.destination) return this + + // normalise pos + pos = pos < 0 ? 0 : pos > 1 ? 1 : pos + + // generate morphed color + return new SVG.Color({ + r: ~~(this.r + (this.destination.r - this.r) * pos) + , g: ~~(this.g + (this.destination.g - this.g) * pos) + , b: ~~(this.b + (this.destination.b - this.b) * pos) + }) + } + +}) + +// Testers + +// Test if given value is a color string +SVG.Color.test = function(color) { + color += '' + return SVG.regex.isHex.test(color) + || SVG.regex.isRgb.test(color) +} + +// Test if given value is a rgb object +SVG.Color.isRgb = function(color) { + return color && typeof color.r == 'number' + && typeof color.g == 'number' + && typeof color.b == 'number' +} + +// Test if given value is a color +SVG.Color.isColor = function(color) { + return SVG.Color.isRgb(color) || SVG.Color.test(color) +} +// Module for array conversion +SVG.Array = function(array, fallback) { + array = (array || []).valueOf() + + // if array is empty and fallback is provided, use fallback + if (array.length == 0 && fallback) + array = fallback.valueOf() + + // parse array + this.value = this.parse(array) +} + +SVG.extend(SVG.Array, { + // Make array morphable + morph: function(array) { + this.destination = this.parse(array) + + // normalize length of arrays + if (this.value.length != this.destination.length) { + var lastValue = this.value[this.value.length - 1] + , lastDestination = this.destination[this.destination.length - 1] + + while(this.value.length > this.destination.length) + this.destination.push(lastDestination) + while(this.value.length < this.destination.length) + this.value.push(lastValue) + } + + return this + } + // Clean up any duplicate points +, settle: function() { + // find all unique values + for (var i = 0, il = this.value.length, seen = []; i < il; i++) + if (seen.indexOf(this.value[i]) == -1) + seen.push(this.value[i]) + + // set new value + return this.value = seen + } + // Get morphed array at given position +, at: function(pos) { + // make sure a destination is defined + if (!this.destination) return this + + // generate morphed array + for (var i = 0, il = this.value.length, array = []; i < il; i++) + array.push(this.value[i] + (this.destination[i] - this.value[i]) * pos) + + return new SVG.Array(array) + } + // Convert array to string +, toString: function() { + return this.value.join(' ') + } + // Real value +, valueOf: function() { + return this.value + } + // Parse whitespace separated string +, parse: function(array) { + array = array.valueOf() + + // if already is an array, no need to parse it + if (Array.isArray(array)) return array + + return this.split(array) + } + // Strip unnecessary whitespace +, split: function(string) { + return string.trim().split(SVG.regex.delimiter).map(parseFloat) + } + // Reverse array +, reverse: function() { + this.value.reverse() + + return this + } +, clone: function() { + var clone = new this.constructor() + clone.value = array_clone(this.value) + return clone + } +}) +// Poly points array +SVG.PointArray = function(array, fallback) { + SVG.Array.call(this, array, fallback || [[0,0]]) +} + +// Inherit from SVG.Array +SVG.PointArray.prototype = new SVG.Array +SVG.PointArray.prototype.constructor = SVG.PointArray + +SVG.extend(SVG.PointArray, { + // Convert array to string + toString: function() { + // convert to a poly point string + for (var i = 0, il = this.value.length, array = []; i < il; i++) + array.push(this.value[i].join(',')) + + return array.join(' ') + } + // Convert array to line object +, toLine: function() { + return { + x1: this.value[0][0] + , y1: this.value[0][1] + , x2: this.value[1][0] + , y2: this.value[1][1] + } + } + // Get morphed array at given position +, at: function(pos) { + // make sure a destination is defined + if (!this.destination) return this + + // generate morphed point string + for (var i = 0, il = this.value.length, array = []; i < il; i++) + array.push([ + this.value[i][0] + (this.destination[i][0] - this.value[i][0]) * pos + , this.value[i][1] + (this.destination[i][1] - this.value[i][1]) * pos + ]) + + return new SVG.PointArray(array) + } + // Parse point string and flat array +, parse: function(array) { + var points = [] + + array = array.valueOf() + + // if it is an array + if (Array.isArray(array)) { + // and it is not flat, there is no need to parse it + if(Array.isArray(array[0])) { + return array + } + } else { // Else, it is considered as a string + // parse points + array = array.trim().split(SVG.regex.delimiter).map(parseFloat) + } + + // validate points - https://svgwg.org/svg2-draft/shapes.html#DataTypePoints + // Odd number of coordinates is an error. In such cases, drop the last odd coordinate. + if (array.length % 2 !== 0) array.pop() + + // wrap points in two-tuples and parse points as floats + for(var i = 0, len = array.length; i < len; i = i + 2) + points.push([ array[i], array[i+1] ]) + + return points + } + // Move point string +, move: function(x, y) { + var box = this.bbox() + + // get relative offset + x -= box.x + y -= box.y + + // move every point + if (!isNaN(x) && !isNaN(y)) + for (var i = this.value.length - 1; i >= 0; i--) + this.value[i] = [this.value[i][0] + x, this.value[i][1] + y] + + return this + } + // Resize poly string +, size: function(width, height) { + var i, box = this.bbox() + + // recalculate position of all points according to new size + for (i = this.value.length - 1; i >= 0; i--) { + if(box.width) this.value[i][0] = ((this.value[i][0] - box.x) * width) / box.width + box.x + if(box.height) this.value[i][1] = ((this.value[i][1] - box.y) * height) / box.height + box.y + } + + return this + } + // Get bounding box of points +, bbox: function() { + SVG.parser.poly.setAttribute('points', this.toString()) + + return SVG.parser.poly.getBBox() + } +}) + +var pathHandlers = { + M: function(c, p, p0) { + p.x = p0.x = c[0] + p.y = p0.y = c[1] + + return ['M', p.x, p.y] + }, + L: function(c, p) { + p.x = c[0] + p.y = c[1] + return ['L', c[0], c[1]] + }, + H: function(c, p) { + p.x = c[0] + return ['H', c[0]] + }, + V: function(c, p) { + p.y = c[0] + return ['V', c[0]] + }, + C: function(c, p) { + p.x = c[4] + p.y = c[5] + return ['C', c[0], c[1], c[2], c[3], c[4], c[5]] + }, + S: function(c, p) { + p.x = c[2] + p.y = c[3] + return ['S', c[0], c[1], c[2], c[3]] + }, + Q: function(c, p) { + p.x = c[2] + p.y = c[3] + return ['Q', c[0], c[1], c[2], c[3]] + }, + T: function(c, p) { + p.x = c[0] + p.y = c[1] + return ['T', c[0], c[1]] + }, + Z: function(c, p, p0) { + p.x = p0.x + p.y = p0.y + return ['Z'] + }, + A: function(c, p) { + p.x = c[5] + p.y = c[6] + return ['A', c[0], c[1], c[2], c[3], c[4], c[5], c[6]] + } +} + +var mlhvqtcsa = 'mlhvqtcsaz'.split('') + +for(var i = 0, il = mlhvqtcsa.length; i < il; ++i){ + pathHandlers[mlhvqtcsa[i]] = (function(i){ + return function(c, p, p0) { + if(i == 'H') c[0] = c[0] + p.x + else if(i == 'V') c[0] = c[0] + p.y + else if(i == 'A'){ + c[5] = c[5] + p.x, + c[6] = c[6] + p.y + } + else + for(var j = 0, jl = c.length; j < jl; ++j) { + c[j] = c[j] + (j%2 ? p.y : p.x) + } + + return pathHandlers[i](c, p, p0) + } + })(mlhvqtcsa[i].toUpperCase()) +} + +// Path points array +SVG.PathArray = function(array, fallback) { + SVG.Array.call(this, array, fallback || [['M', 0, 0]]) +} + +// Inherit from SVG.Array +SVG.PathArray.prototype = new SVG.Array +SVG.PathArray.prototype.constructor = SVG.PathArray + +SVG.extend(SVG.PathArray, { + // Convert array to string + toString: function() { + return arrayToString(this.value) + } + // Move path string +, move: function(x, y) { + // get bounding box of current situation + var box = this.bbox() + + // get relative offset + x -= box.x + y -= box.y + + if (!isNaN(x) && !isNaN(y)) { + // move every point + for (var l, i = this.value.length - 1; i >= 0; i--) { + l = this.value[i][0] + + if (l == 'M' || l == 'L' || l == 'T') { + this.value[i][1] += x + this.value[i][2] += y + + } else if (l == 'H') { + this.value[i][1] += x + + } else if (l == 'V') { + this.value[i][1] += y + + } else if (l == 'C' || l == 'S' || l == 'Q') { + this.value[i][1] += x + this.value[i][2] += y + this.value[i][3] += x + this.value[i][4] += y + + if (l == 'C') { + this.value[i][5] += x + this.value[i][6] += y + } + + } else if (l == 'A') { + this.value[i][6] += x + this.value[i][7] += y + } + + } + } + + return this + } + // Resize path string +, size: function(width, height) { + // get bounding box of current situation + var i, l, box = this.bbox() + + // recalculate position of all points according to new size + for (i = this.value.length - 1; i >= 0; i--) { + l = this.value[i][0] + + if (l == 'M' || l == 'L' || l == 'T') { + this.value[i][1] = ((this.value[i][1] - box.x) * width) / box.width + box.x + this.value[i][2] = ((this.value[i][2] - box.y) * height) / box.height + box.y + + } else if (l == 'H') { + this.value[i][1] = ((this.value[i][1] - box.x) * width) / box.width + box.x + + } else if (l == 'V') { + this.value[i][1] = ((this.value[i][1] - box.y) * height) / box.height + box.y + + } else if (l == 'C' || l == 'S' || l == 'Q') { + this.value[i][1] = ((this.value[i][1] - box.x) * width) / box.width + box.x + this.value[i][2] = ((this.value[i][2] - box.y) * height) / box.height + box.y + this.value[i][3] = ((this.value[i][3] - box.x) * width) / box.width + box.x + this.value[i][4] = ((this.value[i][4] - box.y) * height) / box.height + box.y + + if (l == 'C') { + this.value[i][5] = ((this.value[i][5] - box.x) * width) / box.width + box.x + this.value[i][6] = ((this.value[i][6] - box.y) * height) / box.height + box.y + } + + } else if (l == 'A') { + // resize radii + this.value[i][1] = (this.value[i][1] * width) / box.width + this.value[i][2] = (this.value[i][2] * height) / box.height + + // move position values + this.value[i][6] = ((this.value[i][6] - box.x) * width) / box.width + box.x + this.value[i][7] = ((this.value[i][7] - box.y) * height) / box.height + box.y + } + + } + + return this + } + // Test if the passed path array use the same path data commands as this path array +, equalCommands: function(pathArray) { + var i, il, equalCommands + + pathArray = new SVG.PathArray(pathArray) + + equalCommands = this.value.length === pathArray.value.length + for(i = 0, il = this.value.length; equalCommands && i < il; i++) { + equalCommands = this.value[i][0] === pathArray.value[i][0] + } + + return equalCommands + } + // Make path array morphable +, morph: function(pathArray) { + pathArray = new SVG.PathArray(pathArray) + + if(this.equalCommands(pathArray)) { + this.destination = pathArray + } else { + this.destination = null + } + + return this + } + // Get morphed path array at given position +, at: function(pos) { + // make sure a destination is defined + if (!this.destination) return this + + var sourceArray = this.value + , destinationArray = this.destination.value + , array = [], pathArray = new SVG.PathArray() + , i, il, j, jl + + // Animate has specified in the SVG spec + // See: https://www.w3.org/TR/SVG11/paths.html#PathElement + for (i = 0, il = sourceArray.length; i < il; i++) { + array[i] = [sourceArray[i][0]] + for(j = 1, jl = sourceArray[i].length; j < jl; j++) { + array[i][j] = sourceArray[i][j] + (destinationArray[i][j] - sourceArray[i][j]) * pos + } + // For the two flags of the elliptical arc command, the SVG spec say: + // Flags and booleans are interpolated as fractions between zero and one, with any non-zero value considered to be a value of one/true + // Elliptical arc command as an array followed by corresponding indexes: + // ['A', rx, ry, x-axis-rotation, large-arc-flag, sweep-flag, x, y] + // 0 1 2 3 4 5 6 7 + if(array[i][0] === 'A') { + array[i][4] = +(array[i][4] != 0) + array[i][5] = +(array[i][5] != 0) + } + } + + // Directly modify the value of a path array, this is done this way for performance + pathArray.value = array + return pathArray + } + // Absolutize and parse path to array +, parse: function(array) { + // if it's already a patharray, no need to parse it + if (array instanceof SVG.PathArray) return array.valueOf() + + // prepare for parsing + var i, x0, y0, s, seg, arr + , x = 0 + , y = 0 + , paramCnt = { 'M':2, 'L':2, 'H':1, 'V':1, 'C':6, 'S':4, 'Q':4, 'T':2, 'A':7, 'Z':0 } + + if(typeof array == 'string'){ + + array = array + .replace(SVG.regex.numbersWithDots, pathRegReplace) // convert 45.123.123 to 45.123 .123 + .replace(SVG.regex.pathLetters, ' $& ') // put some room between letters and numbers + .replace(SVG.regex.hyphen, '$1 -') // add space before hyphen + .trim() // trim + .split(SVG.regex.delimiter) // split into array + + }else{ + array = array.reduce(function(prev, curr){ + return [].concat.call(prev, curr) + }, []) + } + + // array now is an array containing all parts of a path e.g. ['M', '0', '0', 'L', '30', '30' ...] + var arr = [] + , p = new SVG.Point() + , p0 = new SVG.Point() + , index = 0 + , len = array.length + + do{ + // Test if we have a path letter + if(SVG.regex.isPathLetter.test(array[index])){ + s = array[index] + ++index + // If last letter was a move command and we got no new, it defaults to [L]ine + }else if(s == 'M'){ + s = 'L' + }else if(s == 'm'){ + s = 'l' + } + + arr.push(pathHandlers[s].call(null, + array.slice(index, (index = index + paramCnt[s.toUpperCase()])).map(parseFloat), + p, p0 + ) + ) + + }while(len > index) + + return arr + + } + // Get bounding box of path +, bbox: function() { + SVG.parser.path.setAttribute('d', this.toString()) + + return SVG.parser.path.getBBox() + } + +}) + +// Module for unit convertions +SVG.Number = SVG.invent({ + // Initialize + create: function(value, unit) { + // initialize defaults + this.value = 0 + this.unit = unit || '' + + // parse value + if (typeof value === 'number') { + // ensure a valid numeric value + this.value = isNaN(value) ? 0 : !isFinite(value) ? (value < 0 ? -3.4e+38 : +3.4e+38) : value + + } else if (typeof value === 'string') { + unit = value.match(SVG.regex.numberAndUnit) + + if (unit) { + // make value numeric + this.value = parseFloat(unit[1]) + + // normalize + if (unit[5] == '%') + this.value /= 100 + else if (unit[5] == 's') + this.value *= 1000 + + // store unit + this.unit = unit[5] + } + + } else { + if (value instanceof SVG.Number) { + this.value = value.valueOf() + this.unit = value.unit + } + } + + } + // Add methods +, extend: { + // Stringalize + toString: function() { + return ( + this.unit == '%' ? + ~~(this.value * 1e8) / 1e6: + this.unit == 's' ? + this.value / 1e3 : + this.value + ) + this.unit + } + , toJSON: function() { + return this.toString() + } + , // Convert to primitive + valueOf: function() { + return this.value + } + // Add number + , plus: function(number) { + number = new SVG.Number(number) + return new SVG.Number(this + number, this.unit || number.unit) + } + // Subtract number + , minus: function(number) { + number = new SVG.Number(number) + return new SVG.Number(this - number, this.unit || number.unit) + } + // Multiply number + , times: function(number) { + number = new SVG.Number(number) + return new SVG.Number(this * number, this.unit || number.unit) + } + // Divide number + , divide: function(number) { + number = new SVG.Number(number) + return new SVG.Number(this / number, this.unit || number.unit) + } + // Convert to different unit + , to: function(unit) { + var number = new SVG.Number(this) + + if (typeof unit === 'string') + number.unit = unit + + return number + } + // Make number morphable + , morph: function(number) { + this.destination = new SVG.Number(number) + + if(number.relative) { + this.destination.value += this.value + } + + return this + } + // Get morphed number at given position + , at: function(pos) { + // Make sure a destination is defined + if (!this.destination) return this + + // Generate new morphed number + return new SVG.Number(this.destination) + .minus(this) + .times(pos) + .plus(this) + } + + } +}) + + +SVG.Element = SVG.invent({ + // Initialize node + create: function(node) { + // make stroke value accessible dynamically + this._stroke = SVG.defaults.attrs.stroke + this._event = null + + // initialize data object + this.dom = {} + + // create circular reference + if (this.node = node) { + this.type = node.nodeName + this.node.instance = this + + // store current attribute value + this._stroke = node.getAttribute('stroke') || this._stroke + } + } + + // Add class methods +, extend: { + // Move over x-axis + x: function(x) { + return this.attr('x', x) + } + // Move over y-axis + , y: function(y) { + return this.attr('y', y) + } + // Move by center over x-axis + , cx: function(x) { + return x == null ? this.x() + this.width() / 2 : this.x(x - this.width() / 2) + } + // Move by center over y-axis + , cy: function(y) { + return y == null ? this.y() + this.height() / 2 : this.y(y - this.height() / 2) + } + // Move element to given x and y values + , move: function(x, y) { + return this.x(x).y(y) + } + // Move element by its center + , center: function(x, y) { + return this.cx(x).cy(y) + } + // Set width of element + , width: function(width) { + return this.attr('width', width) + } + // Set height of element + , height: function(height) { + return this.attr('height', height) + } + // Set element size to given width and height + , size: function(width, height) { + var p = proportionalSize(this, width, height) + + return this + .width(new SVG.Number(p.width)) + .height(new SVG.Number(p.height)) + } + // Clone element + , clone: function(parent, withData) { + // write dom data to the dom so the clone can pickup the data + this.writeDataToDom() + + // clone element and assign new id + var clone = assignNewId(this.node.cloneNode(true)) + + // insert the clone in the given parent or after myself + if(parent) parent.add(clone) + else this.after(clone) + + return clone + } + // Remove element + , remove: function() { + if (this.parent()) + this.parent().removeElement(this) + + return this + } + // Replace element + , replace: function(element) { + this.after(element).remove() + + return element + } + // Add element to given container and return self + , addTo: function(parent) { + return parent.put(this) + } + // Add element to given container and return container + , putIn: function(parent) { + return parent.add(this) + } + // Get / set id + , id: function(id) { + return this.attr('id', id) + } + // Checks whether the given point inside the bounding box of the element + , inside: function(x, y) { + var box = this.bbox() + + return x > box.x + && y > box.y + && x < box.x + box.width + && y < box.y + box.height + } + // Show element + , show: function() { + return this.style('display', '') + } + // Hide element + , hide: function() { + return this.style('display', 'none') + } + // Is element visible? + , visible: function() { + return this.style('display') != 'none' + } + // Return id on string conversion + , toString: function() { + return this.attr('id') + } + // Return array of classes on the node + , classes: function() { + var attr = this.attr('class') + + return attr == null ? [] : attr.trim().split(SVG.regex.delimiter) + } + // Return true if class exists on the node, false otherwise + , hasClass: function(name) { + return this.classes().indexOf(name) != -1 + } + // Add class to the node + , addClass: function(name) { + if (!this.hasClass(name)) { + var array = this.classes() + array.push(name) + this.attr('class', array.join(' ')) + } + + return this + } + // Remove class from the node + , removeClass: function(name) { + if (this.hasClass(name)) { + this.attr('class', this.classes().filter(function(c) { + return c != name + }).join(' ')) + } + + return this + } + // Toggle the presence of a class on the node + , toggleClass: function(name) { + return this.hasClass(name) ? this.removeClass(name) : this.addClass(name) + } + // Get referenced element form attribute value + , reference: function(attr) { + return SVG.get(this.attr(attr)) + } + // Returns the parent element instance + , parent: function(type) { + var parent = this + + // check for parent + if(!parent.node.parentNode) return null + + // get parent element + parent = SVG.adopt(parent.node.parentNode) + + if(!type) return parent + + // loop trough ancestors if type is given + while(parent && parent.node instanceof window.SVGElement){ + if(typeof type === 'string' ? parent.matches(type) : parent instanceof type) return parent + parent = SVG.adopt(parent.node.parentNode) + } + } + // Get parent document + , doc: function() { + return this instanceof SVG.Doc ? this : this.parent(SVG.Doc) + } + // return array of all ancestors of given type up to the root svg + , parents: function(type) { + var parents = [], parent = this + + do{ + parent = parent.parent(type) + if(!parent || !parent.node) break + + parents.push(parent) + } while(parent.parent) + + return parents + } + // matches the element vs a css selector + , matches: function(selector){ + return matches(this.node, selector) + } + // Returns the svg node to call native svg methods on it + , native: function() { + return this.node + } + // Import raw svg + , svg: function(svg) { + // create temporary holder + var well = document.createElement('svg') + + // act as a setter if svg is given + if (svg && this instanceof SVG.Parent) { + // dump raw svg + well.innerHTML = '' + svg.replace(/\n/, '').replace(/<(\w+)([^<]+?)\/>/g, '<$1$2>') + '' + + // transplant nodes + for (var i = 0, il = well.firstChild.childNodes.length; i < il; i++) + this.node.appendChild(well.firstChild.firstChild) + + // otherwise act as a getter + } else { + // create a wrapping svg element in case of partial content + well.appendChild(svg = document.createElement('svg')) + + // write svgjs data to the dom + this.writeDataToDom() + + // insert a copy of this node + svg.appendChild(this.node.cloneNode(true)) + + // return target element + return well.innerHTML.replace(/^/, '').replace(/<\/svg>$/, '') + } + + return this + } + // write svgjs data to the dom + , writeDataToDom: function() { + + // dump variables recursively + if(this.each || this.lines){ + var fn = this.each ? this : this.lines(); + fn.each(function(){ + this.writeDataToDom() + }) + } + + // remove previously set data + this.node.removeAttribute('svgjs:data') + + if(Object.keys(this.dom).length) + this.node.setAttribute('svgjs:data', JSON.stringify(this.dom)) // see #428 + + return this + } + // set given data to the elements data property + , setData: function(o){ + this.dom = o + return this + } + , is: function(obj){ + return is(this, obj) + } + } +}) + +SVG.easing = { + '-': function(pos){return pos} +, '<>':function(pos){return -Math.cos(pos * Math.PI) / 2 + 0.5} +, '>': function(pos){return Math.sin(pos * Math.PI / 2)} +, '<': function(pos){return -Math.cos(pos * Math.PI / 2) + 1} +} + +SVG.morph = function(pos){ + return function(from, to) { + return new SVG.MorphObj(from, to).at(pos) + } +} + +SVG.Situation = SVG.invent({ + + create: function(o){ + this.init = false + this.reversed = false + this.reversing = false + + this.duration = new SVG.Number(o.duration).valueOf() + this.delay = new SVG.Number(o.delay).valueOf() + + this.start = +new Date() + this.delay + this.finish = this.start + this.duration + this.ease = o.ease + + // this.loop is incremented from 0 to this.loops + // it is also incremented when in an infinite loop (when this.loops is true) + this.loop = 0 + this.loops = false + + this.animations = { + // functionToCall: [list of morphable objects] + // e.g. move: [SVG.Number, SVG.Number] + } + + this.attrs = { + // holds all attributes which are not represented from a function svg.js provides + // e.g. someAttr: SVG.Number + } + + this.styles = { + // holds all styles which should be animated + // e.g. fill-color: SVG.Color + } + + this.transforms = [ + // holds all transformations as transformation objects + // e.g. [SVG.Rotate, SVG.Translate, SVG.Matrix] + ] + + this.once = { + // functions to fire at a specific position + // e.g. "0.5": function foo(){} + } + + } + +}) + + +SVG.FX = SVG.invent({ + + create: function(element) { + this._target = element + this.situations = [] + this.active = false + this.situation = null + this.paused = false + this.lastPos = 0 + this.pos = 0 + // The absolute position of an animation is its position in the context of its complete duration (including delay and loops) + // When performing a delay, absPos is below 0 and when performing a loop, its value is above 1 + this.absPos = 0 + this._speed = 1 + } + +, extend: { + + /** + * sets or returns the target of this animation + * @param o object || number In case of Object it holds all parameters. In case of number its the duration of the animation + * @param ease function || string Function which should be used for easing or easing keyword + * @param delay Number indicating the delay before the animation starts + * @return target || this + */ + animate: function(o, ease, delay){ + + if(typeof o == 'object'){ + ease = o.ease + delay = o.delay + o = o.duration + } + + var situation = new SVG.Situation({ + duration: o || 1000, + delay: delay || 0, + ease: SVG.easing[ease || '-'] || ease + }) + + this.queue(situation) + + return this + } + + /** + * sets a delay before the next element of the queue is called + * @param delay Duration of delay in milliseconds + * @return this.target() + */ + , delay: function(delay){ + // The delay is performed by an empty situation with its duration + // attribute set to the duration of the delay + var situation = new SVG.Situation({ + duration: delay, + delay: 0, + ease: SVG.easing['-'] + }) + + return this.queue(situation) + } + + /** + * sets or returns the target of this animation + * @param null || target SVG.Element which should be set as new target + * @return target || this + */ + , target: function(target){ + if(target && target instanceof SVG.Element){ + this._target = target + return this + } + + return this._target + } + + // returns the absolute position at a given time + , timeToAbsPos: function(timestamp){ + return (timestamp - this.situation.start) / (this.situation.duration/this._speed) + } + + // returns the timestamp from a given absolute positon + , absPosToTime: function(absPos){ + return this.situation.duration/this._speed * absPos + this.situation.start + } + + // starts the animationloop + , startAnimFrame: function(){ + this.stopAnimFrame() + this.animationFrame = window.requestAnimationFrame(function(){ this.step() }.bind(this)) + } + + // cancels the animationframe + , stopAnimFrame: function(){ + window.cancelAnimationFrame(this.animationFrame) + } + + // kicks off the animation - only does something when the queue is currently not active and at least one situation is set + , start: function(){ + // dont start if already started + if(!this.active && this.situation){ + this.active = true + this.startCurrent() + } + + return this + } + + // start the current situation + , startCurrent: function(){ + this.situation.start = +new Date + this.situation.delay/this._speed + this.situation.finish = this.situation.start + this.situation.duration/this._speed + return this.initAnimations().step() + } + + /** + * adds a function / Situation to the animation queue + * @param fn function / situation to add + * @return this + */ + , queue: function(fn){ + if(typeof fn == 'function' || fn instanceof SVG.Situation) + this.situations.push(fn) + + if(!this.situation) this.situation = this.situations.shift() + + return this + } + + /** + * pulls next element from the queue and execute it + * @return this + */ + , dequeue: function(){ + // stop current animation + this.stop() + + // get next animation from queue + this.situation = this.situations.shift() + + if(this.situation){ + if(this.situation instanceof SVG.Situation) { + this.start() + } else { + // If it is not a SVG.Situation, then it is a function, we execute it + this.situation.call(this) + } + } + + return this + } + + // updates all animations to the current state of the element + // this is important when one property could be changed from another property + , initAnimations: function() { + var i, source + var s = this.situation + + if(s.init) return this + + for(i in s.animations){ + source = this.target()[i]() + + // The condition is because some methods return a normal number instead + // of a SVG.Number + if(s.animations[i] instanceof SVG.Number) + source = new SVG.Number(source) + + s.animations[i] = source.morph(s.animations[i]) + } + + for(i in s.attrs){ + s.attrs[i] = new SVG.MorphObj(this.target().attr(i), s.attrs[i]) + } + + for(i in s.styles){ + s.styles[i] = new SVG.MorphObj(this.target().style(i), s.styles[i]) + } + + s.initialTransformation = this.target().matrixify() + + s.init = true + return this + } + , clearQueue: function(){ + this.situations = [] + return this + } + , clearCurrent: function(){ + this.situation = null + return this + } + /** stops the animation immediately + * @param jumpToEnd A Boolean indicating whether to complete the current animation immediately. + * @param clearQueue A Boolean indicating whether to remove queued animation as well. + * @return this + */ + , stop: function(jumpToEnd, clearQueue){ + var active = this.active + this.active = false + + if(clearQueue){ + this.clearQueue() + } + + if(jumpToEnd && this.situation){ + // initialize the situation if it was not + !active && this.startCurrent() + this.atEnd() + } + + this.stopAnimFrame() + + return this.clearCurrent() + } + + /** resets the element to the state where the current element has started + * @return this + */ + , reset: function(){ + if(this.situation){ + var temp = this.situation + this.stop() + this.situation = temp + this.atStart() + } + return this + } + + // Stop the currently-running animation, remove all queued animations, and complete all animations for the element. + , finish: function(){ + + this.stop(true, false) + + while(this.dequeue().situation && this.stop(true, false)); + + this.clearQueue().clearCurrent() + + return this + } + + // set the internal animation pointer at the start position, before any loops, and updates the visualisation + , atStart: function() { + return this.at(0, true) + } + + // set the internal animation pointer at the end position, after all the loops, and updates the visualisation + , atEnd: function() { + if (this.situation.loops === true) { + // If in a infinite loop, we end the current iteration + this.situation.loops = this.situation.loop + 1 + } + + if(typeof this.situation.loops == 'number') { + // If performing a finite number of loops, we go after all the loops + return this.at(this.situation.loops, true) + } else { + // If no loops, we just go at the end + return this.at(1, true) + } + } + + // set the internal animation pointer to the specified position and updates the visualisation + // if isAbsPos is true, pos is treated as an absolute position + , at: function(pos, isAbsPos){ + var durDivSpd = this.situation.duration/this._speed + + this.absPos = pos + // If pos is not an absolute position, we convert it into one + if (!isAbsPos) { + if (this.situation.reversed) this.absPos = 1 - this.absPos + this.absPos += this.situation.loop + } + + this.situation.start = +new Date - this.absPos * durDivSpd + this.situation.finish = this.situation.start + durDivSpd + + return this.step(true) + } + + /** + * sets or returns the speed of the animations + * @param speed null || Number The new speed of the animations + * @return Number || this + */ + , speed: function(speed){ + if (speed === 0) return this.pause() + + if (speed) { + this._speed = speed + // We use an absolute position here so that speed can affect the delay before the animation + return this.at(this.absPos, true) + } else return this._speed + } + + // Make loopable + , loop: function(times, reverse) { + var c = this.last() + + // store total loops + c.loops = (times != null) ? times : true + c.loop = 0 + + if(reverse) c.reversing = true + return this + } + + // pauses the animation + , pause: function(){ + this.paused = true + this.stopAnimFrame() + + return this + } + + // unpause the animation + , play: function(){ + if(!this.paused) return this + this.paused = false + // We use an absolute position here so that the delay before the animation can be paused + return this.at(this.absPos, true) + } + + /** + * toggle or set the direction of the animation + * true sets direction to backwards while false sets it to forwards + * @param reversed Boolean indicating whether to reverse the animation or not (default: toggle the reverse status) + * @return this + */ + , reverse: function(reversed){ + var c = this.last() + + if(typeof reversed == 'undefined') c.reversed = !c.reversed + else c.reversed = reversed + + return this + } + + + /** + * returns a float from 0-1 indicating the progress of the current animation + * @param eased Boolean indicating whether the returned position should be eased or not + * @return number + */ + , progress: function(easeIt){ + return easeIt ? this.situation.ease(this.pos) : this.pos + } + + /** + * adds a callback function which is called when the current animation is finished + * @param fn Function which should be executed as callback + * @return number + */ + , after: function(fn){ + var c = this.last() + , wrapper = function wrapper(e){ + if(e.detail.situation == c){ + fn.call(this, c) + this.off('finished.fx', wrapper) // prevent memory leak + } + } + + this.target().on('finished.fx', wrapper) + + return this._callStart() + } + + // adds a callback which is called whenever one animation step is performed + , during: function(fn){ + var c = this.last() + , wrapper = function(e){ + if(e.detail.situation == c){ + fn.call(this, e.detail.pos, SVG.morph(e.detail.pos), e.detail.eased, c) + } + } + + // see above + this.target().off('during.fx', wrapper).on('during.fx', wrapper) + + this.after(function(){ + this.off('during.fx', wrapper) + }) + + return this._callStart() + } + + // calls after ALL animations in the queue are finished + , afterAll: function(fn){ + var wrapper = function wrapper(e){ + fn.call(this) + this.off('allfinished.fx', wrapper) + } + + // see above + this.target().off('allfinished.fx', wrapper).on('allfinished.fx', wrapper) + + return this._callStart() + } + + // calls on every animation step for all animations + , duringAll: function(fn){ + var wrapper = function(e){ + fn.call(this, e.detail.pos, SVG.morph(e.detail.pos), e.detail.eased, e.detail.situation) + } + + this.target().off('during.fx', wrapper).on('during.fx', wrapper) + + this.afterAll(function(){ + this.off('during.fx', wrapper) + }) + + return this._callStart() + } + + , last: function(){ + return this.situations.length ? this.situations[this.situations.length-1] : this.situation + } + + // adds one property to the animations + , add: function(method, args, type){ + this.last()[type || 'animations'][method] = args + return this._callStart() + } + + /** perform one step of the animation + * @param ignoreTime Boolean indicating whether to ignore time and use position directly or recalculate position based on time + * @return this + */ + , step: function(ignoreTime){ + + // convert current time to an absolute position + if(!ignoreTime) this.absPos = this.timeToAbsPos(+new Date) + + // This part convert an absolute position to a position + if(this.situation.loops !== false) { + var absPos, absPosInt, lastLoop + + // If the absolute position is below 0, we just treat it as if it was 0 + absPos = Math.max(this.absPos, 0) + absPosInt = Math.floor(absPos) + + if(this.situation.loops === true || absPosInt < this.situation.loops) { + this.pos = absPos - absPosInt + lastLoop = this.situation.loop + this.situation.loop = absPosInt + } else { + this.absPos = this.situation.loops + this.pos = 1 + // The -1 here is because we don't want to toggle reversed when all the loops have been completed + lastLoop = this.situation.loop - 1 + this.situation.loop = this.situation.loops + } + + if(this.situation.reversing) { + // Toggle reversed if an odd number of loops as occured since the last call of step + this.situation.reversed = this.situation.reversed != Boolean((this.situation.loop - lastLoop) % 2) + } + + } else { + // If there are no loop, the absolute position must not be above 1 + this.absPos = Math.min(this.absPos, 1) + this.pos = this.absPos + } + + // while the absolute position can be below 0, the position must not be below 0 + if(this.pos < 0) this.pos = 0 + + if(this.situation.reversed) this.pos = 1 - this.pos + + + // apply easing + var eased = this.situation.ease(this.pos) + + // call once-callbacks + for(var i in this.situation.once){ + if(i > this.lastPos && i <= eased){ + this.situation.once[i].call(this.target(), this.pos, eased) + delete this.situation.once[i] + } + } + + // fire during callback with position, eased position and current situation as parameter + if(this.active) this.target().fire('during', {pos: this.pos, eased: eased, fx: this, situation: this.situation}) + + // the user may call stop or finish in the during callback + // so make sure that we still have a valid situation + if(!this.situation){ + return this + } + + // apply the actual animation to every property + this.eachAt() + + // do final code when situation is finished + if((this.pos == 1 && !this.situation.reversed) || (this.situation.reversed && this.pos == 0)){ + + // stop animation callback + this.stopAnimFrame() + + // fire finished callback with current situation as parameter + this.target().fire('finished', {fx:this, situation: this.situation}) + + if(!this.situations.length){ + this.target().fire('allfinished') + this.target().off('.fx') // there shouldnt be any binding left, but to make sure... + this.active = false + } + + // start next animation + if(this.active) this.dequeue() + else this.clearCurrent() + + }else if(!this.paused && this.active){ + // we continue animating when we are not at the end + this.startAnimFrame() + } + + // save last eased position for once callback triggering + this.lastPos = eased + return this + + } + + // calculates the step for every property and calls block with it + , eachAt: function(){ + var i, len, at, self = this, target = this.target(), s = this.situation + + // apply animations which can be called trough a method + for(i in s.animations){ + + at = [].concat(s.animations[i]).map(function(el){ + return typeof el !== 'string' && el.at ? el.at(s.ease(self.pos), self.pos) : el + }) + + target[i].apply(target, at) + + } + + // apply animation which has to be applied with attr() + for(i in s.attrs){ + + at = [i].concat(s.attrs[i]).map(function(el){ + return typeof el !== 'string' && el.at ? el.at(s.ease(self.pos), self.pos) : el + }) + + target.attr.apply(target, at) + + } + + // apply animation which has to be applied with style() + for(i in s.styles){ + + at = [i].concat(s.styles[i]).map(function(el){ + return typeof el !== 'string' && el.at ? el.at(s.ease(self.pos), self.pos) : el + }) + + target.style.apply(target, at) + + } + + // animate initialTransformation which has to be chained + if(s.transforms.length){ + + // get initial initialTransformation + at = s.initialTransformation + for(i = 0, len = s.transforms.length; i < len; i++){ + + // get next transformation in chain + var a = s.transforms[i] + + // multiply matrix directly + if(a instanceof SVG.Matrix){ + + if(a.relative){ + at = at.multiply(new SVG.Matrix().morph(a).at(s.ease(this.pos))) + }else{ + at = at.morph(a).at(s.ease(this.pos)) + } + continue + } + + // when transformation is absolute we have to reset the needed transformation first + if(!a.relative) + a.undo(at.extract()) + + // and reapply it after + at = at.multiply(a.at(s.ease(this.pos))) + + } + + // set new matrix on element + target.matrix(at) + } + + return this + + } + + + // adds an once-callback which is called at a specific position and never again + , once: function(pos, fn, isEased){ + + if(!isEased)pos = this.situation.ease(pos) + + this.situation.once[pos] = fn + + return this + } + + , _callStart: function() { + setTimeout(function(){this.start()}.bind(this), 0) + return this + } + + } + +, parent: SVG.Element + + // Add method to parent elements +, construct: { + // Get fx module or create a new one, then animate with given duration and ease + animate: function(o, ease, delay) { + return (this.fx || (this.fx = new SVG.FX(this))).animate(o, ease, delay) + } + , delay: function(delay){ + return (this.fx || (this.fx = new SVG.FX(this))).delay(delay) + } + , stop: function(jumpToEnd, clearQueue) { + if (this.fx) + this.fx.stop(jumpToEnd, clearQueue) + + return this + } + , finish: function() { + if (this.fx) + this.fx.finish() + + return this + } + // Pause current animation + , pause: function() { + if (this.fx) + this.fx.pause() + + return this + } + // Play paused current animation + , play: function() { + if (this.fx) + this.fx.play() + + return this + } + // Set/Get the speed of the animations + , speed: function(speed) { + if (this.fx) + if (speed == null) + return this.fx.speed() + else + this.fx.speed(speed) + + return this + } + } + +}) + +// MorphObj is used whenever no morphable object is given +SVG.MorphObj = SVG.invent({ + + create: function(from, to){ + // prepare color for morphing + if(SVG.Color.isColor(to)) return new SVG.Color(from).morph(to) + // prepare number for morphing + if(SVG.regex.numberAndUnit.test(to)) return new SVG.Number(from).morph(to) + + // prepare for plain morphing + this.value = from + this.destination = to + } + +, extend: { + at: function(pos, real){ + return real < 1 ? this.value : this.destination + }, + + valueOf: function(){ + return this.value + } + } + +}) + +SVG.extend(SVG.FX, { + // Add animatable attributes + attr: function(a, v, relative) { + // apply attributes individually + if (typeof a == 'object') { + for (var key in a) + this.attr(key, a[key]) + + } else { + this.add(a, v, 'attrs') + } + + return this + } + // Add animatable styles +, style: function(s, v) { + if (typeof s == 'object') + for (var key in s) + this.style(key, s[key]) + + else + this.add(s, v, 'styles') + + return this + } + // Animatable x-axis +, x: function(x, relative) { + if(this.target() instanceof SVG.G){ + this.transform({x:x}, relative) + return this + } + + var num = new SVG.Number(x) + num.relative = relative + return this.add('x', num) + } + // Animatable y-axis +, y: function(y, relative) { + if(this.target() instanceof SVG.G){ + this.transform({y:y}, relative) + return this + } + + var num = new SVG.Number(y) + num.relative = relative + return this.add('y', num) + } + // Animatable center x-axis +, cx: function(x) { + return this.add('cx', new SVG.Number(x)) + } + // Animatable center y-axis +, cy: function(y) { + return this.add('cy', new SVG.Number(y)) + } + // Add animatable move +, move: function(x, y) { + return this.x(x).y(y) + } + // Add animatable center +, center: function(x, y) { + return this.cx(x).cy(y) + } + // Add animatable size +, size: function(width, height) { + if (this.target() instanceof SVG.Text) { + // animate font size for Text elements + this.attr('font-size', width) + + } else { + // animate bbox based size for all other elements + var box + + if(!width || !height){ + box = this.target().bbox() + } + + if(!width){ + width = box.width / box.height * height + } + + if(!height){ + height = box.height / box.width * width + } + + this.add('width' , new SVG.Number(width)) + .add('height', new SVG.Number(height)) + + } + + return this + } + // Add animatable plot +, plot: function() { + // We use arguments here since SVG.Line's plot method can be passed 4 parameters + return this.add('plot', arguments.length > 1 ? [].slice.call(arguments) : arguments[0]) + } + // Add leading method +, leading: function(value) { + return this.target().leading ? + this.add('leading', new SVG.Number(value)) : + this + } + // Add animatable viewbox +, viewbox: function(x, y, width, height) { + if (this.target() instanceof SVG.Container) { + this.add('viewbox', new SVG.ViewBox(x, y, width, height)) + } + + return this + } +, update: function(o) { + if (this.target() instanceof SVG.Stop) { + if (typeof o == 'number' || o instanceof SVG.Number) { + return this.update({ + offset: arguments[0] + , color: arguments[1] + , opacity: arguments[2] + }) + } + + if (o.opacity != null) this.attr('stop-opacity', o.opacity) + if (o.color != null) this.attr('stop-color', o.color) + if (o.offset != null) this.attr('offset', o.offset) + } + + return this + } +}) + +SVG.Box = SVG.invent({ + create: function(x, y, width, height) { + if (typeof x == 'object' && !(x instanceof SVG.Element)) { + // chromes getBoundingClientRect has no x and y property + return SVG.Box.call(this, x.left != null ? x.left : x.x , x.top != null ? x.top : x.y, x.width, x.height) + } else if (arguments.length == 4) { + this.x = x + this.y = y + this.width = width + this.height = height + } + + // add center, right, bottom... + fullBox(this) + } +, extend: { + // Merge rect box with another, return a new instance + merge: function(box) { + var b = new this.constructor() + + // merge boxes + b.x = Math.min(this.x, box.x) + b.y = Math.min(this.y, box.y) + b.width = Math.max(this.x + this.width, box.x + box.width) - b.x + b.height = Math.max(this.y + this.height, box.y + box.height) - b.y + + return fullBox(b) + } + + , transform: function(m) { + var xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, p, bbox + + var pts = [ + new SVG.Point(this.x, this.y), + new SVG.Point(this.x2, this.y), + new SVG.Point(this.x, this.y2), + new SVG.Point(this.x2, this.y2) + ] + + pts.forEach(function(p) { + p = p.transform(m) + xMin = Math.min(xMin,p.x) + xMax = Math.max(xMax,p.x) + yMin = Math.min(yMin,p.y) + yMax = Math.max(yMax,p.y) + }) + + bbox = new this.constructor() + bbox.x = xMin + bbox.width = xMax-xMin + bbox.y = yMin + bbox.height = yMax-yMin + + fullBox(bbox) + + return bbox + } + } +}) + +SVG.BBox = SVG.invent({ + // Initialize + create: function(element) { + SVG.Box.apply(this, [].slice.call(arguments)) + + // get values if element is given + if (element instanceof SVG.Element) { + var box + + // yes this is ugly, but Firefox can be a bitch when it comes to elements that are not yet rendered + try { + + if (!document.documentElement.contains){ + // This is IE - it does not support contains() for top-level SVGs + var topParent = element.node + while (topParent.parentNode){ + topParent = topParent.parentNode + } + if (topParent != document) throw new Exception('Element not in the dom') + } else { + // the element is NOT in the dom, throw error + if(!document.documentElement.contains(element.node)) throw new Exception('Element not in the dom') + } + + // find native bbox + box = element.node.getBBox() + } catch(e) { + if(element instanceof SVG.Shape){ + var clone = element.clone(SVG.parser.draw.instance).show() + box = clone.node.getBBox() + clone.remove() + }else{ + box = { + x: element.node.clientLeft + , y: element.node.clientTop + , width: element.node.clientWidth + , height: element.node.clientHeight + } + } + } + + SVG.Box.call(this, box) + } + + } + + // Define ancestor +, inherit: SVG.Box + + // Define Parent +, parent: SVG.Element + + // Constructor +, construct: { + // Get bounding box + bbox: function() { + return new SVG.BBox(this) + } + } + +}) + +SVG.BBox.prototype.constructor = SVG.BBox + + +SVG.extend(SVG.Element, { + tbox: function(){ + console.warn('Use of TBox is deprecated and mapped to RBox. Use .rbox() instead.') + return this.rbox(this.doc()) + } +}) + +SVG.RBox = SVG.invent({ + // Initialize + create: function(element) { + SVG.Box.apply(this, [].slice.call(arguments)) + + if (element instanceof SVG.Element) { + SVG.Box.call(this, element.node.getBoundingClientRect()) + } + } + +, inherit: SVG.Box + + // define Parent +, parent: SVG.Element + +, extend: { + addOffset: function() { + // offset by window scroll position, because getBoundingClientRect changes when window is scrolled + this.x += window.pageXOffset + this.y += window.pageYOffset + return this + } + } + + // Constructor +, construct: { + // Get rect box + rbox: function(el) { + if (el) return new SVG.RBox(this).transform(el.screenCTM().inverse()) + return new SVG.RBox(this).addOffset() + } + } + +}) + +SVG.RBox.prototype.constructor = SVG.RBox + +SVG.Matrix = SVG.invent({ + // Initialize + create: function(source) { + var i, base = arrayToMatrix([1, 0, 0, 1, 0, 0]) + + // ensure source as object + source = source instanceof SVG.Element ? + source.matrixify() : + typeof source === 'string' ? + arrayToMatrix(source.split(SVG.regex.delimiter).map(parseFloat)) : + arguments.length == 6 ? + arrayToMatrix([].slice.call(arguments)) : + Array.isArray(source) ? + arrayToMatrix(source) : + typeof source === 'object' ? + source : base + + // merge source + for (i = abcdef.length - 1; i >= 0; --i) + this[abcdef[i]] = source && typeof source[abcdef[i]] === 'number' ? + source[abcdef[i]] : base[abcdef[i]] + } + + // Add methods +, extend: { + // Extract individual transformations + extract: function() { + // find delta transform points + var px = deltaTransformPoint(this, 0, 1) + , py = deltaTransformPoint(this, 1, 0) + , skewX = 180 / Math.PI * Math.atan2(px.y, px.x) - 90 + + return { + // translation + x: this.e + , y: this.f + , transformedX:(this.e * Math.cos(skewX * Math.PI / 180) + this.f * Math.sin(skewX * Math.PI / 180)) / Math.sqrt(this.a * this.a + this.b * this.b) + , transformedY:(this.f * Math.cos(skewX * Math.PI / 180) + this.e * Math.sin(-skewX * Math.PI / 180)) / Math.sqrt(this.c * this.c + this.d * this.d) + // skew + , skewX: -skewX + , skewY: 180 / Math.PI * Math.atan2(py.y, py.x) + // scale + , scaleX: Math.sqrt(this.a * this.a + this.b * this.b) + , scaleY: Math.sqrt(this.c * this.c + this.d * this.d) + // rotation + , rotation: skewX + , a: this.a + , b: this.b + , c: this.c + , d: this.d + , e: this.e + , f: this.f + , matrix: new SVG.Matrix(this) + } + } + // Clone matrix + , clone: function() { + return new SVG.Matrix(this) + } + // Morph one matrix into another + , morph: function(matrix) { + // store new destination + this.destination = new SVG.Matrix(matrix) + + return this + } + // Get morphed matrix at a given position + , at: function(pos) { + // make sure a destination is defined + if (!this.destination) return this + + // calculate morphed matrix at a given position + var matrix = new SVG.Matrix({ + a: this.a + (this.destination.a - this.a) * pos + , b: this.b + (this.destination.b - this.b) * pos + , c: this.c + (this.destination.c - this.c) * pos + , d: this.d + (this.destination.d - this.d) * pos + , e: this.e + (this.destination.e - this.e) * pos + , f: this.f + (this.destination.f - this.f) * pos + }) + + return matrix + } + // Multiplies by given matrix + , multiply: function(matrix) { + return new SVG.Matrix(this.native().multiply(parseMatrix(matrix).native())) + } + // Inverses matrix + , inverse: function() { + return new SVG.Matrix(this.native().inverse()) + } + // Translate matrix + , translate: function(x, y) { + return new SVG.Matrix(this.native().translate(x || 0, y || 0)) + } + // Scale matrix + , scale: function(x, y, cx, cy) { + // support uniformal scale + if (arguments.length == 1) { + y = x + } else if (arguments.length == 3) { + cy = cx + cx = y + y = x + } + + return this.around(cx, cy, new SVG.Matrix(x, 0, 0, y, 0, 0)) + } + // Rotate matrix + , rotate: function(r, cx, cy) { + // convert degrees to radians + r = SVG.utils.radians(r) + + return this.around(cx, cy, new SVG.Matrix(Math.cos(r), Math.sin(r), -Math.sin(r), Math.cos(r), 0, 0)) + } + // Flip matrix on x or y, at a given offset + , flip: function(a, o) { + return a == 'x' ? + this.scale(-1, 1, o, 0) : + a == 'y' ? + this.scale(1, -1, 0, o) : + this.scale(-1, -1, a, o != null ? o : a) + } + // Skew + , skew: function(x, y, cx, cy) { + // support uniformal skew + if (arguments.length == 1) { + y = x + } else if (arguments.length == 3) { + cy = cx + cx = y + y = x + } + + // convert degrees to radians + x = SVG.utils.radians(x) + y = SVG.utils.radians(y) + + return this.around(cx, cy, new SVG.Matrix(1, Math.tan(y), Math.tan(x), 1, 0, 0)) + } + // SkewX + , skewX: function(x, cx, cy) { + return this.skew(x, 0, cx, cy) + } + // SkewY + , skewY: function(y, cx, cy) { + return this.skew(0, y, cx, cy) + } + // Transform around a center point + , around: function(cx, cy, matrix) { + return this + .multiply(new SVG.Matrix(1, 0, 0, 1, cx || 0, cy || 0)) + .multiply(matrix) + .multiply(new SVG.Matrix(1, 0, 0, 1, -cx || 0, -cy || 0)) + } + // Convert to native SVGMatrix + , native: function() { + // create new matrix + var matrix = SVG.parser.native.createSVGMatrix() + + // update with current values + for (var i = abcdef.length - 1; i >= 0; i--) + matrix[abcdef[i]] = this[abcdef[i]] + + return matrix + } + // Convert matrix to string + , toString: function() { + return 'matrix(' + this.a + ',' + this.b + ',' + this.c + ',' + this.d + ',' + this.e + ',' + this.f + ')' + } + } + + // Define parent +, parent: SVG.Element + + // Add parent method +, construct: { + // Get current matrix + ctm: function() { + return new SVG.Matrix(this.node.getCTM()) + }, + // Get current screen matrix + screenCTM: function() { + /* https://bugzilla.mozilla.org/show_bug.cgi?id=1344537 + This is needed because FF does not return the transformation matrix + for the inner coordinate system when getScreenCTM() is called on nested svgs. + However all other Browsers do that */ + if(this instanceof SVG.Nested) { + var rect = this.rect(1,1) + var m = rect.node.getScreenCTM() + rect.remove() + return new SVG.Matrix(m) + } + return new SVG.Matrix(this.node.getScreenCTM()) + } + + } + +}) + +SVG.Point = SVG.invent({ + // Initialize + create: function(x,y) { + var i, source, base = {x:0, y:0} + + // ensure source as object + source = Array.isArray(x) ? + {x:x[0], y:x[1]} : + typeof x === 'object' ? + {x:x.x, y:x.y} : + x != null ? + {x:x, y:(y != null ? y : x)} : base // If y has no value, then x is used has its value + + // merge source + this.x = source.x + this.y = source.y + } + + // Add methods +, extend: { + // Clone point + clone: function() { + return new SVG.Point(this) + } + // Morph one point into another + , morph: function(x, y) { + // store new destination + this.destination = new SVG.Point(x, y) + + return this + } + // Get morphed point at a given position + , at: function(pos) { + // make sure a destination is defined + if (!this.destination) return this + + // calculate morphed matrix at a given position + var point = new SVG.Point({ + x: this.x + (this.destination.x - this.x) * pos + , y: this.y + (this.destination.y - this.y) * pos + }) + + return point + } + // Convert to native SVGPoint + , native: function() { + // create new point + var point = SVG.parser.native.createSVGPoint() + + // update with current values + point.x = this.x + point.y = this.y + + return point + } + // transform point with matrix + , transform: function(matrix) { + return new SVG.Point(this.native().matrixTransform(matrix.native())) + } + + } + +}) + +SVG.extend(SVG.Element, { + + // Get point + point: function(x, y) { + return new SVG.Point(x,y).transform(this.screenCTM().inverse()); + } + +}) + +SVG.extend(SVG.Element, { + // Set svg element attribute + attr: function(a, v, n) { + // act as full getter + if (a == null) { + // get an object of attributes + a = {} + v = this.node.attributes + for (n = v.length - 1; n >= 0; n--) + a[v[n].nodeName] = SVG.regex.isNumber.test(v[n].nodeValue) ? parseFloat(v[n].nodeValue) : v[n].nodeValue + + return a + + } else if (typeof a == 'object') { + // apply every attribute individually if an object is passed + for (v in a) this.attr(v, a[v]) + + } else if (v === null) { + // remove value + this.node.removeAttribute(a) + + } else if (v == null) { + // act as a getter if the first and only argument is not an object + v = this.node.getAttribute(a) + return v == null ? + SVG.defaults.attrs[a] : + SVG.regex.isNumber.test(v) ? + parseFloat(v) : v + + } else { + // BUG FIX: some browsers will render a stroke if a color is given even though stroke width is 0 + if (a == 'stroke-width') + this.attr('stroke', parseFloat(v) > 0 ? this._stroke : null) + else if (a == 'stroke') + this._stroke = v + + // convert image fill and stroke to patterns + if (a == 'fill' || a == 'stroke') { + if (SVG.regex.isImage.test(v)) + v = this.doc().defs().image(v, 0, 0) + + if (v instanceof SVG.Image) + v = this.doc().defs().pattern(0, 0, function() { + this.add(v) + }) + } + + // ensure correct numeric values (also accepts NaN and Infinity) + if (typeof v === 'number') + v = new SVG.Number(v) + + // ensure full hex color + else if (SVG.Color.isColor(v)) + v = new SVG.Color(v) + + // parse array values + else if (Array.isArray(v)) + v = new SVG.Array(v) + + // if the passed attribute is leading... + if (a == 'leading') { + // ... call the leading method instead + if (this.leading) + this.leading(v) + } else { + // set given attribute on node + typeof n === 'string' ? + this.node.setAttributeNS(n, a, v.toString()) : + this.node.setAttribute(a, v.toString()) + } + + // rebuild if required + if (this.rebuild && (a == 'font-size' || a == 'x')) + this.rebuild(a, v) + } + + return this + } +}) +SVG.extend(SVG.Element, { + // Add transformations + transform: function(o, relative) { + // get target in case of the fx module, otherwise reference this + var target = this + , matrix, bbox + + // act as a getter + if (typeof o !== 'object') { + // get current matrix + matrix = new SVG.Matrix(target).extract() + + return typeof o === 'string' ? matrix[o] : matrix + } + + // get current matrix + matrix = new SVG.Matrix(target) + + // ensure relative flag + relative = !!relative || !!o.relative + + // act on matrix + if (o.a != null) { + matrix = relative ? + // relative + matrix.multiply(new SVG.Matrix(o)) : + // absolute + new SVG.Matrix(o) + + // act on rotation + } else if (o.rotation != null) { + // ensure centre point + ensureCentre(o, target) + + // apply transformation + matrix = relative ? + // relative + matrix.rotate(o.rotation, o.cx, o.cy) : + // absolute + matrix.rotate(o.rotation - matrix.extract().rotation, o.cx, o.cy) + + // act on scale + } else if (o.scale != null || o.scaleX != null || o.scaleY != null) { + // ensure centre point + ensureCentre(o, target) + + // ensure scale values on both axes + o.scaleX = o.scale != null ? o.scale : o.scaleX != null ? o.scaleX : 1 + o.scaleY = o.scale != null ? o.scale : o.scaleY != null ? o.scaleY : 1 + + if (!relative) { + // absolute; multiply inversed values + var e = matrix.extract() + o.scaleX = o.scaleX * 1 / e.scaleX + o.scaleY = o.scaleY * 1 / e.scaleY + } + + matrix = matrix.scale(o.scaleX, o.scaleY, o.cx, o.cy) + + // act on skew + } else if (o.skew != null || o.skewX != null || o.skewY != null) { + // ensure centre point + ensureCentre(o, target) + + // ensure skew values on both axes + o.skewX = o.skew != null ? o.skew : o.skewX != null ? o.skewX : 0 + o.skewY = o.skew != null ? o.skew : o.skewY != null ? o.skewY : 0 + + if (!relative) { + // absolute; reset skew values + var e = matrix.extract() + matrix = matrix.multiply(new SVG.Matrix().skew(e.skewX, e.skewY, o.cx, o.cy).inverse()) + } + + matrix = matrix.skew(o.skewX, o.skewY, o.cx, o.cy) + + // act on flip + } else if (o.flip) { + if(o.flip == 'x' || o.flip == 'y') { + o.offset = o.offset == null ? target.bbox()['c' + o.flip] : o.offset + } else { + if(o.offset == null) { + bbox = target.bbox() + o.flip = bbox.cx + o.offset = bbox.cy + } else { + o.flip = o.offset + } + } + + matrix = new SVG.Matrix().flip(o.flip, o.offset) + + // act on translate + } else if (o.x != null || o.y != null) { + if (relative) { + // relative + matrix = matrix.translate(o.x, o.y) + } else { + // absolute + if (o.x != null) matrix.e = o.x + if (o.y != null) matrix.f = o.y + } + } + + return this.attr('transform', matrix) + } +}) + +SVG.extend(SVG.FX, { + transform: function(o, relative) { + // get target in case of the fx module, otherwise reference this + var target = this.target() + , matrix, bbox + + // act as a getter + if (typeof o !== 'object') { + // get current matrix + matrix = new SVG.Matrix(target).extract() + + return typeof o === 'string' ? matrix[o] : matrix + } + + // ensure relative flag + relative = !!relative || !!o.relative + + // act on matrix + if (o.a != null) { + matrix = new SVG.Matrix(o) + + // act on rotation + } else if (o.rotation != null) { + // ensure centre point + ensureCentre(o, target) + + // apply transformation + matrix = new SVG.Rotate(o.rotation, o.cx, o.cy) + + // act on scale + } else if (o.scale != null || o.scaleX != null || o.scaleY != null) { + // ensure centre point + ensureCentre(o, target) + + // ensure scale values on both axes + o.scaleX = o.scale != null ? o.scale : o.scaleX != null ? o.scaleX : 1 + o.scaleY = o.scale != null ? o.scale : o.scaleY != null ? o.scaleY : 1 + + matrix = new SVG.Scale(o.scaleX, o.scaleY, o.cx, o.cy) + + // act on skew + } else if (o.skewX != null || o.skewY != null) { + // ensure centre point + ensureCentre(o, target) + + // ensure skew values on both axes + o.skewX = o.skewX != null ? o.skewX : 0 + o.skewY = o.skewY != null ? o.skewY : 0 + + matrix = new SVG.Skew(o.skewX, o.skewY, o.cx, o.cy) + + // act on flip + } else if (o.flip) { + if(o.flip == 'x' || o.flip == 'y') { + o.offset = o.offset == null ? target.bbox()['c' + o.flip] : o.offset + } else { + if(o.offset == null) { + bbox = target.bbox() + o.flip = bbox.cx + o.offset = bbox.cy + } else { + o.flip = o.offset + } + } + + matrix = new SVG.Matrix().flip(o.flip, o.offset) + + // act on translate + } else if (o.x != null || o.y != null) { + matrix = new SVG.Translate(o.x, o.y) + } + + if(!matrix) return this + + matrix.relative = relative + + this.last().transforms.push(matrix) + + return this._callStart() + } +}) + +SVG.extend(SVG.Element, { + // Reset all transformations + untransform: function() { + return this.attr('transform', null) + }, + // merge the whole transformation chain into one matrix and returns it + matrixify: function() { + + var matrix = (this.attr('transform') || '') + // split transformations + .split(SVG.regex.transforms).slice(0,-1).map(function(str){ + // generate key => value pairs + var kv = str.trim().split('(') + return [kv[0], kv[1].split(SVG.regex.delimiter).map(function(str){ return parseFloat(str) })] + }) + // merge every transformation into one matrix + .reduce(function(matrix, transform){ + + if(transform[0] == 'matrix') return matrix.multiply(arrayToMatrix(transform[1])) + return matrix[transform[0]].apply(matrix, transform[1]) + + }, new SVG.Matrix()) + + return matrix + }, + // add an element to another parent without changing the visual representation on the screen + toParent: function(parent) { + if(this == parent) return this + var ctm = this.screenCTM() + var pCtm = parent.screenCTM().inverse() + + this.addTo(parent).untransform().transform(pCtm.multiply(ctm)) + + return this + }, + // same as above with parent equals root-svg + toDoc: function() { + return this.toParent(this.doc()) + } + +}) + +SVG.Transformation = SVG.invent({ + + create: function(source, inversed){ + + if(arguments.length > 1 && typeof inversed != 'boolean'){ + return this.constructor.call(this, [].slice.call(arguments)) + } + + if(Array.isArray(source)){ + for(var i = 0, len = this.arguments.length; i < len; ++i){ + this[this.arguments[i]] = source[i] + } + } else if(typeof source == 'object'){ + for(var i = 0, len = this.arguments.length; i < len; ++i){ + this[this.arguments[i]] = source[this.arguments[i]] + } + } + + this.inversed = false + + if(inversed === true){ + this.inversed = true + } + + } + +, extend: { + + arguments: [] + , method: '' + + , at: function(pos){ + + var params = [] + + for(var i = 0, len = this.arguments.length; i < len; ++i){ + params.push(this[this.arguments[i]]) + } + + var m = this._undo || new SVG.Matrix() + + m = new SVG.Matrix().morph(SVG.Matrix.prototype[this.method].apply(m, params)).at(pos) + + return this.inversed ? m.inverse() : m + + } + + , undo: function(o){ + for(var i = 0, len = this.arguments.length; i < len; ++i){ + o[this.arguments[i]] = typeof this[this.arguments[i]] == 'undefined' ? 0 : o[this.arguments[i]] + } + + // The method SVG.Matrix.extract which was used before calling this + // method to obtain a value for the parameter o doesn't return a cx and + // a cy so we use the ones that were provided to this object at its creation + o.cx = this.cx + o.cy = this.cy + + this._undo = new SVG[capitalize(this.method)](o, true).at(1) + + return this + } + + } + +}) + +SVG.Translate = SVG.invent({ + + parent: SVG.Matrix +, inherit: SVG.Transformation + +, create: function(source, inversed){ + this.constructor.apply(this, [].slice.call(arguments)) + } + +, extend: { + arguments: ['transformedX', 'transformedY'] + , method: 'translate' + } + +}) + +SVG.Rotate = SVG.invent({ + + parent: SVG.Matrix +, inherit: SVG.Transformation + +, create: function(source, inversed){ + this.constructor.apply(this, [].slice.call(arguments)) + } + +, extend: { + arguments: ['rotation', 'cx', 'cy'] + , method: 'rotate' + , at: function(pos){ + var m = new SVG.Matrix().rotate(new SVG.Number().morph(this.rotation - (this._undo ? this._undo.rotation : 0)).at(pos), this.cx, this.cy) + return this.inversed ? m.inverse() : m + } + , undo: function(o){ + this._undo = o + return this + } + } + +}) + +SVG.Scale = SVG.invent({ + + parent: SVG.Matrix +, inherit: SVG.Transformation + +, create: function(source, inversed){ + this.constructor.apply(this, [].slice.call(arguments)) + } + +, extend: { + arguments: ['scaleX', 'scaleY', 'cx', 'cy'] + , method: 'scale' + } + +}) + +SVG.Skew = SVG.invent({ + + parent: SVG.Matrix +, inherit: SVG.Transformation + +, create: function(source, inversed){ + this.constructor.apply(this, [].slice.call(arguments)) + } + +, extend: { + arguments: ['skewX', 'skewY', 'cx', 'cy'] + , method: 'skew' + } + +}) + +SVG.extend(SVG.Element, { + // Dynamic style generator + style: function(s, v) { + if (arguments.length == 0) { + // get full style + return this.node.style.cssText || '' + + } else if (arguments.length < 2) { + // apply every style individually if an object is passed + if (typeof s == 'object') { + for (v in s) this.style(v, s[v]) + + } else if (SVG.regex.isCss.test(s)) { + // parse css string + s = s.split(/\s*;\s*/) + // filter out suffix ; and stuff like ;; + .filter(function(e) { return !!e }) + .map(function(e){ return e.split(/\s*:\s*/) }) + + // apply every definition individually + while (v = s.pop()) { + this.style(v[0], v[1]) + } + } else { + // act as a getter if the first and only argument is not an object + return this.node.style[camelCase(s)] + } + + } else { + this.node.style[camelCase(s)] = v === null || SVG.regex.isBlank.test(v) ? '' : v + } + + return this + } +}) +SVG.Parent = SVG.invent({ + // Initialize node + create: function(element) { + this.constructor.call(this, element) + } + + // Inherit from +, inherit: SVG.Element + + // Add class methods +, extend: { + // Returns all child elements + children: function() { + return SVG.utils.map(SVG.utils.filterSVGElements(this.node.childNodes), function(node) { + return SVG.adopt(node) + }) + } + // Add given element at a position + , add: function(element, i) { + if (i == null) + this.node.appendChild(element.node) + else if (element.node != this.node.childNodes[i]) + this.node.insertBefore(element.node, this.node.childNodes[i]) + + return this + } + // Basically does the same as `add()` but returns the added element instead + , put: function(element, i) { + this.add(element, i) + return element + } + // Checks if the given element is a child + , has: function(element) { + return this.index(element) >= 0 + } + // Gets index of given element + , index: function(element) { + return [].slice.call(this.node.childNodes).indexOf(element.node) + } + // Get a element at the given index + , get: function(i) { + return SVG.adopt(this.node.childNodes[i]) + } + // Get first child + , first: function() { + return this.get(0) + } + // Get the last child + , last: function() { + return this.get(this.node.childNodes.length - 1) + } + // Iterates over all children and invokes a given block + , each: function(block, deep) { + var i, il + , children = this.children() + + for (i = 0, il = children.length; i < il; i++) { + if (children[i] instanceof SVG.Element) + block.apply(children[i], [i, children]) + + if (deep && (children[i] instanceof SVG.Container)) + children[i].each(block, deep) + } + + return this + } + // Remove a given child + , removeElement: function(element) { + this.node.removeChild(element.node) + + return this + } + // Remove all elements in this container + , clear: function() { + // remove children + while(this.node.hasChildNodes()) + this.node.removeChild(this.node.lastChild) + + // remove defs reference + delete this._defs + + return this + } + , // Get defs + defs: function() { + return this.doc().defs() + } + } + +}) + +SVG.extend(SVG.Parent, { + + ungroup: function(parent, depth) { + if(depth === 0 || this instanceof SVG.Defs || this.node == SVG.parser.draw) return this + + parent = parent || (this instanceof SVG.Doc ? this : this.parent(SVG.Parent)) + depth = depth || Infinity + + this.each(function(){ + if(this instanceof SVG.Defs) return this + if(this instanceof SVG.Parent) return this.ungroup(parent, depth-1) + return this.toParent(parent) + }) + + this.node.firstChild || this.remove() + + return this + }, + + flatten: function(parent, depth) { + return this.ungroup(parent, depth) + } + +}) +SVG.Container = SVG.invent({ + // Initialize node + create: function(element) { + this.constructor.call(this, element) + } + + // Inherit from +, inherit: SVG.Parent + +}) + +SVG.ViewBox = SVG.invent({ + + create: function(source) { + var i, base = [0, 0, 0, 0] + + var x, y, width, height, box, view, we, he + , wm = 1 // width multiplier + , hm = 1 // height multiplier + , reg = /[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/gi + + if(source instanceof SVG.Element){ + + we = source + he = source + view = (source.attr('viewBox') || '').match(reg) + box = source.bbox + + // get dimensions of current node + width = new SVG.Number(source.width()) + height = new SVG.Number(source.height()) + + // find nearest non-percentual dimensions + while (width.unit == '%') { + wm *= width.value + width = new SVG.Number(we instanceof SVG.Doc ? we.parent().offsetWidth : we.parent().width()) + we = we.parent() + } + while (height.unit == '%') { + hm *= height.value + height = new SVG.Number(he instanceof SVG.Doc ? he.parent().offsetHeight : he.parent().height()) + he = he.parent() + } + + // ensure defaults + this.x = 0 + this.y = 0 + this.width = width * wm + this.height = height * hm + this.zoom = 1 + + if (view) { + // get width and height from viewbox + x = parseFloat(view[0]) + y = parseFloat(view[1]) + width = parseFloat(view[2]) + height = parseFloat(view[3]) + + // calculate zoom accoring to viewbox + this.zoom = ((this.width / this.height) > (width / height)) ? + this.height / height : + this.width / width + + // calculate real pixel dimensions on parent SVG.Doc element + this.x = x + this.y = y + this.width = width + this.height = height + + } + + }else{ + + // ensure source as object + source = typeof source === 'string' ? + source.match(reg).map(function(el){ return parseFloat(el) }) : + Array.isArray(source) ? + source : + typeof source == 'object' ? + [source.x, source.y, source.width, source.height] : + arguments.length == 4 ? + [].slice.call(arguments) : + base + + this.x = source[0] + this.y = source[1] + this.width = source[2] + this.height = source[3] + } + + + } + +, extend: { + + toString: function() { + return this.x + ' ' + this.y + ' ' + this.width + ' ' + this.height + } + , morph: function(x, y, width, height){ + this.destination = new SVG.ViewBox(x, y, width, height) + return this + } + + , at: function(pos) { + + if(!this.destination) return this + + return new SVG.ViewBox([ + this.x + (this.destination.x - this.x) * pos + , this.y + (this.destination.y - this.y) * pos + , this.width + (this.destination.width - this.width) * pos + , this.height + (this.destination.height - this.height) * pos + ]) + + } + + } + + // Define parent +, parent: SVG.Container + + // Add parent method +, construct: { + + // get/set viewbox + viewbox: function(x, y, width, height) { + if (arguments.length == 0) + // act as a getter if there are no arguments + return new SVG.ViewBox(this) + + // otherwise act as a setter + return this.attr('viewBox', new SVG.ViewBox(x, y, width, height)) + } + + } + +}) +// Add events to elements +;[ 'click' + , 'dblclick' + , 'mousedown' + , 'mouseup' + , 'mouseover' + , 'mouseout' + , 'mousemove' + // , 'mouseenter' -> not supported by IE + // , 'mouseleave' -> not supported by IE + , 'touchstart' + , 'touchmove' + , 'touchleave' + , 'touchend' + , 'touchcancel' ].forEach(function(event) { + + // add event to SVG.Element + SVG.Element.prototype[event] = function(f) { + // bind event to element rather than element node + SVG.on(this.node, event, f) + return this + } +}) + +// Initialize listeners stack +SVG.listeners = [] +SVG.handlerMap = [] +SVG.listenerId = 0 + +// Add event binder in the SVG namespace +SVG.on = function(node, event, listener, binding, options) { + // create listener, get object-index + var l = listener.bind(binding || node.instance || node) + , index = (SVG.handlerMap.indexOf(node) + 1 || SVG.handlerMap.push(node)) - 1 + , ev = event.split('.')[0] + , ns = event.split('.')[1] || '*' + + + // ensure valid object + SVG.listeners[index] = SVG.listeners[index] || {} + SVG.listeners[index][ev] = SVG.listeners[index][ev] || {} + SVG.listeners[index][ev][ns] = SVG.listeners[index][ev][ns] || {} + + if(!listener._svgjsListenerId) + listener._svgjsListenerId = ++SVG.listenerId + + // reference listener + SVG.listeners[index][ev][ns][listener._svgjsListenerId] = l + + // add listener + node.addEventListener(ev, l, options || false) +} + +// Add event unbinder in the SVG namespace +SVG.off = function(node, event, listener) { + var index = SVG.handlerMap.indexOf(node) + , ev = event && event.split('.')[0] + , ns = event && event.split('.')[1] + , namespace = '' + + if(index == -1) return + + if (listener) { + if(typeof listener == 'function') listener = listener._svgjsListenerId + if(!listener) return + + // remove listener reference + if (SVG.listeners[index][ev] && SVG.listeners[index][ev][ns || '*']) { + // remove listener + node.removeEventListener(ev, SVG.listeners[index][ev][ns || '*'][listener], false) + + delete SVG.listeners[index][ev][ns || '*'][listener] + } + + } else if (ns && ev) { + // remove all listeners for a namespaced event + if (SVG.listeners[index][ev] && SVG.listeners[index][ev][ns]) { + for (listener in SVG.listeners[index][ev][ns]) + SVG.off(node, [ev, ns].join('.'), listener) + + delete SVG.listeners[index][ev][ns] + } + + } else if (ns){ + // remove all listeners for a specific namespace + for(event in SVG.listeners[index]){ + for(namespace in SVG.listeners[index][event]){ + if(ns === namespace){ + SVG.off(node, [event, ns].join('.')) + } + } + } + + } else if (ev) { + // remove all listeners for the event + if (SVG.listeners[index][ev]) { + for (namespace in SVG.listeners[index][ev]) + SVG.off(node, [ev, namespace].join('.')) + + delete SVG.listeners[index][ev] + } + + } else { + // remove all listeners on a given node + for (event in SVG.listeners[index]) + SVG.off(node, event) + + delete SVG.listeners[index] + delete SVG.handlerMap[index] + + } +} + +// +SVG.extend(SVG.Element, { + // Bind given event to listener + on: function(event, listener, binding, options) { + SVG.on(this.node, event, listener, binding, options) + + return this + } + // Unbind event from listener +, off: function(event, listener) { + SVG.off(this.node, event, listener) + + return this + } + // Fire given event +, fire: function(event, data) { + + // Dispatch event + if(event instanceof window.Event){ + this.node.dispatchEvent(event) + }else{ + this.node.dispatchEvent(event = new window.CustomEvent(event, {detail:data, cancelable: true})) + } + + this._event = event + return this + } +, event: function() { + return this._event + } +}) + + +SVG.Defs = SVG.invent({ + // Initialize node + create: 'defs' + + // Inherit from +, inherit: SVG.Container + +}) +SVG.G = SVG.invent({ + // Initialize node + create: 'g' + + // Inherit from +, inherit: SVG.Container + + // Add class methods +, extend: { + // Move over x-axis + x: function(x) { + return x == null ? this.transform('x') : this.transform({ x: x - this.x() }, true) + } + // Move over y-axis + , y: function(y) { + return y == null ? this.transform('y') : this.transform({ y: y - this.y() }, true) + } + // Move by center over x-axis + , cx: function(x) { + return x == null ? this.gbox().cx : this.x(x - this.gbox().width / 2) + } + // Move by center over y-axis + , cy: function(y) { + return y == null ? this.gbox().cy : this.y(y - this.gbox().height / 2) + } + , gbox: function() { + + var bbox = this.bbox() + , trans = this.transform() + + bbox.x += trans.x + bbox.x2 += trans.x + bbox.cx += trans.x + + bbox.y += trans.y + bbox.y2 += trans.y + bbox.cy += trans.y + + return bbox + } + } + + // Add parent method +, construct: { + // Create a group element + group: function() { + return this.put(new SVG.G) + } + } +}) + +// ### This module adds backward / forward functionality to elements. + +// +SVG.extend(SVG.Element, { + // Get all siblings, including myself + siblings: function() { + return this.parent().children() + } + // Get the curent position siblings +, position: function() { + return this.parent().index(this) + } + // Get the next element (will return null if there is none) +, next: function() { + return this.siblings()[this.position() + 1] + } + // Get the next element (will return null if there is none) +, previous: function() { + return this.siblings()[this.position() - 1] + } + // Send given element one step forward +, forward: function() { + var i = this.position() + 1 + , p = this.parent() + + // move node one step forward + p.removeElement(this).add(this, i) + + // make sure defs node is always at the top + if (p instanceof SVG.Doc) + p.node.appendChild(p.defs().node) + + return this + } + // Send given element one step backward +, backward: function() { + var i = this.position() + + if (i > 0) + this.parent().removeElement(this).add(this, i - 1) + + return this + } + // Send given element all the way to the front +, front: function() { + var p = this.parent() + + // Move node forward + p.node.appendChild(this.node) + + // Make sure defs node is always at the top + if (p instanceof SVG.Doc) + p.node.appendChild(p.defs().node) + + return this + } + // Send given element all the way to the back +, back: function() { + if (this.position() > 0) + this.parent().removeElement(this).add(this, 0) + + return this + } + // Inserts a given element before the targeted element +, before: function(element) { + element.remove() + + var i = this.position() + + this.parent().add(element, i) + + return this + } + // Insters a given element after the targeted element +, after: function(element) { + element.remove() + + var i = this.position() + + this.parent().add(element, i + 1) + + return this + } + +}) +SVG.Mask = SVG.invent({ + // Initialize node + create: function() { + this.constructor.call(this, SVG.create('mask')) + + // keep references to masked elements + this.targets = [] + } + + // Inherit from +, inherit: SVG.Container + + // Add class methods +, extend: { + // Unmask all masked elements and remove itself + remove: function() { + // unmask all targets + for (var i = this.targets.length - 1; i >= 0; i--) + if (this.targets[i]) + this.targets[i].unmask() + this.targets = [] + + // remove mask from parent + this.parent().removeElement(this) + + return this + } + } + + // Add parent method +, construct: { + // Create masking element + mask: function() { + return this.defs().put(new SVG.Mask) + } + } +}) + + +SVG.extend(SVG.Element, { + // Distribute mask to svg element + maskWith: function(element) { + // use given mask or create a new one + this.masker = element instanceof SVG.Mask ? element : this.parent().mask().add(element) + + // store reverence on self in mask + this.masker.targets.push(this) + + // apply mask + return this.attr('mask', 'url("#' + this.masker.attr('id') + '")') + } + // Unmask element +, unmask: function() { + delete this.masker + return this.attr('mask', null) + } + +}) + +SVG.ClipPath = SVG.invent({ + // Initialize node + create: function() { + this.constructor.call(this, SVG.create('clipPath')) + + // keep references to clipped elements + this.targets = [] + } + + // Inherit from +, inherit: SVG.Container + + // Add class methods +, extend: { + // Unclip all clipped elements and remove itself + remove: function() { + // unclip all targets + for (var i = this.targets.length - 1; i >= 0; i--) + if (this.targets[i]) + this.targets[i].unclip() + this.targets = [] + + // remove clipPath from parent + this.parent().removeElement(this) + + return this + } + } + + // Add parent method +, construct: { + // Create clipping element + clip: function() { + return this.defs().put(new SVG.ClipPath) + } + } +}) + +// +SVG.extend(SVG.Element, { + // Distribute clipPath to svg element + clipWith: function(element) { + // use given clip or create a new one + this.clipper = element instanceof SVG.ClipPath ? element : this.parent().clip().add(element) + + // store reverence on self in mask + this.clipper.targets.push(this) + + // apply mask + return this.attr('clip-path', 'url("#' + this.clipper.attr('id') + '")') + } + // Unclip element +, unclip: function() { + delete this.clipper + return this.attr('clip-path', null) + } + +}) +SVG.Gradient = SVG.invent({ + // Initialize node + create: function(type) { + this.constructor.call(this, SVG.create(type + 'Gradient')) + + // store type + this.type = type + } + + // Inherit from +, inherit: SVG.Container + + // Add class methods +, extend: { + // Add a color stop + at: function(offset, color, opacity) { + return this.put(new SVG.Stop).update(offset, color, opacity) + } + // Update gradient + , update: function(block) { + // remove all stops + this.clear() + + // invoke passed block + if (typeof block == 'function') + block.call(this, this) + + return this + } + // Return the fill id + , fill: function() { + return 'url(#' + this.id() + ')' + } + // Alias string convertion to fill + , toString: function() { + return this.fill() + } + // custom attr to handle transform + , attr: function(a, b, c) { + if(a == 'transform') a = 'gradientTransform' + return SVG.Container.prototype.attr.call(this, a, b, c) + } + } + + // Add parent method +, construct: { + // Create gradient element in defs + gradient: function(type, block) { + return this.defs().gradient(type, block) + } + } +}) + +// Add animatable methods to both gradient and fx module +SVG.extend(SVG.Gradient, SVG.FX, { + // From position + from: function(x, y) { + return (this._target || this).type == 'radial' ? + this.attr({ fx: new SVG.Number(x), fy: new SVG.Number(y) }) : + this.attr({ x1: new SVG.Number(x), y1: new SVG.Number(y) }) + } + // To position +, to: function(x, y) { + return (this._target || this).type == 'radial' ? + this.attr({ cx: new SVG.Number(x), cy: new SVG.Number(y) }) : + this.attr({ x2: new SVG.Number(x), y2: new SVG.Number(y) }) + } +}) + +// Base gradient generation +SVG.extend(SVG.Defs, { + // define gradient + gradient: function(type, block) { + return this.put(new SVG.Gradient(type)).update(block) + } + +}) + +SVG.Stop = SVG.invent({ + // Initialize node + create: 'stop' + + // Inherit from +, inherit: SVG.Element + + // Add class methods +, extend: { + // add color stops + update: function(o) { + if (typeof o == 'number' || o instanceof SVG.Number) { + o = { + offset: arguments[0] + , color: arguments[1] + , opacity: arguments[2] + } + } + + // set attributes + if (o.opacity != null) this.attr('stop-opacity', o.opacity) + if (o.color != null) this.attr('stop-color', o.color) + if (o.offset != null) this.attr('offset', new SVG.Number(o.offset)) + + return this + } + } + +}) + +SVG.Pattern = SVG.invent({ + // Initialize node + create: 'pattern' + + // Inherit from +, inherit: SVG.Container + + // Add class methods +, extend: { + // Return the fill id + fill: function() { + return 'url(#' + this.id() + ')' + } + // Update pattern by rebuilding + , update: function(block) { + // remove content + this.clear() + + // invoke passed block + if (typeof block == 'function') + block.call(this, this) + + return this + } + // Alias string convertion to fill + , toString: function() { + return this.fill() + } + // custom attr to handle transform + , attr: function(a, b, c) { + if(a == 'transform') a = 'patternTransform' + return SVG.Container.prototype.attr.call(this, a, b, c) + } + + } + + // Add parent method +, construct: { + // Create pattern element in defs + pattern: function(width, height, block) { + return this.defs().pattern(width, height, block) + } + } +}) + +SVG.extend(SVG.Defs, { + // Define gradient + pattern: function(width, height, block) { + return this.put(new SVG.Pattern).update(block).attr({ + x: 0 + , y: 0 + , width: width + , height: height + , patternUnits: 'userSpaceOnUse' + }) + } + +}) +SVG.Doc = SVG.invent({ + // Initialize node + create: function(element) { + if (element) { + // ensure the presence of a dom element + element = typeof element == 'string' ? + document.getElementById(element) : + element + + // If the target is an svg element, use that element as the main wrapper. + // This allows svg.js to work with svg documents as well. + if (element.nodeName == 'svg') { + this.constructor.call(this, element) + } else { + this.constructor.call(this, SVG.create('svg')) + element.appendChild(this.node) + this.size('100%', '100%') + } + + // set svg element attributes and ensure defs node + this.namespace().defs() + } + } + + // Inherit from +, inherit: SVG.Container + + // Add class methods +, extend: { + // Add namespaces + namespace: function() { + return this + .attr({ xmlns: SVG.ns, version: '1.1' }) + .attr('xmlns:xlink', SVG.xlink, SVG.xmlns) + .attr('xmlns:svgjs', SVG.svgjs, SVG.xmlns) + } + // Creates and returns defs element + , defs: function() { + if (!this._defs) { + var defs + + // Find or create a defs element in this instance + if (defs = this.node.getElementsByTagName('defs')[0]) + this._defs = SVG.adopt(defs) + else + this._defs = new SVG.Defs + + // Make sure the defs node is at the end of the stack + this.node.appendChild(this._defs.node) + } + + return this._defs + } + // custom parent method + , parent: function() { + return this.node.parentNode.nodeName == '#document' ? null : this.node.parentNode + } + // Fix for possible sub-pixel offset. See: + // https://bugzilla.mozilla.org/show_bug.cgi?id=608812 + , spof: function(spof) { + var pos = this.node.getScreenCTM() + + if (pos) + this + .style('left', (-pos.e % 1) + 'px') + .style('top', (-pos.f % 1) + 'px') + + return this + } + + // Removes the doc from the DOM + , remove: function() { + if(this.parent()) { + this.parent().removeChild(this.node) + } + + return this + } + , clear: function() { + // remove children + while(this.node.hasChildNodes()) + this.node.removeChild(this.node.lastChild) + + // remove defs reference + delete this._defs + + // add back parser + if(!SVG.parser.draw.parentNode) + this.node.appendChild(SVG.parser.draw) + + return this + } + } + +}) + +SVG.Shape = SVG.invent({ + // Initialize node + create: function(element) { + this.constructor.call(this, element) + } + + // Inherit from +, inherit: SVG.Element + +}) + +SVG.Bare = SVG.invent({ + // Initialize + create: function(element, inherit) { + // construct element + this.constructor.call(this, SVG.create(element)) + + // inherit custom methods + if (inherit) + for (var method in inherit.prototype) + if (typeof inherit.prototype[method] === 'function') + this[method] = inherit.prototype[method] + } + + // Inherit from +, inherit: SVG.Element + + // Add methods +, extend: { + // Insert some plain text + words: function(text) { + // remove contents + while (this.node.hasChildNodes()) + this.node.removeChild(this.node.lastChild) + + // create text node + this.node.appendChild(document.createTextNode(text)) + + return this + } + } +}) + + +SVG.extend(SVG.Parent, { + // Create an element that is not described by SVG.js + element: function(element, inherit) { + return this.put(new SVG.Bare(element, inherit)) + } +}) + +SVG.Symbol = SVG.invent({ + // Initialize node + create: 'symbol' + + // Inherit from +, inherit: SVG.Container + +, construct: { + // create symbol + symbol: function() { + return this.put(new SVG.Symbol) + } + } +}) + +SVG.Use = SVG.invent({ + // Initialize node + create: 'use' + + // Inherit from +, inherit: SVG.Shape + + // Add class methods +, extend: { + // Use element as a reference + element: function(element, file) { + // Set lined element + return this.attr('href', (file || '') + '#' + element, SVG.xlink) + } + } + + // Add parent method +, construct: { + // Create a use element + use: function(element, file) { + return this.put(new SVG.Use).element(element, file) + } + } +}) +SVG.Rect = SVG.invent({ + // Initialize node + create: 'rect' + + // Inherit from +, inherit: SVG.Shape + + // Add parent method +, construct: { + // Create a rect element + rect: function(width, height) { + return this.put(new SVG.Rect()).size(width, height) + } + } +}) +SVG.Circle = SVG.invent({ + // Initialize node + create: 'circle' + + // Inherit from +, inherit: SVG.Shape + + // Add parent method +, construct: { + // Create circle element, based on ellipse + circle: function(size) { + return this.put(new SVG.Circle).rx(new SVG.Number(size).divide(2)).move(0, 0) + } + } +}) + +SVG.extend(SVG.Circle, SVG.FX, { + // Radius x value + rx: function(rx) { + return this.attr('r', rx) + } + // Alias radius x value +, ry: function(ry) { + return this.rx(ry) + } +}) + +SVG.Ellipse = SVG.invent({ + // Initialize node + create: 'ellipse' + + // Inherit from +, inherit: SVG.Shape + + // Add parent method +, construct: { + // Create an ellipse + ellipse: function(width, height) { + return this.put(new SVG.Ellipse).size(width, height).move(0, 0) + } + } +}) + +SVG.extend(SVG.Ellipse, SVG.Rect, SVG.FX, { + // Radius x value + rx: function(rx) { + return this.attr('rx', rx) + } + // Radius y value +, ry: function(ry) { + return this.attr('ry', ry) + } +}) + +// Add common method +SVG.extend(SVG.Circle, SVG.Ellipse, { + // Move over x-axis + x: function(x) { + return x == null ? this.cx() - this.rx() : this.cx(x + this.rx()) + } + // Move over y-axis + , y: function(y) { + return y == null ? this.cy() - this.ry() : this.cy(y + this.ry()) + } + // Move by center over x-axis + , cx: function(x) { + return x == null ? this.attr('cx') : this.attr('cx', x) + } + // Move by center over y-axis + , cy: function(y) { + return y == null ? this.attr('cy') : this.attr('cy', y) + } + // Set width of element + , width: function(width) { + return width == null ? this.rx() * 2 : this.rx(new SVG.Number(width).divide(2)) + } + // Set height of element + , height: function(height) { + return height == null ? this.ry() * 2 : this.ry(new SVG.Number(height).divide(2)) + } + // Custom size function + , size: function(width, height) { + var p = proportionalSize(this, width, height) + + return this + .rx(new SVG.Number(p.width).divide(2)) + .ry(new SVG.Number(p.height).divide(2)) + } +}) +SVG.Line = SVG.invent({ + // Initialize node + create: 'line' + + // Inherit from +, inherit: SVG.Shape + + // Add class methods +, extend: { + // Get array + array: function() { + return new SVG.PointArray([ + [ this.attr('x1'), this.attr('y1') ] + , [ this.attr('x2'), this.attr('y2') ] + ]) + } + // Overwrite native plot() method + , plot: function(x1, y1, x2, y2) { + if (x1 == null) + return this.array() + else if (typeof y1 !== 'undefined') + x1 = { x1: x1, y1: y1, x2: x2, y2: y2 } + else + x1 = new SVG.PointArray(x1).toLine() + + return this.attr(x1) + } + // Move by left top corner + , move: function(x, y) { + return this.attr(this.array().move(x, y).toLine()) + } + // Set element size to given width and height + , size: function(width, height) { + var p = proportionalSize(this, width, height) + + return this.attr(this.array().size(p.width, p.height).toLine()) + } + } + + // Add parent method +, construct: { + // Create a line element + line: function(x1, y1, x2, y2) { + // make sure plot is called as a setter + // x1 is not necessarily a number, it can also be an array, a string and a SVG.PointArray + return SVG.Line.prototype.plot.apply( + this.put(new SVG.Line) + , x1 != null ? [x1, y1, x2, y2] : [0, 0, 0, 0] + ) + } + } +}) + +SVG.Polyline = SVG.invent({ + // Initialize node + create: 'polyline' + + // Inherit from +, inherit: SVG.Shape + + // Add parent method +, construct: { + // Create a wrapped polyline element + polyline: function(p) { + // make sure plot is called as a setter + return this.put(new SVG.Polyline).plot(p || new SVG.PointArray) + } + } +}) + +SVG.Polygon = SVG.invent({ + // Initialize node + create: 'polygon' + + // Inherit from +, inherit: SVG.Shape + + // Add parent method +, construct: { + // Create a wrapped polygon element + polygon: function(p) { + // make sure plot is called as a setter + return this.put(new SVG.Polygon).plot(p || new SVG.PointArray) + } + } +}) + +// Add polygon-specific functions +SVG.extend(SVG.Polyline, SVG.Polygon, { + // Get array + array: function() { + return this._array || (this._array = new SVG.PointArray(this.attr('points'))) + } + // Plot new path +, plot: function(p) { + return (p == null) ? + this.array() : + this.clear().attr('points', typeof p == 'string' ? p : (this._array = new SVG.PointArray(p))) + } + // Clear array cache +, clear: function() { + delete this._array + return this + } + // Move by left top corner +, move: function(x, y) { + return this.attr('points', this.array().move(x, y)) + } + // Set element size to given width and height +, size: function(width, height) { + var p = proportionalSize(this, width, height) + + return this.attr('points', this.array().size(p.width, p.height)) + } + +}) + +// unify all point to point elements +SVG.extend(SVG.Line, SVG.Polyline, SVG.Polygon, { + // Define morphable array + morphArray: SVG.PointArray + // Move by left top corner over x-axis +, x: function(x) { + return x == null ? this.bbox().x : this.move(x, this.bbox().y) + } + // Move by left top corner over y-axis +, y: function(y) { + return y == null ? this.bbox().y : this.move(this.bbox().x, y) + } + // Set width of element +, width: function(width) { + var b = this.bbox() + + return width == null ? b.width : this.size(width, b.height) + } + // Set height of element +, height: function(height) { + var b = this.bbox() + + return height == null ? b.height : this.size(b.width, height) + } +}) +SVG.Path = SVG.invent({ + // Initialize node + create: 'path' + + // Inherit from +, inherit: SVG.Shape + + // Add class methods +, extend: { + // Define morphable array + morphArray: SVG.PathArray + // Get array + , array: function() { + return this._array || (this._array = new SVG.PathArray(this.attr('d'))) + } + // Plot new path + , plot: function(d) { + return (d == null) ? + this.array() : + this.clear().attr('d', typeof d == 'string' ? d : (this._array = new SVG.PathArray(d))) + } + // Clear array cache + , clear: function() { + delete this._array + return this + } + // Move by left top corner + , move: function(x, y) { + return this.attr('d', this.array().move(x, y)) + } + // Move by left top corner over x-axis + , x: function(x) { + return x == null ? this.bbox().x : this.move(x, this.bbox().y) + } + // Move by left top corner over y-axis + , y: function(y) { + return y == null ? this.bbox().y : this.move(this.bbox().x, y) + } + // Set element size to given width and height + , size: function(width, height) { + var p = proportionalSize(this, width, height) + + return this.attr('d', this.array().size(p.width, p.height)) + } + // Set width of element + , width: function(width) { + return width == null ? this.bbox().width : this.size(width, this.bbox().height) + } + // Set height of element + , height: function(height) { + return height == null ? this.bbox().height : this.size(this.bbox().width, height) + } + + } + + // Add parent method +, construct: { + // Create a wrapped path element + path: function(d) { + // make sure plot is called as a setter + return this.put(new SVG.Path).plot(d || new SVG.PathArray) + } + } +}) + +SVG.Image = SVG.invent({ + // Initialize node + create: 'image' + + // Inherit from +, inherit: SVG.Shape + + // Add class methods +, extend: { + // (re)load image + load: function(url) { + if (!url) return this + + var self = this + , img = new window.Image() + + // preload image + SVG.on(img, 'load', function() { + var p = self.parent(SVG.Pattern) + + if(p === null) return + + // ensure image size + if (self.width() == 0 && self.height() == 0) + self.size(img.width, img.height) + + // ensure pattern size if not set + if (p && p.width() == 0 && p.height() == 0) + p.size(self.width(), self.height()) + + // callback + if (typeof self._loaded === 'function') + self._loaded.call(self, { + width: img.width + , height: img.height + , ratio: img.width / img.height + , url: url + }) + }) + + SVG.on(img, 'error', function(e){ + if (typeof self._error === 'function'){ + self._error.call(self, e) + } + }) + + return this.attr('href', (img.src = this.src = url), SVG.xlink) + } + // Add loaded callback + , loaded: function(loaded) { + this._loaded = loaded + return this + } + + , error: function(error) { + this._error = error + return this + } + } + + // Add parent method +, construct: { + // create image element, load image and set its size + image: function(source, width, height) { + return this.put(new SVG.Image).load(source).size(width || 0, height || width || 0) + } + } + +}) +SVG.Text = SVG.invent({ + // Initialize node + create: function() { + this.constructor.call(this, SVG.create('text')) + + this.dom.leading = new SVG.Number(1.3) // store leading value for rebuilding + this._rebuild = true // enable automatic updating of dy values + this._build = false // disable build mode for adding multiple lines + + // set default font + this.attr('font-family', SVG.defaults.attrs['font-family']) + } + + // Inherit from +, inherit: SVG.Shape + + // Add class methods +, extend: { + // Move over x-axis + x: function(x) { + // act as getter + if (x == null) + return this.attr('x') + + return this.attr('x', x) + } + // Move over y-axis + , y: function(y) { + var oy = this.attr('y') + , o = typeof oy === 'number' ? oy - this.bbox().y : 0 + + // act as getter + if (y == null) + return typeof oy === 'number' ? oy - o : oy + + return this.attr('y', typeof y === 'number' ? y + o : y) + } + // Move center over x-axis + , cx: function(x) { + return x == null ? this.bbox().cx : this.x(x - this.bbox().width / 2) + } + // Move center over y-axis + , cy: function(y) { + return y == null ? this.bbox().cy : this.y(y - this.bbox().height / 2) + } + // Set the text content + , text: function(text) { + // act as getter + if (typeof text === 'undefined'){ + var text = '' + var children = this.node.childNodes + for(var i = 0, len = children.length; i < len; ++i){ + + // add newline if its not the first child and newLined is set to true + if(i != 0 && children[i].nodeType != 3 && SVG.adopt(children[i]).dom.newLined == true){ + text += '\n' + } + + // add content of this node + text += children[i].textContent + } + + return text + } + + // remove existing content + this.clear().build(true) + + if (typeof text === 'function') { + // call block + text.call(this, this) + + } else { + // store text and make sure text is not blank + text = text.split('\n') + + // build new lines + for (var i = 0, il = text.length; i < il; i++) + this.tspan(text[i]).newLine() + } + + // disable build mode and rebuild lines + return this.build(false).rebuild() + } + // Set font size + , size: function(size) { + return this.attr('font-size', size).rebuild() + } + // Set / get leading + , leading: function(value) { + // act as getter + if (value == null) + return this.dom.leading + + // act as setter + this.dom.leading = new SVG.Number(value) + + return this.rebuild() + } + // Get all the first level lines + , lines: function() { + var node = (this.textPath && this.textPath() || this).node + + // filter tspans and map them to SVG.js instances + var lines = SVG.utils.map(SVG.utils.filterSVGElements(node.childNodes), function(el){ + return SVG.adopt(el) + }) + + // return an instance of SVG.set + return new SVG.Set(lines) + } + // Rebuild appearance type + , rebuild: function(rebuild) { + // store new rebuild flag if given + if (typeof rebuild == 'boolean') + this._rebuild = rebuild + + // define position of all lines + if (this._rebuild) { + var self = this + , blankLineOffset = 0 + , dy = this.dom.leading * new SVG.Number(this.attr('font-size')) + + this.lines().each(function() { + if (this.dom.newLined) { + if (!self.textPath()) + this.attr('x', self.attr('x')) + if(this.text() == '\n') { + blankLineOffset += dy + }else{ + this.attr('dy', dy + blankLineOffset) + blankLineOffset = 0 + } + } + }) + + this.fire('rebuild') + } + + return this + } + // Enable / disable build mode + , build: function(build) { + this._build = !!build + return this + } + // overwrite method from parent to set data properly + , setData: function(o){ + this.dom = o + this.dom.leading = new SVG.Number(o.leading || 1.3) + return this + } + } + + // Add parent method +, construct: { + // Create text element + text: function(text) { + return this.put(new SVG.Text).text(text) + } + // Create plain text element + , plain: function(text) { + return this.put(new SVG.Text).plain(text) + } + } + +}) + +SVG.Tspan = SVG.invent({ + // Initialize node + create: 'tspan' + + // Inherit from +, inherit: SVG.Shape + + // Add class methods +, extend: { + // Set text content + text: function(text) { + if(text == null) return this.node.textContent + (this.dom.newLined ? '\n' : '') + + typeof text === 'function' ? text.call(this, this) : this.plain(text) + + return this + } + // Shortcut dx + , dx: function(dx) { + return this.attr('dx', dx) + } + // Shortcut dy + , dy: function(dy) { + return this.attr('dy', dy) + } + // Create new line + , newLine: function() { + // fetch text parent + var t = this.parent(SVG.Text) + + // mark new line + this.dom.newLined = true + + // apply new hyยกn + return this.dy(t.dom.leading * t.attr('font-size')).attr('x', t.x()) + } + } + +}) + +SVG.extend(SVG.Text, SVG.Tspan, { + // Create plain text node + plain: function(text) { + // clear if build mode is disabled + if (this._build === false) + this.clear() + + // create text node + this.node.appendChild(document.createTextNode(text)) + + return this + } + // Create a tspan +, tspan: function(text) { + var node = (this.textPath && this.textPath() || this).node + , tspan = new SVG.Tspan + + // clear if build mode is disabled + if (this._build === false) + this.clear() + + // add new tspan + node.appendChild(tspan.node) + + return tspan.text(text) + } + // Clear all lines +, clear: function() { + var node = (this.textPath && this.textPath() || this).node + + // remove existing child nodes + while (node.hasChildNodes()) + node.removeChild(node.lastChild) + + return this + } + // Get length of text element +, length: function() { + return this.node.getComputedTextLength() + } +}) + +SVG.TextPath = SVG.invent({ + // Initialize node + create: 'textPath' + + // Inherit from +, inherit: SVG.Parent + + // Define parent class +, parent: SVG.Text + + // Add parent method +, construct: { + // Create path for text to run on + path: function(d) { + // create textPath element + var path = new SVG.TextPath + , track = this.doc().defs().path(d) + + // move lines to textpath + while (this.node.hasChildNodes()) + path.node.appendChild(this.node.firstChild) + + // add textPath element as child node + this.node.appendChild(path.node) + + // link textPath to path and add content + path.attr('href', '#' + track, SVG.xlink) + + return this + } + // return the array of the path track element + , array: function() { + var track = this.track() + + return track ? track.array() : null + } + // Plot path if any + , plot: function(d) { + var track = this.track() + , pathArray = null + + if (track) { + pathArray = track.plot(d) + } + + return (d == null) ? pathArray : this + } + // Get the path track element + , track: function() { + var path = this.textPath() + + if (path) + return path.reference('href') + } + // Get the textPath child + , textPath: function() { + if (this.node.firstChild && this.node.firstChild.nodeName == 'textPath') + return SVG.adopt(this.node.firstChild) + } + } +}) + +SVG.Nested = SVG.invent({ + // Initialize node + create: function() { + this.constructor.call(this, SVG.create('svg')) + + this.style('overflow', 'visible') + } + + // Inherit from +, inherit: SVG.Container + + // Add parent method +, construct: { + // Create nested svg document + nested: function() { + return this.put(new SVG.Nested) + } + } +}) +SVG.A = SVG.invent({ + // Initialize node + create: 'a' + + // Inherit from +, inherit: SVG.Container + + // Add class methods +, extend: { + // Link url + to: function(url) { + return this.attr('href', url, SVG.xlink) + } + // Link show attribute + , show: function(target) { + return this.attr('show', target, SVG.xlink) + } + // Link target attribute + , target: function(target) { + return this.attr('target', target) + } + } + + // Add parent method +, construct: { + // Create a hyperlink element + link: function(url) { + return this.put(new SVG.A).to(url) + } + } +}) + +SVG.extend(SVG.Element, { + // Create a hyperlink element + linkTo: function(url) { + var link = new SVG.A + + if (typeof url == 'function') + url.call(link, link) + else + link.to(url) + + return this.parent().put(link).put(this) + } + +}) +SVG.Marker = SVG.invent({ + // Initialize node + create: 'marker' + + // Inherit from +, inherit: SVG.Container + + // Add class methods +, extend: { + // Set width of element + width: function(width) { + return this.attr('markerWidth', width) + } + // Set height of element + , height: function(height) { + return this.attr('markerHeight', height) + } + // Set marker refX and refY + , ref: function(x, y) { + return this.attr('refX', x).attr('refY', y) + } + // Update marker + , update: function(block) { + // remove all content + this.clear() + + // invoke passed block + if (typeof block == 'function') + block.call(this, this) + + return this + } + // Return the fill id + , toString: function() { + return 'url(#' + this.id() + ')' + } + } + + // Add parent method +, construct: { + marker: function(width, height, block) { + // Create marker element in defs + return this.defs().marker(width, height, block) + } + } + +}) + +SVG.extend(SVG.Defs, { + // Create marker + marker: function(width, height, block) { + // Set default viewbox to match the width and height, set ref to cx and cy and set orient to auto + return this.put(new SVG.Marker) + .size(width, height) + .ref(width / 2, height / 2) + .viewbox(0, 0, width, height) + .attr('orient', 'auto') + .update(block) + } + +}) + +SVG.extend(SVG.Line, SVG.Polyline, SVG.Polygon, SVG.Path, { + // Create and attach markers + marker: function(marker, width, height, block) { + var attr = ['marker'] + + // Build attribute name + if (marker != 'all') attr.push(marker) + attr = attr.join('-') + + // Set marker attribute + marker = arguments[1] instanceof SVG.Marker ? + arguments[1] : + this.doc().marker(width, height, block) + + return this.attr(attr, marker) + } + +}) +// Define list of available attributes for stroke and fill +var sugar = { + stroke: ['color', 'width', 'opacity', 'linecap', 'linejoin', 'miterlimit', 'dasharray', 'dashoffset'] +, fill: ['color', 'opacity', 'rule'] +, prefix: function(t, a) { + return a == 'color' ? t : t + '-' + a + } +} + +// Add sugar for fill and stroke +;['fill', 'stroke'].forEach(function(m) { + var i, extension = {} + + extension[m] = function(o) { + if (typeof o == 'undefined') + return this + if (typeof o == 'string' || SVG.Color.isRgb(o) || (o && typeof o.fill === 'function')) + this.attr(m, o) + + else + // set all attributes from sugar.fill and sugar.stroke list + for (i = sugar[m].length - 1; i >= 0; i--) + if (o[sugar[m][i]] != null) + this.attr(sugar.prefix(m, sugar[m][i]), o[sugar[m][i]]) + + return this + } + + SVG.extend(SVG.Element, SVG.FX, extension) + +}) + +SVG.extend(SVG.Element, SVG.FX, { + // Map rotation to transform + rotate: function(d, cx, cy) { + return this.transform({ rotation: d, cx: cx, cy: cy }) + } + // Map skew to transform +, skew: function(x, y, cx, cy) { + return arguments.length == 1 || arguments.length == 3 ? + this.transform({ skew: x, cx: y, cy: cx }) : + this.transform({ skewX: x, skewY: y, cx: cx, cy: cy }) + } + // Map scale to transform +, scale: function(x, y, cx, cy) { + return arguments.length == 1 || arguments.length == 3 ? + this.transform({ scale: x, cx: y, cy: cx }) : + this.transform({ scaleX: x, scaleY: y, cx: cx, cy: cy }) + } + // Map translate to transform +, translate: function(x, y) { + return this.transform({ x: x, y: y }) + } + // Map flip to transform +, flip: function(a, o) { + o = typeof a == 'number' ? a : o + return this.transform({ flip: a || 'both', offset: o }) + } + // Map matrix to transform +, matrix: function(m) { + return this.attr('transform', new SVG.Matrix(arguments.length == 6 ? [].slice.call(arguments) : m)) + } + // Opacity +, opacity: function(value) { + return this.attr('opacity', value) + } + // Relative move over x axis +, dx: function(x) { + return this.x(new SVG.Number(x).plus(this instanceof SVG.FX ? 0 : this.x()), true) + } + // Relative move over y axis +, dy: function(y) { + return this.y(new SVG.Number(y).plus(this instanceof SVG.FX ? 0 : this.y()), true) + } + // Relative move over x and y axes +, dmove: function(x, y) { + return this.dx(x).dy(y) + } +}) + +SVG.extend(SVG.Rect, SVG.Ellipse, SVG.Circle, SVG.Gradient, SVG.FX, { + // Add x and y radius + radius: function(x, y) { + var type = (this._target || this).type; + return type == 'radial' || type == 'circle' ? + this.attr('r', new SVG.Number(x)) : + this.rx(x).ry(y == null ? x : y) + } +}) + +SVG.extend(SVG.Path, { + // Get path length + length: function() { + return this.node.getTotalLength() + } + // Get point at length +, pointAt: function(length) { + return this.node.getPointAtLength(length) + } +}) + +SVG.extend(SVG.Parent, SVG.Text, SVG.Tspan, SVG.FX, { + // Set font + font: function(a, v) { + if (typeof a == 'object') { + for (v in a) this.font(v, a[v]) + } + + return a == 'leading' ? + this.leading(v) : + a == 'anchor' ? + this.attr('text-anchor', v) : + a == 'size' || a == 'family' || a == 'weight' || a == 'stretch' || a == 'variant' || a == 'style' ? + this.attr('font-'+ a, v) : + this.attr(a, v) + } +}) + +SVG.Set = SVG.invent({ + // Initialize + create: function(members) { + // Set initial state + Array.isArray(members) ? this.members = members : this.clear() + } + + // Add class methods +, extend: { + // Add element to set + add: function() { + var i, il, elements = [].slice.call(arguments) + + for (i = 0, il = elements.length; i < il; i++) + this.members.push(elements[i]) + + return this + } + // Remove element from set + , remove: function(element) { + var i = this.index(element) + + // remove given child + if (i > -1) + this.members.splice(i, 1) + + return this + } + // Iterate over all members + , each: function(block) { + for (var i = 0, il = this.members.length; i < il; i++) + block.apply(this.members[i], [i, this.members]) + + return this + } + // Restore to defaults + , clear: function() { + // initialize store + this.members = [] + + return this + } + // Get the length of a set + , length: function() { + return this.members.length + } + // Checks if a given element is present in set + , has: function(element) { + return this.index(element) >= 0 + } + // retuns index of given element in set + , index: function(element) { + return this.members.indexOf(element) + } + // Get member at given index + , get: function(i) { + return this.members[i] + } + // Get first member + , first: function() { + return this.get(0) + } + // Get last member + , last: function() { + return this.get(this.members.length - 1) + } + // Default value + , valueOf: function() { + return this.members + } + // Get the bounding box of all members included or empty box if set has no items + , bbox: function(){ + // return an empty box of there are no members + if (this.members.length == 0) + return new SVG.RBox() + + // get the first rbox and update the target bbox + var rbox = this.members[0].rbox(this.members[0].doc()) + + this.each(function() { + // user rbox for correct position and visual representation + rbox = rbox.merge(this.rbox(this.doc())) + }) + + return rbox + } + } + + // Add parent method +, construct: { + // Create a new set + set: function(members) { + return new SVG.Set(members) + } + } +}) + +SVG.FX.Set = SVG.invent({ + // Initialize node + create: function(set) { + // store reference to set + this.set = set + } + +}) + +// Alias methods +SVG.Set.inherit = function() { + var m + , methods = [] + + // gather shape methods + for(var m in SVG.Shape.prototype) + if (typeof SVG.Shape.prototype[m] == 'function' && typeof SVG.Set.prototype[m] != 'function') + methods.push(m) + + // apply shape aliasses + methods.forEach(function(method) { + SVG.Set.prototype[method] = function() { + for (var i = 0, il = this.members.length; i < il; i++) + if (this.members[i] && typeof this.members[i][method] == 'function') + this.members[i][method].apply(this.members[i], arguments) + + return method == 'animate' ? (this.fx || (this.fx = new SVG.FX.Set(this))) : this + } + }) + + // clear methods for the next round + methods = [] + + // gather fx methods + for(var m in SVG.FX.prototype) + if (typeof SVG.FX.prototype[m] == 'function' && typeof SVG.FX.Set.prototype[m] != 'function') + methods.push(m) + + // apply fx aliasses + methods.forEach(function(method) { + SVG.FX.Set.prototype[method] = function() { + for (var i = 0, il = this.set.members.length; i < il; i++) + this.set.members[i].fx[method].apply(this.set.members[i].fx, arguments) + + return this + } + }) +} + + + + +SVG.extend(SVG.Element, { + // Store data values on svg nodes + data: function(a, v, r) { + if (typeof a == 'object') { + for (v in a) + this.data(v, a[v]) + + } else if (arguments.length < 2) { + try { + return JSON.parse(this.attr('data-' + a)) + } catch(e) { + return this.attr('data-' + a) + } + + } else { + this.attr( + 'data-' + a + , v === null ? + null : + r === true || typeof v === 'string' || typeof v === 'number' ? + v : + JSON.stringify(v) + ) + } + + return this + } +}) +SVG.extend(SVG.Element, { + // Remember arbitrary data + remember: function(k, v) { + // remember every item in an object individually + if (typeof arguments[0] == 'object') + for (var v in k) + this.remember(v, k[v]) + + // retrieve memory + else if (arguments.length == 1) + return this.memory()[k] + + // store memory + else + this.memory()[k] = v + + return this + } + + // Erase a given memory +, forget: function() { + if (arguments.length == 0) + this._memory = {} + else + for (var i = arguments.length - 1; i >= 0; i--) + delete this.memory()[arguments[i]] + + return this + } + + // Initialize or return local memory object +, memory: function() { + return this._memory || (this._memory = {}) + } + +}) +// Method for getting an element by id +SVG.get = function(id) { + var node = document.getElementById(idFromReference(id) || id) + return SVG.adopt(node) +} + +// Select elements by query string +SVG.select = function(query, parent) { + return new SVG.Set( + SVG.utils.map((parent || document).querySelectorAll(query), function(node) { + return SVG.adopt(node) + }) + ) +} + +SVG.extend(SVG.Parent, { + // Scoped select method + select: function(query) { + return SVG.select(query, this.node) + } + +}) +function pathRegReplace(a, b, c, d) { + return c + d.replace(SVG.regex.dots, ' .') +} + +// creates deep clone of array +function array_clone(arr){ + var clone = arr.slice(0) + for(var i = clone.length; i--;){ + if(Array.isArray(clone[i])){ + clone[i] = array_clone(clone[i]) + } + } + return clone +} + +// tests if a given element is instance of an object +function is(el, obj){ + return el instanceof obj +} + +// tests if a given selector matches an element +function matches(el, selector) { + return (el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector).call(el, selector); +} + +// Convert dash-separated-string to camelCase +function camelCase(s) { + return s.toLowerCase().replace(/-(.)/g, function(m, g) { + return g.toUpperCase() + }) +} + +// Capitalize first letter of a string +function capitalize(s) { + return s.charAt(0).toUpperCase() + s.slice(1) +} + +// Ensure to six-based hex +function fullHex(hex) { + return hex.length == 4 ? + [ '#', + hex.substring(1, 2), hex.substring(1, 2) + , hex.substring(2, 3), hex.substring(2, 3) + , hex.substring(3, 4), hex.substring(3, 4) + ].join('') : hex +} + +// Component to hex value +function compToHex(comp) { + var hex = comp.toString(16) + return hex.length == 1 ? '0' + hex : hex +} + +// Calculate proportional width and height values when necessary +function proportionalSize(element, width, height) { + if (width == null || height == null) { + var box = element.bbox() + + if (width == null) + width = box.width / box.height * height + else if (height == null) + height = box.height / box.width * width + } + + return { + width: width + , height: height + } +} + +// Delta transform point +function deltaTransformPoint(matrix, x, y) { + return { + x: x * matrix.a + y * matrix.c + 0 + , y: x * matrix.b + y * matrix.d + 0 + } +} + +// Map matrix array to object +function arrayToMatrix(a) { + return { a: a[0], b: a[1], c: a[2], d: a[3], e: a[4], f: a[5] } +} + +// Parse matrix if required +function parseMatrix(matrix) { + if (!(matrix instanceof SVG.Matrix)) + matrix = new SVG.Matrix(matrix) + + return matrix +} + +// Add centre point to transform object +function ensureCentre(o, target) { + o.cx = o.cx == null ? target.bbox().cx : o.cx + o.cy = o.cy == null ? target.bbox().cy : o.cy +} + +// PathArray Helpers +function arrayToString(a) { + for (var i = 0, il = a.length, s = ''; i < il; i++) { + s += a[i][0] + + if (a[i][1] != null) { + s += a[i][1] + + if (a[i][2] != null) { + s += ' ' + s += a[i][2] + + if (a[i][3] != null) { + s += ' ' + s += a[i][3] + s += ' ' + s += a[i][4] + + if (a[i][5] != null) { + s += ' ' + s += a[i][5] + s += ' ' + s += a[i][6] + + if (a[i][7] != null) { + s += ' ' + s += a[i][7] + } + } + } + } + } + } + + return s + ' ' +} + +// Deep new id assignment +function assignNewId(node) { + // do the same for SVG child nodes as well + for (var i = node.childNodes.length - 1; i >= 0; i--) + if (node.childNodes[i] instanceof window.SVGElement) + assignNewId(node.childNodes[i]) + + return SVG.adopt(node).id(SVG.eid(node.nodeName)) +} + +// Add more bounding box properties +function fullBox(b) { + if (b.x == null) { + b.x = 0 + b.y = 0 + b.width = 0 + b.height = 0 + } + + b.w = b.width + b.h = b.height + b.x2 = b.x + b.width + b.y2 = b.y + b.height + b.cx = b.x + b.width / 2 + b.cy = b.y + b.height / 2 + + return b +} + +// Get id from reference string +function idFromReference(url) { + var m = url.toString().match(SVG.regex.reference) + + if (m) return m[1] +} + +// Create matrix array for looping +var abcdef = 'abcdef'.split('') +// Add CustomEvent to IE9 and IE10 +if (typeof window.CustomEvent !== 'function') { + // Code from: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent + var CustomEvent = function(event, options) { + options = options || { bubbles: false, cancelable: false, detail: undefined } + var e = document.createEvent('CustomEvent') + e.initCustomEvent(event, options.bubbles, options.cancelable, options.detail) + return e + } + + CustomEvent.prototype = window.Event.prototype + + window.CustomEvent = CustomEvent +} + +// requestAnimationFrame / cancelAnimationFrame Polyfill with fallback based on Paul Irish +(function(w) { + var lastTime = 0 + var vendors = ['moz', 'webkit'] + + for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { + w.requestAnimationFrame = w[vendors[x] + 'RequestAnimationFrame'] + w.cancelAnimationFrame = w[vendors[x] + 'CancelAnimationFrame'] || + w[vendors[x] + 'CancelRequestAnimationFrame'] + } + + w.requestAnimationFrame = w.requestAnimationFrame || + function(callback) { + var currTime = new Date().getTime() + var timeToCall = Math.max(0, 16 - (currTime - lastTime)) + + var id = w.setTimeout(function() { + callback(currTime + timeToCall) + }, timeToCall) + + lastTime = currTime + timeToCall + return id + } + + w.cancelAnimationFrame = w.cancelAnimationFrame || w.clearTimeout; + +}(window)) + +return SVG + +})); \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/dist/svg.min.js b/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/dist/svg.min.js new file mode 100644 index 0000000..29ce812 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/dist/svg.min.js @@ -0,0 +1,3 @@ +/*! svg.js v2.6.1 MIT*/;!function(t,e){"function"==typeof define&&define.amd?define(function(){return e(t,t.document)}):"object"==typeof exports?module.exports=t.document?e(t,t.document):function(t){return e(t,t.document)}:t.SVG=e(t,t.document)}("undefined"!=typeof window?window:this,function(t,e){function i(t,e,i,n){return i+n.replace(g.regex.dots," .")}function n(t){for(var e=t.slice(0),i=e.length;i--;)Array.isArray(e[i])&&(e[i]=n(e[i]));return e}function r(t,e){return t instanceof e}function s(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}function o(t){return t.toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()})}function a(t){return t.charAt(0).toUpperCase()+t.slice(1)}function h(t){return 4==t.length?["#",t.substring(1,2),t.substring(1,2),t.substring(2,3),t.substring(2,3),t.substring(3,4),t.substring(3,4)].join(""):t}function u(t){var e=t.toString(16);return 1==e.length?"0"+e:e}function l(t,e,i){if(null==e||null==i){var n=t.bbox();null==e?e=n.width/n.height*i:null==i&&(i=n.height/n.width*e)}return{width:e,height:i}}function c(t,e,i){return{x:e*t.a+i*t.c+0,y:e*t.b+i*t.d+0}}function f(t){return{a:t[0],b:t[1],c:t[2],d:t[3],e:t[4],f:t[5]}}function d(t){return t instanceof g.Matrix||(t=new g.Matrix(t)),t}function p(t,e){t.cx=null==t.cx?e.bbox().cx:t.cx,t.cy=null==t.cy?e.bbox().cy:t.cy}function m(t){for(var e=0,i=t.length,n="";e=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return g.adopt(e).id(g.eid(e.nodeName))}function y(t){return null==t.x&&(t.x=0,t.y=0,t.width=0,t.height=0),t.w=t.width,t.h=t.height,t.x2=t.x+t.width,t.y2=t.y+t.height,t.cx=t.x+t.width/2,t.cy=t.y+t.height/2,t}function v(t){var e=t.toString().match(g.regex.reference);if(e)return e[1]}var g=this.SVG=function(t){if(g.supported)return t=new g.Doc(t),g.parser.draw||g.prepare(),t};if(g.ns="http://www.w3.org/2000/svg",g.xmlns="http://www.w3.org/2000/xmlns/",g.xlink="http://www.w3.org/1999/xlink",g.svgjs="http://svgjs.com/svgjs",g.supported=function(){return!!e.createElementNS&&!!e.createElementNS(g.ns,"svg").createSVGRect}(),!g.supported)return!1;g.did=1e3,g.eid=function(t){return"Svgjs"+a(t)+g.did++},g.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute("id",this.eid(t)),i},g.extend=function(){var t,e,i,n;for(t=[].slice.call(arguments),e=t.pop(),n=t.length-1;n>=0;n--)if(t[n])for(i in e)t[n].prototype[i]=e[i];g.Set&&g.Set.inherit&&g.Set.inherit()},g.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,g.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&g.extend(e,t.extend),t.construct&&g.extend(t.parent||g.Container,t.construct),e},g.adopt=function(e){if(!e)return null;if(e.instance)return e.instance;var i;return i="svg"==e.nodeName?e.parentNode instanceof t.SVGElement?new g.Nested:new g.Doc:"linearGradient"==e.nodeName?new g.Gradient("linear"):"radialGradient"==e.nodeName?new g.Gradient("radial"):g[a(e.nodeName)]?new(g[a(e.nodeName)]):new g.Element(e),i.type=e.nodeName,i.node=e,e.instance=i,i instanceof g.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute("svgjs:data"))||{}),i},g.prepare=function(){var t=e.getElementsByTagName("body")[0],i=(t?new g.Doc(t):g.adopt(e.documentElement).nested()).size(2,0);g.parser={body:t||e.documentElement,draw:i.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:i.polyline().node,path:i.path().node,native:g.create("svg")}},g.parser={native:g.create("svg")},e.addEventListener("DOMContentLoaded",function(){g.parser.draw||g.prepare()},!1),g.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},g.utils={map:function(t,e){var i,n=t.length,r=[];for(i=0;i1?1:t,new g.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),g.Color.test=function(t){return t+="",g.regex.isHex.test(t)||g.regex.isRgb.test(t)},g.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},g.Color.isColor=function(t){return g.Color.isRgb(t)||g.Color.test(t)},g.Array=function(t,e){t=(t||[]).valueOf(),0==t.length&&e&&(t=e.valueOf()),this.value=this.parse(t)},g.extend(g.Array,{morph:function(t){if(this.destination=this.parse(t),this.value.length!=this.destination.length){for(var e=this.value[this.value.length-1],i=this.destination[this.destination.length-1];this.value.length>this.destination.length;)this.destination.push(i);for(;this.value.length=0;n--)this.value[n]=[this.value[n][0]+t,this.value[n][1]+e];return this},size:function(t,e){var i,n=this.bbox();for(i=this.value.length-1;i>=0;i--)n.width&&(this.value[i][0]=(this.value[i][0]-n.x)*t/n.width+n.x),n.height&&(this.value[i][1]=(this.value[i][1]-n.y)*e/n.height+n.y);return this},bbox:function(){return g.parser.poly.setAttribute("points",this.toString()),g.parser.poly.getBBox()}});for(var w={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},S:function(t,e){return e.x=t[2],e.y=t[3],["S",t[0],t[1],t[2],t[3]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},T:function(t,e){return e.x=t[0],e.y=t[1],["T",t[0],t[1]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]},A:function(t,e){return e.x=t[5],e.y=t[6],["A",t[0],t[1],t[2],t[3],t[4],t[5],t[6]]}},b="mlhvqtcsaz".split(""),C=0,N=b.length;C=0;r--)n=this.value[r][0],"M"==n||"L"==n||"T"==n?(this.value[r][1]+=t,this.value[r][2]+=e):"H"==n?this.value[r][1]+=t:"V"==n?this.value[r][1]+=e:"C"==n||"S"==n||"Q"==n?(this.value[r][1]+=t,this.value[r][2]+=e,this.value[r][3]+=t,this.value[r][4]+=e,"C"==n&&(this.value[r][5]+=t,this.value[r][6]+=e)):"A"==n&&(this.value[r][6]+=t,this.value[r][7]+=e);return this},size:function(t,e){var i,n,r=this.bbox();for(i=this.value.length-1;i>=0;i--)n=this.value[i][0],"M"==n||"L"==n||"T"==n?(this.value[i][1]=(this.value[i][1]-r.x)*t/r.width+r.x,this.value[i][2]=(this.value[i][2]-r.y)*e/r.height+r.y):"H"==n?this.value[i][1]=(this.value[i][1]-r.x)*t/r.width+r.x:"V"==n?this.value[i][1]=(this.value[i][1]-r.y)*e/r.height+r.y:"C"==n||"S"==n||"Q"==n?(this.value[i][1]=(this.value[i][1]-r.x)*t/r.width+r.x,this.value[i][2]=(this.value[i][2]-r.y)*e/r.height+r.y,this.value[i][3]=(this.value[i][3]-r.x)*t/r.width+r.x,this.value[i][4]=(this.value[i][4]-r.y)*e/r.height+r.y,"C"==n&&(this.value[i][5]=(this.value[i][5]-r.x)*t/r.width+r.x,this.value[i][6]=(this.value[i][6]-r.y)*e/r.height+r.y)):"A"==n&&(this.value[i][1]=this.value[i][1]*t/r.width,this.value[i][2]=this.value[i][2]*e/r.height,this.value[i][6]=(this.value[i][6]-r.x)*t/r.width+r.x,this.value[i][7]=(this.value[i][7]-r.y)*e/r.height+r.y);return this},equalCommands:function(t){var e,i,n;for(t=new g.PathArray(t),n=this.value.length===t.value.length,e=0,i=this.value.length;n&&ea);return n},bbox:function(){return g.parser.path.setAttribute("d",this.toString()),g.parser.path.getBBox()}}),g.Number=g.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-3.4e38:3.4e38:"string"==typeof t?(e=t.match(g.regex.numberAndUnit),e&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5])):t instanceof g.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new g.Number(t),new g.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new g.Number(t),new g.Number(this-t,this.unit||t.unit)},times:function(t){return t=new g.Number(t),new g.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new g.Number(t),new g.Number(this/t,this.unit||t.unit)},to:function(t){var e=new g.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new g.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new g.Number(this.destination).minus(this).times(t).plus(this):this}}}),g.Element=g.invent({create:function(t){this._stroke=g.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var i=l(this,t,e);return this.width(new g.Number(i.width)).height(new g.Number(i.height))},clone:function(t,e){this.writeDataToDom();var i=x(this.node.cloneNode(!0));return t?t.add(i):this.after(i),i},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},inside:function(t,e){var i=this.bbox();return t>i.x&&e>i.y&&t/,"").replace(/<\/svg>$/,"");i.innerHTML=""+t.replace(/\n/,"").replace(/<(\w+)([^<]+?)\/>/g,"<$1$2>")+"";for(var n=0,r=i.firstChild.childNodes.length;n":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return-Math.cos(t*Math.PI/2)+1}},g.morph=function(t){return function(e,i){return new g.MorphObj(e,i).at(t)}},g.Situation=g.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new g.Number(t.duration).valueOf(),this.delay=new g.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),g.FX=g.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,i){"object"==typeof t&&(e=t.ease,i=t.delay,t=t.duration);var n=new g.Situation({duration:t||1e3,delay:i||0,ease:g.easing[e||"-"]||e});return this.queue(n),this},delay:function(t){var e=new g.Situation({duration:t,delay:0,ease:g.easing["-"]});return this.queue(e)},target:function(t){return t&&t instanceof g.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof g.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof g.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e,i=this.situation;if(i.init)return this;for(t in i.animations)e=this.target()[t](),i.animations[t]instanceof g.Number&&(e=new g.Number(e)),i.animations[t]=e.morph(i.animations[t]);for(t in i.attrs)i.attrs[t]=new g.MorphObj(this.target().attr(t),i.attrs[t]);for(t in i.styles)i.styles[t]=new g.MorphObj(this.target().style(t),i.styles[t]);return i.initialTransformation=this.target().matrixify(),i.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},reset:function(){if(this.situation){var t=this.situation;this.stop(),this.situation=t,this.atStart()}return this},finish:function(){for(this.stop(!0,!1);this.dequeue().situation&&this.stop(!0,!1););return this.clearQueue().clearCurrent(),this},atStart:function(){return this.at(0,!0)},atEnd:function(){return this.situation.loops===!0&&(this.situation.loops=this.situation.loop+1),"number"==typeof this.situation.loops?this.at(this.situation.loops,!0):this.at(1,!0)},at:function(t,e){var i=this.situation.duration/this._speed;return this.absPos=t,e||(this.situation.reversed&&(this.absPos=1-this.absPos),this.absPos+=this.situation.loop),this.situation.start=+new Date-this.absPos*i,this.situation.finish=this.situation.start+i,this.step(!0)},speed:function(t){return 0===t?this.pause():t?(this._speed=t,this.at(this.absPos,!0)):this._speed},loop:function(t,e){var i=this.last();return i.loops=null==t||t,i.loop=0,e&&(i.reversing=!0),this},pause:function(){return this.paused=!0,this.stopAnimFrame(),this},play:function(){return this.paused?(this.paused=!1,this.at(this.absPos,!0)):this},reverse:function(t){var e=this.last();return"undefined"==typeof t?e.reversed=!e.reversed:e.reversed=t,this},progress:function(t){return t?this.situation.ease(this.pos):this.pos},after:function(t){var e=this.last(),i=function i(n){n.detail.situation==e&&(t.call(this,e),this.off("finished.fx",i))};return this.target().on("finished.fx",i),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,g.morph(i.detail.pos),i.detail.eased,e)};return this.target().off("during.fx",i).on("during.fx",i),this.after(function(){this.off("during.fx",i)}),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off("allfinished.fx",e)};return this.target().off("allfinished.fx",e).on("allfinished.fx",e),this._callStart()},duringAll:function(t){var e=function(e){t.call(this,e.detail.pos,g.morph(e.detail.pos),e.detail.eased,e.detail.situation)};return this.target().off("during.fx",e).on("during.fx",e),this.afterAll(function(){this.off("during.fx",e)}),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){if(t||(this.absPos=this.timeToAbsPos(+new Date)),this.situation.loops!==!1){var e,i,n;e=Math.max(this.absPos,0),i=Math.floor(e),this.situation.loops===!0||ithis.lastPos&&s<=r&&(this.situation.once[s].call(this.target(),this.pos,r),delete this.situation.once[s]);return this.active&&this.target().fire("during",{pos:this.pos,eased:r,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.target().off(".fx"),this.active=!1),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=r,this):this},eachAt:function(){var t,e,i,n=this,r=this.target(),s=this.situation;for(t in s.animations)i=[].concat(s.animations[t]).map(function(t){return"string"!=typeof t&&t.at?t.at(s.ease(n.pos),n.pos):t}),r[t].apply(r,i);for(t in s.attrs)i=[t].concat(s.attrs[t]).map(function(t){return"string"!=typeof t&&t.at?t.at(s.ease(n.pos),n.pos):t}),r.attr.apply(r,i);for(t in s.styles)i=[t].concat(s.styles[t]).map(function(t){return"string"!=typeof t&&t.at?t.at(s.ease(n.pos),n.pos):t}),r.style.apply(r,i);if(s.transforms.length){for(i=s.initialTransformation,t=0,e=s.transforms.length;t1?[].slice.call(arguments):arguments[0])},leading:function(t){return this.target().leading?this.add("leading",new g.Number(t)):this},viewbox:function(t,e,i,n){return this.target()instanceof g.Container&&this.add("viewbox",new g.ViewBox(t,e,i,n)),this},update:function(t){if(this.target()instanceof g.Stop){if("number"==typeof t||t instanceof g.Number)return this.update({offset:arguments[0],color:arguments[1],opacity:arguments[2]});null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",t.offset)}return this}}),g.Box=g.invent({create:function(t,e,i,n){return"object"!=typeof t||t instanceof g.Element?(4==arguments.length&&(this.x=t,this.y=e,this.width=i,this.height=n),void y(this)):g.Box.call(this,null!=t.left?t.left:t.x,null!=t.top?t.top:t.y,t.width,t.height)},extend:{merge:function(t){var e=new this.constructor;return e.x=Math.min(this.x,t.x),e.y=Math.min(this.y,t.y),e.width=Math.max(this.x+this.width,t.x+t.width)-e.x,e.height=Math.max(this.y+this.height,t.y+t.height)-e.y,y(e)},transform:function(t){var e,i=1/0,n=-(1/0),r=1/0,s=-(1/0),o=[new g.Point(this.x,this.y),new g.Point(this.x2,this.y),new g.Point(this.x,this.y2),new g.Point(this.x2,this.y2)];return o.forEach(function(e){e=e.transform(t),i=Math.min(i,e.x),n=Math.max(n,e.x),r=Math.min(r,e.y),s=Math.max(s,e.y)}),e=new this.constructor,e.x=i,e.width=n-i,e.y=r,e.height=s-r,y(e),e}}}),g.BBox=g.invent({create:function(t){if(g.Box.apply(this,[].slice.call(arguments)),t instanceof g.Element){var i;try{if(e.documentElement.contains){if(!e.documentElement.contains(t.node))throw new Exception("Element not in the dom")}else{for(var n=t.node;n.parentNode;)n=n.parentNode;if(n!=e)throw new Exception("Element not in the dom")}i=t.node.getBBox()}catch(e){if(t instanceof g.Shape){var r=t.clone(g.parser.draw.instance).show();i=r.node.getBBox(),r.remove()}else i={x:t.node.clientLeft,y:t.node.clientTop,width:t.node.clientWidth,height:t.node.clientHeight}}g.Box.call(this,i)}},inherit:g.Box,parent:g.Element,construct:{bbox:function(){return new g.BBox(this)}}}),g.BBox.prototype.constructor=g.BBox,g.extend(g.Element,{tbox:function(){return console.warn("Use of TBox is deprecated and mapped to RBox. Use .rbox() instead."),this.rbox(this.doc())}}),g.RBox=g.invent({create:function(t){g.Box.apply(this,[].slice.call(arguments)),t instanceof g.Element&&g.Box.call(this,t.node.getBoundingClientRect())},inherit:g.Box,parent:g.Element,extend:{addOffset:function(){return this.x+=t.pageXOffset,this.y+=t.pageYOffset,this}},construct:{rbox:function(t){return t?new g.RBox(this).transform(t.screenCTM().inverse()):new g.RBox(this).addOffset()}}}),g.RBox.prototype.constructor=g.RBox,g.Matrix=g.invent({create:function(t){var e,i=f([1,0,0,1,0,0]);for(t=t instanceof g.Element?t.matrixify():"string"==typeof t?f(t.split(g.regex.delimiter).map(parseFloat)):6==arguments.length?f([].slice.call(arguments)):Array.isArray(t)?f(t):"object"==typeof t?t:i,e=P.length-1;e>=0;--e)this[P[e]]=t&&"number"==typeof t[P[e]]?t[P[e]]:i[P[e]]},extend:{extract:function(){var t=c(this,0,1),e=c(this,1,0),i=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(i*Math.PI/180)+this.f*Math.sin(i*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(i*Math.PI/180)+this.e*Math.sin(-i*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),skewX:-i,skewY:180/Math.PI*Math.atan2(e.y,e.x),scaleX:Math.sqrt(this.a*this.a+this.b*this.b),scaleY:Math.sqrt(this.c*this.c+this.d*this.d),rotation:i,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new g.Matrix(this)}},clone:function(){return new g.Matrix(this)},morph:function(t){return this.destination=new g.Matrix(t),this},at:function(t){if(!this.destination)return this;var e=new g.Matrix({a:this.a+(this.destination.a-this.a)*t,b:this.b+(this.destination.b-this.b)*t,c:this.c+(this.destination.c-this.c)*t,d:this.d+(this.destination.d-this.d)*t,e:this.e+(this.destination.e-this.e)*t,f:this.f+(this.destination.f-this.f)*t});return e},multiply:function(t){return new g.Matrix(this.native().multiply(d(t).native()))},inverse:function(){return new g.Matrix(this.native().inverse())},translate:function(t,e){return new g.Matrix(this.native().translate(t||0,e||0))},scale:function(t,e,i,n){return 1==arguments.length?e=t:3==arguments.length&&(n=i,i=e,e=t),this.around(i,n,new g.Matrix(t,0,0,e,0,0))},rotate:function(t,e,i){return t=g.utils.radians(t),this.around(e,i,new g.Matrix(Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0))},flip:function(t,e){return"x"==t?this.scale(-1,1,e,0):"y"==t?this.scale(1,-1,0,e):this.scale(-1,-1,t,null!=e?e:t)},skew:function(t,e,i,n){return 1==arguments.length?e=t:3==arguments.length&&(n=i,i=e,e=t),t=g.utils.radians(t),e=g.utils.radians(e),this.around(i,n,new g.Matrix(1,Math.tan(e),Math.tan(t),1,0,0))},skewX:function(t,e,i){return this.skew(t,0,e,i)},skewY:function(t,e,i){return this.skew(0,t,e,i)},around:function(t,e,i){return this.multiply(new g.Matrix(1,0,0,1,t||0,e||0)).multiply(i).multiply(new g.Matrix(1,0,0,1,-t||0,-e||0))},native:function(){for(var t=g.parser.native.createSVGMatrix(),e=P.length-1;e>=0;e--)t[P[e]]=this[P[e]];return t},toString:function(){return"matrix("+this.a+","+this.b+","+this.c+","+this.d+","+this.e+","+this.f+")"}},parent:g.Element,construct:{ctm:function(){return new g.Matrix(this.node.getCTM()); +},screenCTM:function(){if(this instanceof g.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new g.Matrix(e)}return new g.Matrix(this.node.getScreenCTM())}}}),g.Point=g.invent({create:function(t,e){var i,n={x:0,y:0};i=Array.isArray(t)?{x:t[0],y:t[1]}:"object"==typeof t?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:n,this.x=i.x,this.y=i.y},extend:{clone:function(){return new g.Point(this)},morph:function(t,e){return this.destination=new g.Point(t,e),this},at:function(t){if(!this.destination)return this;var e=new g.Point({x:this.x+(this.destination.x-this.x)*t,y:this.y+(this.destination.y-this.y)*t});return e},native:function(){var t=g.parser.native.createSVGPoint();return t.x=this.x,t.y=this.y,t},transform:function(t){return new g.Point(this.native().matrixTransform(t.native()))}}}),g.extend(g.Element,{point:function(t,e){return new g.Point(t,e).transform(this.screenCTM().inverse())}}),g.extend(g.Element,{attr:function(t,e,i){if(null==t){for(t={},e=this.node.attributes,i=e.length-1;i>=0;i--)t[e[i].nodeName]=g.regex.isNumber.test(e[i].nodeValue)?parseFloat(e[i].nodeValue):e[i].nodeValue;return t}if("object"==typeof t)for(e in t)this.attr(e,t[e]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return e=this.node.getAttribute(t),null==e?g.defaults.attrs[t]:g.regex.isNumber.test(e)?parseFloat(e):e;"stroke-width"==t?this.attr("stroke",parseFloat(e)>0?this._stroke:null):"stroke"==t&&(this._stroke=e),"fill"!=t&&"stroke"!=t||(g.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof g.Image&&(e=this.doc().defs().pattern(0,0,function(){this.add(e)}))),"number"==typeof e?e=new g.Number(e):g.Color.isColor(e)?e=new g.Color(e):Array.isArray(e)&&(e=new g.Array(e)),"leading"==t?this.leading&&this.leading(e):"string"==typeof i?this.node.setAttributeNS(i,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!=t&&"x"!=t||this.rebuild(t,e)}return this}}),g.extend(g.Element,{transform:function(t,e){var i,n,r=this;if("object"!=typeof t)return i=new g.Matrix(r).extract(),"string"==typeof t?i[t]:i;if(i=new g.Matrix(r),e=!!e||!!t.relative,null!=t.a)i=e?i.multiply(new g.Matrix(t)):new g.Matrix(t);else if(null!=t.rotation)p(t,r),i=e?i.rotate(t.rotation,t.cx,t.cy):i.rotate(t.rotation-i.extract().rotation,t.cx,t.cy);else if(null!=t.scale||null!=t.scaleX||null!=t.scaleY){if(p(t,r),t.scaleX=null!=t.scale?t.scale:null!=t.scaleX?t.scaleX:1,t.scaleY=null!=t.scale?t.scale:null!=t.scaleY?t.scaleY:1,!e){var s=i.extract();t.scaleX=1*t.scaleX/s.scaleX,t.scaleY=1*t.scaleY/s.scaleY}i=i.scale(t.scaleX,t.scaleY,t.cx,t.cy)}else if(null!=t.skew||null!=t.skewX||null!=t.skewY){if(p(t,r),t.skewX=null!=t.skew?t.skew:null!=t.skewX?t.skewX:0,t.skewY=null!=t.skew?t.skew:null!=t.skewY?t.skewY:0,!e){var s=i.extract();i=i.multiply((new g.Matrix).skew(s.skewX,s.skewY,t.cx,t.cy).inverse())}i=i.skew(t.skewX,t.skewY,t.cx,t.cy)}else t.flip?("x"==t.flip||"y"==t.flip?t.offset=null==t.offset?r.bbox()["c"+t.flip]:t.offset:null==t.offset?(n=r.bbox(),t.flip=n.cx,t.offset=n.cy):t.flip=t.offset,i=(new g.Matrix).flip(t.flip,t.offset)):null==t.x&&null==t.y||(e?i=i.translate(t.x,t.y):(null!=t.x&&(i.e=t.x),null!=t.y&&(i.f=t.y)));return this.attr("transform",i)}}),g.extend(g.FX,{transform:function(t,e){var i,n,r=this.target();return"object"!=typeof t?(i=new g.Matrix(r).extract(),"string"==typeof t?i[t]:i):(e=!!e||!!t.relative,null!=t.a?i=new g.Matrix(t):null!=t.rotation?(p(t,r),i=new g.Rotate(t.rotation,t.cx,t.cy)):null!=t.scale||null!=t.scaleX||null!=t.scaleY?(p(t,r),t.scaleX=null!=t.scale?t.scale:null!=t.scaleX?t.scaleX:1,t.scaleY=null!=t.scale?t.scale:null!=t.scaleY?t.scaleY:1,i=new g.Scale(t.scaleX,t.scaleY,t.cx,t.cy)):null!=t.skewX||null!=t.skewY?(p(t,r),t.skewX=null!=t.skewX?t.skewX:0,t.skewY=null!=t.skewY?t.skewY:0,i=new g.Skew(t.skewX,t.skewY,t.cx,t.cy)):t.flip?("x"==t.flip||"y"==t.flip?t.offset=null==t.offset?r.bbox()["c"+t.flip]:t.offset:null==t.offset?(n=r.bbox(),t.flip=n.cx,t.offset=n.cy):t.flip=t.offset,i=(new g.Matrix).flip(t.flip,t.offset)):null==t.x&&null==t.y||(i=new g.Translate(t.x,t.y)),i?(i.relative=e,this.last().transforms.push(i),this._callStart()):this)}}),g.extend(g.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){var t=(this.attr("transform")||"").split(g.regex.transforms).slice(0,-1).map(function(t){var e=t.trim().split("(");return[e[0],e[1].split(g.regex.delimiter).map(function(t){return parseFloat(t)})]}).reduce(function(t,e){return"matrix"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])},new g.Matrix);return t},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),g.Transformation=g.invent({create:function(t,e){if(arguments.length>1&&"boolean"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var i=0,n=this.arguments.length;i=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return g.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){var i,n,r=this.children();for(i=0,n=r.length;in/r?this.height/r:this.width/n,this.x=e,this.y=i,this.width=n,this.height=r)}else t="string"==typeof t?t.match(f).map(function(t){return parseFloat(t)}):Array.isArray(t)?t:"object"==typeof t?[t.x,t.y,t.width,t.height]:4==arguments.length?[].slice.call(arguments):u,this.x=t[0],this.y=t[1],this.width=t[2],this.height=t[3]},extend:{toString:function(){return this.x+" "+this.y+" "+this.width+" "+this.height},morph:function(t,e,i,n){return this.destination=new g.ViewBox(t,e,i,n),this},at:function(t){return this.destination?new g.ViewBox([this.x+(this.destination.x-this.x)*t,this.y+(this.destination.y-this.y)*t,this.width+(this.destination.width-this.width)*t,this.height+(this.destination.height-this.height)*t]):this}},parent:g.Container,construct:{viewbox:function(t,e,i,n){return 0==arguments.length?new g.ViewBox(this):this.attr("viewBox",new g.ViewBox(t,e,i,n))}}}),["click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove","touchstart","touchmove","touchleave","touchend","touchcancel"].forEach(function(t){g.Element.prototype[t]=function(e){return g.on(this.node,t,e),this}}),g.listeners=[],g.handlerMap=[],g.listenerId=0,g.on=function(t,e,i,n,r){var s=i.bind(n||t.instance||t),o=(g.handlerMap.indexOf(t)+1||g.handlerMap.push(t))-1,a=e.split(".")[0],h=e.split(".")[1]||"*";g.listeners[o]=g.listeners[o]||{},g.listeners[o][a]=g.listeners[o][a]||{},g.listeners[o][a][h]=g.listeners[o][a][h]||{},i._svgjsListenerId||(i._svgjsListenerId=++g.listenerId),g.listeners[o][a][h][i._svgjsListenerId]=s,t.addEventListener(a,s,r||!1)},g.off=function(t,e,i){var n=g.handlerMap.indexOf(t),r=e&&e.split(".")[0],s=e&&e.split(".")[1],o="";if(n!=-1)if(i){if("function"==typeof i&&(i=i._svgjsListenerId),!i)return;g.listeners[n][r]&&g.listeners[n][r][s||"*"]&&(t.removeEventListener(r,g.listeners[n][r][s||"*"][i],!1),delete g.listeners[n][r][s||"*"][i])}else if(s&&r){if(g.listeners[n][r]&&g.listeners[n][r][s]){for(i in g.listeners[n][r][s])g.off(t,[r,s].join("."),i);delete g.listeners[n][r][s]}}else if(s)for(e in g.listeners[n])for(o in g.listeners[n][e])s===o&&g.off(t,[e,s].join("."));else if(r){if(g.listeners[n][r]){for(o in g.listeners[n][r])g.off(t,[r,o].join("."));delete g.listeners[n][r]}}else{for(e in g.listeners[n])g.off(t,e);delete g.listeners[n],delete g.handlerMap[n]}},g.extend(g.Element,{on:function(t,e,i,n){return g.on(this.node,t,e,i,n),this},off:function(t,e){return g.off(this.node,t,e),this},fire:function(e,i){return e instanceof t.Event?this.node.dispatchEvent(e):this.node.dispatchEvent(e=new t.CustomEvent(e,{detail:i,cancelable:!0})),this._event=e,this},event:function(){return this._event}}),g.Defs=g.invent({create:"defs",inherit:g.Container}),g.G=g.invent({create:"g",inherit:g.Container,extend:{x:function(t){return null==t?this.transform("x"):this.transform({x:t-this.x()},!0)},y:function(t){return null==t?this.transform("y"):this.transform({y:t-this.y()},!0)},cx:function(t){return null==t?this.gbox().cx:this.x(t-this.gbox().width/2)},cy:function(t){return null==t?this.gbox().cy:this.y(t-this.gbox().height/2)},gbox:function(){var t=this.bbox(),e=this.transform();return t.x+=e.x,t.x2+=e.x,t.cx+=e.x,t.y+=e.y,t.y2+=e.y,t.cy+=e.y,t}},construct:{group:function(){return this.put(new g.G)}}}),g.extend(g.Element,{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},previous:function(){return this.siblings()[this.position()-1]},forward:function(){var t=this.position()+1,e=this.parent();return e.removeElement(this).add(this,t),e instanceof g.Doc&&e.node.appendChild(e.defs().node),this},backward:function(){var t=this.position();return t>0&&this.parent().removeElement(this).add(this,t-1),this},front:function(){var t=this.parent();return t.node.appendChild(this.node),t instanceof g.Doc&&t.node.appendChild(t.defs().node),this},back:function(){return this.position()>0&&this.parent().removeElement(this).add(this,0),this},before:function(t){t.remove();var e=this.position();return this.parent().add(t,e),this},after:function(t){t.remove();var e=this.position();return this.parent().add(t,e+1),this}}),g.Mask=g.invent({create:function(){this.constructor.call(this,g.create("mask")),this.targets=[]},inherit:g.Container,extend:{remove:function(){for(var t=this.targets.length-1;t>=0;t--)this.targets[t]&&this.targets[t].unmask();return this.targets=[],this.parent().removeElement(this),this}},construct:{mask:function(){return this.defs().put(new g.Mask)}}}),g.extend(g.Element,{maskWith:function(t){return this.masker=t instanceof g.Mask?t:this.parent().mask().add(t),this.masker.targets.push(this),this.attr("mask",'url("#'+this.masker.attr("id")+'")')},unmask:function(){return delete this.masker,this.attr("mask",null)}}),g.ClipPath=g.invent({create:function(){this.constructor.call(this,g.create("clipPath")),this.targets=[]},inherit:g.Container,extend:{remove:function(){for(var t=this.targets.length-1;t>=0;t--)this.targets[t]&&this.targets[t].unclip();return this.targets=[],this.parent().removeElement(this),this}},construct:{clip:function(){return this.defs().put(new g.ClipPath)}}}),g.extend(g.Element,{clipWith:function(t){return this.clipper=t instanceof g.ClipPath?t:this.parent().clip().add(t),this.clipper.targets.push(this),this.attr("clip-path",'url("#'+this.clipper.attr("id")+'")')},unclip:function(){return delete this.clipper,this.attr("clip-path",null)}}),g.Gradient=g.invent({create:function(t){this.constructor.call(this,g.create(t+"Gradient")),this.type=t},inherit:g.Container,extend:{at:function(t,e,i){return this.put(new g.Stop).update(t,e,i)},update:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this},fill:function(){return"url(#"+this.id()+")"},toString:function(){return this.fill()},attr:function(t,e,i){return"transform"==t&&(t="gradientTransform"),g.Container.prototype.attr.call(this,t,e,i)}},construct:{gradient:function(t,e){return this.defs().gradient(t,e)}}}),g.extend(g.Gradient,g.FX,{from:function(t,e){return"radial"==(this._target||this).type?this.attr({fx:new g.Number(t),fy:new g.Number(e)}):this.attr({x1:new g.Number(t),y1:new g.Number(e)})},to:function(t,e){return"radial"==(this._target||this).type?this.attr({cx:new g.Number(t),cy:new g.Number(e)}):this.attr({x2:new g.Number(t),y2:new g.Number(e)})}}),g.extend(g.Defs,{gradient:function(t,e){return this.put(new g.Gradient(t)).update(e)}}),g.Stop=g.invent({create:"stop",inherit:g.Element,extend:{update:function(t){return("number"==typeof t||t instanceof g.Number)&&(t={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",new g.Number(t.offset)),this}}}),g.Pattern=g.invent({create:"pattern",inherit:g.Container,extend:{fill:function(){return"url(#"+this.id()+")"},update:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this},toString:function(){return this.fill()},attr:function(t,e,i){return"transform"==t&&(t="patternTransform"),g.Container.prototype.attr.call(this,t,e,i)}},construct:{pattern:function(t,e,i){return this.defs().pattern(t,e,i)}}}),g.extend(g.Defs,{pattern:function(t,e,i){return this.put(new g.Pattern).update(i).attr({x:0,y:0,width:t,height:e,patternUnits:"userSpaceOnUse"})}}),g.Doc=g.invent({create:function(t){t&&(t="string"==typeof t?e.getElementById(t):t,"svg"==t.nodeName?this.constructor.call(this,t):(this.constructor.call(this,g.create("svg")),t.appendChild(this.node),this.size("100%","100%")),this.namespace().defs())},inherit:g.Container,extend:{namespace:function(){return this.attr({xmlns:g.ns,version:"1.1"}).attr("xmlns:xlink",g.xlink,g.xmlns).attr("xmlns:svgjs",g.svgjs,g.xmlns)},defs:function(){if(!this._defs){var t;(t=this.node.getElementsByTagName("defs")[0])?this._defs=g.adopt(t):this._defs=new g.Defs,this.node.appendChild(this._defs.node)}return this._defs},parent:function(){return"#document"==this.node.parentNode.nodeName?null:this.node.parentNode},spof:function(t){var e=this.node.getScreenCTM();return e&&this.style("left",-e.e%1+"px").style("top",-e.f%1+"px"),this},remove:function(){return this.parent()&&this.parent().removeChild(this.node),this},clear:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return delete this._defs,g.parser.draw.parentNode||this.node.appendChild(g.parser.draw),this}}}),g.Shape=g.invent({create:function(t){this.constructor.call(this,t)},inherit:g.Element}),g.Bare=g.invent({create:function(t,e){if(this.constructor.call(this,g.create(t)),e)for(var i in e.prototype)"function"==typeof e.prototype[i]&&(this[i]=e.prototype[i])},inherit:g.Element,extend:{words:function(t){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this.node.appendChild(e.createTextNode(t)),this}}}),g.extend(g.Parent,{element:function(t,e){return this.put(new g.Bare(t,e))}}),g.Symbol=g.invent({create:"symbol",inherit:g.Container,construct:{symbol:function(){return this.put(new g.Symbol)}}}),g.Use=g.invent({create:"use",inherit:g.Shape,extend:{element:function(t,e){return this.attr("href",(e||"")+"#"+t,g.xlink)}},construct:{use:function(t,e){return this.put(new g.Use).element(t,e)}}}),g.Rect=g.invent({create:"rect",inherit:g.Shape,construct:{rect:function(t,e){return this.put(new g.Rect).size(t,e)}}}),g.Circle=g.invent({create:"circle",inherit:g.Shape,construct:{circle:function(t){return this.put(new g.Circle).rx(new g.Number(t).divide(2)).move(0,0)}}}),g.extend(g.Circle,g.FX,{rx:function(t){return this.attr("r",t)},ry:function(t){return this.rx(t)}}),g.Ellipse=g.invent({create:"ellipse",inherit:g.Shape,construct:{ellipse:function(t,e){return this.put(new g.Ellipse).size(t,e).move(0,0)}}}),g.extend(g.Ellipse,g.Rect,g.FX,{rx:function(t){return this.attr("rx",t)},ry:function(t){return this.attr("ry",t)}}),g.extend(g.Circle,g.Ellipse,{x:function(t){return null==t?this.cx()-this.rx():this.cx(t+this.rx())},y:function(t){return null==t?this.cy()-this.ry():this.cy(t+this.ry())},cx:function(t){return null==t?this.attr("cx"):this.attr("cx",t)},cy:function(t){return null==t?this.attr("cy"):this.attr("cy",t)},width:function(t){return null==t?2*this.rx():this.rx(new g.Number(t).divide(2))},height:function(t){return null==t?2*this.ry():this.ry(new g.Number(t).divide(2))},size:function(t,e){var i=l(this,t,e);return this.rx(new g.Number(i.width).divide(2)).ry(new g.Number(i.height).divide(2))}}),g.Line=g.invent({create:"line",inherit:g.Shape,extend:{array:function(){return new g.PointArray([[this.attr("x1"),this.attr("y1")],[this.attr("x2"),this.attr("y2")]])},plot:function(t,e,i,n){return null==t?this.array():(t="undefined"!=typeof e?{x1:t,y1:e,x2:i,y2:n}:new g.PointArray(t).toLine(),this.attr(t))},move:function(t,e){return this.attr(this.array().move(t,e).toLine())},size:function(t,e){var i=l(this,t,e);return this.attr(this.array().size(i.width,i.height).toLine())}},construct:{line:function(t,e,i,n){return g.Line.prototype.plot.apply(this.put(new g.Line),null!=t?[t,e,i,n]:[0,0,0,0])}}}),g.Polyline=g.invent({create:"polyline",inherit:g.Shape,construct:{polyline:function(t){return this.put(new g.Polyline).plot(t||new g.PointArray)}}}),g.Polygon=g.invent({create:"polygon",inherit:g.Shape,construct:{polygon:function(t){return this.put(new g.Polygon).plot(t||new g.PointArray)}}}),g.extend(g.Polyline,g.Polygon,{array:function(){return this._array||(this._array=new g.PointArray(this.attr("points")))},plot:function(t){return null==t?this.array():this.clear().attr("points","string"==typeof t?t:this._array=new g.PointArray(t))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr("points",this.array().move(t,e))},size:function(t,e){var i=l(this,t,e);return this.attr("points",this.array().size(i.width,i.height))}}),g.extend(g.Line,g.Polyline,g.Polygon,{morphArray:g.PointArray,x:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)},y:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)},width:function(t){var e=this.bbox();return null==t?e.width:this.size(t,e.height)},height:function(t){var e=this.bbox();return null==t?e.height:this.size(e.width,t)}}),g.Path=g.invent({create:"path",inherit:g.Shape,extend:{morphArray:g.PathArray,array:function(){return this._array||(this._array=new g.PathArray(this.attr("d")))},plot:function(t){return null==t?this.array():this.clear().attr("d","string"==typeof t?t:this._array=new g.PathArray(t))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr("d",this.array().move(t,e))},x:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)},y:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)},size:function(t,e){var i=l(this,t,e);return this.attr("d",this.array().size(i.width,i.height))},width:function(t){return null==t?this.bbox().width:this.size(t,this.bbox().height)},height:function(t){return null==t?this.bbox().height:this.size(this.bbox().width,t)}},construct:{path:function(t){return this.put(new g.Path).plot(t||new g.PathArray)}}}),g.Image=g.invent({create:"image",inherit:g.Shape,extend:{load:function(e){if(!e)return this;var i=this,n=new t.Image;return g.on(n,"load",function(){var t=i.parent(g.Pattern);null!==t&&(0==i.width()&&0==i.height()&&i.size(n.width,n.height),t&&0==t.width()&&0==t.height()&&t.size(i.width(),i.height()),"function"==typeof i._loaded&&i._loaded.call(i,{width:n.width,height:n.height,ratio:n.width/n.height,url:e}))}),g.on(n,"error",function(t){"function"==typeof i._error&&i._error.call(i,t)}),this.attr("href",n.src=this.src=e,g.xlink)},loaded:function(t){return this._loaded=t,this},error:function(t){return this._error=t,this}},construct:{image:function(t,e,i){return this.put(new g.Image).load(t).size(e||0,i||e||0)}}}),g.Text=g.invent({create:function(){this.constructor.call(this,g.create("text")),this.dom.leading=new g.Number(1.3),this._rebuild=!0,this._build=!1,this.attr("font-family",g.defaults.attrs["font-family"])},inherit:g.Shape,extend:{x:function(t){return null==t?this.attr("x"):this.attr("x",t)},y:function(t){var e=this.attr("y"),i="number"==typeof e?e-this.bbox().y:0;return null==t?"number"==typeof e?e-i:e:this.attr("y","number"==typeof t?t+i:t)},cx:function(t){return null==t?this.bbox().cx:this.x(t-this.bbox().width/2)},cy:function(t){return null==t?this.bbox().cy:this.y(t-this.bbox().height/2)},text:function(t){if("undefined"==typeof t){for(var t="",e=this.node.childNodes,i=0,n=e.length;i=0;e--)null!=i[M[t][e]]&&this.attr(M.prefix(t,M[t][e]),i[M[t][e]]);return this},g.extend(g.Element,g.FX,i)}),g.extend(g.Element,g.FX,{rotate:function(t,e,i){return this.transform({rotation:t,cx:e,cy:i})},skew:function(t,e,i,n){return 1==arguments.length||3==arguments.length?this.transform({skew:t,cx:e,cy:i}):this.transform({skewX:t,skewY:e,cx:i,cy:n})},scale:function(t,e,i,n){return 1==arguments.length||3==arguments.length?this.transform({scale:t,cx:e,cy:i}):this.transform({scaleX:t,scaleY:e,cx:i,cy:n})},translate:function(t,e){return this.transform({x:t,y:e})},flip:function(t,e){return e="number"==typeof t?t:e,this.transform({flip:t||"both",offset:e})},matrix:function(t){return this.attr("transform",new g.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new g.Number(t).plus(this instanceof g.FX?0:this.x()),!0)},dy:function(t){return this.y(new g.Number(t).plus(this instanceof g.FX?0:this.y()),!0)},dmove:function(t,e){return this.dx(t).dy(e)}}),g.extend(g.Rect,g.Ellipse,g.Circle,g.Gradient,g.FX,{radius:function(t,e){var i=(this._target||this).type;return"radial"==i||"circle"==i?this.attr("r",new g.Number(t)):this.rx(t).ry(null==e?t:e)}}),g.extend(g.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),g.extend(g.Parent,g.Text,g.Tspan,g.FX,{font:function(t,e){if("object"==typeof t)for(e in t)this.font(e,t[e]);return"leading"==t?this.leading(e):"anchor"==t?this.attr("text-anchor",e):"size"==t||"family"==t||"weight"==t||"stretch"==t||"variant"==t||"style"==t?this.attr("font-"+t,e):this.attr(t,e)}}),g.Set=g.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){var t,e,i=[].slice.call(arguments);for(t=0,e=i.length;t-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members},bbox:function(){if(0==this.members.length)return new g.RBox;var t=this.members[0].rbox(this.members[0].doc());return this.each(function(){t=t.merge(this.rbox(this.doc()))}),t}},construct:{set:function(t){return new g.Set(t)}}}),g.FX.Set=g.invent({create:function(t){this.set=t}}),g.Set.inherit=function(){var t,e=[];for(var t in g.Shape.prototype)"function"==typeof g.Shape.prototype[t]&&"function"!=typeof g.Set.prototype[t]&&e.push(t);e.forEach(function(t){g.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),g.get=function(t){var i=e.getElementById(v(t)||t);return g.adopt(i)},g.select=function(t,i){return new g.Set(g.utils.map((i||e).querySelectorAll(t),function(t){return g.adopt(t)}))},g.extend(g.Parent,{select:function(t){return g.select(t,this.node)}});var P="abcdef".split("");if("function"!=typeof t.CustomEvent){var A=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var n=e.createEvent("CustomEvent");return n.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),n};A.prototype=t.Event.prototype,t.CustomEvent=A}return function(e){for(var i=0,n=["moz","webkit"],r=0;r", + "main": "dist/svg.js", + "jam": { + "include": [ + "dist/svg.js", + "README.md", + "LICENSE.txt" + ] + }, + "maintainers": [ + { + "name": "Wout Fierens", + "email": "wout@mick-wout.com", + "web": "https://svgdotjs.github.io/" + }, + { + "name": "Alex Ewerlรถf", + "email": "alex@userpixel.com", + "web": "http://www.ewerlof.name" + }, + { + "name": "Ulrich-Matthias Schรคfer", + "email": "ulima.ums@googlemail.com" + }, + { + "name": "Jon Ege Ronnenberg", + "email": "jon@svgjs.com", + "url": "https://keybase.io/dotnetcarpenter" + } + ], + "licenses": [ + { + "type": "MIT", + "url": "http://www.opensource.org/licenses/mit-license.php" + } + ], + "repository": { + "type": "git", + "url": "https://github.com/svgdotjs/svg.js.git" + }, + "github": "https://github.com/svgdotjs/svg.js", + "license": "MIT", + "typings": "./svg.js.d.ts", + "scripts": { + "build": "gulp", + "build:test": "gulp unify", + "test": "karma start .config/karma.conf.js --single-run", + "test:quick": "karma start .config/karma.quick.js" + }, + "devDependencies": { + "coveralls": "^2.11.15", + "del": "^2.2.0", + "gulp": "^3.8.6", + "gulp-chmod": "^2.0.0", + "gulp-cli": "^1.2.2", + "gulp-concat": "^2.3.3", + "gulp-header": "^1.0.5", + "gulp-rename": "^1.2.0", + "gulp-size": "^2.1.0", + "gulp-trimlines": "^1.0.0", + "gulp-uglify": "^2.0.0", + "gulp-wrap": "^0.13.0", + "jasmine-core": "^2.5.2", + "karma": "^1.3.0", + "karma-coverage": "^1.1.1", + "karma-firefox-launcher": "^1.0.0", + "karma-jasmine": "^1.0.2", + "karma-phantomjs-launcher": "^1.0.2", + "request": "^2.78.0", + "svgdom": "latest" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/package-lock.json b/files/plugin-HeatmapSessionRecording-5.6.0/package-lock.json new file mode 100644 index 0000000..c48e32e --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/package-lock.json @@ -0,0 +1,1243 @@ +{ + "name": "heatmapsessionrecording", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "heatmapsessionrecording", + "version": "1.0.0", + "hasInstallScript": true, + "license": "InnoCraft EULA", + "dependencies": { + "@types/heatmap.js": "^2.0.37", + "heatmap.js": "^2.0.5", + "html-to-image": "^1.11.13" + }, + "devDependencies": { + "patch-package": "^8.0.1" + } + }, + "node_modules/@types/geojson": { + "version": "7946.0.8", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz", + "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==" + }, + "node_modules/@types/heatmap.js": { + "version": "2.0.37", + "resolved": "https://registry.npmjs.org/@types/heatmap.js/-/heatmap.js-2.0.37.tgz", + "integrity": "sha512-Zd1m6WaRSPnXcR1fETGnIvyRSE2rcQK21S0zIU/LWjwsrNyKBA3xdckrQhQpIdG+UTeu7WODv237s30Ky7IVXg==", + "dependencies": { + "@types/leaflet": "^0" + } + }, + "node_modules/@types/leaflet": { + "version": "0.7.35", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-0.7.35.tgz", + "integrity": "sha512-BK+pa9a9dYC1qJyYQulqkRI9N+ZnV4ycAmNSOUmom7C6xaAdmrhOoiCiDMhSQklyjPpasy3KWRTkTRTJuDbBSw==", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "dependencies": { + "micromatch": "^4.0.2" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/heatmap.js": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/heatmap.js/-/heatmap.js-2.0.5.tgz", + "integrity": "sha1-Rm07hlE/XUkRKknSVwCrJzAUkVM=" + }, + "node_modules/html-to-image": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/html-to-image/-/html-to-image-1.11.13.tgz", + "integrity": "sha512-cuOPoI7WApyhBElTTb9oqsawRvZ0rHhaHwghRLlTuffoD1B2aDemlCruLeZrUIIdvG7gs9xeELEPm6PhuASqrg==" + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/json-stable-stringify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", + "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/patch-package": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz", + "integrity": "sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==", + "dev": true, + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^10.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.2.4", + "yaml": "^2.2.2" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "node": ">=14", + "npm": ">5" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tmp": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", + "dev": true, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + } + }, + "dependencies": { + "@types/geojson": { + "version": "7946.0.8", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz", + "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==" + }, + "@types/heatmap.js": { + "version": "2.0.37", + "resolved": "https://registry.npmjs.org/@types/heatmap.js/-/heatmap.js-2.0.37.tgz", + "integrity": "sha512-Zd1m6WaRSPnXcR1fETGnIvyRSE2rcQK21S0zIU/LWjwsrNyKBA3xdckrQhQpIdG+UTeu7WODv237s30Ky7IVXg==", + "requires": { + "@types/leaflet": "^0" + } + }, + "@types/leaflet": { + "version": "0.7.35", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-0.7.35.tgz", + "integrity": "sha512-BK+pa9a9dYC1qJyYQulqkRI9N+ZnV4ycAmNSOUmom7C6xaAdmrhOoiCiDMhSQklyjPpasy3KWRTkTRTJuDbBSw==", + "requires": { + "@types/geojson": "*" + } + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "requires": { + "fill-range": "^7.1.1" + } + }, + "call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + } + }, + "call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, + "call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, + "es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, + "es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "requires": { + "es-errors": "^1.3.0" + } + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "requires": { + "micromatch": "^4.0.2" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true + }, + "get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + } + }, + "get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "requires": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + } + }, + "gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true + }, + "hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, + "heatmap.js": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/heatmap.js/-/heatmap.js-2.0.5.tgz", + "integrity": "sha1-Rm07hlE/XUkRKknSVwCrJzAUkVM=" + }, + "html-to-image": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/html-to-image/-/html-to-image-1.11.13.tgz", + "integrity": "sha512-cuOPoI7WApyhBElTTb9oqsawRvZ0rHhaHwghRLlTuffoD1B2aDemlCruLeZrUIIdvG7gs9xeELEPm6PhuASqrg==" + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "json-stable-stringify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", + "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", + "dev": true, + "requires": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + } + }, + "jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true + }, + "klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11" + } + }, + "math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true + }, + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "patch-package": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz", + "integrity": "sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==", + "dev": true, + "requires": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^10.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.2.4", + "yaml": "^2.2.2" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true + }, + "semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true + }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tmp": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "dev": true + } + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/package.json b/files/plugin-HeatmapSessionRecording-5.6.0/package.json new file mode 100644 index 0000000..b561ef0 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/package.json @@ -0,0 +1,32 @@ +{ + "name": "heatmapsessionrecording", + "version": "1.0.0", + "description": "## Description", + "main": "tracker.js", + "directories": { + "doc": "docs", + "test": "tests" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "postinstall": "patch-package" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/innocraft/plugin-HeatmapSessionRecording.git" + }, + "author": "", + "license": "InnoCraft EULA", + "bugs": { + "url": "https://github.com/innocraft/plugin-HeatmapSessionRecording/issues" + }, + "homepage": "https://github.com/innocraft/plugin-HeatmapSessionRecording#readme", + "dependencies": { + "@types/heatmap.js": "^2.0.37", + "heatmap.js": "^2.0.5", + "html-to-image": "^1.11.13" + }, + "devDependencies": { + "patch-package": "^8.0.1" + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/patches/html-to-image+1.11.13.patch b/files/plugin-HeatmapSessionRecording-5.6.0/patches/html-to-image+1.11.13.patch new file mode 100644 index 0000000..4baeaf4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/patches/html-to-image+1.11.13.patch @@ -0,0 +1,26 @@ +diff --git a/node_modules/html-to-image/es/clone-node.js b/node_modules/html-to-image/es/clone-node.js +index 114cbf2..023d585 100644 +--- a/node_modules/html-to-image/es/clone-node.js ++++ b/node_modules/html-to-image/es/clone-node.js +@@ -61,7 +61,7 @@ async function cloneChildren(nativeNode, clonedNode, options) { + } + else if (isInstanceOfElement(nativeNode, HTMLIFrameElement) && + ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) { +- children = toArray(nativeNode.contentDocument.body.childNodes); ++ children = []; + } + else { + children = toArray(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes); +diff --git a/node_modules/html-to-image/lib/clone-node.js b/node_modules/html-to-image/lib/clone-node.js +index 214f4d3..0f0555b 100644 +--- a/node_modules/html-to-image/lib/clone-node.js ++++ b/node_modules/html-to-image/lib/clone-node.js +@@ -136,7 +136,7 @@ function cloneChildren(nativeNode, clonedNode, options) { + } + else if ((0, util_1.isInstanceOfElement)(nativeNode, HTMLIFrameElement) && + ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) { +- children = (0, util_1.toArray)(nativeNode.contentDocument.body.childNodes); ++ children = []; + } + else { + children = (0, util_1.toArray)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes); diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/phpcs.xml b/files/plugin-HeatmapSessionRecording-5.6.0/phpcs.xml new file mode 100644 index 0000000..269d510 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/phpcs.xml @@ -0,0 +1,37 @@ + + + + Matomo Coding Standard for HeatmapSessionRecording plugin + + + + . + + tests/javascript/* + */vendor/* + + + + + + + + tests/* + + + + + Updates/* + + + + + tests/* + + + + + tests/* + Tracker/Configs.php + + \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/plugin.json b/files/plugin-HeatmapSessionRecording-5.6.0/plugin.json new file mode 100644 index 0000000..bee306e --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/plugin.json @@ -0,0 +1,41 @@ +{ + "name": "HeatmapSessionRecording", + "description": "Visualise behaviour with Heatmaps and replay recorded visitor sessions to identify friction, validate design decisions, and improve conversion paths.", + "version": "5.6.0", + "theme": false, + "require": { + "matomo": ">=5.0.0-rc1,<6.0.0-b1" + }, + "authors": [ + { + "name": "InnoCraft", + "email": "contact@innocraft.com", + "homepage": "https:\/\/www.innocraft.com" + } + ], + "price": { + "base": 220 + }, + "archive": { + "exclude": ["/tracker.js"] + }, + "preview": { + "video_url": "https://www.youtube-nocookie.com/embed/WyDygNx0t4w" + }, + "homepage": "https:\/\/www.heatmap-analytics.com", + "license": "InnoCraft EULA", + "keywords": [ + "heatmap", + "session recording", + "session", + "recording", + "move", + "scroll", + "hover", + "click", + "user", + "visitor", + "video", + "visit" + ] +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/pull_request_template.md b/files/plugin-HeatmapSessionRecording-5.6.0/pull_request_template.md new file mode 100644 index 0000000..211089b --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/pull_request_template.md @@ -0,0 +1,29 @@ +## Description + + +## Issue No + + +## Steps to Replicate the Issue +1. +2. +3. + + + +## Checklist +- [โœ”/โœ–] Tested locally or on demo2/demo3? +- [โœ”/โœ–/NA] New test case added/updated? +- [โœ”/โœ–/NA] Are all newly added texts included via translation? +- [โœ”/โœ–/NA] Are text sanitized properly? (Eg use of v-text v/s v-html for vue) +- [โœ”/โœ–/NA] Version bumped? +- [โœ”/โœ–/NA] I have understood, reviewed, and tested all AI outputs before use +- [โœ”/โœ–/NA] All AI instructions respect security, IP, and privacy rules +- [โœ”/โœ–/NA] Documentation updated? diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/stylesheets/edit-entities.less b/files/plugin-HeatmapSessionRecording-5.6.0/stylesheets/edit-entities.less new file mode 100644 index 0000000..63f02cb --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/stylesheets/edit-entities.less @@ -0,0 +1,101 @@ + +.editHsr { + .icon-help { + color: @theme-color-text-lighter; + cursor: help; + &:hover { + color: @theme-color-text; + } + } + .icon-minus, + .icon-plus { + cursor: pointer; + } + .icon-minus { + margin-left: 8px; + } + + .matchPageRules > .row { + width: ~"calc(100% - 60px)"; + margin: 0 !important; + + > .col { + padding-left: 0; + } + } + + .form-group { + margin-left: -.75rem; + margin-right: -.75rem; + + &.hsrTargetTest { + margin-left: 0; + margin-right: 0; + } + } + + .matchPageRules { + margin-top: 1em; + + hr { + margin-bottom: 3em; + } + + .form-group { + margin: 0; + } + .input-field { + margin-top: 0.2em; + + input, select{ + width: 100% !important; + } + } + } + + .targetingToggle { + // align with the field content, which Materialize insets by .75rem (.col padding) + margin: 0 0 1.25em; + padding-left: .75rem; + + a { + color: @color-green-matomo; + cursor: pointer; + } + } + + .advancedSettingsToggle { + padding: 1.75em 0 1.25em; + + h3 { + margin: 0 0 .9em; + font-weight: 600; + } + + p:last-child { + margin: 0; + } + + a { + color: @color-green-matomo; + } + } + + .heatmapAdvancedSection { + margin-bottom: 2.5em; + + h3 { + margin-bottom: .25em; + font-weight: 600; + } + + .sectionDescription { + color: @theme-color-text-lighter; + margin-bottom: 1.25em; + } + } + + .heatmapAdvancedSection:last-of-type { + margin-bottom: 1em; + } +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/stylesheets/list-entities.less b/files/plugin-HeatmapSessionRecording-5.6.0/stylesheets/list-entities.less new file mode 100644 index 0000000..0cf6f63 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/stylesheets/list-entities.less @@ -0,0 +1,51 @@ +.manageHsr { + .filterStatus, .hsrSearchFilter { + display: inline-block; + width:200px; + } + + div.filterStatus { + margin: 0 -0.75em; + display: inline-block; + + .theWidgetContent & { + margin: 0; + } + } + + th.action, td.action { + width: 250px; + + a { + color: black; + } + } + + th.action.duplicate-available, td.action.duplicate-available { + width: 280px; + } + + .index { + width: 60px; + } + + a.table-action { + margin-right: 3.5px; + } + + a.table-action:last-child { + margin-right: 0; + } + + .autoRepeat { + width: 130px; + + // override: the icon font class is the only hook the shared Morpheus icon markup exposes + .icon-info { + cursor: help; + margin-left: 3.5px; + position: relative; + top: 1px; + } + } +} \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/stylesheets/recordings.less b/files/plugin-HeatmapSessionRecording-5.6.0/stylesheets/recordings.less new file mode 100644 index 0000000..a16bbc4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/stylesheets/recordings.less @@ -0,0 +1,154 @@ +#recordingPlayer { + display: block; + border: 1px solid #ccc; + pointer-events: none !important; + background: white; +} + +.scrollHeatmapLeaf { + position:absolute; + z-index: 10; + opacity: 0.4; +} +#listOfPageviews { + table .inactive { + cursor: pointer; + } +} +.sessionRecording { + padding: 16px; + font-size: 14px; + + .recordingPageviews { + cursor: pointer; + color: @theme-color-link; + } + + .recordingPageviews, + .recordingResolution, + .recordingLogos, + .recordingUrl { + margin-left: 16px; + } + + .recordingLogos { + img { + margin-right: 6px; + height: 14px; + } + .countryFlag { + border: 1px solid #d3d3d3; + height: 15px; + } + } + + .openVisitorProfile { + cursor:pointer; + height: 15px !important; + } +} + +.visitorLogReplaySession { + margin-top: 10px; + padding-bottom: 5px; + display: block; + width: auto!important; + &:hover { + color: @theme-color-brand !important; + } + + .visitor-profile & { + display: none; + } +} + +.visitorLogIconReplaySession { + display: block; + float: left; + font-size: 18px; + margin: 4px 10px 0 0; + + .dataTableVizVisitorLog &, .visitor-profile-header & { + display: none; + } + + &:hover { + text-decoration: none; + color: @theme-color-brand !important; + } +} + +[data-report="HeatmapSessionRecording.getRecordedSessions"] { + .dataTableRowActions { + + .actionHsrPlayRecording, .actionHsrVisitorProfile { + padding-right: 1rem; + } + + .icon-play { + color: @theme-color-brand !important; + display: inline-block; + margin-top: 1px; + } + + .icon-visitor-profile { + font-size: 21px !important; + } + } + + table.subDataTable tr .label.column { + width: 400px; + } + + .countryFlag { + border: 1px solid #d3d3d3; + } +} + +.hsrLoadingOuter { + position: absolute; + z-index: 2; + + .loadingUnderlay { + background: #000; + width:100%; + height:100%; + position: relative; + opacity: 0.6; + } + + .loadingInner { + margin: 0 auto; + font-size: 28px; + color: white; + text-align:center; + top: 50px; + position: absolute; + width: 100%; + } + + .loadingContent { + margin: 0 auto; + } +} + +.heatmapVis .btn-flat { + background-color: @theme-color-brand; + opacity: 0.6; + color: #fff; + border: 0; + box-shadow: 0 2px 3px 0 rgba(0,0,0,0.16), 0 0 3px 0 rgba(0,0,0,0.12); + + &:hover { + opacity: 1 !important; + } + + img { + filter: invert(1); + } +} + +.heatmapVis .visActive { + background-color: @theme-color-brand !important; + opacity: 1 !important; +} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/templates/_detectAdBlocker.twig b/files/plugin-HeatmapSessionRecording-5.6.0/templates/_detectAdBlocker.twig new file mode 100644 index 0000000..dfb74c4 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/templates/_detectAdBlocker.twig @@ -0,0 +1,26 @@ +{% block content %} +
    ') + } + var UI = require('piwik/UI'); + var notification = new UI.Notification(); + notification.show(_pk_translate('HeatmapSessionRecording_AdBlockerDetected',["{{ type }}"]),{context: 'warning',id:'HeatmapAdBlocker'}); + } + document.getElementById("ad-box").remove(); + }, 2000) + } + +{% endblock %} \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/templates/_finishedEmail.twig b/files/plugin-HeatmapSessionRecording-5.6.0/templates/_finishedEmail.twig new file mode 100644 index 0000000..36a049f --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/templates/_finishedEmail.twig @@ -0,0 +1,4 @@ +

    {{ greeting }}

    +

    {{ bodyText|raw }}

    +

    {{ regards }}
    {{ team }}

    +

    {{ unsubscribeText|raw }}

    diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/templates/embedPage.twig b/files/plugin-HeatmapSessionRecording-5.6.0/templates/embedPage.twig new file mode 100644 index 0000000..49c91d3 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/templates/embedPage.twig @@ -0,0 +1,43 @@ +{% extends 'empty.twig' %} + +{% set title=('HeatmapSessionRecording_ReplayX'|translate('HeatmapSessionRecording_SessionRecording'|translate)) %} + +{% block content %} + + + + + + + + + + + + + + + +{% endblock %} \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/templates/gettingStartedHeatmaps.twig b/files/plugin-HeatmapSessionRecording-5.6.0/templates/gettingStartedHeatmaps.twig new file mode 100644 index 0000000..1ec5079 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/templates/gettingStartedHeatmaps.twig @@ -0,0 +1,2 @@ +

    {{ 'HeatmapSessionRecording_NoHeatmapsConfiguredInfo'|translate }}

    +

    {{ 'HeatmapSessionRecording_HeatmapUsageBenefits'|translate }}

    \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/templates/gettingStartedSessions.twig b/files/plugin-HeatmapSessionRecording-5.6.0/templates/gettingStartedSessions.twig new file mode 100644 index 0000000..234c4ee --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/templates/gettingStartedSessions.twig @@ -0,0 +1,2 @@ +

    {{ 'HeatmapSessionRecording_NoSessionRecordingsConfiguredInfo'|translate }}

    +

    {{ 'HeatmapSessionRecording_SessionRecordingsUsageBenefits'|translate }}

    \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/templates/manageHeatmap.twig b/files/plugin-HeatmapSessionRecording-5.6.0/templates/manageHeatmap.twig new file mode 100644 index 0000000..ee18072 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/templates/manageHeatmap.twig @@ -0,0 +1,22 @@ +{% extends 'admin.twig' %} + +{% block topcontrols %} +
    +
    +
    +{% endblock %} + +{% block content %} +
    +{% endblock %} \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/templates/manageSessions.twig b/files/plugin-HeatmapSessionRecording-5.6.0/templates/manageSessions.twig new file mode 100644 index 0000000..4fe301c --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/templates/manageSessions.twig @@ -0,0 +1,20 @@ +{% extends 'admin.twig' %} + +{% block topcontrols %} +
    +
    +
    +{% endblock %} + +{% block content %} +
    +{% endblock %} \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/templates/replayRecording.twig b/files/plugin-HeatmapSessionRecording-5.6.0/templates/replayRecording.twig new file mode 100644 index 0000000..c382d09 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/templates/replayRecording.twig @@ -0,0 +1,60 @@ +{% extends 'layout.twig' %} + +{% set title=('HeatmapSessionRecording_ReplayX'|translate('HeatmapSessionRecording_SessionRecording'|translate)) %} + +{% block root %} + {% include '@HeatmapSessionRecording/_detectAdBlocker.twig' with {type: 'Session recordings'} %} + +
    +
    + {{ recording.server_time_pretty }} + + {% if recording.url %}{{ recording.url|truncate(50) }}{% endif %} + + {{ recording.viewport_w_px }}x{{ recording.viewport_h_px }} + {% if recording.numPageviews == 1 %}{{ 'HeatmapSessionRecording_OnePageview'|translate }}{% else %}{{ 'HeatmapSessionRecording_PageviewXofY'|translate(currentPage, recording.numPageviews) }} {% endif %} + + + {% if recording.location_logo %}{% endif %} + {% if recording.device_logo %}{% endif %} + {% if recording.os_logo %}{% endif %} + {% if recording.browser_logo %}{% endif %} + {% if recording.idvisitor and visitorProfileEnabled %}{% endif %} + +
    + + + +
    +
    + +
    +
    +
    + +{% endblock %} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/templates/showHeatmap.twig b/files/plugin-HeatmapSessionRecording-5.6.0/templates/showHeatmap.twig new file mode 100644 index 0000000..fe83494 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/templates/showHeatmap.twig @@ -0,0 +1,22 @@ +{% include '@HeatmapSessionRecording/_detectAdBlocker.twig' with {type: 'Heatmaps'} %} +
    +
    diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/templates/unsubscribe.twig b/files/plugin-HeatmapSessionRecording-5.6.0/templates/unsubscribe.twig new file mode 100644 index 0000000..04b8ab0 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/templates/unsubscribe.twig @@ -0,0 +1,72 @@ +{% extends '@Morpheus/layout.twig' %} + +{% block meta %} + + +{% endblock %} + +{% set title %}{{ 'HeatmapSessionRecording_UnsubscribeTitle'|translate }}{% endset %} + +{% set bodyId = 'loginPage' %} +{% set bodyClass = 'heatmapSessionRecordingUnsubscribePage' %} + +{% block body %} + + {{ postEvent("Template.beforeTopBar", "login") }} + {{ postEvent("Template.beforeContent", "login") }} + + {% include "_iframeBuster.twig" %} + +
    +
    + + +
    +
    + +
    + {% embed 'contentBlock.twig' with {'title': 'HeatmapSessionRecording_UnsubscribeTitle'|translate} %} + {% block content %} + {% if error is defined %} +
    + {{ 'General_Error'|translate }}: {{ error|raw }}
    +
    + {% elseif success is defined %} +
    + {{ 'HeatmapSessionRecording_UnsubscribeSuccess'|translate }} +
    + {% else %} +
    +
    +
    +
    +

    {{ 'HeatmapSessionRecording_UnsubscribeConfirmation'|translate }}

    +

    {{ 'HeatmapSessionRecording_UnsubscribeConfirmationDetail'|translate }}

    +


    + + +
    +
    + +
    + {% endif %} + {% if isCustomLogo %} +

    + {{ linkTitle }} +

    + {% endif %} + {% endblock %} + {% endembed %} +
    +
    +
    + +{% endblock %} diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/tracker.min.js b/files/plugin-HeatmapSessionRecording-5.6.0/tracker.min.js new file mode 100644 index 0000000..c2c4440 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/tracker.min.js @@ -0,0 +1,125 @@ +(function(){var N=1;var aH=9;var o=10;var P=8;var w=3;var ax=["button","submit","reset"]; +/*!! + * Copyright (C) 2015 Pavel Savshenko + * Copyright (C) 2011 Google Inc. All rights reserved. + * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. + * Copyright (C) 2008 Matt Lilek + * Copyright (C) 2009 Joseph Pecoraro + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +; +var i={};i.cssPath=function(aT,aR){if(aT.nodeType!==N){return""}var aQ=[];var aP=aT;while(aP){var aS=i._cssPathStep(aP,!!aR,aP===aT);if(!aS){break}aQ.push(aS);if(aS.optimized){break}aP=aP.parentNode}aQ.reverse();return aQ.join(" > ")};i._cssPathStep=function(a4,aW,a3){if(a4.nodeType!==N){return null}var a2=a4.getAttribute("id");if(aW){if(a2){return new i.DOMNodePathStep(ba(a2),true)}var aQ=a4.nodeName.toLowerCase();if(aQ==="body"||aQ==="head"||aQ==="html"){return new i.DOMNodePathStep(a4.nodeName.toLowerCase(),true)}}var aP=a4.nodeName.toLowerCase();if(a2){return new i.DOMNodePathStep(aP.toLowerCase()+ba(a2),true)}var aX=a4.parentNode;if(!aX||aX.nodeType===aH){return new i.DOMNodePathStep(aP.toLowerCase(),true)}function bg(bi){var bj=bi.getAttribute("class");if(!bj){return[]}return bj.split(/\s+/g).filter(Boolean).map(function(bk){return"$"+bk})}function ba(bi){return"#"+bf(bi)}function bf(bj){if(bb(bj)){return bj}var bi=/^(?:[0-9]|-[0-9-]?)/.test(bj);var bk=bj.length-1;return bj.replace(/./g,function(bm,bl){return((bi&&bl===0)||!aR(bm))?aT(bm,bl===bk):bm +})}function aT(bj,bi){return"\\"+a1(bj)+(bi?"":" ")}function a1(bj){var bi=bj.charCodeAt(0).toString(16);if(bi.length===1){bi="0"+bi}return bi}function aR(bi){if(/[a-zA-Z0-9_\-]/.test(bi)){return true}return bi.charCodeAt(0)>=160}function bb(bi){return/^-?[a-zA-Z_][a-zA-Z0-9_\-]*$/.test(bi)}function a6(bi){var bk={},bj;for(bj=0;bj>>0};aP.prototype.nodeId=function(aQ){var aR=aQ[aP.ID_PROP];if(!aR){aR=aQ[aP.ID_PROP]=aP.nextId_++}return aR};aP.prototype.set=function(aQ,aR){var aS=this.nodeId(aQ);this.nodes[aS]=aQ;this.values[aS]=aR};aP.prototype.get=function(aQ){var aR=this.nodeId(aQ);return this.values[aR]};aP.prototype.has=function(aQ){return this.nodeId(aQ) in this.nodes};aP.prototype["delete"]=function(aQ){var aR=this.nodeId(aQ);delete this.nodes[aR];this.values[aR]=undefined};aP.prototype.keys=function(){var aQ=[];for(var aR in this.nodes){if(!this.isIndex(aR)){continue}aQ.push(this.nodes[aR])}return aQ};aP.ID_PROP="__mutation_summary_node_map_id__";aP.nextId_=1;return aP})();var aC; +(function(aP){aP[aP.STAYED_OUT=0]="STAYED_OUT";aP[aP.ENTERED=1]="ENTERED";aP[aP.STAYED_IN=2]="STAYED_IN";aP[aP.REPARENTED=3]="REPARENTED";aP[aP.REORDERED=4]="REORDERED";aP[aP.EXITED=5]="EXITED"})(aC||(aC={}));function B(aP){return aP===aC.ENTERED||aP===aC.EXITED}var ab=(function(){function aP(aW,aV,aR,aT,aS,aU,aQ,aX){if(aV===void 0){aV=false}if(aR===void 0){aR=false}if(aT===void 0){aT=false}if(aS===void 0){aS=null}if(aU===void 0){aU=false}if(aQ===void 0){aQ=null}if(aX===void 0){aX=null}this.node=aW;this.childList=aV;this.attributes=aR;this.characterData=aT;this.oldParentNode=aS;this.added=aU;this.attributeOldValues=aQ;this.characterDataOldValue=aX;this.isCaseInsensitive=this.node.nodeType===N&&this.node instanceof HTMLElement&&this.node.ownerDocument instanceof HTMLDocument}aP.prototype.getAttributeOldValue=function(aQ){if(!this.attributeOldValues){return undefined}if(this.isCaseInsensitive){aQ=aQ.toLowerCase()}return this.attributeOldValues[aQ]};aP.prototype.getAttributeNamesMutated=function(){var aR=[]; +if(!this.attributeOldValues){return aR}for(var aQ in this.attributeOldValues){aR.push(aQ)}return aR};aP.prototype.attributeMutated=function(aR,aQ){this.attributes=true;this.attributeOldValues=this.attributeOldValues||{};if(aR in this.attributeOldValues){return}this.attributeOldValues[aR]=aQ};aP.prototype.characterDataMutated=function(aQ){if(this.characterData){return}this.characterData=true;this.characterDataOldValue=aQ};aP.prototype.removedFromParent=function(aQ){this.childList=true;if(this.added||this.oldParentNode){this.added=false}else{this.oldParentNode=aQ}};aP.prototype.insertedIntoParent=function(){this.childList=true;this.added=true};aP.prototype.getOldParent=function(){if(this.childList){if(this.oldParentNode){return this.oldParentNode}if(this.added){return null}}return this.node.parentNode};return aP})();var ao=(function(){function aP(){this.added=new J();this.removed=new J();this.maybeMoved=new J();this.oldPrevious=new J();this.moved=undefined}return aP})();var W=(function(aQ){b(aP,aQ); +function aP(aU,aS){aQ.call(this);this.rootNode=aU;this.reachableCache=undefined;this.wasReachableCache=undefined;this.anyParentsChanged=false;this.anyAttributesChanged=false;this.anyCharacterDataChanged=false;for(var aR=0;aR1){throw Error("Invalid request option. all has no options.")}aU.queries.push({all:true});continue}if("attribute" in aT){var aV={attribute:j(aT.attribute)};aV.elementFilter=aG.parseSelectors("*["+aV.attribute+"]");if(Object.keys(aT).length>1){throw Error("Invalid request option. attribute has no options.")}aU.queries.push(aV);continue}if("element" in aT){var aS=Object.keys(aT).length;var aV={element:aT.element,elementFilter:aG.parseSelectors(aT.element)};if(aT.hasOwnProperty("elementAttributes")){aV.attributeList=az(aT.elementAttributes);aS--}if(aS>1){throw Error("Invalid request option. element only allows elementAttributes option.")}aU.queries.push(aV);continue}if(aT.characterData){if(Object.keys(aT).length>1){throw Error("Invalid request option. characterData has no options.") +}aU.queries.push({characterData:true});continue}throw Error("Invalid request option. Unknown query request.")}return aU};aP.prototype.createSummaries=function(aR){if(!aR||!aR.length){return[]}var aQ=new K(this.root,aR,this.elementFilter,this.calcReordered,this.options.oldPreviousSibling);var aT=[];for(var aS=0;aS=0){aV={}}else{if(aU.attributes.name){var a3=String(aU.attributes.name.value).toLowerCase();if(a3.indexOf("twitter:")>=0||a3.indexOf("description")>=0||a3.indexOf("keywords")>=0){aV={}}}}}else{if("LINK"===aU.tagName){if(aU.attributes.rel){var a2=String(aU.attributes.rel.value).toLowerCase(); +var a1=["icon","preload","preconnect","dns-prefetch","next","prev","alternate","search"];if(a1.indexOf(a2)>=0){aV={}}}if(aU.attributes.href){var aT=String(aU.attributes.href.value).toLowerCase().indexOf(".scr.kaspersky-labs.com");if(aT>5&&aT<=20){aV={}}}if(aU.href){if(typeof I.URL==="function"){var aS=ak.onCssLoaded(aU.href);var aQ=3;if(!aS){aR(aU.href);function aR(a5){if(aQ>0){setTimeout(function(){aQ--;aS=ak.onCssLoaded(aU.href);if(!aS){aR(aU.href)}},300)}}}}aV.url=aU.href}}}}return aV};aP.prototype.serializeAddedAndMoved=function(aT,aQ,aU){var aW=this;var aS=aT.concat(aQ).concat(aU);var aV=new d.NodeMap();aS.forEach(function(aZ){var aY=aZ.parentNode;var aX=aV.get(aY);if(!aX){aX=new d.NodeMap();aV.set(aY,aX)}aX.set(aZ,true)});var aR=[];aV.keys().forEach(function(aY){var aX=aV.get(aY);var a0=aX.keys();while(a0.length){var aZ=a0[0];while(aZ.previousSibling&&aX.has(aZ.previousSibling)){aZ=aZ.previousSibling}while(aZ&&aX.has(aZ)){var a1=aW.serializeNode(aZ);a1.previousSibling=aW.serializeNode(aZ.previousSibling); +a1.parentNode=aW.serializeNode(aZ.parentNode);aR.push(a1);aX["delete"](aZ);aZ=aZ.nextSibling}var a0=aX.keys()}});return aR};aP.prototype.serializeAttributeChanges=function(aQ){var aS=this;var aR=new d.NodeMap();Object.keys(aQ).forEach(function(aT){aQ[aT].forEach(function(aW){var aU=aR.get(aW);if(!aU){aU=aS.serializeNode(aW);aU.attributes={};aR.set(aW,aU)}var aV=aN.shouldMaskElementRecursive(aW);var aX=aS.getAttributesFromNode(aW,aV.isIgnoredField,aV.isIgnoredContent);aU.attributes[aT]=aT in aX?aX[aT]:null})});return aR.keys().map(function(aT){return aR.get(aT)})};aP.prototype.applyChanged=function(aT){var aW=this;var aR=aT[0];var aU=aR.removed.map(function(aX){return aW.serializeNode(aX)});var aS=this.serializeAddedAndMoved(aR.added,aR.reparented,aR.reordered);var aQ=this.serializeAttributeChanges(aR.attributeChanged);var aV=aR.characterDataChanged.map(function(aY){var aZ=aW.serializeNode(aY);if(aY.nodeType===w&&aY.parentNode){aY=aY.parentNode}var aX=aN.shouldMaskElementRecursive(aY,false,false); +aZ.textContent=aN.getMaskedTextContent(aY,aX.isIgnoredField,aX.isIgnoredContent);return aZ});this.mirror.applyChanged(aU,aS,aQ,aV);aR.removed.forEach(function(aX){aW.forgetNode(aX)})};return aP})()} +/*!! + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * All information contained herein is, and remains the property of InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ +;var O=document;var I=window;var F=0;var l=false;var L=!u();var am=true;var n=null;var at=false;var ad="";var T=false;var g=15*60*1000;var aa=30*60*1000;var S=10;var av=(5*60*1000);var aA=2000;var C=1000;var H=100;var Y=500;var G=false;function u(){if("object"!==typeof JSON){return true}if("function"!==typeof Array.prototype.map||"function"!==typeof Array.prototype.filter||"function"!==typeof Array.prototype.indexOf){return true}if("function"!==typeof Element.prototype.getBoundingClientRect){return true}var aP=["cc.bingj.com"]; +if(aP.indexOf(O.domain)!==-1||String(O.domain).indexOf(".googleusercontent.com")!==-1){return true}var aR=/alexa|baidu|bing|bot|crawler|curl|crawling|duckduckgo|facebookexternalhit|feedburner|googlebot|google web preview|linkdex|nagios|postrank|pingdom|robot|slurp|spider|yahoo!|yandex|wget/i.test(navigator.userAgent);if(aR){return true}var aQ=String(O.referrer);if(aQ&&aQ.indexOf("module=Overlay&action=startOverlaySession")>=0){return true}return false}function U(){if(l&&"object"===typeof console){if(typeof console.debug==="function"){console.debug.apply(console,arguments)}else{if(typeof console.log==="function"){console.log.apply(console,arguments)}}}}var D=function(){return true};var s=1;var aJ=2;var h=3;var V=4;var aK=5;var ag=6;var a=7;var k=8;var e=9;var ar=10;var p=11;var ay=12;var aF=13;var aD=0;var af=1;var c=2;var aI=true;var Q=false;var an=false;var aO=true;var M=null;var A=false;var ae={};if("object"===typeof JSON){ae=JSON}var aj=false;var al=[];var aL={hasObserver:function(){if(typeof WebKitMutationObserver!=="undefined"){return true +}else{if(typeof MutationObserver!=="undefined"){return true}}return false}};var ai=aL.hasObserver();var r={getScrollLeft:function(){return I.document.body.scrollLeft||I.document.documentElement.scrollLeft},getScrollTop:function(){return I.document.body.scrollTop||I.document.documentElement.scrollTop},getDocumentHeight:function(){return au.safeMathMax([O.body.offsetHeight,O.body.scrollHeight,O.documentElement.offsetHeight,O.documentElement.clientHeight,O.documentElement.scrollHeight,1])},getDocumentWidth:function(){return au.safeMathMax([O.body.offsetWidth,O.body.scrollWidth,O.documentElement.offsetWidth,O.documentElement.clientWidth,O.documentElement.scrollWidth,1])},getWindowSize:function(){var aP=I.innerHeight||O.documentElement.clientHeight||O.body.clientHeight;var aQ=I.innerWidth||O.documentElement.clientWidth||O.body.clientWidth;return{width:aQ,height:aP}}};var t={namespace:"hsr",set:function(aR,aV,aT){aV=parseInt(aV,10);aT=parseInt(aT,10);var aU="";var aQ=t.getHsrConfigs(aR);var aS=false; +for(var aP=0;aP2){return true}}}if(aY){var aX=aP.parentNode?aP.parentNode:null;var aQ=false;while(aX){if(aN.hasAttribute(aX,"data-piwik-mask")||aN.hasAttribute(aX,"data-matomo-mask")){return true}else{if(!aQ&&aX&&aN.hasAttribute(aX,"data-matomo-unmask")){aQ=true}aX=aX.parentNode?aX.parentNode:null}}if(aQ){return false}}if(aN.hasAttribute(aP,"data-matomo-unmask")){return false}if(aT){return false}return true},shouldMaskContent:function(aR,aQ){if(!aR){return false}if(aR.tagName&&aR.tagName!=="FORM"&&aN.hasAttribute(aR,"data-matomo-mask")){return true}if(aR.tagName&&aR.tagName!=="FORM"&&aN.hasAttribute(aR,"data-matomo-unmask")){return false +}if(aQ){var aP=aR.parentNode?aR.parentNode:null;while(aP){if(aR.nodeName==="#text"&&aN.hasAttribute(aP,"data-matomo-unmask")){return false}else{if(aP.tagName!=="FORM"&&aN.hasAttribute(aP,"data-matomo-mask")){return true}else{aP=aP.parentNode?aP.parentNode:null}}}}return false},isAllowedInputType:function(aP){return(aP.type&&ax.indexOf(aP.type)!==-1&&!aN.hasAttribute(aP,"data-piwik-mask")&&!aN.hasAttribute(aP,"data-matomo-mask"))}};var au={safeMathMax:function(aP){var aQ=[];var aR;for(aR=0;aR0}function x(){return f("pk_hsr_forcesample=1")||f("pk_hsr_capturescreen=1")}function v(){return f("pk_hsr_forcesample=0")}function Z(aP){if(x()){return true}if(v()){return false}if(aP>=100){return true}if(aP<=0){return false}if(aP>=1){return aP>=au.getRandomInt(1,H)}return(aP*10)>=au.getRandomInt(1,H*10)}function q(aP){if("undefined"!==typeof aP.HeatmapSessionRecording){return}aP.HeatmapSessionRecording={myId:au.generateUniqueId(),hasReceivedConfig:false,hasRequestedConfig:false,hasTrackedData:false,hasSentStopTrackingEvent:false,enabled:true,hsrIdsToGetDOM:[],disable:function(){this.enabled=false},enable:function(){this.enabled=true +},isEnabled:function(){return L&&this.enabled},numSentTrackingRequests:0,Heatmap:{data:[],hsrids:[],configs:[],addConfig:function(aQ){if("object"!==typeof aQ||!aQ.id){return}aQ.id=parseInt(aQ.id,10);this.configs.push(aQ);if("undefined"===typeof aQ.sample_rate){aQ.sample_rate=H}else{aQ.sample_rate=Math.min(parseFloat(aQ.sample_rate),H)}if(aQ.id&&Z(aQ.sample_rate)&&D(aQ)){this.addHsrId(aQ.id);if((aQ.getdom&&!aQ.capture_manually)||f("pk_hsr_capturescreen=1")){aP.HeatmapSessionRecording.hsrIdsToGetDOM.push(aQ.id)}}},addHsrId:function(aQ){this.hsrids.push(aQ);if(aP.HeatmapSessionRecording.hasTrackedData){z.recordData(af,{ty:a,id:aQ})}}},Both:{data:[]},Session:{data:[],hsrids:[],configs:[],addConfig:function(aS){if("object"!==typeof aS||!aS.id){return}aS.id=parseInt(aS.id,10);if("undefined"===typeof aS.sample_rate){aS.sample_rate=H}else{aS.sample_rate=Math.min(parseFloat(aS.sample_rate),H)}aS.conditionsMet=false;this.configs.push(aS);var aR=parseInt(aP.getSiteId(),10);var aT=t.get(aP,aS.id);if(1===aT&&!v()){aS.sample_rate=H; +aS.activity=false;aS.min_time=0}else{if(x()){}else{if(0===aT||!Z(aS.sample_rate)){t.set(aP,aS.id,0);return}}}this.checkConditionsMet();if(aS.min_time){var aQ=this;Piwik.DOM.onReady(function(){var aU=(aS.min_time*1000)-au.getTimeSincePageReady()+120;if(aU>=0){setTimeout(function(){aQ.checkConditionsMet()},aU)}else{aQ.checkConditionsMet()}})}},checkConditionsMet:function(){var aR;for(var aS=0;aS=au.roundTimeToSeconds(au.getTimeSincePageReady())){aQ=false}if(aR.activity&&!an){an=r.getDocumentHeight()<=r.getWindowSize().height}if(aR.activity&&(!Q||!an)){aQ=false}if(aQ){aR.conditionsMet=true;if(D(aR)){if("undefined"===typeof aR.keystrokes||!aR.keystrokes||aR.keystrokes==="0"){aI=false}this.addHsrId(aR.id)}}}}},addHsrId:function(aQ){this.hsrids.push(aQ);if(aP.HeatmapSessionRecording.hasTrackedData){z.recordData(c,{ty:a,id:aQ})}var aR=parseInt(aP.getSiteId(),10);t.set(aP,aQ,1)}},addConfig:function(aQ){this.hasRequestedConfig=true; +this.hasReceivedConfig=true;if("undefined"===typeof aQ||!aQ){aM.checkAllConfigsReceived();return}if("object"===typeof aQ.heatmap){this.Heatmap.addConfig(aQ.heatmap)}var aR;if(aQ.heatmaps&&au.isArray(aQ.heatmaps)&&aQ.heatmaps.length){for(aR=0;aR=0;aR--){if(aQ[aR]&&aQ[aR].ty&&aQ[aR].ty===e){aQ.splice(aR,1)}}}}}if(aP.length&&aT.Both.data.length){aQ=aQ.concat(aT.Both.data);aT.Both.data=[]}if("undefined"===typeof aX){aX=this.shouldEndRecording(aW)}if(aX&&aT.hasTrackedData&&!aT.hasSentStopTrackingEvent&&aV){aQ.push({ty:p});aT.hasSentStopTrackingEvent=true}if(!aP||!aP.length||!aQ||!aQ.length){return}if(aW.HeatmapSessionRecording.hsrIdsToGetDOM&&aW.HeatmapSessionRecording.hsrIdsToGetDOM.length){if(!ak.initialDOM&&ai){var aU=new y(O,{initialize:function(aY,aZ){ak.initialDOM=ae.stringify({rootId:aY,children:aZ})}});aU.disconnect()}if(ak.initialDOM&&ai){for(var aS=0;aSM)&&aQ.ty&&aQ.ty!==ag){M=aQ.ti}if(aD===aP){aS.HeatmapSessionRecording.Both.data.push(aQ)}else{if(af===aP){aS.HeatmapSessionRecording.Heatmap.data.push(aQ)}else{if(c===aP){aS.HeatmapSessionRecording.Session.data.push(aQ)}}}}});if(l){U("recorddata",ae.stringify(aQ))}},stopSendingData:function(){var aP=z.getPiwikTrackers();aP.forEach(function(aQ){if(aQ.HeatmapSessionRecording){var aR=aQ.HeatmapSessionRecording; +if("undefined"!==typeof aR.trackingInterval){clearInterval(aR.trackingInterval);delete aR.trackingInterval}}})},startSendingData:function(){var aP=z.getPiwikTrackers();aP.forEach(function(aQ){if(aQ.HeatmapSessionRecording&&"undefined"===typeof aQ.HeatmapSessionRecording.trackingInterval){var aR=au.getRandomInt(10250,11250);aQ.HeatmapSessionRecording.trackingInterval=setInterval(function(){z.sendQueuedData(aQ)},aR);z.sendQueuedData(aQ)}})}};function aE(){ +/*!!! hsrTrackerReadyHook */ +;if(typeof window==="object"&&"function"===typeof I.piwikHeatmapSessionRecordingAsyncInit){I.piwikHeatmapSessionRecordingAsyncInit()}if(typeof window==="object"&&"function"===typeof I.matomoHeatmapSessionRecordingAsyncInit){I.matomoHeatmapSessionRecordingAsyncInit()}var aQ=al;al=[];aj=true;for(var aP=0;aPY){aY=aY.substr(0,Y)}if(aN.shouldMaskField(aS,!aN.hasAttribute(aS,"data-matomo-unmask"))){aY=aN.maskFormField(aY,aN.getAttribute(aS,"type")==="password")}}else{if(aP===ar&&"undefined"!==typeof aS.value){aY=String(aS.value)}}}var aV={ti:aR,ty:aP,s:aU,te:aY};if(aU){z.recordData(c,aV)}else{U("No selector found for text input ",aX) +}},onScroll:function(aP){if(!an){an=true;ak.checkTrackersIfConditionsMet()}var aT=au.getTimeSincePageReady();if(aP&&aP.type&&aP.type==="scroll"&&aP.target&&aP.target!==O){var aZ=aP.target;if("undefined"===typeof aZ.scrollTop){return}var aR=aZ.scrollTop;var aU=aZ.scrollLeft;var aS=aN.getWidth(aZ);var aQ=aN.getHeight(aZ);if(aS<=0||aQ<=0||!aS||!aQ){return}var aV=aN.getSelector(aZ);ak.lastElementScroll={time:aT,selector:aV,scrollY:parseInt((C*aR)/aQ,10),scrollX:parseInt((C*aU)/aS,10)};return}var aX=parseInt(r.getScrollTop(),10);var aW=parseInt(r.getScrollLeft(),10);var a1=r.getDocumentHeight();var aY=r.getDocumentWidth();ak.lastScroll={time:aT,scrollY:parseInt((C*aX)/a1,10),scrollX:parseInt((C*aW)/aY,10)};var a0=parseInt((C*(aX+r.getWindowSize().height))/a1,10);if(a0>ak.scrollMaxPercentage){ak.scrollMaxPercentage=a0}},checkTrackersIfConditionsMet:function(){var aQ=z.getPiwikTrackers();for(var aP=0;aPaa){g=aa}},setMaxTextInputLength:function(aQ){Y=aQ},disableCaptureKeystrokes:function(){aI=false},enableCaptureKeystrokes:function(){aI=true},setMatomoTrackers:function(aQ){this.setPiwikTrackers(aQ)},setPiwikTrackers:function(aQ){if(aQ===null){n=null;return}if(!au.isArray(aQ)){aQ=[aQ] +}n=aQ;n.forEach(q);if(aj){if(A){this.enable()}else{if(L){aM.fetch()}}}},enableDebugMode:function(){l=true}};Piwik.DOM.onReady(function(){F=new Date().getTime()});Piwik.addPlugin("HeatmapSessionRecording",{log:function(aQ){if(aO){if(aQ.tracker&&aQ.tracker.getNumTrackedPageViews&&aQ.tracker.getNumTrackedPageViews()>1){setTimeout(function(){Piwik.HeatmapSessionRecording.setNewPageView(true)},10)}}return""},unload:function(){if(!u()){var aQ=z.getPiwikTrackers();z.stopSendingData();aQ.forEach(function(aS){var aR=false;z.sendQueuedData(aS,aR)})}}});if(I.Piwik.initialized){var aP=Piwik.getAsyncTrackers();aP.forEach(q);Piwik.on("TrackerSetup",q);Piwik.retryMissedPluginCalls();aE();aM.fetch();Piwik.on("TrackerAdded",function(){if(A){Piwik.HeatmapSessionRecording.enable()}else{aM.fetch()}})}else{Piwik.on("TrackerSetup",q);Piwik.on("MatomoInitialized",function(){aE();if(L||A){aM.fetch()}Piwik.on("TrackerAdded",function(){if(L){aM.fetch()}else{if(A){Piwik.HeatmapSessionRecording.enable()}}})})}}ad=au.generateUniqueId(); +if("object"===typeof I.Piwik){ah()}else{if("object"!==typeof I.matomoPluginAsyncInit){I.matomoPluginAsyncInit=[]}I.matomoPluginAsyncInit.push(ah)}})(); \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/tsconfig.json b/files/plugin-HeatmapSessionRecording-5.6.0/tsconfig.json new file mode 100644 index 0000000..a541624 --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "typeRoots": [ + "../../node_modules/@types", + "../../plugins/CoreVue/types/index.d.ts", + "./node_modules/@types" + ], + "types": [ + "jquery", + "heatmap.js" + ] + } +} \ No newline at end of file diff --git a/files/plugin-HeatmapSessionRecording-5.6.0/vue/dist/HeatmapSessionRecording.umd.js b/files/plugin-HeatmapSessionRecording-5.6.0/vue/dist/HeatmapSessionRecording.umd.js new file mode 100644 index 0000000..283f36e --- /dev/null +++ b/files/plugin-HeatmapSessionRecording-5.6.0/vue/dist/HeatmapSessionRecording.umd.js @@ -0,0 +1,8294 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("CoreHome"), require("vue"), require("CorePluginsAdmin")); + else if(typeof define === 'function' && define.amd) + define(["CoreHome", , "CorePluginsAdmin"], factory); + else if(typeof exports === 'object') + exports["HeatmapSessionRecording"] = factory(require("CoreHome"), require("vue"), require("CorePluginsAdmin")); + else + root["HeatmapSessionRecording"] = factory(root["CoreHome"], root["Vue"], root["CorePluginsAdmin"]); +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__19dc__, __WEBPACK_EXTERNAL_MODULE__8bbf__, __WEBPACK_EXTERNAL_MODULE_a5a2__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "plugins/HeatmapSessionRecording/vue/dist/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "fae3"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "19dc": +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__19dc__; + +/***/ }), + +/***/ "246e": +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* + * heatmap.js v2.0.5 | JavaScript Heatmap Library + * + * Copyright 2008-2016 Patrick Wied - All rights reserved. + * Dual licensed under MIT and Beerware license + * + * :: 2016-09-05 01:16 + */ +;(function (name, context, factory) { + + // Supports UMD. AMD, CommonJS/Node.js and browser context + if ( true && module.exports) { + module.exports = factory(); + } else if (true) { + !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : + __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else {} + +})("h337", this, function () { + +// Heatmap Config stores default values and will be merged with instance config +var HeatmapConfig = { + defaultRadius: 40, + defaultRenderer: 'canvas2d', + defaultGradient: { 0.25: "rgb(0,0,255)", 0.55: "rgb(0,255,0)", 0.85: "yellow", 1.0: "rgb(255,0,0)"}, + defaultMaxOpacity: 1, + defaultMinOpacity: 0, + defaultBlur: .85, + defaultXField: 'x', + defaultYField: 'y', + defaultValueField: 'value', + plugins: {} +}; +var Store = (function StoreClosure() { + + var Store = function Store(config) { + this._coordinator = {}; + this._data = []; + this._radi = []; + this._min = 10; + this._max = 1; + this._xField = config['xField'] || config.defaultXField; + this._yField = config['yField'] || config.defaultYField; + this._valueField = config['valueField'] || config.defaultValueField; + + if (config["radius"]) { + this._cfgRadius = config["radius"]; + } + }; + + var defaultRadius = HeatmapConfig.defaultRadius; + + Store.prototype = { + // when forceRender = false -> called from setData, omits renderall event + _organiseData: function(dataPoint, forceRender) { + var x = dataPoint[this._xField]; + var y = dataPoint[this._yField]; + var radi = this._radi; + var store = this._data; + var max = this._max; + var min = this._min; + var value = dataPoint[this._valueField] || 1; + var radius = dataPoint.radius || this._cfgRadius || defaultRadius; + + if (!store[x]) { + store[x] = []; + radi[x] = []; + } + + if (!store[x][y]) { + store[x][y] = value; + radi[x][y] = radius; + } else { + store[x][y] += value; + } + var storedVal = store[x][y]; + + if (storedVal > max) { + if (!forceRender) { + this._max = storedVal; + } else { + this.setDataMax(storedVal); + } + return false; + } else if (storedVal < min) { + if (!forceRender) { + this._min = storedVal; + } else { + this.setDataMin(storedVal); + } + return false; + } else { + return { + x: x, + y: y, + value: value, + radius: radius, + min: min, + max: max + }; + } + }, + _unOrganizeData: function() { + var unorganizedData = []; + var data = this._data; + var radi = this._radi; + + for (var x in data) { + for (var y in data[x]) { + + unorganizedData.push({ + x: x, + y: y, + radius: radi[x][y], + value: data[x][y] + }); + + } + } + return { + min: this._min, + max: this._max, + data: unorganizedData + }; + }, + _onExtremaChange: function() { + this._coordinator.emit('extremachange', { + min: this._min, + max: this._max + }); + }, + addData: function() { + if (arguments[0].length > 0) { + var dataArr = arguments[0]; + var dataLen = dataArr.length; + while (dataLen--) { + this.addData.call(this, dataArr[dataLen]); + } + } else { + // add to store + var organisedEntry = this._organiseData(arguments[0], true); + if (organisedEntry) { + // if it's the first datapoint initialize the extremas with it + if (this._data.length === 0) { + this._min = this._max = organisedEntry.value; + } + this._coordinator.emit('renderpartial', { + min: this._min, + max: this._max, + data: [organisedEntry] + }); + } + } + return this; + }, + setData: function(data) { + var dataPoints = data.data; + var pointsLen = dataPoints.length; + + + // reset data arrays + this._data = []; + this._radi = []; + + for(var i = 0; i < pointsLen; i++) { + this._organiseData(dataPoints[i], false); + } + this._max = data.max; + this._min = data.min || 0; + + this._onExtremaChange(); + this._coordinator.emit('renderall', this._getInternalData()); + return this; + }, + removeData: function() { + // TODO: implement + }, + setDataMax: function(max) { + this._max = max; + this._onExtremaChange(); + this._coordinator.emit('renderall', this._getInternalData()); + return this; + }, + setDataMin: function(min) { + this._min = min; + this._onExtremaChange(); + this._coordinator.emit('renderall', this._getInternalData()); + return this; + }, + setCoordinator: function(coordinator) { + this._coordinator = coordinator; + }, + _getInternalData: function() { + return { + max: this._max, + min: this._min, + data: this._data, + radi: this._radi + }; + }, + getData: function() { + return this._unOrganizeData(); + }/*, + + TODO: rethink. + + getValueAt: function(point) { + var value; + var radius = 100; + var x = point.x; + var y = point.y; + var data = this._data; + + if (data[x] && data[x][y]) { + return data[x][y]; + } else { + var values = []; + // radial search for datapoints based on default radius + for(var distance = 1; distance < radius; distance++) { + var neighbors = distance * 2 +1; + var startX = x - distance; + var startY = y - distance; + + for(var i = 0; i < neighbors; i++) { + for (var o = 0; o < neighbors; o++) { + if ((i == 0 || i == neighbors-1) || (o == 0 || o == neighbors-1)) { + if (data[startY+i] && data[startY+i][startX+o]) { + values.push(data[startY+i][startX+o]); + } + } else { + continue; + } + } + } + } + if (values.length > 0) { + return Math.max.apply(Math, values); + } + } + return false; + }*/ + }; + + + return Store; +})(); + +var Canvas2dRenderer = (function Canvas2dRendererClosure() { + + var _getColorPalette = function(config) { + var gradientConfig = config.gradient || config.defaultGradient; + var paletteCanvas = document.createElement('canvas'); + var paletteCtx = paletteCanvas.getContext('2d'); + + paletteCanvas.width = 256; + paletteCanvas.height = 1; + + var gradient = paletteCtx.createLinearGradient(0, 0, 256, 1); + for (var key in gradientConfig) { + gradient.addColorStop(key, gradientConfig[key]); + } + + paletteCtx.fillStyle = gradient; + paletteCtx.fillRect(0, 0, 256, 1); + + return paletteCtx.getImageData(0, 0, 256, 1).data; + }; + + var _getPointTemplate = function(radius, blurFactor) { + var tplCanvas = document.createElement('canvas'); + var tplCtx = tplCanvas.getContext('2d'); + var x = radius; + var y = radius; + tplCanvas.width = tplCanvas.height = radius*2; + + if (blurFactor == 1) { + tplCtx.beginPath(); + tplCtx.arc(x, y, radius, 0, 2 * Math.PI, false); + tplCtx.fillStyle = 'rgba(0,0,0,1)'; + tplCtx.fill(); + } else { + var gradient = tplCtx.createRadialGradient(x, y, radius*blurFactor, x, y, radius); + gradient.addColorStop(0, 'rgba(0,0,0,1)'); + gradient.addColorStop(1, 'rgba(0,0,0,0)'); + tplCtx.fillStyle = gradient; + tplCtx.fillRect(0, 0, 2*radius, 2*radius); + } + + + + return tplCanvas; + }; + + var _prepareData = function(data) { + var renderData = []; + var min = data.min; + var max = data.max; + var radi = data.radi; + var data = data.data; + + var xValues = Object.keys(data); + var xValuesLen = xValues.length; + + while(xValuesLen--) { + var xValue = xValues[xValuesLen]; + var yValues = Object.keys(data[xValue]); + var yValuesLen = yValues.length; + while(yValuesLen--) { + var yValue = yValues[yValuesLen]; + var value = data[xValue][yValue]; + var radius = radi[xValue][yValue]; + renderData.push({ + x: xValue, + y: yValue, + value: value, + radius: radius + }); + } + } + + return { + min: min, + max: max, + data: renderData + }; + }; + + + function Canvas2dRenderer(config) { + var container = config.container; + var shadowCanvas = this.shadowCanvas = document.createElement('canvas'); + var canvas = this.canvas = config.canvas || document.createElement('canvas'); + var renderBoundaries = this._renderBoundaries = [10000, 10000, 0, 0]; + + var computed = getComputedStyle(config.container) || {}; + + canvas.className = 'heatmap-canvas'; + + this._width = canvas.width = shadowCanvas.width = config.width || +(computed.width.replace(/px/,'')); + this._height = canvas.height = shadowCanvas.height = config.height || +(computed.height.replace(/px/,'')); + + this.shadowCtx = shadowCanvas.getContext('2d'); + this.ctx = canvas.getContext('2d'); + + // @TODO: + // conditional wrapper + + canvas.style.cssText = shadowCanvas.style.cssText = 'position:absolute;left:0;top:0;'; + + container.style.position = 'relative'; + container.appendChild(canvas); + + this._palette = _getColorPalette(config); + this._templates = {}; + + this._setStyles(config); + }; + + Canvas2dRenderer.prototype = { + renderPartial: function(data) { + if (data.data.length > 0) { + this._drawAlpha(data); + this._colorize(); + } + }, + renderAll: function(data) { + // reset render boundaries + this._clear(); + if (data.data.length > 0) { + this._drawAlpha(_prepareData(data)); + this._colorize(); + } + }, + _updateGradient: function(config) { + this._palette = _getColorPalette(config); + }, + updateConfig: function(config) { + if (config['gradient']) { + this._updateGradient(config); + } + this._setStyles(config); + }, + setDimensions: function(width, height) { + this._width = width; + this._height = height; + this.canvas.width = this.shadowCanvas.width = width; + this.canvas.height = this.shadowCanvas.height = height; + }, + _clear: function() { + this.shadowCtx.clearRect(0, 0, this._width, this._height); + this.ctx.clearRect(0, 0, this._width, this._height); + }, + _setStyles: function(config) { + this._blur = (config.blur == 0)?0:(config.blur || config.defaultBlur); + + if (config.backgroundColor) { + this.canvas.style.backgroundColor = config.backgroundColor; + } + + this._width = this.canvas.width = this.shadowCanvas.width = config.width || this._width; + this._height = this.canvas.height = this.shadowCanvas.height = config.height || this._height; + + + this._opacity = (config.opacity || 0) * 255; + this._maxOpacity = (config.maxOpacity || config.defaultMaxOpacity) * 255; + this._minOpacity = (config.minOpacity || config.defaultMinOpacity) * 255; + this._useGradientOpacity = !!config.useGradientOpacity; + }, + _drawAlpha: function(data) { + var min = this._min = data.min; + var max = this._max = data.max; + var data = data.data || []; + var dataLen = data.length; + // on a point basis? + var blur = 1 - this._blur; + + while(dataLen--) { + + var point = data[dataLen]; + + var x = point.x; + var y = point.y; + var radius = point.radius; + // if value is bigger than max + // use max as value + var value = Math.min(point.value, max); + var rectX = x - radius; + var rectY = y - radius; + var shadowCtx = this.shadowCtx; + + + + + var tpl; + if (!this._templates[radius]) { + this._templates[radius] = tpl = _getPointTemplate(radius, blur); + } else { + tpl = this._templates[radius]; + } + // value from minimum / value range + // => [0, 1] + var templateAlpha = (value-min)/(max-min); + // this fixes #176: small values are not visible because globalAlpha < .01 cannot be read from imageData + shadowCtx.globalAlpha = templateAlpha < .01 ? .01 : templateAlpha; + + shadowCtx.drawImage(tpl, rectX, rectY); + + // update renderBoundaries + if (rectX < this._renderBoundaries[0]) { + this._renderBoundaries[0] = rectX; + } + if (rectY < this._renderBoundaries[1]) { + this._renderBoundaries[1] = rectY; + } + if (rectX + 2*radius > this._renderBoundaries[2]) { + this._renderBoundaries[2] = rectX + 2*radius; + } + if (rectY + 2*radius > this._renderBoundaries[3]) { + this._renderBoundaries[3] = rectY + 2*radius; + } + + } + }, + _colorize: function() { + var x = this._renderBoundaries[0]; + var y = this._renderBoundaries[1]; + var width = this._renderBoundaries[2] - x; + var height = this._renderBoundaries[3] - y; + var maxWidth = this._width; + var maxHeight = this._height; + var opacity = this._opacity; + var maxOpacity = this._maxOpacity; + var minOpacity = this._minOpacity; + var useGradientOpacity = this._useGradientOpacity; + + if (x < 0) { + x = 0; + } + if (y < 0) { + y = 0; + } + if (x + width > maxWidth) { + width = maxWidth - x; + } + if (y + height > maxHeight) { + height = maxHeight - y; + } + + var img = this.shadowCtx.getImageData(x, y, width, height); + var imgData = img.data; + var len = imgData.length; + var palette = this._palette; + + + for (var i = 3; i < len; i+= 4) { + var alpha = imgData[i]; + var offset = alpha * 4; + + + if (!offset) { + continue; + } + + var finalAlpha; + if (opacity > 0) { + finalAlpha = opacity; + } else { + if (alpha < maxOpacity) { + if (alpha < minOpacity) { + finalAlpha = minOpacity; + } else { + finalAlpha = alpha; + } + } else { + finalAlpha = maxOpacity; + } + } + + imgData[i-3] = palette[offset]; + imgData[i-2] = palette[offset + 1]; + imgData[i-1] = palette[offset + 2]; + imgData[i] = useGradientOpacity ? palette[offset + 3] : finalAlpha; + + } + + img.data = imgData; + this.ctx.putImageData(img, x, y); + + this._renderBoundaries = [1000, 1000, 0, 0]; + + }, + getValueAt: function(point) { + var value; + var shadowCtx = this.shadowCtx; + var img = shadowCtx.getImageData(point.x, point.y, 1, 1); + var data = img.data[3]; + var max = this._max; + var min = this._min; + + value = (Math.abs(max-min) * (data/255)) >> 0; + + return value; + }, + getDataURL: function() { + return this.canvas.toDataURL(); + } + }; + + + return Canvas2dRenderer; +})(); + + +var Renderer = (function RendererClosure() { + + var rendererFn = false; + + if (HeatmapConfig['defaultRenderer'] === 'canvas2d') { + rendererFn = Canvas2dRenderer; + } + + return rendererFn; +})(); + + +var Util = { + merge: function() { + var merged = {}; + var argsLen = arguments.length; + for (var i = 0; i < argsLen; i++) { + var obj = arguments[i] + for (var key in obj) { + merged[key] = obj[key]; + } + } + return merged; + } +}; +// Heatmap Constructor +var Heatmap = (function HeatmapClosure() { + + var Coordinator = (function CoordinatorClosure() { + + function Coordinator() { + this.cStore = {}; + }; + + Coordinator.prototype = { + on: function(evtName, callback, scope) { + var cStore = this.cStore; + + if (!cStore[evtName]) { + cStore[evtName] = []; + } + cStore[evtName].push((function(data) { + return callback.call(scope, data); + })); + }, + emit: function(evtName, data) { + var cStore = this.cStore; + if (cStore[evtName]) { + var len = cStore[evtName].length; + for (var i=0; i { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("button", { + type: "button", + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["hsrToggleBtn", [`heatmapType${theHeatmapType.key}`, { + active: theHeatmapType.key === _ctx.heatmapType + }]]), + onClick: $event => _ctx.changeHeatmapType(theHeatmapType.key), + key: theHeatmapType.key + }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(theHeatmapType.name), 11, _hoisted_5); + }), 128))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_6, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.deviceTypesWithResolution, theDeviceType => { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("button", { + type: "button", + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["hsrToggleBtn", [`deviceType${theDeviceType.key}`, { + active: theDeviceType.key === _ctx.deviceType + }]]), + onClick: $event => _ctx.changeDeviceType(theDeviceType.key), + key: theDeviceType.key + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("img", { + height: "15", + src: theDeviceType.logo, + alt: `${_ctx.translate('DevicesDetection_Device')} ${theDeviceType.name}` + }, null, 8, _hoisted_8), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_9, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(theDeviceType.name), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_10, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(theDeviceType.resolution) + "px", 1)], 10, _hoisted_7); + }), 128))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_11, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: "customIframeWidthLabel", + textContent: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_CustomWidth')) + }, null, 8, _hoisted_12), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + uicontrol: "select", + name: "iframewidth", + "model-value": _ctx.customIframeWidth, + "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => { + _ctx.customIframeWidth = $event; + _ctx.changeIframeWidth(_ctx.customIframeWidth, true); + }), + options: _ctx.iframeWidthOptions, + "full-width": true + }, null, 8, ["model-value", "options"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_13, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_14, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_LegendLow')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_15, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("img", { + class: "gradient", + alt: "gradient", + src: _ctx.gradientImgData + }, null, 8, _hoisted_16)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_17, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_LegendHigh')), 1)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_18, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["heatmapScrollArea", { + heatmapScrollAreaEmpty: !_ctx.hasSnapshot + }]), + ref: "heatmapScrollArea", + style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])(_ctx.scrollAreaStyle) + }, [_ctx.hasSnapshot ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", { + key: 0, + class: "heatmapScaleBox", + style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])(_ctx.scaleBoxStyle) + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { + class: "iframeRecordingContainer", + ref: "iframeRecordingContainer", + style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])(_ctx.containerStyle) + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_19, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_20, null, 512), _hoisted_21]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { + class: "aboveFoldLine", + ref: "aboveFoldLine", + title: _ctx.translate('HeatmapSessionRecording_AvgAboveFoldDescription'), + style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])({ + width: _ctx.iframeWidth + 'px', + top: _ctx.avgFold + 'px' + }) + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_AvgFold', _ctx.avgFold)), 1)], 12, _hoisted_22), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.avgFold]]), _ctx.embedUrl ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("iframe", { + key: 0, + id: "recordingPlayer", + ref: "recordingPlayer", + sandbox: "allow-scripts allow-same-origin", + referrerpolicy: "no-referrer", + onLoad: _cache[1] || (_cache[1] = $event => _ctx.onLoaded()), + height: "400", + src: _ctx.embedUrl, + width: _ctx.iframeWidth + }, null, 40, _hoisted_23)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 4)], 4)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_HeatmapEmptyState, { + key: 1, + state: _ctx.emptyStateKey, + "id-site-hsr": _ctx.idSiteHsr + }, null, 8, ["state", "id-site-hsr"])), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_24, [_hoisted_25, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_26, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_LoadingHeatmap')), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.isLoading]])], 6), _ctx.showSummaryCard ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_27, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_28, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_29, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_30, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_Recordings')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_31, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.selectedDeviceTypeName), 1)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", _hoisted_32, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.totalRecordings), 1), !_ctx.deviceBreakdown.length ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_33, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_WaitingForFirstRecording')), 1)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_34, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_35, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.deviceBreakdown, device => { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", { + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["deviceBreakdownSegment", `deviceBreakdownDevice${device.key}`]), + key: device.key, + style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])({ + width: `${device.percent}%` + }), + title: `${device.name} ${device.percentLabel}` + }, null, 14, _hoisted_36); + }), 128))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_37, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.deviceBreakdown, device => { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", { + class: "deviceBreakdownLegendItem", + key: device.key + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["deviceBreakdownSwatch", `deviceBreakdownDevice${device.key}`]) + }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_38, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(device.name), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_39, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(device.percentLabel), 1)]); + }), 128))])])), _ctx.hasSnapshot ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], { + key: 2 + }, [_hoisted_40, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_41, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_TopClickedElements')), 1), _ctx.topClickedElements.length ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_42, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.topClickedElements, element => { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", { + class: "topClickedElementRow", + key: element.key + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_43, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { + class: "topClickedElementLabel", + title: element.label + }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(element.label), 9, _hoisted_44), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_45, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_46, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { + class: "topClickedElementBarFill", + style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])({ + width: `${element.percent}%` + }) + }, null, 4)])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_47, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(element.percentLabel), 1)]); + }), 128))])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_48, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_NoClickedElements')), 1)), _hoisted_49, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_50, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_51, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_ScrollReach')), 1), _ctx.summaryAvgFold ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_52, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_AvgFold', _ctx.summaryAvgFold)), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]), _ctx.scrollReach.length ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_53, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.scrollReach, band => { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", { + class: "scrollReachRow", + key: band.key + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_54, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(band.label), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_55, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { + class: "topClickedElementBarFill", + style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])({ + width: `${band.percent}%` + }) + }, null, 4)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_56, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(band.percentLabel), 1)]); + }), 128))])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_57, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_NoScrollData')), 1))], 64)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Tooltip, { + ref: "tooltip", + "click-count": _ctx.clickCount, + "click-rate": _ctx.clickRate, + "is-moves": _ctx.heatmapType === 1 + }, null, 8, ["click-count", "click-rate", "is-moves"])]); +} +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/vue/src/HeatmapVis/HeatmapVis.vue?vue&type=template&id=7c68c81b + +// EXTERNAL MODULE: ./plugins/HeatmapSessionRecording/node_modules/heatmap.js/build/heatmap.js +var heatmap = __webpack_require__("246e"); +var heatmap_default = /*#__PURE__*/__webpack_require__.n(heatmap); + +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/node_modules/html-to-image/es/util.js +function resolveUrl(url, baseUrl) { + // url is absolute already + if (url.match(/^[a-z]+:\/\//i)) { + return url; + } + // url is absolute already, without protocol + if (url.match(/^\/\//)) { + return window.location.protocol + url; + } + // dataURI, mailto:, tel:, etc. + if (url.match(/^[a-z]+:/i)) { + return url; + } + const doc = document.implementation.createHTMLDocument(); + const base = doc.createElement('base'); + const a = doc.createElement('a'); + doc.head.appendChild(base); + doc.body.appendChild(a); + if (baseUrl) { + base.href = baseUrl; + } + a.href = url; + return a.href; +} +const uuid = (() => { + // generate uuid for className of pseudo elements. + // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured. + let counter = 0; + // ref: http://stackoverflow.com/a/6248722/2519373 + const random = () => + // eslint-disable-next-line no-bitwise + `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4); + return () => { + counter += 1; + return `u${random()}${counter}`; + }; +})(); +function delay(ms) { + return (args) => new Promise((resolve) => { + setTimeout(() => resolve(args), ms); + }); +} +function toArray(arrayLike) { + const arr = []; + for (let i = 0, l = arrayLike.length; i < l; i++) { + arr.push(arrayLike[i]); + } + return arr; +} +let styleProps = null; +function getStyleProperties(options = {}) { + if (styleProps) { + return styleProps; + } + if (options.includeStyleProperties) { + styleProps = options.includeStyleProperties; + return styleProps; + } + styleProps = toArray(window.getComputedStyle(document.documentElement)); + return styleProps; +} +function px(node, styleProperty) { + const win = node.ownerDocument.defaultView || window; + const val = win.getComputedStyle(node).getPropertyValue(styleProperty); + return val ? parseFloat(val.replace('px', '')) : 0; +} +function getNodeWidth(node) { + const leftBorder = px(node, 'border-left-width'); + const rightBorder = px(node, 'border-right-width'); + return node.clientWidth + leftBorder + rightBorder; +} +function getNodeHeight(node) { + const topBorder = px(node, 'border-top-width'); + const bottomBorder = px(node, 'border-bottom-width'); + return node.clientHeight + topBorder + bottomBorder; +} +function getImageSize(targetNode, options = {}) { + const width = options.width || getNodeWidth(targetNode); + const height = options.height || getNodeHeight(targetNode); + return { width, height }; +} +function getPixelRatio() { + let ratio; + let FINAL_PROCESS; + try { + FINAL_PROCESS = process; + } + catch (e) { + // pass + } + const val = FINAL_PROCESS && FINAL_PROCESS.env + ? FINAL_PROCESS.env.devicePixelRatio + : null; + if (val) { + ratio = parseInt(val, 10); + if (Number.isNaN(ratio)) { + ratio = 1; + } + } + return ratio || window.devicePixelRatio || 1; +} +// @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size +const canvasDimensionLimit = 16384; +function checkCanvasDimensions(canvas) { + if (canvas.width > canvasDimensionLimit || + canvas.height > canvasDimensionLimit) { + if (canvas.width > canvasDimensionLimit && + canvas.height > canvasDimensionLimit) { + if (canvas.width > canvas.height) { + canvas.height *= canvasDimensionLimit / canvas.width; + canvas.width = canvasDimensionLimit; + } + else { + canvas.width *= canvasDimensionLimit / canvas.height; + canvas.height = canvasDimensionLimit; + } + } + else if (canvas.width > canvasDimensionLimit) { + canvas.height *= canvasDimensionLimit / canvas.width; + canvas.width = canvasDimensionLimit; + } + else { + canvas.width *= canvasDimensionLimit / canvas.height; + canvas.height = canvasDimensionLimit; + } + } +} +function canvasToBlob(canvas, options = {}) { + if (canvas.toBlob) { + return new Promise((resolve) => { + canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1); + }); + } + return new Promise((resolve) => { + const binaryString = window.atob(canvas + .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined) + .split(',')[1]); + const len = binaryString.length; + const binaryArray = new Uint8Array(len); + for (let i = 0; i < len; i += 1) { + binaryArray[i] = binaryString.charCodeAt(i); + } + resolve(new Blob([binaryArray], { + type: options.type ? options.type : 'image/png', + })); + }); +} +function createImage(url) { + return new Promise((resolve, reject) => { + const img = new Image(); + img.onload = () => { + img.decode().then(() => { + requestAnimationFrame(() => resolve(img)); + }); + }; + img.onerror = reject; + img.crossOrigin = 'anonymous'; + img.decoding = 'async'; + img.src = url; + }); +} +async function svgToDataURL(svg) { + return Promise.resolve() + .then(() => new XMLSerializer().serializeToString(svg)) + .then(encodeURIComponent) + .then((html) => `data:image/svg+xml;charset=utf-8,${html}`); +} +async function nodeToDataURL(node, width, height) { + const xmlns = 'http://www.w3.org/2000/svg'; + const svg = document.createElementNS(xmlns, 'svg'); + const foreignObject = document.createElementNS(xmlns, 'foreignObject'); + svg.setAttribute('width', `${width}`); + svg.setAttribute('height', `${height}`); + svg.setAttribute('viewBox', `0 0 ${width} ${height}`); + foreignObject.setAttribute('width', '100%'); + foreignObject.setAttribute('height', '100%'); + foreignObject.setAttribute('x', '0'); + foreignObject.setAttribute('y', '0'); + foreignObject.setAttribute('externalResourcesRequired', 'true'); + svg.appendChild(foreignObject); + foreignObject.appendChild(node); + return svgToDataURL(svg); +} +const isInstanceOfElement = (node, instance) => { + if (node instanceof instance) + return true; + const nodePrototype = Object.getPrototypeOf(node); + if (nodePrototype === null) + return false; + return (nodePrototype.constructor.name === instance.name || + isInstanceOfElement(nodePrototype, instance)); +}; +//# sourceMappingURL=util.js.map +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/node_modules/html-to-image/es/clone-pseudos.js + +function formatCSSText(style) { + const content = style.getPropertyValue('content'); + return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`; +} +function formatCSSProperties(style, options) { + return getStyleProperties(options) + .map((name) => { + const value = style.getPropertyValue(name); + const priority = style.getPropertyPriority(name); + return `${name}: ${value}${priority ? ' !important' : ''};`; + }) + .join(' '); +} +function getPseudoElementStyle(className, pseudo, style, options) { + const selector = `.${className}:${pseudo}`; + const cssText = style.cssText + ? formatCSSText(style) + : formatCSSProperties(style, options); + return document.createTextNode(`${selector}{${cssText}}`); +} +function clonePseudoElement(nativeNode, clonedNode, pseudo, options) { + const style = window.getComputedStyle(nativeNode, pseudo); + const content = style.getPropertyValue('content'); + if (content === '' || content === 'none') { + return; + } + const className = uuid(); + try { + clonedNode.className = `${clonedNode.className} ${className}`; + } + catch (err) { + return; + } + const styleElement = document.createElement('style'); + styleElement.appendChild(getPseudoElementStyle(className, pseudo, style, options)); + clonedNode.appendChild(styleElement); +} +function clonePseudoElements(nativeNode, clonedNode, options) { + clonePseudoElement(nativeNode, clonedNode, ':before', options); + clonePseudoElement(nativeNode, clonedNode, ':after', options); +} +//# sourceMappingURL=clone-pseudos.js.map +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/node_modules/html-to-image/es/mimes.js +const WOFF = 'application/font-woff'; +const JPEG = 'image/jpeg'; +const mimes = { + woff: WOFF, + woff2: WOFF, + ttf: 'application/font-truetype', + eot: 'application/vnd.ms-fontobject', + png: 'image/png', + jpg: JPEG, + jpeg: JPEG, + gif: 'image/gif', + tiff: 'image/tiff', + svg: 'image/svg+xml', + webp: 'image/webp', +}; +function getExtension(url) { + const match = /\.([^./]*?)$/g.exec(url); + return match ? match[1] : ''; +} +function getMimeType(url) { + const extension = getExtension(url).toLowerCase(); + return mimes[extension] || ''; +} +//# sourceMappingURL=mimes.js.map +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/node_modules/html-to-image/es/dataurl.js +function getContentFromDataUrl(dataURL) { + return dataURL.split(/,/)[1]; +} +function isDataUrl(url) { + return url.search(/^(data:)/) !== -1; +} +function makeDataUrl(content, mimeType) { + return `data:${mimeType};base64,${content}`; +} +async function fetchAsDataURL(url, init, process) { + const res = await fetch(url, init); + if (res.status === 404) { + throw new Error(`Resource "${res.url}" not found`); + } + const blob = await res.blob(); + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onerror = reject; + reader.onloadend = () => { + try { + resolve(process({ res, result: reader.result })); + } + catch (error) { + reject(error); + } + }; + reader.readAsDataURL(blob); + }); +} +const cache = {}; +function getCacheKey(url, contentType, includeQueryParams) { + let key = url.replace(/\?.*/, ''); + if (includeQueryParams) { + key = url; + } + // font resource + if (/ttf|otf|eot|woff2?/i.test(key)) { + key = key.replace(/.*\//, ''); + } + return contentType ? `[${contentType}]${key}` : key; +} +async function resourceToDataURL(resourceUrl, contentType, options) { + const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams); + if (cache[cacheKey] != null) { + return cache[cacheKey]; + } + // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache + if (options.cacheBust) { + // eslint-disable-next-line no-param-reassign + resourceUrl += (/\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime(); + } + let dataURL; + try { + const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => { + if (!contentType) { + // eslint-disable-next-line no-param-reassign + contentType = res.headers.get('Content-Type') || ''; + } + return getContentFromDataUrl(result); + }); + dataURL = makeDataUrl(content, contentType); + } + catch (error) { + dataURL = options.imagePlaceholder || ''; + let msg = `Failed to fetch resource: ${resourceUrl}`; + if (error) { + msg = typeof error === 'string' ? error : error.message; + } + if (msg) { + console.warn(msg); + } + } + cache[cacheKey] = dataURL; + return dataURL; +} +//# sourceMappingURL=dataurl.js.map +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/node_modules/html-to-image/es/clone-node.js + + + + +async function cloneCanvasElement(canvas) { + const dataURL = canvas.toDataURL(); + if (dataURL === 'data:,') { + return canvas.cloneNode(false); + } + return createImage(dataURL); +} +async function cloneVideoElement(video, options) { + if (video.currentSrc) { + const canvas = document.createElement('canvas'); + const ctx = canvas.getContext('2d'); + canvas.width = video.clientWidth; + canvas.height = video.clientHeight; + ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height); + const dataURL = canvas.toDataURL(); + return createImage(dataURL); + } + const poster = video.poster; + const contentType = getMimeType(poster); + const dataURL = await resourceToDataURL(poster, contentType, options); + return createImage(dataURL); +} +async function cloneIFrameElement(iframe, options) { + var _a; + try { + if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) { + return (await cloneNode(iframe.contentDocument.body, options, true)); + } + } + catch (_b) { + // Failed to clone iframe + } + return iframe.cloneNode(false); +} +async function cloneSingleNode(node, options) { + if (isInstanceOfElement(node, HTMLCanvasElement)) { + return cloneCanvasElement(node); + } + if (isInstanceOfElement(node, HTMLVideoElement)) { + return cloneVideoElement(node, options); + } + if (isInstanceOfElement(node, HTMLIFrameElement)) { + return cloneIFrameElement(node, options); + } + return node.cloneNode(isSVGElement(node)); +} +const isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT'; +const isSVGElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SVG'; +async function cloneChildren(nativeNode, clonedNode, options) { + var _a, _b; + if (isSVGElement(clonedNode)) { + return clonedNode; + } + let children = []; + if (isSlotElement(nativeNode) && nativeNode.assignedNodes) { + children = toArray(nativeNode.assignedNodes()); + } + else if (isInstanceOfElement(nativeNode, HTMLIFrameElement) && + ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) { + children = []; + } + else { + children = toArray(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes); + } + if (children.length === 0 || + isInstanceOfElement(nativeNode, HTMLVideoElement)) { + return clonedNode; + } + await children.reduce((deferred, child) => deferred + .then(() => cloneNode(child, options)) + .then((clonedChild) => { + if (clonedChild) { + clonedNode.appendChild(clonedChild); + } + }), Promise.resolve()); + return clonedNode; +} +function cloneCSSStyle(nativeNode, clonedNode, options) { + const targetStyle = clonedNode.style; + if (!targetStyle) { + return; + } + const sourceStyle = window.getComputedStyle(nativeNode); + if (sourceStyle.cssText) { + targetStyle.cssText = sourceStyle.cssText; + targetStyle.transformOrigin = sourceStyle.transformOrigin; + } + else { + getStyleProperties(options).forEach((name) => { + let value = sourceStyle.getPropertyValue(name); + if (name === 'font-size' && value.endsWith('px')) { + const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1; + value = `${reducedFont}px`; + } + if (isInstanceOfElement(nativeNode, HTMLIFrameElement) && + name === 'display' && + value === 'inline') { + value = 'block'; + } + if (name === 'd' && clonedNode.getAttribute('d')) { + value = `path(${clonedNode.getAttribute('d')})`; + } + targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name)); + }); + } +} +function cloneInputValue(nativeNode, clonedNode) { + if (isInstanceOfElement(nativeNode, HTMLTextAreaElement)) { + clonedNode.innerHTML = nativeNode.value; + } + if (isInstanceOfElement(nativeNode, HTMLInputElement)) { + clonedNode.setAttribute('value', nativeNode.value); + } +} +function cloneSelectValue(nativeNode, clonedNode) { + if (isInstanceOfElement(nativeNode, HTMLSelectElement)) { + const clonedSelect = clonedNode; + const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value')); + if (selectedOption) { + selectedOption.setAttribute('selected', ''); + } + } +} +function decorate(nativeNode, clonedNode, options) { + if (isInstanceOfElement(clonedNode, Element)) { + cloneCSSStyle(nativeNode, clonedNode, options); + clonePseudoElements(nativeNode, clonedNode, options); + cloneInputValue(nativeNode, clonedNode); + cloneSelectValue(nativeNode, clonedNode); + } + return clonedNode; +} +async function ensureSVGSymbols(clone, options) { + const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : []; + if (uses.length === 0) { + return clone; + } + const processedDefs = {}; + for (let i = 0; i < uses.length; i++) { + const use = uses[i]; + const id = use.getAttribute('xlink:href'); + if (id) { + const exist = clone.querySelector(id); + const definition = document.querySelector(id); + if (!exist && definition && !processedDefs[id]) { + // eslint-disable-next-line no-await-in-loop + processedDefs[id] = (await cloneNode(definition, options, true)); + } + } + } + const nodes = Object.values(processedDefs); + if (nodes.length) { + const ns = 'http://www.w3.org/1999/xhtml'; + const svg = document.createElementNS(ns, 'svg'); + svg.setAttribute('xmlns', ns); + svg.style.position = 'absolute'; + svg.style.width = '0'; + svg.style.height = '0'; + svg.style.overflow = 'hidden'; + svg.style.display = 'none'; + const defs = document.createElementNS(ns, 'defs'); + svg.appendChild(defs); + for (let i = 0; i < nodes.length; i++) { + defs.appendChild(nodes[i]); + } + clone.appendChild(svg); + } + return clone; +} +async function cloneNode(node, options, isRoot) { + if (!isRoot && options.filter && !options.filter(node)) { + return null; + } + return Promise.resolve(node) + .then((clonedNode) => cloneSingleNode(clonedNode, options)) + .then((clonedNode) => cloneChildren(node, clonedNode, options)) + .then((clonedNode) => decorate(node, clonedNode, options)) + .then((clonedNode) => ensureSVGSymbols(clonedNode, options)); +} +//# sourceMappingURL=clone-node.js.map +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/node_modules/html-to-image/es/embed-resources.js + + + +const URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g; +const URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g; +const FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g; +function toRegex(url) { + // eslint-disable-next-line no-useless-escape + const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1'); + return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, 'g'); +} +function parseURLs(cssText) { + const urls = []; + cssText.replace(URL_REGEX, (raw, quotation, url) => { + urls.push(url); + return raw; + }); + return urls.filter((url) => !isDataUrl(url)); +} +async function embed_resources_embed(cssText, resourceURL, baseURL, options, getContentFromUrl) { + try { + const resolvedURL = baseURL ? resolveUrl(resourceURL, baseURL) : resourceURL; + const contentType = getMimeType(resourceURL); + let dataURL; + if (getContentFromUrl) { + const content = await getContentFromUrl(resolvedURL); + dataURL = makeDataUrl(content, contentType); + } + else { + dataURL = await resourceToDataURL(resolvedURL, contentType, options); + } + return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`); + } + catch (error) { + // pass + } + return cssText; +} +function filterPreferredFontFormat(str, { preferredFontFormat }) { + return !preferredFontFormat + ? str + : str.replace(FONT_SRC_REGEX, (match) => { + // eslint-disable-next-line no-constant-condition + while (true) { + const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || []; + if (!format) { + return ''; + } + if (format === preferredFontFormat) { + return `src: ${src};`; + } + } + }); +} +function shouldEmbed(url) { + return url.search(URL_REGEX) !== -1; +} +async function embedResources(cssText, baseUrl, options) { + if (!shouldEmbed(cssText)) { + return cssText; + } + const filteredCSSText = filterPreferredFontFormat(cssText, options); + const urls = parseURLs(filteredCSSText); + return urls.reduce((deferred, url) => deferred.then((css) => embed_resources_embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText)); +} +//# sourceMappingURL=embed-resources.js.map +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/node_modules/html-to-image/es/embed-images.js + + + + +async function embedProp(propName, node, options) { + var _a; + const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName); + if (propValue) { + const cssString = await embedResources(propValue, null, options); + node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName)); + return true; + } + return false; +} +async function embedBackground(clonedNode, options) { + ; + (await embedProp('background', clonedNode, options)) || + (await embedProp('background-image', clonedNode, options)); + (await embedProp('mask', clonedNode, options)) || + (await embedProp('-webkit-mask', clonedNode, options)) || + (await embedProp('mask-image', clonedNode, options)) || + (await embedProp('-webkit-mask-image', clonedNode, options)); +} +async function embedImageNode(clonedNode, options) { + const isImageElement = isInstanceOfElement(clonedNode, HTMLImageElement); + if (!(isImageElement && !isDataUrl(clonedNode.src)) && + !(isInstanceOfElement(clonedNode, SVGImageElement) && + !isDataUrl(clonedNode.href.baseVal))) { + return; + } + const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal; + const dataURL = await resourceToDataURL(url, getMimeType(url), options); + await new Promise((resolve, reject) => { + clonedNode.onload = resolve; + clonedNode.onerror = options.onImageErrorHandler + ? (...attributes) => { + try { + resolve(options.onImageErrorHandler(...attributes)); + } + catch (error) { + reject(error); + } + } + : reject; + const image = clonedNode; + if (image.decode) { + image.decode = resolve; + } + if (image.loading === 'lazy') { + image.loading = 'eager'; + } + if (isImageElement) { + clonedNode.srcset = ''; + clonedNode.src = dataURL; + } + else { + clonedNode.href.baseVal = dataURL; + } + }); +} +async function embedChildren(clonedNode, options) { + const children = toArray(clonedNode.childNodes); + const deferreds = children.map((child) => embedImages(child, options)); + await Promise.all(deferreds).then(() => clonedNode); +} +async function embedImages(clonedNode, options) { + if (isInstanceOfElement(clonedNode, Element)) { + await embedBackground(clonedNode, options); + await embedImageNode(clonedNode, options); + await embedChildren(clonedNode, options); + } +} +//# sourceMappingURL=embed-images.js.map +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/node_modules/html-to-image/es/apply-style.js +function applyStyle(node, options) { + const { style } = node; + if (options.backgroundColor) { + style.backgroundColor = options.backgroundColor; + } + if (options.width) { + style.width = `${options.width}px`; + } + if (options.height) { + style.height = `${options.height}px`; + } + const manual = options.style; + if (manual != null) { + Object.keys(manual).forEach((key) => { + style[key] = manual[key]; + }); + } + return node; +} +//# sourceMappingURL=apply-style.js.map +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/node_modules/html-to-image/es/embed-webfonts.js + + + +const cssFetchCache = {}; +async function fetchCSS(url) { + let cache = cssFetchCache[url]; + if (cache != null) { + return cache; + } + const res = await fetch(url); + const cssText = await res.text(); + cache = { url, cssText }; + cssFetchCache[url] = cache; + return cache; +} +async function embedFonts(data, options) { + let cssText = data.cssText; + const regexUrl = /url\(["']?([^"')]+)["']?\)/g; + const fontLocs = cssText.match(/url\([^)]+\)/g) || []; + const loadFonts = fontLocs.map(async (loc) => { + let url = loc.replace(regexUrl, '$1'); + if (!url.startsWith('https://')) { + url = new URL(url, data.url).href; + } + return fetchAsDataURL(url, options.fetchRequestInit, ({ result }) => { + cssText = cssText.replace(loc, `url(${result})`); + return [loc, result]; + }); + }); + return Promise.all(loadFonts).then(() => cssText); +} +function parseCSS(source) { + if (source == null) { + return []; + } + const result = []; + const commentsRegex = /(\/\*[\s\S]*?\*\/)/gi; + // strip out comments + let cssText = source.replace(commentsRegex, ''); + // eslint-disable-next-line prefer-regex-literals + const keyframesRegex = new RegExp('((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})', 'gi'); + // eslint-disable-next-line no-constant-condition + while (true) { + const matches = keyframesRegex.exec(cssText); + if (matches === null) { + break; + } + result.push(matches[0]); + } + cssText = cssText.replace(keyframesRegex, ''); + const importRegex = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi; + // to match css & media queries together + const combinedCSSRegex = '((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]' + + '*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})'; + // unified regex + const unifiedRegex = new RegExp(combinedCSSRegex, 'gi'); + // eslint-disable-next-line no-constant-condition + while (true) { + let matches = importRegex.exec(cssText); + if (matches === null) { + matches = unifiedRegex.exec(cssText); + if (matches === null) { + break; + } + else { + importRegex.lastIndex = unifiedRegex.lastIndex; + } + } + else { + unifiedRegex.lastIndex = importRegex.lastIndex; + } + result.push(matches[0]); + } + return result; +} +async function getCSSRules(styleSheets, options) { + const ret = []; + const deferreds = []; + // First loop inlines imports + styleSheets.forEach((sheet) => { + if ('cssRules' in sheet) { + try { + toArray(sheet.cssRules || []).forEach((item, index) => { + if (item.type === CSSRule.IMPORT_RULE) { + let importIndex = index + 1; + const url = item.href; + const deferred = fetchCSS(url) + .then((metadata) => embedFonts(metadata, options)) + .then((cssText) => parseCSS(cssText).forEach((rule) => { + try { + sheet.insertRule(rule, rule.startsWith('@import') + ? (importIndex += 1) + : sheet.cssRules.length); + } + catch (error) { + console.error('Error inserting rule from remote css', { + rule, + error, + }); + } + })) + .catch((e) => { + console.error('Error loading remote css', e.toString()); + }); + deferreds.push(deferred); + } + }); + } + catch (e) { + const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0]; + if (sheet.href != null) { + deferreds.push(fetchCSS(sheet.href) + .then((metadata) => embedFonts(metadata, options)) + .then((cssText) => parseCSS(cssText).forEach((rule) => { + inline.insertRule(rule, inline.cssRules.length); + })) + .catch((err) => { + console.error('Error loading remote stylesheet', err); + })); + } + console.error('Error inlining remote css file', e); + } + } + }); + return Promise.all(deferreds).then(() => { + // Second loop parses rules + styleSheets.forEach((sheet) => { + if ('cssRules' in sheet) { + try { + toArray(sheet.cssRules || []).forEach((item) => { + ret.push(item); + }); + } + catch (e) { + console.error(`Error while reading CSS rules from ${sheet.href}`, e); + } + } + }); + return ret; + }); +} +function getWebFontRules(cssRules) { + return cssRules + .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE) + .filter((rule) => shouldEmbed(rule.style.getPropertyValue('src'))); +} +async function parseWebFontRules(node, options) { + if (node.ownerDocument == null) { + throw new Error('Provided element is not within a Document'); + } + const styleSheets = toArray(node.ownerDocument.styleSheets); + const cssRules = await getCSSRules(styleSheets, options); + return getWebFontRules(cssRules); +} +function normalizeFontFamily(font) { + return font.trim().replace(/["']/g, ''); +} +function getUsedFonts(node) { + const fonts = new Set(); + function traverse(node) { + const fontFamily = node.style.fontFamily || getComputedStyle(node).fontFamily; + fontFamily.split(',').forEach((font) => { + fonts.add(normalizeFontFamily(font)); + }); + Array.from(node.children).forEach((child) => { + if (child instanceof HTMLElement) { + traverse(child); + } + }); + } + traverse(node); + return fonts; +} +async function getWebFontCSS(node, options) { + const rules = await parseWebFontRules(node, options); + const usedFonts = getUsedFonts(node); + const cssTexts = await Promise.all(rules + .filter((rule) => usedFonts.has(normalizeFontFamily(rule.style.fontFamily))) + .map((rule) => { + const baseUrl = rule.parentStyleSheet + ? rule.parentStyleSheet.href + : null; + return embedResources(rule.cssText, baseUrl, options); + })); + return cssTexts.join('\n'); +} +async function embedWebFonts(clonedNode, options) { + const cssText = options.fontEmbedCSS != null + ? options.fontEmbedCSS + : options.skipFonts + ? null + : await getWebFontCSS(clonedNode, options); + if (cssText) { + const styleNode = document.createElement('style'); + const sytleContent = document.createTextNode(cssText); + styleNode.appendChild(sytleContent); + if (clonedNode.firstChild) { + clonedNode.insertBefore(styleNode, clonedNode.firstChild); + } + else { + clonedNode.appendChild(styleNode); + } + } +} +//# sourceMappingURL=embed-webfonts.js.map +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/node_modules/html-to-image/es/index.js + + + + + +async function toSvg(node, options = {}) { + const { width, height } = getImageSize(node, options); + const clonedNode = (await cloneNode(node, options, true)); + await embedWebFonts(clonedNode, options); + await embedImages(clonedNode, options); + applyStyle(clonedNode, options); + const datauri = await nodeToDataURL(clonedNode, width, height); + return datauri; +} +async function toCanvas(node, options = {}) { + const { width, height } = getImageSize(node, options); + const svg = await toSvg(node, options); + const img = await createImage(svg); + const canvas = document.createElement('canvas'); + const context = canvas.getContext('2d'); + const ratio = options.pixelRatio || getPixelRatio(); + const canvasWidth = options.canvasWidth || width; + const canvasHeight = options.canvasHeight || height; + canvas.width = canvasWidth * ratio; + canvas.height = canvasHeight * ratio; + if (!options.skipAutoScale) { + checkCanvasDimensions(canvas); + } + canvas.style.width = `${canvasWidth}`; + canvas.style.height = `${canvasHeight}`; + if (options.backgroundColor) { + context.fillStyle = options.backgroundColor; + context.fillRect(0, 0, canvas.width, canvas.height); + } + context.drawImage(img, 0, 0, canvas.width, canvas.height); + return canvas; +} +async function toPixelData(node, options = {}) { + const { width, height } = getImageSize(node, options); + const canvas = await toCanvas(node, options); + const ctx = canvas.getContext('2d'); + return ctx.getImageData(0, 0, width, height).data; +} +async function toPng(node, options = {}) { + const canvas = await toCanvas(node, options); + return canvas.toDataURL(); +} +async function toJpeg(node, options = {}) { + const canvas = await toCanvas(node, options); + return canvas.toDataURL('image/jpeg', options.quality || 1); +} +async function toBlob(node, options = {}) { + const canvas = await toCanvas(node, options); + const blob = await canvasToBlob(canvas); + return blob; +} +async function getFontEmbedCSS(node, options = {}) { + return getWebFontCSS(node, options); +} +//# sourceMappingURL=index.js.map +// EXTERNAL MODULE: external "CoreHome" +var external_CoreHome_ = __webpack_require__("19dc"); + +// EXTERNAL MODULE: external "CorePluginsAdmin" +var external_CorePluginsAdmin_ = __webpack_require__("a5a2"); + +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/vue/src/HeatmapVis/heatmapGradient.ts +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ +// Single source of truth for all heatmap colors (click/move overlays, scroll +// overlay and the legend gradient). Stops must be ordered ascending by `stop`. +const HEATMAP_GRADIENT_STOPS = [{ + stop: 0.0, + rgb: [43, 89, 255] +}, { + stop: 0.2, + rgb: [22, 184, 192] +}, { + stop: 0.4, + rgb: [76, 175, 80] +}, { + stop: 0.6, + rgb: [255, 224, 0] +}, { + stop: 0.8, + rgb: [245, 124, 0] +}, { + stop: 1.0, + rgb: [229, 57, 53] +} // #E53935 +]; +function toHeatmapJsGradient(stops = HEATMAP_GRADIENT_STOPS) { + const gradient = {}; + for (let i = 0; i < stops.length; i += 1) { + gradient[`${stops[i].stop}`] = `rgb(${stops[i].rgb[0]},${stops[i].rgb[1]},${stops[i].rgb[2]})`; + } + return gradient; +} +function interpolateGradientColor(intensity, min, max, stops = HEATMAP_GRADIENT_STOPS) { + const lastStop = stops[stops.length - 1]; + if (min === max || !min && !max) { + return [lastStop.rgb[0], lastStop.rgb[1], lastStop.rgb[2]]; + } + let t = (intensity - min) / (max - min); + t = Math.min(Math.max(t, 0), 1); + let lower = stops[0]; + let upper = lastStop; + for (let i = 0; i < stops.length - 1; i += 1) { + if (t >= stops[i].stop && t <= stops[i + 1].stop) { + lower = stops[i]; + upper = stops[i + 1]; + break; + } + } + const range = upper.stop - lower.stop; + const ratio = range === 0 ? 0 : (t - lower.stop) / range; + return [Math.round(lower.rgb[0] + (upper.rgb[0] - lower.rgb[0]) * ratio), Math.round(lower.rgb[1] + (upper.rgb[1] - lower.rgb[1]) * ratio), Math.round(lower.rgb[2] + (upper.rgb[2] - lower.rgb[2]) * ratio)]; +} +function generateGradientImgData(width = 100, height = 10, stops = HEATMAP_GRADIENT_STOPS) { + const canvas = document.createElement('canvas'); + canvas.width = width; + canvas.height = height; + const ctx = canvas.getContext('2d'); + if (!ctx) { + return ''; + } + const gradient = ctx.createLinearGradient(0, 0, width, 0); + for (let i = 0; i < stops.length; i += 1) { + gradient.addColorStop(stops[i].stop, `rgb(${stops[i].rgb[0]},${stops[i].rgb[1]},${stops[i].rgb[2]})`); + } + ctx.fillStyle = gradient; + ctx.fillRect(0, 0, width, height); + return canvas.toDataURL(); +} +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/vue/src/getIframeWindow.ts +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function getIframeWindow(iframeElement) { + if (iframeElement && iframeElement.contentWindow) { + return iframeElement.contentWindow; + } + if (iframeElement && iframeElement.contentDocument && iframeElement.contentDocument.defaultView) { + return iframeElement.contentDocument.defaultView; + } + return undefined; +} +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/vue/src/oneAtATime.ts +/** + * Copyright (C) InnoCraft Ltd - All rights reserved. + * + * NOTICE: All information contained herein is, and remains the property of InnoCraft Ltd. + * The intellectual and technical concepts contained herein are protected by trade secret + * or copyright law. Redistribution of this information or reproduction of this material is + * strictly forbidden unless prior written permission is obtained from InnoCraft Ltd. + * + * You shall use this code only in accordance with the license agreement obtained from + * InnoCraft Ltd. + * + * @link https://www.innocraft.com/ + * @license For license details see https://www.innocraft.com/license + */ + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function oneAtATime(method, options) { + let abortController = null; + return (params, postParams) => { + if (abortController) { + abortController.abort(); + abortController = null; + } + abortController = new AbortController(); + return external_CoreHome_["AjaxHelper"].post(Object.assign(Object.assign({}, params), {}, { + method + }), postParams, Object.assign(Object.assign({}, options), {}, { + abortController + })).finally(() => { + abortController = null; + }); + }; +} +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/HeatmapSessionRecording/vue/src/Tooltip/Tooltip.vue?vue&type=template&id=792e9515 + +const Tooltipvue_type_template_id_792e9515_hoisted_1 = { + class: "tooltip-item" +}; +const Tooltipvue_type_template_id_792e9515_hoisted_2 = { + class: "tooltip-label" +}; +const Tooltipvue_type_template_id_792e9515_hoisted_3 = { + class: "tooltip-value" +}; +const Tooltipvue_type_template_id_792e9515_hoisted_4 = { + class: "tooltip-item" +}; +const Tooltipvue_type_template_id_792e9515_hoisted_5 = { + class: "tooltip-label" +}; +const Tooltipvue_type_template_id_792e9515_hoisted_6 = { + class: "tooltip-value" +}; +function Tooltipvue_type_template_id_792e9515_render(_ctx, _cache, $props, $setup, $data, $options) { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])((Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", { + ref: "tooltipRef", + class: "tooltip", + style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])(_ctx.tooltipStyle) + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Tooltipvue_type_template_id_792e9515_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Tooltipvue_type_template_id_792e9515_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.getClickCountTranslation), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Tooltipvue_type_template_id_792e9515_hoisted_3, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.getClickCount), 1)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Tooltipvue_type_template_id_792e9515_hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Tooltipvue_type_template_id_792e9515_hoisted_5, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.getClickRateTranslation), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Tooltipvue_type_template_id_792e9515_hoisted_6, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.getClickRate), 1)])], 4)), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.visible]]); +} +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/vue/src/Tooltip/Tooltip.vue?vue&type=template&id=792e9515 + +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/HeatmapSessionRecording/vue/src/Tooltip/Tooltip.vue?vue&type=script&lang=ts + + +/* harmony default export */ var Tooltipvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ + props: { + clickCount: { + type: Number, + required: true + }, + clickRate: { + type: Number, + required: true + }, + isMoves: { + type: Boolean, + required: false, + default: false + } + }, + setup() { + const state = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["reactive"])({ + visible: false, + position: { + top: 0, + left: 0 + } + }); + const tooltipRef = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(null); + // The tooltip follows the cursor, so it is positioned in viewport + // coordinates via position: fixed. It must not be position: absolute: + // that would resolve the coordinates against the nearest positioned + // ancestor (the report card, as .card is position: relative), shifting + // the tooltip away from the cursor by that ancestor's page offset. + const tooltipStyle = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["computed"])(() => ({ + top: `${state.position.top}px`, + left: `${state.position.left}px`, + position: 'fixed', + zIndex: 1000 + })); + function show(event) { + state.position.top = event.clientY + 10; + state.position.left = event.clientX + 10; + state.visible = true; + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(() => { + const tooltipElement = tooltipRef.value; + if (tooltipElement) { + const { + innerWidth, + innerHeight + } = window; + const tooltipRect = tooltipElement.getBoundingClientRect(); + if (tooltipRect.right > innerWidth) { + state.position.left = event.clientX - tooltipRect.width - 10; + } + if (tooltipRect.bottom > innerHeight) { + state.position.top = event.clientY - tooltipRect.height - 10; + } + const adjustedTooltipRect = tooltipElement.getBoundingClientRect(); + if (adjustedTooltipRect.left < 0) { + state.position.left = 10; + } + if (adjustedTooltipRect.top < 0) { + state.position.top = 10; + } + } + }); + } + function hide() { + state.visible = false; + } + return Object.assign(Object.assign({}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toRefs"])(state)), {}, { + tooltipRef, + show, + hide, + tooltipStyle, + translate: external_CoreHome_["translate"] + }); + }, + computed: { + getClickCount() { + return external_CoreHome_["NumberFormatter"].formatNumber(this.clickCount); + }, + getClickRate() { + return external_CoreHome_["NumberFormatter"].formatPercent(this.clickRate); + }, + getClickCountTranslation() { + const translation = this.isMoves ? 'HeatmapSessionRecording_Moves' : 'HeatmapSessionRecording_Clicks'; + return Object(external_CoreHome_["translate"])(translation); + }, + getClickRateTranslation() { + const translation = this.isMoves ? 'HeatmapSessionRecording_MoveRate' : 'HeatmapSessionRecording_ClickRate'; + return Object(external_CoreHome_["translate"])(translation); + } + } +})); +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/vue/src/Tooltip/Tooltip.vue?vue&type=script&lang=ts + +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/vue/src/Tooltip/Tooltip.vue + + + +Tooltipvue_type_script_lang_ts.render = Tooltipvue_type_template_id_792e9515_render + +/* harmony default export */ var Tooltip = (Tooltipvue_type_script_lang_ts); +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/HeatmapSessionRecording/vue/src/HeatmapVis/HeatmapEmptyState.vue?vue&type=template&id=7a3200ad + +const HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_1 = { + class: "heatmapEmptyState" +}; +const HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_2 = { + class: "heatmapEmptyStateIcon" +}; +const HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_3 = { + key: 0, + src: "plugins/HeatmapSessionRecording/images/no-interactions.svg", + width: "34", + height: "38", + alt: "" +}; +const HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_4 = { + key: 1, + class: "icon-delete" +}; +const HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_5 = { + class: "heatmapEmptyStateTitle" +}; +const HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_6 = { + class: "heatmapEmptyStateSubtitle" +}; +const HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_7 = { + class: "heatmapEmptyStateCodeWrapper" +}; +const HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_8 = ["textContent"]; +const HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_9 = ["href"]; +function HeatmapEmptyStatevue_type_template_id_7a3200ad_render(_ctx, _cache, $props, $setup, $data, $options) { + const _directive_copy_to_clipboard = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("copy-to-clipboard"); + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_2, [_ctx.state === 'noInteractions' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("img", HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_3)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_4))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h3", HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_5, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.title), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_6, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.subtitle), 1), _ctx.state === 'deletedManual' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], { + key: 0 + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_7, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("pre", { + class: "heatmapEmptyStateCode", + textContent: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.captureCommand) + }, null, 8, HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_8), [[_directive_copy_to_clipboard, {}]])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + class: "heatmapEmptyStateGuide btn", + target: "_blank", + rel: "noreferrer noopener", + href: _ctx.guideUrl + }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('HeatmapSessionRecording_ReadTheGuide')), 9, HeatmapEmptyStatevue_type_template_id_7a3200ad_hoisted_9)], 64)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]); +} +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/vue/src/HeatmapVis/HeatmapEmptyState.vue?vue&type=template&id=7a3200ad + +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/HeatmapSessionRecording/vue/src/HeatmapVis/HeatmapEmptyState.vue?vue&type=script&lang=ts + + +const GUIDE_URL = 'https://matomo.org/faq/heatmap-session-recording/how-to-capture-the-initial-heatmap-snapshot-manually/'; +/* harmony default export */ var HeatmapEmptyStatevue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ + directives: { + CopyToClipboard: external_CoreHome_["CopyToClipboard"] + }, + props: { + // one of: noInteractions, deletedAuto, deletedManual, deletedPaused, deletedNoRetake + state: { + type: String, + required: true + }, + idSiteHsr: { + type: Number, + required: true + } + }, + computed: { + title() { + if (this.state === 'noInteractions') { + return Object(external_CoreHome_["translate"])('HeatmapSessionRecording_EmptyStateNoInteractionsTitle'); + } + return Object(external_CoreHome_["translate"])('HeatmapSessionRecording_EmptyStateSnapshotDeletedTitle'); + }, + subtitle() { + switch (this.state) { + case 'noInteractions': + return Object(external_CoreHome_["translate"])('HeatmapSessionRecording_EmptyStateNoInteractionsSubtitle'); + case 'deletedManual': + return Object(external_CoreHome_["translate"])('HeatmapSessionRecording_EmptyStateSnapshotDeletedManualSubtitle'); + case 'deletedPaused': + return Object(external_CoreHome_["translate"])('HeatmapSessionRecording_EmptyStateSnapshotDeletedPausedSubtitle'); + case 'deletedNoRetake': + return Object(external_CoreHome_["translate"])('HeatmapSessionRecording_EmptyStateSnapshotDeletedEndedSubtitle'); + default: + return Object(external_CoreHome_["translate"])('HeatmapSessionRecording_EmptyStateSnapshotDeletedAutoSubtitle'); + } + }, + captureCommand() { + return `_paq.push(['HeatmapSessionRecording::captureInitialDom', ${this.idSiteHsr}])`; + }, + guideUrl() { + // externalRawLink adds the matomo.org campaign parameters to the FAQ URL. + return Object(external_CoreHome_["externalRawLink"])(GUIDE_URL); + } + } +})); +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/vue/src/HeatmapVis/HeatmapEmptyState.vue?vue&type=script&lang=ts + +// CONCATENATED MODULE: ./plugins/HeatmapSessionRecording/vue/src/HeatmapVis/HeatmapEmptyState.vue + + + +HeatmapEmptyStatevue_type_script_lang_ts.render = HeatmapEmptyStatevue_type_template_id_7a3200ad_render + +/* harmony default export */ var HeatmapEmptyState = (HeatmapEmptyStatevue_type_script_lang_ts); +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/HeatmapSessionRecording/vue/src/HeatmapVis/HeatmapVis.vue?vue&type=script&lang=ts + + + + + + + + + + +const { + $ +} = window; +const deviceDesktop = 1; +const deviceTablet = 2; +const deviceMobile = 3; +// Summary card ranking thresholds: how many candidate elements we track before +// re-aggregating clicks by bounding box, how many we ultimately display, and the +// maximum length of an element label before it is truncated. +const MAX_TRACKED_CLICK_ELEMENTS = 15; +const MAX_TOP_CLICKED_ELEMENTS = 5; +const MAX_CLICKED_ELEMENT_LABEL_LENGTH = 60; +// Measured space the environment's vertical scrollbar actually consumes in +// the frame (see getScrollbarGutterWidth); cached for the page's lifetime. +let measuredScrollbarGutter = null; +// Folds at/above this share of the page height don't get a fold line: they +// mean the page was (nearly) fully visible in the visitors' viewports, where +// "nearly" absorbs the tracker's document-height padding from body margins +// and scrollbars (a fully-seen page typically tracks ~99%, not 100%). +const FOLD_LINE_MAX_PERCENT = 97; +// The summary's "Bottom" band tolerates the same padding: a visitor whose +// viewport covered the whole page tracks a depth just short of 1000โ€ฐ, and +// requiring exactly 1000 would report Bottom 0% for a fully-seen page. +const SCROLL_REACH_BOTTOM_MARK = FOLD_LINE_MAX_PERCENT * 10; +// Elements the summary card prefers to attribute clicks to; clicks on their +// descendants roll up to them, and their full descendant text is a safe label. +const INTERACTIVE_ELEMENTS_SELECTOR = 'a, button, input, select, textarea, label, summary, [role="button"], [role="link"], [tabindex]'; +// Structural/landmark elements only surface in the summary card through the +// container fallback and otherwise have no descriptive label, so they get a +// semantic type. The generic "table" reuses the shared core translation. +const STRUCTURAL_TYPE_KEYS = { + nav: 'HeatmapSessionRecording_ElementTypeNavigation', + ul: 'HeatmapSessionRecording_ElementTypeList', + ol: 'HeatmapSessionRecording_ElementTypeList', + form: 'HeatmapSessionRecording_ElementTypeForm', + header: 'HeatmapSessionRecording_ElementTypeHeader', + footer: 'HeatmapSessionRecording_ElementTypeFooter', + main: 'HeatmapSessionRecording_ElementTypeMainContent', + aside: 'HeatmapSessionRecording_ElementTypeSidebar', + section: 'HeatmapSessionRecording_ElementTypeSection', + article: 'HeatmapSessionRecording_ElementTypeArticle', + table: 'General_Table' +}; +// Container tags excluded from the preferred (interactive-only) pass when they +// have child elements: derived from the structural map above so the two can +// never drift apart, plus containers that have no semantic label of their own. +const GENERIC_CONTAINER_TAGS = Object.keys(STRUCTURAL_TYPE_KEYS).concat(['div', 'li', 'td', 'th', 'tr', 'tbody', 'thead']); +let heightPerHeatmap = 32000; +const userAgent = String(window.navigator.userAgent).toLowerCase(); +if (userAgent.match(/(iPod|iPhone|iPad|Android|IEMobile|Windows Phone)/i)) { + heightPerHeatmap = 2000; +} else if (userAgent.indexOf('msie ') > 0 || userAgent.indexOf('trident/') > 0 || userAgent.indexOf('edge') > 0) { + heightPerHeatmap = 8000; +} +function initHeatmap(recordingPlayer, heatmapContainer, +// eslint-disable-next-line @typescript-eslint/no-explicit-any +recordingIframe) { + const $iframe = $(recordingPlayer); + // we first set the iframe to the initial 400px again so we can for sure detect the current + // height of the inner iframe body correctly + $iframe.css('height', '400px'); + const documentHeight = recordingIframe.getIframeHeight(); + $iframe.css('height', `${documentHeight}px`); + $(heatmapContainer).css('height', `${documentHeight}px`).css('width', `${$iframe.width()}px`).empty(); + const numHeatmaps = Math.ceil(documentHeight / heightPerHeatmap); + for (let i = 1; i <= numHeatmaps; i += 1) { + let height = heightPerHeatmap; + if (i === numHeatmaps) { + height = documentHeight % heightPerHeatmap; + } + $(heatmapContainer).append(`
    `); + $(heatmapContainer).find(`#heatmap${i}`).css({ + height: `${height}px` + }); + } + return numHeatmaps; +} +function scrollHeatmap(iframeRecordingContainer, recordingPlayer, +// eslint-disable-next-line @typescript-eslint/no-explicit-any +recordingIframe, scrollReaches) { + const $iframe = $(recordingPlayer); + // we first set the iframe to the initial 400px again so we can for sure detect the current + // height of the inner iframe body correctly + $iframe.css('height', '400px'); + const documentHeight = recordingIframe.getIframeHeight(); + $iframe.css('height', `${documentHeight}px`); + const numIntervals = 1000; + const heightToIntervalRatio = documentHeight / numIntervals; + const numViewersTotal = scrollReaches.reduce((pv, cv) => pv + parseInt(cv.value, 10), 0); + const buckets = []; + let num_viewers = 0; + let lastBucket = null; + let percentage = 100; + let reachScrolledFromPosition = 0; + // reachScrolledFromPosition we start from 0, and then always paint to the next bucket. eg when + // scrollReach is 27 and scrollDepth is 35, then we know that 27 people have scrolled down to + // 3.5% of the page. + scrollReaches.forEach(scrollReachObj => { + // the number of people that reached this point + const scrollReach = parseInt(scrollReachObj.value, 10); + // how far down they scrolled + const scrollDepth = parseInt(scrollReachObj.label, 10); + const reachScrolledToPosition = Math.round(scrollDepth * heightToIntervalRatio); + if (lastBucket && lastBucket.position === reachScrolledToPosition) { + // when page is < 1000 we need to aggregate buckets + num_viewers += scrollReach; + } else { + if (numViewersTotal !== 0) { + percentage = (numViewersTotal - num_viewers) / numViewersTotal * 100; + } + num_viewers += scrollReach; + // percentage.toFixed(1) * 10 => convert eg 99.8 => 998 + lastBucket = { + percentageValue: parseFloat(percentage.toFixed(1)) * 10, + position: reachScrolledFromPosition, + percent: percentage.toFixed(1) + }; + buckets.push(lastBucket); + } + reachScrolledFromPosition = reachScrolledToPosition; + }); + if (buckets.length) { + // we need to make sure to draw scroll heatmap over full page + const found = buckets.some(b => b.position === 0); + if (!found) { + buckets.unshift({ + percent: '100.0', + percentageValue: 1000, + position: 0 + }); + } + } else { + // we'll show full page as not scrolled + buckets.push({ + percent: '0', + percentageValue: 0, + position: 0 + }); + } + let minValue = 0; + const maxValue = 1000; // max value is always 1000 (=100%) + if (buckets && buckets.length && buckets[0]) { + minValue = buckets[buckets.length - 1].percentageValue; + } + const iframeWidth = $iframe.width(); + let nextBucket = null; + for (let index = 0; index < buckets.length; index += 1) { + const bucket = buckets[index]; + if (buckets[index + 1]) { + nextBucket = buckets[index + 1]; + } else { + nextBucket = { + position: documentHeight + }; + } + const top = bucket.position; + let height = nextBucket.position - bucket.position; + if (height === 0) { + height = 1; // make sure to draw at least one px + } + const percent = `${bucket.percent} percent reached this point`; + const colorValues = interpolateGradientColor(bucket.percentageValue, minValue, maxValue); + const color = `rgb(${colorValues.join(',')})`; + $(iframeRecordingContainer).append(`
    `); + } + $('.scrollHeatmapLeaf', iframeRecordingContainer).tooltip({ + track: true, + items: '*', + tooltipClass: 'heatmapTooltip', + show: false, + hide: false + }); +} +function actualRenderHeatmap(recordingPlayer, heatmapContainer, +// eslint-disable-next-line @typescript-eslint/no-explicit-any +recordingIframe, dataPoints) { + const numHeatmaps = initHeatmap(recordingPlayer, heatmapContainer, recordingIframe); + const heatmapInstances = []; + for (let i = 1; i <= numHeatmaps; i += 1) { + const dpoints = { + min: dataPoints.min, + max: dataPoints.max, + data: [] + }; + const config = { + container: document.getElementById(`heatmap${i}`), + radius: 10, + maxOpacity: 0.5, + minOpacity: 0, + blur: 0.75, + gradient: toHeatmapJsGradient() + }; + if (dataPoints && dataPoints.data && dataPoints.data.length >= 20000) { + config.radius = 8; + } else if (dataPoints && dataPoints.data && dataPoints.data.length >= 2000) { + config.radius = 9; + } + if (numHeatmaps === 1) { + dpoints.data = dataPoints.data; + } else { + const lowerLimit = (i - 1) * heightPerHeatmap; + const upperLimit = lowerLimit + heightPerHeatmap - 1; + dataPoints.data.forEach(dp => { + if (dp.y >= lowerLimit && dp.y <= upperLimit) { + const thePoint = Object.assign(Object.assign({}, dp), {}, { + y: dp.y - lowerLimit + }); + dpoints.data.push(thePoint); + } + }); + } + const heatmapInstance = heatmap_default.a.create(config); + // heatmap type requires value to be number, but matomo sets it as string + heatmapInstance.setData(dpoints); + heatmapInstances.push(heatmapInstance); + } + return heatmapInstances; +} +async function backgroundRenders(url, ownerDoc) { + const probe = ownerDoc.createElement('img'); + probe.src = url; + try { + await probe.decode(); + return true; + } catch (e) { + return false; + } +} +/* harmony default export */ var HeatmapVisvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ + props: { + idSiteHsr: { + type: Number, + required: true + }, + deviceTypes: { + type: Array, + required: true + }, + heatmapTypes: { + type: Array, + required: true + }, + breakpointMobile: { + type: Number, + required: true + }, + breakpointTablet: { + type: Number, + required: true + }, + offsetAccuracy: { + type: Number, + required: true + }, + heatmapPeriod: { + type: String, + required: true + }, + heatmapDate: { + type: String, + required: true + }, + url: { + type: String, + required: true + }, + isActive: Boolean, + numSamples: { + type: Object, + required: true + }, + excludedElements: { + type: String, + required: true + }, + createdDate: { + type: String, + required: true + }, + createdDateRaw: { + type: String, + required: true + }, + heatmapName: { + type: String, + required: true + }, + desktopPreviewSize: { + type: Number, + required: true + }, + iframeResolutionsValues: { + type: Object, + required: true + }, + imageProxyNonce: { + type: String, + default: '' + }, + // Whether a snapshot (page tree mirror) exists; when false the empty state renders instead. + hasSnapshot: { + type: Boolean, + default: true + }, + // Whether the heatmap only captures its snapshot manually (drives the empty-state text). + captureManually: Boolean, + // Whether a snapshot was previously deleted (tells "deleted" apart from "never captured"). + snapshotDeleted: Boolean, + // Whether the heatmap is paused (resumable) rather than ended (permanent); the deleted + // empty state tells the user capture resumes once the heatmap is resumed. + isPaused: Boolean + }, + components: { + Field: external_CorePluginsAdmin_["Field"], + Tooltip: Tooltip, + HeatmapEmptyState: HeatmapEmptyState + }, + data() { + return { + isLoading: false, + isExporting: false, + iframeWidth: this.desktopPreviewSize, + customIframeWidth: this.desktopPreviewSize, + avgFold: 0, + summaryAvgFold: 0, + heatmapType: this.heatmapTypes[0].key, + deviceType: this.deviceTypes[0].key, + iframeResolutions: this.iframeResolutionsValues, + actualNumSamples: this.numSamples, + dataCoordinates: [], + currentElement: null, + totalClicks: 0, + topClickedElements: [], + scrollReach: [], + fetchGeneration: 0, + scrollAreaMaxHeight: 0, + previewScale: 1, + recordingHeight: 0, + summaryCardHeight: 0, + frameNeedsVScroll: true, + tooltipShowTimeoutId: null, + clickCount: 0, + clickRate: 0 + }; + }, + setup(props) { + const tooltip = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(null); + let iframeLoadedResolve = null; + const iframeLoadedPromise = new Promise(resolve => { + iframeLoadedResolve = resolve; + }); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let recordingIframe = null; + const getRecordingIframe = recordingPlayer => { + if (!recordingIframe) { + recordingIframe = getIframeWindow(recordingPlayer).recordingFrame; + recordingIframe.excludeElements(props.excludedElements); + recordingIframe.addClass('html', 'piwikHeatmap'); + recordingIframe.addClass('html', 'matomoHeatmap'); + recordingIframe.addWorkaroundForSharepointHeatmaps(); + } + return recordingIframe; + }; + const heatmapInstances = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["ref"])(null); + const renderHeatmap = (recordingPlayer, heatmapContainer, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + theRecordingIframe, dataPoints) => { + heatmapInstances.value = actualRenderHeatmap(recordingPlayer, heatmapContainer, theRecordingIframe, dataPoints); + }; + return { + iframeLoadedPromise, + onLoaded: iframeLoadedResolve, + getRecordedHeatmap: oneAtATime('HeatmapSessionRecording.getRecordedHeatmap'), + getRecordedClickHeatmap: oneAtATime('HeatmapSessionRecording.getRecordedHeatmap'), + getRecordedScrollHeatmap: oneAtATime('HeatmapSessionRecording.getRecordedHeatmap'), + getRecordedHeatmapMetadata: oneAtATime('HeatmapSessionRecording.getRecordedHeatmapMetadata'), + getRecordingIframe, + heatmapInstances, + renderHeatmap, + tooltip + }; + }, + created() { + if (this.iframeResolutions.indexOf(this.breakpointMobile) === -1) { + this.iframeResolutions.push(this.breakpointMobile); + } + if (this.iframeResolutions.indexOf(this.breakpointTablet) === -1) { + this.iframeResolutions.push(this.breakpointTablet); + } + this.iframeResolutions = this.iframeResolutions.sort((a, b) => a - b); + this.fetchHeatmap(); + // Hide the period selector since we don't filter the heatmap by period + external_CoreHome_["Matomo"].postEvent('hidePeriodSelector'); + }, + mounted() { + this.onWindowResize(); + window.addEventListener('resize', this.onWindowResize); + }, + updated() { + // The summary card grows as its async data lands; keep the frame's + // height floor in sync (guarded internally against re-render loops). + this.updateSummaryCardHeight(); + }, + emits: ['exporting'], + watch: { + isExporting() { + // let the parent (settings dropdown) reflect the export progress + this.$emit('exporting', this.isExporting); + }, + isLoading() { + if (this.isLoading === true) { + return; + } + // The chrome above/below the scroll area can change once the report has + // rendered (toolbar wrapping, the delete-screenshot button appearing). + this.$nextTick(() => this.onWindowResize()); + const heatmapContainer = window.document.getElementById('heatmapContainer'); + if (!heatmapContainer) { + return; + } + heatmapContainer.addEventListener('mouseleave', event => { + // Stop processing tooltip when moving mouse out of parent element + if (this.tooltipShowTimeoutId) { + clearTimeout(this.tooltipShowTimeoutId); + this.tooltipShowTimeoutId = null; + } + // Reset the highlight and tooltip when leaving the container + this.currentElement = null; + this.handleTooltip(event, 0, 0, 'hide'); + const highlightDiv = window.document.getElementById('highlightDiv'); + if (!highlightDiv) { + return; + } + highlightDiv.hidden = true; + }); + heatmapContainer.addEventListener('mousemove', e => { + this.handleMouseMove(e); + }); + } + }, + beforeUnmount() { + window.removeEventListener('resize', this.onWindowResize); + this.removeScrollHeatmap(); + }, + methods: { + onWindowResize() { + // Order matters: the scale (and its scrollbar decision) reads the cap + // and the card height measured by the two calls before it. + this.updateScrollAreaMaxHeight(); + this.updateSummaryCardHeight(); + this.updatePreviewScale(); + }, + // How much layout width the environment's vertical scrollbar takes inside + // the frame: ~10px (the styled webkit width) with classic scrollbars, + // 0 where scrollbars overlay or are hidden (macOS default, headless + // screenshot runs) โ€” subtracting a fixed allowance there left a hole to + // the card's right. Probed once with the frame's own styling. + getScrollbarGutterWidth() { + if (measuredScrollbarGutter === null) { + const probe = document.createElement('div'); + probe.className = 'heatmapScrollArea'; + probe.style.cssText = 'position:absolute;visibility:hidden;pointer-events:none;' + 'width:100px;height:100px;border:0;padding:0;overflow-y:scroll;'; + document.body.appendChild(probe); + measuredScrollbarGutter = Math.max(0, probe.offsetWidth - probe.clientWidth); + probe.remove(); + } + return measuredScrollbarGutter; + }, + // Height of the summary card while it sits beside the frame (row layout); + // 0 in the stacked layout, where flooring the frame to the card would + // only inflate it. Measured rather than computed because the card's + // height depends on its async-loaded content; also re-measured from + // updated() so content arriving later is picked up. + updateSummaryCardHeight() { + const area = this.$refs.heatmapScrollArea; + const layout = area === null || area === void 0 ? void 0 : area.parentElement; + const card = layout === null || layout === void 0 ? void 0 : layout.querySelector('.heatmapSummaryCard'); + if (!layout || !card) { + return; + } + const stacked = window.getComputedStyle(layout).flexDirection === 'column'; + const height = stacked ? 0 : Math.round(card.getBoundingClientRect().height); + // Guarded assignment: this runs from updated(), so writing an unchanged + // value would re-render in a loop. + if (height !== this.summaryCardHeight) { + this.summaryCardHeight = height; + } + }, + // Fits a preview wider than the viewing area by scaling it down: the + // recorded page keeps its true layout width inside the iframe (so the + // heatmap data stays aligned with the elements it was recorded against) + // and the rendered result shrinks uniformly, like the replay player. + // Narrower previews stay at 1:1 and are centered instead. + updatePreviewScale() { + const area = this.$refs.heatmapScrollArea; + const layout = area === null || area === void 0 ? void 0 : area.parentElement; + if (!area || !layout || !layout.clientWidth || !this.iframeWidth) { + return; + } + // The frame hugs the (scaled) snapshot, so its own width cannot drive + // the scale (it *is* the scale). The available width is the layout + // row's, minus the summary card and the row gap beside it โ€” the frame + // may only grow as far as the card still fits โ€” minus the frame's + // borders. + const layoutStyles = window.getComputedStyle(layout); + const areaStyles = window.getComputedStyle(area); + const stacked = layoutStyles.flexDirection === 'column'; + const card = layout.querySelector('.heatmapSummaryCard'); + const cardSpace = !stacked && card ? card.getBoundingClientRect().width + (parseFloat(layoutStyles.columnGap || '0') || 0) : 0; + const borders = (parseFloat(areaStyles.borderLeftWidth || '0') || 0) + (parseFloat(areaStyles.borderRightWidth || '0') || 0); + const available = layout.clientWidth - cardSpace - borders; + if (available <= 0) { + return; + } + const round4 = value => Math.round(value * 10000) / 10000; + // Two candidate scales, decided from first principles rather than live + // scrollbar measurements (which would oscillate at the boundary: hiding + // the scrollbar widens the area, raising the scale, which can re-need + // the scrollbar). If the preview fits the frame's height without the + // scrollbar's gutter, no vertical scrolling is possible and the gutter + // is dropped entirely; otherwise the scale accounts for the gutter. + const scaleWithoutGutter = Math.min(1, round4(available / this.iframeWidth)); + const frameHeight = this.scrollAreaMaxHeight ? Math.max(Math.min(this.scrollAreaMaxHeight, this.recordingHeight || Infinity), this.summaryCardHeight) : Infinity; + const fits = !this.recordingHeight || scaleWithoutGutter * this.recordingHeight <= frameHeight; + this.frameNeedsVScroll = !fits; + this.previewScale = fits ? scaleWithoutGutter : Math.min(1, round4((available - this.getScrollbarGutterWidth()) / this.iframeWidth)); + }, + // Caps the scroll area so the report's bottom edge lands at the bottom of + // the window (16px gap): the recording scrolls inside the frame while the + // content below it (e.g. the delete-screenshot button) stays visible. + // Measured live rather than a calc(100vh - X) constant because the + // surrounding chrome varies (toolbar wrapping, notifications, admin vs + // widgetized page headers). + updateScrollAreaMaxHeight() { + const area = this.$refs.heatmapScrollArea; + const root = this.$el; + if (!area || !(root !== null && root !== void 0 && root.getBoundingClientRect)) { + return; + } + const layout = area.parentElement; + const areaRect = area.getBoundingClientRect(); + // Content that must stay visible below the frame (the delete-screenshot + // block), measured from the layout row's bottom rather than the area's + // own: the row's bottom tracks its tallest child, so this stays + // constant โ€” and recomputation stable โ€” even when the summary card + // outgrows the capped area. + const belowChrome = layout ? root.getBoundingClientRect().bottom - layout.getBoundingClientRect().bottom : 0; + // The area's top as if the page were scrolled to the top, so the cap is + // stable no matter when this runs. + const areaTop = areaRect.top + window.scrollY; + this.scrollAreaMaxHeight = Math.max(400, window.innerHeight - areaTop - belowChrome - 16); + }, + // The metadata endpoint returns sample counts as strings (HeatmapMetadata's + // `number` notwithstanding), so anything doing arithmetic on them must + // coerce first: summing raw values concatenates ("0" + "2" + "0" -> "020") + // and silently produces absurd device shares. + getDeviceSamples(deviceKey) { + return parseInt(String(this.actualNumSamples[`nb_samples_device_${deviceKey}`]), 10) || 0; + }, + resolveClickedElement( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + recordingIframe, selector) { + const $element = recordingIframe.findElement(selector); + const rawElement = $element && $element[0] ? $element[0] : null; + if (!rawElement) { + return null; + } + // Resolve permissively (containers allowed) but remember whether the click + // also resolves to a preferred, non-container element, so a single pass can + // serve both the interactive-only and the container-fallback rankings. + const element = this.normalizeClickedElement(rawElement, true); + if (!element) { + return null; + } + return { + key: this.getElementKey(element), + label: this.getElementLabel(element, selector), + boundingRectangle: element.getBoundingClientRect(), + isPreferred: this.normalizeClickedElement(rawElement, false) !== null + }; + }, + normalizeClickedElement(element, includeContainers) { + const interactiveParent = element.closest(INTERACTIVE_ELEMENTS_SELECTOR); + if (interactiveParent) { + return interactiveParent; + } + const wrapped = this.getWrappedInteractiveElement(element); + if (wrapped) { + return wrapped; + } + if (!this.isUsefulClickedElement(element, includeContainers)) { + return null; + } + return element; + }, + // A presentational wrapper around exactly one interactive element (an image + // inside a link, a button padded by a div) credits that element - the mirror + // of the ancestor roll-up above. Landmark containers (nav, section, aside...) + // keep their own identity, and a wrapper with its own text is more than a + // pass-through, so both are left alone. + getWrappedInteractiveElement(element) { + const tagName = element.tagName.toLowerCase(); + if (STRUCTURAL_TYPE_KEYS[tagName] || this.getElementText(element)) { + return null; + } + const interactive = element.querySelectorAll(INTERACTIVE_ELEMENTS_SELECTOR); + return interactive.length === 1 ? interactive[0] : null; + }, + isUsefulClickedElement(element, includeContainers) { + const tagName = element.tagName.toLowerCase(); + if (['html', 'body'].indexOf(tagName) !== -1) { + return false; + } + if (/^h[1-6]$/.test(tagName)) { + return true; + } + // When too few interactive elements were found, generic containers are + // allowed as a fallback so the summary card is not left mostly empty. + if (includeContainers) { + return true; + } + return !(GENERIC_CONTAINER_TAGS.indexOf(tagName) !== -1 && element.children.length); + }, + getElementKey(element) { + const id = element.getAttribute('id'); + if (id) { + return `${element.tagName.toLowerCase()}#${id}`; + } + const name = element.getAttribute('name'); + if (name) { + return `${element.tagName.toLowerCase()}[name="${name}"]`; + } + // No stable attribute: derive a deterministic path from the resolved element + // itself. The recorded click selector varies by which child node was hit, so + // keying on it would split repeated clicks on the same element into separate + // entries; a path built from the element merges them. + return this.getElementPath(element); + }, + getElementPath(element) { + const segments = []; + let current = element; + while (current) { + const tagName = current.tagName.toLowerCase(); + if (tagName === 'body' || tagName === 'html') { + break; + } + const id = current.getAttribute('id'); + if (id) { + segments.unshift(`${tagName}#${id}`); + break; + } + const parent = current.parentElement; + if (!parent) { + segments.unshift(tagName); + break; + } + const sameTag = current.tagName; + const index = Array.from(parent.children).filter(child => child.tagName === sameTag).indexOf(current) + 1; + segments.unshift(`${tagName}:nth-of-type(${index})`); + current = parent; + } + return segments.join('>') || element.tagName.toLowerCase(); + }, + getElementLabel(element, selector) { + const tagName = element.tagName.toLowerCase(); + const htmlElementType = element.getAttribute('type'); + const rawLabel = [this.getElementText(element), element.getAttribute('aria-label'), element.getAttribute('title'), element.getAttribute('alt'), element.getAttribute('placeholder'), element.getAttribute('name'), element.getAttribute('id'), htmlElementType === 'button' ? element.getAttribute('value') || '' : '', this.getDescendantImageLabel(element), selector, tagName].map(value => (value || '').replace(/\s+/g, ' ').trim()).find(value => !!value) || tagName; + const label = rawLabel.length > MAX_CLICKED_ELEMENT_LABEL_LENGTH ? `${rawLabel.slice(0, MAX_CLICKED_ELEMENT_LABEL_LENGTH - 3)}...` : rawLabel; + const type = this.getElementTypeLabel(element); + return type ? Object(external_CoreHome_["translate"])('HeatmapSessionRecording_TopClickedElementLabel', label, type) : label; + }, + getElementText(element) { + // An interactive element owns all its descendant text (Buy + // now), so the full text is its visible label. Containers and + // headings only use direct text nodes: labelling a nav by the text of its + // first link would be misleading. + const text = element.matches(INTERACTIVE_ELEMENTS_SELECTOR) ? element.textContent || '' : [...element.childNodes].filter(node => node.nodeType === Node.TEXT_NODE).map(node => node.textContent || '').join(' '); + return text.replace(/\s+/g, ' ').trim(); + }, + // An interactive element whose only content is an image (a thumbnail link, + // an icon button) carries no text of its own, so the image's alt/title is + // the natural label. Used as a fallback before the raw selector. + getDescendantImageLabel(element) { + const img = element.querySelector('img'); + if (!img) { + return ''; + } + return (img.getAttribute('alt') || img.getAttribute('title') || '').replace(/\s+/g, ' ').trim(); + }, + getElementTypeLabel(element) { + const tagName = element.tagName.toLowerCase(); + const role = element.getAttribute('role'); + const htmlElementType = element.getAttribute('type'); + // An image, or an interactive element whose only content is an image (a + // linked thumbnail), reads to a visitor as an image. Calling it a "link" + // would misdirect them to the separate text link that often sits beside it. + if (tagName === 'img' || element.matches(INTERACTIVE_ELEMENTS_SELECTOR) && !this.getElementText(element) && element.querySelector('img')) { + return Object(external_CoreHome_["translate"])('HeatmapSessionRecording_ElementTypeImage'); + } + if (tagName === 'a' || role === 'link') { + return Object(external_CoreHome_["translate"])('HeatmapSessionRecording_ElementTypeLink'); + } + if (tagName === 'button' || role === 'button' || htmlElementType === 'button') { + return Object(external_CoreHome_["translate"])('HeatmapSessionRecording_ElementTypeButton'); + } + if (/^h[1-6]$/.test(tagName)) { + return Object(external_CoreHome_["translate"])('HeatmapSessionRecording_ElementTypeHeading'); + } + if (['input', 'select', 'textarea'].indexOf(tagName) !== -1) { + return Object(external_CoreHome_["translate"])('HeatmapSessionRecording_ElementTypeField'); + } + const typeKey = STRUCTURAL_TYPE_KEYS[tagName]; + return typeKey ? Object(external_CoreHome_["translate"])(typeKey) : ''; + }, + formatTopClickedElements(clickedElements, totalClicks) { + return [...clickedElements.values()].sort((a, b) => b.count - a.count || a.label.localeCompare(b.label)).slice(0, MAX_TOP_CLICKED_ELEMENTS).map(element => { + const percent = totalClicks ? Math.round(element.count / totalClicks * 100) : 0; + return Object.assign(Object.assign({}, element), {}, { + percent, + percentLabel: external_CoreHome_["NumberFormatter"].formatPercent(percent) + }); + }); + }, + getScrollReach(rows) { + const total = rows.reduce((sum, row) => sum + (parseInt(row.value, 10) || 0), 0); + // No scroll data: return no bands so the empty state renders (rather than a + // ladder of 0% rows). + if (!total) { + return []; + } + // Cumulative reach at 0/25/50/75/100% of the page (row.label is the max + // scroll depth on a 0-1000 scale). "Top" counts every visit; each following + // row counts visits that scrolled at least that far; "Bottom" is visits + // that reached the very end of the page. + const marks = [{ + key: 'top', + mark: 0, + label: Object(external_CoreHome_["translate"])('HeatmapSessionRecording_ScrollReachTop') + }, { + key: 'q25', + mark: 250, + label: external_CoreHome_["NumberFormatter"].formatPercent(25) + }, { + key: 'q50', + mark: 500, + label: external_CoreHome_["NumberFormatter"].formatPercent(50) + }, { + key: 'q75', + mark: 750, + label: external_CoreHome_["NumberFormatter"].formatPercent(75) + }, { + key: 'bottom', + mark: SCROLL_REACH_BOTTOM_MARK, + label: Object(external_CoreHome_["translate"])('HeatmapSessionRecording_ScrollReachBottom') + }]; + return marks.map(({ + key, + mark, + label + }) => { + const reached = rows.reduce((sum, row) => (parseInt(row.label, 10) || 0) >= mark ? sum + (parseInt(row.value, 10) || 0) : sum, 0); + const percent = Math.round(reached / total * 100); + return { + key, + label, + percent, + percentLabel: external_CoreHome_["NumberFormatter"].formatPercent(percent) + }; + }); + }, + // True while `generation` is still the most recent fetchHeatmap call. The + // summary-card requests run on their own oneAtATime closures that the primary + // heatmap request never aborts, so their callbacks use this to drop a stale + // (superseded) response before it overwrites the card. + isCurrentFetch(generation) { + return generation === this.fetchGeneration; + }, + // Applies a background scroll-reach response, ignoring it when a newer fetch + // has superseded it. + applyScrollReach(rows, generation) { + if (!this.isCurrentFetch(generation)) { + return; + } + this.scrollReach = this.getScrollReach(rows); + }, + getHeatmapDataPoints(rows, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + recordingIframe) { + const dataPoints = { + min: 0, + max: 0, + data: [] + }; + let totalValue = 0; + let numEntriesHigherThan1 = 0; + for (let i = 0; i < rows.length; i += 1) { + const row = rows[i]; + if (row.selector) { + const value = parseInt(row.value, 10) || 0; + const dataPoint = recordingIframe.getCoordinatesInFrame(row.selector, row.offset_x, row.offset_y, this.offsetAccuracy, true); + if (dataPoint) { + dataPoint.value = row.value; + dataPoint.selector = row.selector; + dataPoints.data.push(dataPoint); + totalValue += value; + if (value > 1) { + numEntriesHigherThan1 += 1; + } + } + } + } + return { + dataPoints, + numEntriesHigherThan1, + totalValue + }; + }, + getTopClickedElements(dataPoints, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + recordingIframe, totalClicks) { + const candidates = this.collectClickCandidates(dataPoints, recordingIframe); + // Prefer interactive elements (links, buttons, fields...). Only fall back to + // including generic containers when too few preferred elements were clicked. + const preferred = new Map(Array.from(candidates.entries()).filter(([, candidate]) => candidate.isPreferred)); + const chosen = preferred.size >= MAX_TOP_CLICKED_ELEMENTS ? preferred : candidates; + return this.rankClickedElements(chosen, dataPoints, totalClicks); + }, + collectClickCandidates(dataPoints, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + recordingIframe) { + const candidates = new Map(); + const resolvedCache = new Map(); + // Single pass: resolve each clicked selector once (DOM lookups are the + // expensive part) and tally selector-based counts per resolved element. + dataPoints.data.forEach(dp => { + const value = parseInt(dp.value, 10) || 0; + if (!dp.selector || !value) { + return; + } + let resolved = resolvedCache.get(dp.selector); + if (!resolvedCache.has(dp.selector)) { + resolved = this.resolveClickedElement(recordingIframe, dp.selector); + resolvedCache.set(dp.selector, resolved); + } + if (!resolved) { + return; + } + const existing = candidates.get(resolved.key); + if (existing) { + existing.count += value; + } else { + candidates.set(resolved.key, Object.assign(Object.assign({}, resolved), {}, { + count: value, + percent: 0, + percentLabel: external_CoreHome_["NumberFormatter"].formatPercent(0) + })); + } + }); + return candidates; + }, + rankClickedElements(clickedElements, dataPoints, totalClicks) { + // Keep the top candidates. Capture their selector-based counts, then clear + // them so the geometric pass below can re-tally clicks by bounding box (to + // match the heatmap tooltip, which aggregates clicks landing in an element). + const reducedClickedElements = new Map(Array.from(clickedElements.entries()).sort((a, b) => b[1].count - a[1].count || a[1].label.localeCompare(b[1].label)).slice(0, MAX_TRACKED_CLICK_ELEMENTS)); + const selectorCounts = new Map(); + reducedClickedElements.forEach((element, key) => { + selectorCounts.set(key, element.count); + element.count = 0; + }); + // Attribute each click to exactly one candidate: the smallest one whose + // bounding box contains it. Candidates can nest (a link inside a nav kept + // by the container fallback), and crediting every containing box would + // inflate a container's count with its children's clicks. + const rankedCandidates = Array.from(reducedClickedElements.values()); + const boxArea = element => (element.boundingRectangle.right - element.boundingRectangle.left) * (element.boundingRectangle.bottom - element.boundingRectangle.top); + dataPoints.data.forEach(dp => { + const containing = rankedCandidates.filter(element => (dp === null || dp === void 0 ? void 0 : dp.x) >= element.boundingRectangle.left && (dp === null || dp === void 0 ? void 0 : dp.x) <= element.boundingRectangle.right && (dp === null || dp === void 0 ? void 0 : dp.y) >= element.boundingRectangle.top && (dp === null || dp === void 0 ? void 0 : dp.y) <= element.boundingRectangle.bottom); + if (!containing.length) { + return; + } + const target = containing.reduce((smallest, element) => boxArea(element) < boxArea(smallest) ? element : smallest); + target.count += parseInt(dp.value, 10) || 0; + }); + // If the geometric pass attributed no clicks to an element (e.g. a recorded + // offset that lands just outside a small element's box), fall back to its + // selector-based count so a genuinely clicked element is not dropped. + reducedClickedElements.forEach((element, key) => { + if (!element.count) { + element.count = selectorCounts.get(key) || 0; + } + }); + return this.formatTopClickedElements(new Map(Array.from(reducedClickedElements.entries()).sort((a, b) => b[1].count - a[1].count || a[1].label.localeCompare(b[1].label)).slice(0, MAX_TOP_CLICKED_ELEMENTS)), totalClicks); + }, + removeScrollHeatmap() { + const element = this.$refs.iframeRecordingContainer; + $(element).find('.scrollHeatmapLeaf').remove(); + }, + proxyImageUrl(originalUrl, nonce) { + const query = external_CoreHome_["MatomoUrl"].stringify({ + module: 'HeatmapSessionRecording', + action: 'getProxiedImage', + idSite: external_CoreHome_["Matomo"].idSite, + idSiteHsr: this.idSiteHsr, + url: originalUrl, + nonce + }); + // Resolve against the parent (Matomo) page so the URL is absolute and points at the Matomo + // origin. A relative `?...` would resolve against the iframe's base (the recorded site). + return new URL(`?${query}`, window.location.href).href; + }, + isCrossOriginUrl(url) { + if (!url || url.startsWith('data:')) { + return false; + } + try { + return new URL(url).origin !== window.location.origin; + } catch (e) { + return false; + } + }, + extractCrossOriginBackgroundUrls(background) { + const urls = []; + const regex = /url\(\s*['"]?([^'")]+)['"]?\s*\)/g; + let match = regex.exec(background); + while (match !== null) { + if (this.isCrossOriginUrl(match[1])) { + urls.push(match[1]); + } + match = regex.exec(background); + } + return urls; + }, + proxyCssBackground(background, nonce, confirmedUrls) { + return background.replace(/url\(\s*['"]?([^'")]+)['"]?\s*\)/g, (match, url) => this.isCrossOriginUrl(url) && confirmedUrls.has(url) ? `url("${this.proxyImageUrl(url, nonce)}")` : match); + }, + async exportToImage() { + if (!this.hasAdminAccess) { + return; + } + this.isExporting = true; + external_CoreHome_["NotificationsStore"].remove('hsrExportImage'); + const originalSrcs = []; + const originalBackgrounds = []; + const domRestores = []; + let originalIframeCss = null; + const heatmapContainer = this.$refs.heatmapContainer; + const previousZIndex = heatmapContainer.style.zIndex; + const foldLine = this.$refs.aboveFoldLine; + const previousFoldZIndex = foldLine.style.zIndex; + try { + var _this$heatmapTypes$fi, _this$deviceTypes$fin; + const iframe = this.$refs.recordingPlayer; + const doc = iframe.contentDocument; + if (!doc) { + return; + } + const nonce = this.imageProxyNonce; + // Keep the dot overlay, then the fold line, above the recorded page during capture. + heatmapContainer.style.zIndex = '2147483646'; + foldLine.style.zIndex = '2147483647'; + doc.querySelectorAll('svg').forEach(svg => { + if (!svg.hasAttribute('xmlns:xlink')) { + domRestores.push(() => svg.removeAttribute('xmlns:xlink')); + svg.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'); + } + }); + // Route cross-origin sources through the proxy so the capture isn't tainted, but + // only for images that actually rendered in the iframe. naturalWidth is 0 when the image + // was blocked by CSP, 404'd or otherwise failed, in which case there is nothing to proxy. + doc.querySelectorAll('img').forEach(img => { + if (!(img.complete && img.naturalWidth > 0)) { + return; + } + const rendered = img.currentSrc || img.src; + if (this.isCrossOriginUrl(rendered)) { + originalSrcs.push({ + img, + src: img.src, + srcset: img.srcset + }); + img.src = this.proxyImageUrl(rendered, nonce); + img.srcset = ''; + } else if (rendered !== img.src) { + originalSrcs.push({ + img, + src: img.src, + srcset: img.srcset + }); + img.src = rendered; + img.srcset = ''; + } + }); + // Same for cross-origin CSS background images, via an inline override we restore later. + // A background has no naturalWidth to inspect, so probe each candidate url with + // img.decode() and only proxy the ones that actually rendered. Anything we can't confirm + // loaded is left untouched. + const view = doc.defaultView || window; + const backgroundCandidates = []; + const candidateUrls = new Set(); + doc.querySelectorAll('*').forEach(el => { + const background = view.getComputedStyle(el).backgroundImage; + if (!background || !background.includes('url(')) { + return; + } + const urls = this.extractCrossOriginBackgroundUrls(background); + if (!urls.length) { + return; + } + backgroundCandidates.push({ + el, + background + }); + urls.forEach(url => candidateUrls.add(url)); + }); + const confirmedUrls = new Set(); + await Promise.all([...candidateUrls].map(async url => { + if (await backgroundRenders(url, doc)) { + confirmedUrls.add(url); + } + })); + backgroundCandidates.forEach(({ + el, + background + }) => { + const proxied = this.proxyCssBackground(background, nonce, confirmedUrls); + if (proxied !== background) { + originalBackgrounds.push({ + el, + background: el.style.backgroundImage + }); + el.style.backgroundImage = proxied; + } + }); + // html-to-image copies the

    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 From c652c0b6373b23b254c1fe4fc74aec4ac67f4970 Mon Sep 17 00:00:00 2001 From: Christopher Butler Date: Mon, 3 Aug 2026 13:21:13 -0400 Subject: [PATCH 2/3] Update Premium Plugins Why these changes are being introduced: With the upgrade to a newer version of Matomo, we always update the versions of the free and premium plugins. There are no updates to the free plugins, just the preimum plugins. How these changes are implemented: * Store the new unzipped plugin packages in this repository * Update the Dockerfile to copy in the content from the new versions of the plugins. Related Jira tickets: * https://mitlibraries.atlassian.net/browse/INFRA-656 --- Dockerfile | 18 +- docs/HowTos/HOWTO-matomo-upgrade.md | 2 +- files/plugin-CustomReports-5.5.0/API.php | 1029 + .../Activity/BaseActivity.php | 113 + .../Activity/ReportAdded.php | 41 + .../Activity/ReportDeleted.php | 44 + .../Activity/ReportPaused.php | 42 + .../Activity/ReportResumed.php | 42 + .../Activity/ReportUpdated.php | 42 + files/plugin-CustomReports-5.5.0/Archiver.php | 39 + .../Archiver/ExecutionPlan.php | 112 + .../Archiver/NotJoinableException.php | 21 + .../Archiver/QueryBuilder.php | 478 + .../Archiver/ReportQuery.php | 284 + files/plugin-CustomReports-5.5.0/CHANGELOG.md | 360 + .../Categories/CustomReportsCategory.php | 27 + .../Categories/ManageReportsSubcategory.php | 32 + .../Columns/CustomMetricHelper.php | 112 + .../Columns/ProductCategory.php | 33 + .../Commands/ArchiveReports.php | 387 + .../Commands/GenerateReports.php | 95 + .../Configuration.php | 361 + .../plugin-CustomReports-5.5.0/Controller.php | 457 + .../CustomLogAggregator.php | 32 + .../CustomReports.php | 432 + .../Dao/CustomReportsDao.php | 416 + .../Filter/ReportTypeTableFilter.php | 123 + .../GetCustomReport.php | 525 + files/plugin-CustomReports-5.5.0/Glossary.php | 76 + .../Input/Category.php | 51 + .../Input/Description.php | 49 + .../Input/Dimensions.php | 99 + .../Input/Metrics.php | 76 + .../plugin-CustomReports-5.5.0/Input/Name.php | 51 + .../Input/ReportType.php | 45 + .../Input/SegmentFilter.php | 47 + .../Input/Subcategory.php | 49 + .../Input/Validator.php | 122 + files/plugin-CustomReports-5.5.0/LICENSE | 49 + files/plugin-CustomReports-5.5.0/Menu.php | 45 + .../Model/CustomReportsModel.php | 559 + files/plugin-CustomReports-5.5.0/README.md | 93 + .../RecordBuilders/CustomReport.php | 573 + .../ReportType/Evolution.php | 105 + .../ReportType/KpiCard.php | 45 + .../ReportType/ReportType.php | 82 + .../ReportType/Table.php | 123 + .../Updates/5.0.18.php | 68 + .../Updates/5.1.0.php | 62 + .../Updates/5.2.0.php | 63 + .../Updates/5.4.0.php | 77 + .../Updates/5.4.2.php | 42 + .../Widgets/BaseWidget.php | 36 + .../Widgets/GetManageReports.php | 74 + .../config/config.php | 5 + .../plugin-CustomReports-5.5.0/docs/index.md | 3 + files/plugin-CustomReports-5.5.0/lang/am.json | 1 + files/plugin-CustomReports-5.5.0/lang/ar.json | 1 + files/plugin-CustomReports-5.5.0/lang/az.json | 1 + files/plugin-CustomReports-5.5.0/lang/be.json | 1 + files/plugin-CustomReports-5.5.0/lang/bg.json | 7 + files/plugin-CustomReports-5.5.0/lang/bn.json | 1 + files/plugin-CustomReports-5.5.0/lang/bs.json | 1 + files/plugin-CustomReports-5.5.0/lang/ca.json | 1 + files/plugin-CustomReports-5.5.0/lang/cs.json | 12 + files/plugin-CustomReports-5.5.0/lang/cy.json | 1 + files/plugin-CustomReports-5.5.0/lang/da.json | 1 + files/plugin-CustomReports-5.5.0/lang/de.json | 79 + files/plugin-CustomReports-5.5.0/lang/dv.json | 1 + files/plugin-CustomReports-5.5.0/lang/el.json | 1 + files/plugin-CustomReports-5.5.0/lang/en.json | 134 + files/plugin-CustomReports-5.5.0/lang/eo.json | 1 + .../lang/es-ar.json | 1 + files/plugin-CustomReports-5.5.0/lang/es.json | 68 + files/plugin-CustomReports-5.5.0/lang/et.json | 1 + files/plugin-CustomReports-5.5.0/lang/eu.json | 1 + files/plugin-CustomReports-5.5.0/lang/fa.json | 1 + files/plugin-CustomReports-5.5.0/lang/fi.json | 1 + files/plugin-CustomReports-5.5.0/lang/fr.json | 128 + files/plugin-CustomReports-5.5.0/lang/ga.json | 1 + files/plugin-CustomReports-5.5.0/lang/gl.json | 1 + files/plugin-CustomReports-5.5.0/lang/gu.json | 1 + files/plugin-CustomReports-5.5.0/lang/he.json | 1 + files/plugin-CustomReports-5.5.0/lang/hi.json | 1 + files/plugin-CustomReports-5.5.0/lang/hr.json | 1 + files/plugin-CustomReports-5.5.0/lang/hu.json | 1 + files/plugin-CustomReports-5.5.0/lang/hy.json | 1 + files/plugin-CustomReports-5.5.0/lang/id.json | 1 + files/plugin-CustomReports-5.5.0/lang/is.json | 1 + files/plugin-CustomReports-5.5.0/lang/it.json | 76 + files/plugin-CustomReports-5.5.0/lang/ja.json | 1 + files/plugin-CustomReports-5.5.0/lang/ka.json | 1 + files/plugin-CustomReports-5.5.0/lang/ko.json | 1 + files/plugin-CustomReports-5.5.0/lang/ku.json | 1 + files/plugin-CustomReports-5.5.0/lang/lb.json | 1 + files/plugin-CustomReports-5.5.0/lang/lt.json | 1 + files/plugin-CustomReports-5.5.0/lang/lv.json | 1 + files/plugin-CustomReports-5.5.0/lang/ms.json | 1 + files/plugin-CustomReports-5.5.0/lang/nb.json | 1 + files/plugin-CustomReports-5.5.0/lang/nl.json | 70 + files/plugin-CustomReports-5.5.0/lang/nn.json | 1 + files/plugin-CustomReports-5.5.0/lang/pl.json | 44 + .../lang/pt-br.json | 1 + files/plugin-CustomReports-5.5.0/lang/pt.json | 70 + files/plugin-CustomReports-5.5.0/lang/ro.json | 5 + files/plugin-CustomReports-5.5.0/lang/ru.json | 1 + files/plugin-CustomReports-5.5.0/lang/si.json | 1 + files/plugin-CustomReports-5.5.0/lang/sk.json | 1 + files/plugin-CustomReports-5.5.0/lang/sl.json | 1 + files/plugin-CustomReports-5.5.0/lang/sq.json | 128 + files/plugin-CustomReports-5.5.0/lang/sr.json | 1 + files/plugin-CustomReports-5.5.0/lang/sv.json | 100 + files/plugin-CustomReports-5.5.0/lang/ta.json | 1 + files/plugin-CustomReports-5.5.0/lang/te.json | 1 + files/plugin-CustomReports-5.5.0/lang/th.json | 1 + files/plugin-CustomReports-5.5.0/lang/tl.json | 1 + files/plugin-CustomReports-5.5.0/lang/tr.json | 128 + .../plugin-CustomReports-5.5.0/lang/tzm.json | 1 + files/plugin-CustomReports-5.5.0/lang/uk.json | 5 + files/plugin-CustomReports-5.5.0/lang/ur.json | 1 + files/plugin-CustomReports-5.5.0/lang/vi.json | 1 + .../lang/zh-cn.json | 1 + .../lang/zh-tw.json | 12 + files/plugin-CustomReports-5.5.0/phpcs.xml | 36 + files/plugin-CustomReports-5.5.0/phpstan.neon | 19 + .../phpstan/phpstan.created.neon | 5 + .../phpstan/phpstan.modified.neon | 5 + files/plugin-CustomReports-5.5.0/plugin.json | 31 + .../pull_request_template.md | 29 + .../templates/manage.twig | 21 + .../vue/dist/CustomReports.umd.js | 2731 +++ .../vue/dist/CustomReports.umd.min.js | 44 + .../vue/dist/umd.metadata.json | 7 + .../vue/src/CustomReports.store.ts | 424 + .../vue/src/KpiCardView/KpiCardView.less | 3 + .../vue/src/KpiCardView/KpiCardView.vue | 276 + .../vue/src/Reports/DraggableList.less | 63 + .../vue/src/Reports/DraggableList.vue | 251 + .../vue/src/Reports/Edit.less | 113 + .../vue/src/Reports/Edit.vue | 1524 ++ .../vue/src/Reports/List.less | 58 + .../vue/src/Reports/List.vue | 451 + .../vue/src/Reports/Manage.vue | 108 + .../vue/src/index.ts | 19 + .../vue/src/truncateText2.ts | 21 + .../vue/src/types.ts | 70 + .../API.php | 1261 + .../Actions/ActionHsr.php | 61 + .../Activity/BaseActivity.php | 114 + .../Activity/HeatmapAdded.php | 41 + .../Activity/HeatmapDeleted.php | 46 + .../Activity/HeatmapEnded.php | 44 + .../Activity/HeatmapPaused.php | 46 + .../Activity/HeatmapResumed.php | 46 + .../Activity/HeatmapScreenshotDeleted.php | 46 + .../Activity/HeatmapUpdated.php | 42 + .../Activity/RecordedPageviewDeleted.php | 46 + .../Activity/RecordedSessionDeleted.php | 46 + .../Activity/SessionRecordingAdded.php | 41 + .../Activity/SessionRecordingDeleted.php | 46 + .../Activity/SessionRecordingEnded.php | 44 + .../Activity/SessionRecordingPaused.php | 46 + .../Activity/SessionRecordingResumed.php | 46 + .../Activity/SessionRecordingUpdated.php | 42 + .../Archiver/Aggregator.php | 476 + .../CHANGELOG.md | 514 + .../Categories/HeatmapCategory.php | 26 + .../Categories/ManageHeatmapSubcategory.php | 32 + .../ManageSessionRecordingSubcategory.php | 32 + .../Categories/SessionRecordingsCategory.php | 26 + .../Columns/Metrics/BaseMetric.php | 27 + .../Columns/Metrics/Browser.php | 67 + .../Columns/Metrics/Device.php | 78 + .../Columns/Metrics/Location.php | 86 + .../Columns/Metrics/OperatingSystem.php | 67 + .../Columns/Metrics/SessionTime.php | 97 + .../Columns/Metrics/TimeOnPage.php | 65 + .../Columns/Metrics/TimeOnSite.php | 37 + .../Columns/Metrics/TotalEvents.php | 48 + .../Commands/RemoveHeatmapScreenshot.php | 101 + .../Configuration.php | 145 + .../Controller.php | 664 + .../Dao/LogHsr.php | 375 + .../Dao/LogHsrBlob.php | 180 + .../Dao/LogHsrEvent.php | 166 + .../Dao/LogHsrSite.php | 143 + .../Dao/SiteHsrDao.php | 638 + .../Filter/EnrichRecordedSessions.php | 73 + .../Diagnostic/ConfigsPhpCheck.php | 112 + .../Emails/FinishedEmail.php | 132 + .../Emails/HeatmapFinishedEmail.php | 38 + .../Emails/SessionRecordingFinishedEmail.php | 38 + .../Fake/HeatmapDataGenerator.php | 225 + .../Fake/HsrCssPath.php | 283 + .../HeatmapSessionRecording.php | 1088 + .../ImageProxy.php | 194 + .../Input/Breakpoint.php | 66 + .../Input/CaptureKeystrokes.php | 40 + .../Input/Description.php | 50 + .../Input/ExcludedElements.php | 50 + .../Input/MinSessionTime.php | 57 + .../Input/Name.php | 51 + .../Input/PageRule.php | 80 + .../Input/PageRules.php | 61 + .../Input/RequiresActivity.php | 40 + .../Input/SampleLimit.php | 57 + .../Input/SampleRate.php | 62 + .../Input/ScreenshotUrl.php | 58 + .../Input/Validator.php | 233 + .../Install/HtAccess.php | 66 + .../Install/htaccessTemplate | 23 + .../LEGALNOTICE | 46 + .../LICENSE | 49 + .../Menu.php | 50 + .../Model/RepeatName.php | 111 + .../Model/SiteHsrModel.php | 828 + .../MutationManipulator.php | 319 + .../README.md | 117 + .../Reports/GetRecordedSessions.php | 353 + .../Settings/DisableHeatmapRecording.php | 119 + .../DisableHeatmapRecordingNoInterfaces.php | 34 + .../Settings/DisableSessionRecording.php | 119 + .../DisableSessionRecordingNoInterfaces.php | 34 + .../Settings/TrackingDisableDefault.php | 36 + .../SystemSettings.php | 326 + .../Tasks.php | 370 + .../Tracker/Configs.php | 160 + .../Tracker/HsrMatcher.php | 224 + .../Tracker/LogTable/LogHsr.php | 42 + .../Tracker/LogTable/LogHsrBlob.php | 37 + .../Tracker/LogTable/LogHsrEvent.php | 37 + .../Tracker/PageRuleMatcher.php | 305 + .../Tracker/RequestProcessor.php | 312 + .../Unsubscribe.php | 46 + .../Updates/3.0.10.php | 51 + .../Updates/3.0.11.php | 51 + .../Updates/3.0.3.php | 30 + .../Updates/4.0.0.php | 55 + .../Updates/5.1.0.php | 54 + .../Updates/5.4.0.php | 55 + .../Updates/5.5.0.php | 63 + .../Updates/5.5.5.php | 75 + .../Updates/5.6.0.php | 54 + .../UserSettings.php | 35 + .../VisitorDetails.php | 125 + .../Widgets/GetManageHeatmaps.php | 77 + .../Widgets/GetManageSessionRecordings.php | 66 + .../Widgets/GettingStartedHeatmap.php | 75 + .../Widgets/GettingStartedSessions.php | 75 + .../config/config.php | 21 + .../configs.php | 164 + .../docs/index.md | 3 + .../images/no-interactions.svg | 3 + .../javascripts/recording.js | 732 + .../javascripts/rowaction.js | 211 + .../lang/am.json | 1 + .../lang/ar.json | 1 + .../lang/az.json | 1 + .../lang/be.json | 1 + .../lang/bg.json | 7 + .../lang/bn.json | 1 + .../lang/bs.json | 1 + .../lang/ca.json | 1 + .../lang/cs.json | 190 + .../lang/cy.json | 1 + .../lang/da.json | 1 + .../lang/de.json | 80 + .../lang/dv.json | 1 + .../lang/el.json | 1 + .../lang/en.json | 358 + .../lang/eo.json | 1 + .../lang/es-ar.json | 1 + .../lang/es.json | 183 + .../lang/et.json | 1 + .../lang/eu.json | 1 + .../lang/fa.json | 1 + .../lang/fi.json | 1 + .../lang/fr.json | 247 + .../lang/ga.json | 1 + .../lang/gl.json | 1 + .../lang/gu.json | 1 + .../lang/he.json | 1 + .../lang/hi.json | 1 + .../lang/hr.json | 1 + .../lang/hu.json | 1 + .../lang/hy.json | 1 + .../lang/id.json | 1 + .../lang/is.json | 1 + .../lang/it.json | 190 + .../lang/ja.json | 1 + .../lang/ka.json | 1 + .../lang/ko.json | 1 + .../lang/ku.json | 1 + .../lang/lb.json | 1 + .../lang/lt.json | 1 + .../lang/lv.json | 1 + .../lang/ms.json | 1 + .../lang/nb.json | 35 + .../lang/nl.json | 185 + .../lang/nn.json | 1 + .../lang/pl.json | 185 + .../lang/pt-br.json | 1 + .../lang/pt.json | 185 + .../lang/ro.json | 6 + .../lang/ru.json | 1 + .../lang/si.json | 1 + .../lang/sk.json | 1 + .../lang/sl.json | 1 + .../lang/sq.json | 247 + .../lang/sr.json | 1 + .../lang/sv.json | 80 + .../lang/ta.json | 1 + .../lang/te.json | 1 + .../lang/th.json | 1 + .../lang/tl.json | 1 + .../lang/tr.json | 247 + .../lang/tzm.json | 1 + .../lang/uk.json | 6 + .../lang/ur.json | 1 + .../lang/vi.json | 1 + .../lang/zh-cn.json | 1 + .../lang/zh-tw.json | 185 + .../MutationObserver.js/MutationObserver.js | 624 + .../libs/MutationObserver.js/README.md | 68 + .../libs/MutationObserver.js/dist/README.md | 7 + .../dist/mutationobserver.min.js | 10 + .../libs/MutationObserver.js/license | 11 + .../libs/MutationObserver.js/package.json | 49 + .../libs/mutation-summary/COPYING | 202 + .../libs/mutation-summary/README.md | 59 + .../libs/mutation-summary/package.json | 30 + .../mutation-summary/src/mutation-summary.js | 1406 ++ .../mutation-summary/src/mutation-summary.ts | 1750 ++ .../libs/mutation-summary/util/tree-mirror.js | 275 + .../libs/mutation-summary/util/tree-mirror.ts | 383 + .../libs/svg.js/CHANGELOG.md | 642 + .../libs/svg.js/LICENSE.txt | 21 + .../libs/svg.js/README.md | 29 + .../libs/svg.js/dist/svg.js | 5518 +++++ .../libs/svg.js/dist/svg.min.js | 3 + .../libs/svg.js/package.json | 84 + .../package-lock.json | 1243 + .../package.json | 32 + .../patches/html-to-image+1.11.13.patch | 26 + .../phpcs.xml | 37 + .../plugin.json | 41 + .../pull_request_template.md | 29 + .../stylesheets/edit-entities.less | 101 + .../stylesheets/list-entities.less | 51 + .../stylesheets/recordings.less | 154 + .../templates/_detectAdBlocker.twig | 26 + .../templates/_finishedEmail.twig | 4 + .../templates/embedPage.twig | 43 + .../templates/gettingStartedHeatmaps.twig | 2 + .../templates/gettingStartedSessions.twig | 2 + .../templates/manageHeatmap.twig | 22 + .../templates/manageSessions.twig | 20 + .../templates/replayRecording.twig | 60 + .../templates/showHeatmap.twig | 22 + .../templates/unsubscribe.twig | 72 + .../tracker.min.js | 125 + .../tsconfig.json | 14 + .../vue/dist/HeatmapSessionRecording.umd.js | 8294 +++++++ .../dist/HeatmapSessionRecording.umd.min.js | 101 + .../vue/dist/umd.metadata.json | 6 + .../src/HeatmapVis/HeatmapEmptyState.spec.ts | 89 + .../vue/src/HeatmapVis/HeatmapEmptyState.vue | 102 + .../HeatmapSettingsDropdown.spec.ts | 135 + .../HeatmapVis/HeatmapSettingsDropdown.vue | 101 + .../vue/src/HeatmapVis/HeatmapVis.less | 925 + .../vue/src/HeatmapVis/HeatmapVis.spec.ts | 1029 + .../vue/src/HeatmapVis/HeatmapVis.vue | 2306 ++ .../vue/src/HeatmapVis/HeatmapVisPage.vue | 264 + .../src/HeatmapVis/heatmapGradient.spec.ts | 115 + .../vue/src/HeatmapVis/heatmapGradient.ts | 102 + .../vue/src/HsrStore/HsrStore.store.ts | 222 + .../vue/src/HsrTargetTest/HsrTargetTest.less | 20 + .../vue/src/HsrTargetTest/HsrTargetTest.vue | 181 + .../AvailableTargetPageRules.store.ts | 57 + .../vue/src/HsrUrlTarget/HsrUrlTarget.less | 17 + .../vue/src/HsrUrlTarget/HsrUrlTarget.vue | 225 + .../vue/src/HsrUrlTarget/simpleTargeting.ts | 43 + .../src/ListOfPageviews/ListOfPageviews.vue | 85 + .../vue/src/ManageHeatmap/Edit.vue | 742 + .../vue/src/ManageHeatmap/List.vue | 404 + .../vue/src/ManageHeatmap/Manage.vue | 140 + .../vue/src/ManageSessionRecording/Edit.vue | 601 + .../vue/src/ManageSessionRecording/List.vue | 319 + .../vue/src/ManageSessionRecording/Manage.vue | 128 + .../MatomoJsNotWritableAlert.vue | 47 + .../SessionRecordingVis.less | 131 + .../SessionRecordingVis.vue | 1222 + .../vue/src/Tooltip/Tooltip.less | 61 + .../vue/src/Tooltip/Tooltip.spec.ts | 78 + .../vue/src/Tooltip/Tooltip.vue | 115 + .../vue/src/getIframeWindow.ts | 27 + .../vue/src/index.ts | 29 + .../vue/src/oneAtATime.ts | 43 + .../vue/src/types.ts | 142 + .../API.php | 432 + .../Activity/AccountAdded.php | 46 + .../Activity/AccountRemoved.php | 46 + .../Activity/GoogleClientConfigChanged.php | 46 + .../Activity/YandexClientConfigChanged.php | 46 + .../Archiver.php | 35 + .../CHANGELOG.md | 311 + .../CrawlingOverviewSubcategory.php | 31 + .../Categories/SearchKeywordsSubcategory.php | 26 + .../Client/Bing.php | 381 + .../Configuration/BaseConfiguration.php | 49 + .../Client/Configuration/Bing.php | 104 + .../Client/Configuration/Google.php | 208 + .../Client/Configuration/Yandex.php | 156 + .../Client/Google.php | 570 + .../Client/Yandex.php | 622 + .../Columns/Keyword.php | 28 + .../Commands/ImportBing.php | 51 + .../Commands/ImportGoogle.php | 55 + .../Commands/ImportYandex.php | 55 + .../Configuration.php | 67 + .../Controller.php | 1239 + .../Diagnostic/BingAccountDiagnostic.php | 76 + .../Diagnostic/GoogleAccountDiagnostic.php | 71 + .../Diagnostic/YandexAccountDiagnostic.php | 76 + .../Encryption.php | 126 + .../InvalidClientConfigException.php | 21 + .../InvalidCredentialsException.php | 21 + .../MissingClientConfigException.php | 21 + .../MissingOAuthConfigException.php | 21 + .../Exceptions/RateLimitApiException.php | 21 + .../SecretConfigurationException.php | 21 + .../Exceptions/UnknownAPIException.php | 21 + .../Importer/Bing.php | 311 + .../Importer/Google.php | 380 + .../Importer/Yandex.php | 305 + .../LICENSE | 49 + .../MeasurableSettings.php | 202 + .../Menu.php | 30 + .../Metrics.php | 167 + .../Model/Bing.php | 168 + .../Model/Google.php | 131 + .../Model/Yandex.php | 147 + .../Monolog/Handler/SEKPSystemLogHandler.php | 33 + .../Provider/Bing.php | 175 + .../Provider/Google.php | 165 + .../Provider/Helper/MeasurableHelper.php | 53 + .../Provider/ProviderAbstract.php | 165 + .../Provider/Yandex.php | 165 + .../README.md | 98 + .../RecordBuilders/Base.php | 32 + .../RecordBuilders/Bing.php | 208 + .../RecordBuilders/Google.php | 155 + .../RecordBuilders/Yandex.php | 196 + .../Reports/Base.php | 205 + .../Reports/GetCrawlingErrorExamplesBing.php | 100 + .../Reports/GetCrawlingOverviewBing.php | 132 + .../Reports/GetCrawlingOverviewYandex.php | 107 + .../Reports/GetKeywords.php | 53 + .../Reports/GetKeywordsBing.php | 90 + .../Reports/GetKeywordsGoogleImage.php | 44 + .../Reports/GetKeywordsGoogleNews.php | 44 + .../Reports/GetKeywordsGoogleVideo.php | 44 + .../Reports/GetKeywordsGoogleWeb.php | 43 + .../Reports/GetKeywordsImported.php | 58 + .../Reports/GetKeywordsReferrers.php | 46 + .../Reports/GetKeywordsYandex.php | 62 + .../SearchEngineKeywordsPerformance.php | 992 + .../Settings/EncryptedBingSiteSetting.php | 87 + .../SystemSettings.php | 41 + .../Tasks.php | 107 + .../Updates/3.5.0.php | 45 + .../Updates/4.1.0.php | 30 + .../Updates/4.2.0.php | 29 + .../Updates/5.1.0.php | 77 + .../config/config.php | 29 + .../docs/index.md | 3 + .../images/Bing.png | Bin 0 -> 14323 bytes .../images/BingLogo.png | Bin 0 -> 5070 bytes .../images/Google.png | Bin 0 -> 18767 bytes .../images/GoogleLogo.png | Bin 0 -> 2228 bytes .../images/Yahoo.png | Bin 0 -> 7776 bytes .../images/Yandex.png | Bin 0 -> 18422 bytes .../images/YandexLogo.png | Bin 0 -> 1980 bytes .../lang/am.json | 1 + .../lang/ar.json | 1 + .../lang/az.json | 1 + .../lang/be.json | 1 + .../lang/bg.json | 6 + .../lang/bn.json | 1 + .../lang/bs.json | 1 + .../lang/ca.json | 1 + .../lang/cs.json | 1 + .../lang/cy.json | 1 + .../lang/da.json | 1 + .../lang/de.json | 224 + .../lang/dv.json | 1 + .../lang/el.json | 1 + .../lang/en.json | 272 + .../lang/eo.json | 1 + .../lang/es-ar.json | 1 + .../lang/es.json | 170 + .../lang/et.json | 1 + .../lang/eu.json | 1 + .../lang/fa.json | 1 + .../lang/fi.json | 1 + .../lang/fr.json | 241 + .../lang/ga.json | 1 + .../lang/gl.json | 1 + .../lang/gu.json | 1 + .../lang/he.json | 1 + .../lang/hi.json | 1 + .../lang/hr.json | 1 + .../lang/hu.json | 1 + .../lang/hy.json | 1 + .../lang/id.json | 1 + .../lang/is.json | 1 + .../lang/it.json | 225 + .../lang/ja.json | 1 + .../lang/ka.json | 1 + .../lang/ko.json | 1 + .../lang/ku.json | 1 + .../lang/lb.json | 1 + .../lang/lt.json | 1 + .../lang/lv.json | 1 + .../lang/ms.json | 1 + .../lang/nb.json | 1 + .../lang/nl.json | 183 + .../lang/nn.json | 1 + .../lang/pl.json | 178 + .../lang/pt-br.json | 1 + .../lang/pt.json | 178 + .../lang/ro.json | 1 + .../lang/ru.json | 81 + .../lang/si.json | 1 + .../lang/sk.json | 1 + .../lang/sl.json | 1 + .../lang/sq.json | 241 + .../lang/sr.json | 1 + .../lang/sv.json | 37 + .../lang/ta.json | 1 + .../lang/te.json | 1 + .../lang/th.json | 1 + .../lang/tl.json | 1 + .../lang/tr.json | 241 + .../lang/tzm.json | 1 + .../lang/uk.json | 1 + .../lang/ur.json | 1 + .../lang/vi.json | 1 + .../lang/zh-cn.json | 1 + .../lang/zh-tw.json | 178 + .../phpcs.xml | 41 + .../phpstan.neon | 19 + .../plugin.json | 31 + .../pull_request_template.md | 29 + .../scoper.inc.php | 141 + .../stylesheets/styles.less | 356 + .../templates/bing/configuration.twig | 24 + .../templates/google/configuration.twig | 32 + .../templates/index.twig | 12 + .../messageReferrerKeywordsReport.twig | 10 + .../templates/yandex/configuration.twig | 31 + .../vendor/autoload.php | 10 + .../vendor/autoload_original.php | 22 + .../vendor/composer/ClassLoader.php | 579 + .../vendor/composer/InstalledVersions.php | 359 + .../vendor/composer/LICENSE | 21 + .../vendor/composer/autoload_classmap.php | 10 + .../vendor/composer/autoload_files.php | 15 + .../vendor/composer/autoload_namespaces.php | 9 + .../vendor/composer/autoload_psr4.php | 21 + .../vendor/composer/autoload_real.php | 48 + .../vendor/composer/autoload_static.php | 105 + .../vendor/composer/installed.json | 1163 + .../vendor/composer/installed.php | 197 + .../vendor/prefixed/firebase/php-jwt/LICENSE | 30 + .../php-jwt/src/BeforeValidException.php | 19 + .../firebase/php-jwt/src/CachedKeySet.php | 226 + .../firebase/php-jwt/src/ExpiredException.php | 19 + .../prefixed/firebase/php-jwt/src/JWK.php | 267 + .../prefixed/firebase/php-jwt/src/JWT.php | 572 + .../src/JWTExceptionWithPayloadInterface.php | 20 + .../prefixed/firebase/php-jwt/src/Key.php | 50 + .../php-jwt/src/SignatureInvalidException.php | 7 + .../google/apiclient-services/LICENSE | 203 + .../google/apiclient-services/autoload.php | 28 + .../google/apiclient-services/renovate.json | 7 + .../google/apiclient-services/src/Oauth2.php | 82 + .../src/Oauth2/Resource/Userinfo.php | 45 + .../src/Oauth2/Resource/UserinfoV2.php | 32 + .../src/Oauth2/Resource/UserinfoV2Me.php | 45 + .../src/Oauth2/Tokeninfo.php | 88 + .../src/Oauth2/Userinfo.php | 124 + .../apiclient-services/src/SearchConsole.php | 67 + .../src/SearchConsole/ApiDataRow.php | 70 + .../src/SearchConsole/ApiDimensionFilter.php | 51 + .../SearchConsole/ApiDimensionFilterGroup.php | 50 + .../src/SearchConsole/BlockedResource.php | 33 + .../src/SearchConsole/Image.php | 42 + .../src/SearchConsole/MobileFriendlyIssue.php | 33 + .../Resource/Searchanalytics.php | 54 + .../src/SearchConsole/Resource/Sitemaps.php | 99 + .../src/SearchConsole/Resource/Sites.php | 86 + .../Resource/UrlTestingTools.php | 32 + .../UrlTestingToolsMobileFriendlyTest.php | 47 + .../src/SearchConsole/ResourceIssue.php | 40 + .../RunMobileFriendlyTestRequest.php | 42 + .../RunMobileFriendlyTestResponse.php | 98 + .../SearchAnalyticsQueryRequest.php | 122 + .../SearchAnalyticsQueryResponse.php | 50 + .../SearchConsole/SitemapsListResponse.php | 41 + .../src/SearchConsole/SitesListResponse.php | 41 + .../src/SearchConsole/TestStatus.php | 42 + .../src/SearchConsole/WmxSite.php | 42 + .../src/SearchConsole/WmxSitemap.php | 113 + .../src/SearchConsole/WmxSitemapContent.php | 51 + .../google/apiclient-services/synth.metadata | 18 + .../google/apiclient-services/synth.py | 119 + .../vendor/prefixed/google/apiclient/LICENSE | 203 + .../apiclient/src/AccessToken/Revoke.php | 65 + .../apiclient/src/AccessToken/Verify.php | 217 + .../src/AuthHandler/AuthHandlerFactory.php | 47 + .../src/AuthHandler/Guzzle6AuthHandler.php | 76 + .../src/AuthHandler/Guzzle7AuthHandler.php | 25 + .../prefixed/google/apiclient/src/Client.php | 1032 + .../google/apiclient/src/Collection.php | 104 + .../google/apiclient/src/Exception.php | 23 + .../google/apiclient/src/Http/Batch.php | 190 + .../apiclient/src/Http/MediaFileUpload.php | 273 + .../google/apiclient/src/Http/REST.php | 153 + .../prefixed/google/apiclient/src/Model.php | 301 + .../prefixed/google/apiclient/src/Service.php | 63 + .../apiclient/src/Service/Exception.php | 65 + .../google/apiclient/src/Service/Resource.php | 214 + .../google/apiclient/src/Task/Composer.php | 77 + .../google/apiclient/src/Task/Exception.php | 23 + .../google/apiclient/src/Task/Retryable.php | 26 + .../google/apiclient/src/Task/Runner.php | 235 + .../apiclient/src/Utils/UriTemplate.php | 264 + .../prefixed/google/apiclient/src/aliases.php | 80 + .../vendor/prefixed/google/auth/COPYING | 202 + .../vendor/prefixed/google/auth/LICENSE | 203 + .../vendor/prefixed/google/auth/VERSION | 1 + .../vendor/prefixed/google/auth/autoload.php | 35 + .../prefixed/google/auth/src/AccessToken.php | 430 + .../src/ApplicationDefaultCredentials.php | 301 + .../src/Cache/InvalidArgumentException.php | 23 + .../prefixed/google/auth/src/Cache/Item.php | 146 + .../auth/src/Cache/MemoryCacheItemPool.php | 161 + .../auth/src/Cache/SysVCacheItemPool.php | 207 + .../google/auth/src/Cache/TypedItem.php | 152 + .../prefixed/google/auth/src/CacheTrait.php | 96 + .../src/CredentialSource/AwsNativeSource.php | 287 + .../auth/src/CredentialSource/FileSource.php | 69 + .../auth/src/CredentialSource/UrlSource.php | 83 + .../Credentials/AppIdentityCredentials.php | 209 + .../ExternalAccountCredentials.php | 177 + .../auth/src/Credentials/GCECredentials.php | 493 + .../auth/src/Credentials/IAMCredentials.php | 77 + .../ImpersonatedServiceAccountCredentials.php | 120 + .../src/Credentials/InsecureCredentials.php | 62 + .../Credentials/ServiceAccountCredentials.php | 312 + .../ServiceAccountJwtAccessCredentials.php | 171 + .../Credentials/UserRefreshCredentials.php | 130 + .../google/auth/src/CredentialsLoader.php | 242 + ...ternalAccountCredentialSourceInterface.php | 23 + .../google/auth/src/FetchAuthTokenCache.php | 238 + .../auth/src/FetchAuthTokenInterface.php | 52 + .../prefixed/google/auth/src/GCECache.php | 70 + .../auth/src/GetQuotaProjectInterface.php | 32 + .../auth/src/GetUniverseDomainInterface.php | 34 + .../src/HttpHandler/Guzzle6HttpHandler.php | 59 + .../src/HttpHandler/Guzzle7HttpHandler.php | 22 + .../auth/src/HttpHandler/HttpClientCache.php | 51 + .../src/HttpHandler/HttpHandlerFactory.php | 62 + .../vendor/prefixed/google/auth/src/Iam.php | 79 + .../google/auth/src/IamSignerTrait.php | 58 + .../src/Middleware/AuthTokenMiddleware.php | 138 + .../Middleware/ProxyAuthTokenMiddleware.php | 130 + .../ScopedAccessTokenMiddleware.php | 140 + .../auth/src/Middleware/SimpleMiddleware.php | 86 + .../prefixed/google/auth/src/OAuth2.php | 1515 ++ .../auth/src/ProjectIdProviderInterface.php | 32 + .../auth/src/ServiceAccountSignerTrait.php | 53 + .../google/auth/src/SignBlobInterface.php | 43 + .../auth/src/UpdateMetadataInterface.php | 36 + .../google/auth/src/UpdateMetadataTrait.php | 62 + .../vendor/prefixed/guzzlehttp/guzzle/LICENSE | 27 + .../guzzlehttp/guzzle/package-lock.json | 6 + .../guzzlehttp/guzzle/src/BodySummarizer.php | 23 + .../guzzle/src/BodySummarizerInterface.php | 12 + .../prefixed/guzzlehttp/guzzle/src/Client.php | 402 + .../guzzlehttp/guzzle/src/ClientInterface.php | 78 + .../guzzlehttp/guzzle/src/ClientTrait.php | 227 + .../guzzle/src/Cookie/CookieJar.php | 240 + .../guzzle/src/Cookie/CookieJarInterface.php | 74 + .../guzzle/src/Cookie/FileCookieJar.php | 92 + .../guzzle/src/Cookie/SessionCookieJar.php | 82 + .../guzzle/src/Cookie/SetCookie.php | 411 + .../src/Exception/BadResponseException.php | 31 + .../guzzle/src/Exception/ClientException.php | 10 + .../guzzle/src/Exception/ConnectException.php | 47 + .../guzzle/src/Exception/GuzzleException.php | 8 + .../Exception/InvalidArgumentException.php | 7 + .../guzzle/src/Exception/RequestException.php | 111 + .../guzzle/src/Exception/ServerException.php | 10 + .../Exception/TooManyRedirectsException.php | 7 + .../src/Exception/TransferException.php | 7 + .../guzzle/src/Handler/CurlFactory.php | 632 + .../src/Handler/CurlFactoryInterface.php | 23 + .../guzzle/src/Handler/CurlHandler.php | 43 + .../guzzle/src/Handler/CurlMultiHandler.php | 237 + .../guzzle/src/Handler/EasyHandle.php | 92 + .../guzzle/src/Handler/HeaderProcessor.php | 36 + .../guzzle/src/Handler/MockHandler.php | 174 + .../guzzlehttp/guzzle/src/Handler/Proxy.php | 49 + .../guzzle/src/Handler/StreamHandler.php | 478 + .../guzzlehttp/guzzle/src/HandlerStack.php | 238 + .../guzzle/src/MessageFormatter.php | 168 + .../guzzle/src/MessageFormatterInterface.php | 17 + .../guzzlehttp/guzzle/src/Middleware.php | 227 + .../prefixed/guzzlehttp/guzzle/src/Pool.php | 116 + .../guzzle/src/PrepareBodyMiddleware.php | 86 + .../guzzle/src/RedirectMiddleware.php | 162 + .../guzzlehttp/guzzle/src/RequestOptions.php | 244 + .../guzzlehttp/guzzle/src/RetryMiddleware.php | 91 + .../guzzlehttp/guzzle/src/TransferStats.php | 114 + .../prefixed/guzzlehttp/guzzle/src/Utils.php | 342 + .../guzzlehttp/guzzle/src/functions.php | 158 + .../guzzle/src/functions_include.php | 8 + .../prefixed/guzzlehttp/promises/LICENSE | 24 + .../promises/src/AggregateException.php | 15 + .../promises/src/CancellationException.php | 11 + .../guzzlehttp/promises/src/Coroutine.php | 145 + .../guzzlehttp/promises/src/Create.php | 71 + .../prefixed/guzzlehttp/promises/src/Each.php | 67 + .../guzzlehttp/promises/src/EachPromise.php | 212 + .../promises/src/FulfilledPromise.php | 73 + .../prefixed/guzzlehttp/promises/src/Is.php | 36 + .../guzzlehttp/promises/src/Promise.php | 236 + .../promises/src/PromiseInterface.php | 80 + .../promises/src/PromisorInterface.php | 15 + .../promises/src/RejectedPromise.php | 78 + .../promises/src/RejectionException.php | 41 + .../guzzlehttp/promises/src/TaskQueue.php | 65 + .../promises/src/TaskQueueInterface.php | 21 + .../guzzlehttp/promises/src/Utils.php | 244 + .../vendor/prefixed/guzzlehttp/psr7/LICENSE | 26 + .../guzzlehttp/psr7/src/AppendStream.php | 206 + .../guzzlehttp/psr7/src/BufferStream.php | 121 + .../guzzlehttp/psr7/src/CachingStream.php | 152 + .../guzzlehttp/psr7/src/DroppingStream.php | 40 + .../src/Exception/MalformedUriException.php | 12 + .../prefixed/guzzlehttp/psr7/src/FnStream.php | 149 + .../prefixed/guzzlehttp/psr7/src/Header.php | 117 + .../guzzlehttp/psr7/src/HttpFactory.php | 76 + .../guzzlehttp/psr7/src/InflateStream.php | 33 + .../guzzlehttp/psr7/src/LazyOpenStream.php | 41 + .../guzzlehttp/psr7/src/LimitStream.php | 129 + .../prefixed/guzzlehttp/psr7/src/Message.php | 246 + .../guzzlehttp/psr7/src/MessageTrait.php | 224 + .../prefixed/guzzlehttp/psr7/src/MimeType.php | 27 + .../guzzlehttp/psr7/src/MultipartStream.php | 163 + .../guzzlehttp/psr7/src/NoSeekStream.php | 23 + .../guzzlehttp/psr7/src/PumpStream.php | 149 + .../prefixed/guzzlehttp/psr7/src/Query.php | 112 + .../prefixed/guzzlehttp/psr7/src/Request.php | 126 + .../prefixed/guzzlehttp/psr7/src/Response.php | 78 + .../prefixed/guzzlehttp/psr7/src/Rfc3986.php | 23 + .../prefixed/guzzlehttp/psr7/src/Rfc7230.php | 88 + .../guzzlehttp/psr7/src/ServerRequest.php | 311 + .../prefixed/guzzlehttp/psr7/src/Stream.php | 235 + .../psr7/src/StreamDecoratorTrait.php | 131 + .../guzzlehttp/psr7/src/StreamWrapper.php | 149 + .../guzzlehttp/psr7/src/UploadedFile.php | 152 + .../prefixed/guzzlehttp/psr7/src/Uri.php | 608 + .../guzzlehttp/psr7/src/UriComparator.php | 43 + .../guzzlehttp/psr7/src/UriNormalizer.php | 186 + .../guzzlehttp/psr7/src/UriResolver.php | 176 + .../prefixed/guzzlehttp/psr7/src/Utils.php | 427 + .../constant_time_encoding/LICENSE.txt | 48 + .../constant_time_encoding/src/Base32.php | 404 + .../constant_time_encoding/src/Base32Hex.php | 98 + .../constant_time_encoding/src/Base64.php | 257 + .../src/Base64DotSlash.php | 78 + .../src/Base64DotSlashOrdered.php | 74 + .../src/Base64UrlSafe.php | 82 + .../constant_time_encoding/src/Binary.php | 85 + .../src/EncoderInterface.php | 51 + .../constant_time_encoding/src/Encoding.php | 244 + .../constant_time_encoding/src/Hex.php | 124 + .../constant_time_encoding/src/RFC4648.php | 176 + .../prefixed/paragonie/random_compat/LICENSE | 22 + .../paragonie/random_compat/build-phar.sh | 5 + .../dist/random_compat.phar.pubkey | 5 + .../dist/random_compat.phar.pubkey.asc | 11 + .../paragonie/random_compat/lib/random.php | 34 + .../random_compat/other/build_phar.php | 44 + .../random_compat/psalm-autoload.php | 10 + .../paragonie/random_compat/psalm.xml | 19 + .../prefixed/phpseclib/phpseclib/AUTHORS | 7 + .../prefixed/phpseclib/phpseclib/LICENSE | 20 + .../phpseclib/Common/Functions/Strings.php | 460 + .../phpseclib/phpseclib/Crypt/AES.php | 112 + .../phpseclib/phpseclib/Crypt/Blowfish.php | 591 + .../phpseclib/phpseclib/Crypt/ChaCha20.php | 999 + .../phpseclib/Crypt/Common/AsymmetricKey.php | 511 + .../phpseclib/Crypt/Common/BlockCipher.php | 23 + .../Crypt/Common/Formats/Keys/JWK.php | 68 + .../Crypt/Common/Formats/Keys/OpenSSH.php | 199 + .../Crypt/Common/Formats/Keys/PKCS.php | 67 + .../Crypt/Common/Formats/Keys/PKCS1.php | 187 + .../Crypt/Common/Formats/Keys/PKCS8.php | 635 + .../Crypt/Common/Formats/Keys/PuTTY.php | 330 + .../Crypt/Common/Formats/Signature/Raw.php | 53 + .../phpseclib/Crypt/Common/PrivateKey.php | 29 + .../phpseclib/Crypt/Common/PublicKey.php | 24 + .../phpseclib/Crypt/Common/StreamCipher.php | 51 + .../phpseclib/Crypt/Common/SymmetricKey.php | 3101 +++ .../Crypt/Common/Traits/Fingerprint.php | 55 + .../Crypt/Common/Traits/PasswordProtected.php | 44 + .../phpseclib/phpseclib/Crypt/DES.php | 522 + .../phpseclib/phpseclib/Crypt/DH.php | 295 + .../phpseclib/Crypt/DH/Formats/Keys/PKCS1.php | 65 + .../phpseclib/Crypt/DH/Formats/Keys/PKCS8.php | 115 + .../phpseclib/Crypt/DH/Parameters.php | 33 + .../phpseclib/Crypt/DH/PrivateKey.php | 64 + .../phpseclib/Crypt/DH/PublicKey.php | 44 + .../phpseclib/phpseclib/Crypt/DSA.php | 292 + .../Crypt/DSA/Formats/Keys/OpenSSH.php | 102 + .../Crypt/DSA/Formats/Keys/PKCS1.php | 126 + .../Crypt/DSA/Formats/Keys/PKCS8.php | 125 + .../Crypt/DSA/Formats/Keys/PuTTY.php | 101 + .../phpseclib/Crypt/DSA/Formats/Keys/Raw.php | 78 + .../phpseclib/Crypt/DSA/Formats/Keys/XML.php | 123 + .../Crypt/DSA/Formats/Signature/ASN1.php | 57 + .../Crypt/DSA/Formats/Signature/Raw.php | 23 + .../Crypt/DSA/Formats/Signature/SSH2.php | 61 + .../phpseclib/Crypt/DSA/Parameters.php | 33 + .../phpseclib/Crypt/DSA/PrivateKey.php | 133 + .../phpseclib/Crypt/DSA/PublicKey.php | 75 + .../phpseclib/phpseclib/Crypt/EC.php | 414 + .../phpseclib/Crypt/EC/BaseCurves/Base.php | 192 + .../phpseclib/Crypt/EC/BaseCurves/Binary.php | 324 + .../Crypt/EC/BaseCurves/KoblitzPrime.php | 273 + .../Crypt/EC/BaseCurves/Montgomery.php | 246 + .../phpseclib/Crypt/EC/BaseCurves/Prime.php | 695 + .../Crypt/EC/BaseCurves/TwistedEdwards.php | 190 + .../phpseclib/Crypt/EC/Curves/Curve25519.php | 73 + .../phpseclib/Crypt/EC/Curves/Curve448.php | 76 + .../phpseclib/Crypt/EC/Curves/Ed25519.php | 295 + .../phpseclib/Crypt/EC/Curves/Ed448.php | 222 + .../Crypt/EC/Curves/brainpoolP160r1.php | 26 + .../Crypt/EC/Curves/brainpoolP160t1.php | 43 + .../Crypt/EC/Curves/brainpoolP192r1.php | 26 + .../Crypt/EC/Curves/brainpoolP192t1.php | 30 + .../Crypt/EC/Curves/brainpoolP224r1.php | 26 + .../Crypt/EC/Curves/brainpoolP224t1.php | 30 + .../Crypt/EC/Curves/brainpoolP256r1.php | 26 + .../Crypt/EC/Curves/brainpoolP256t1.php | 30 + .../Crypt/EC/Curves/brainpoolP320r1.php | 26 + .../Crypt/EC/Curves/brainpoolP320t1.php | 30 + .../Crypt/EC/Curves/brainpoolP384r1.php | 26 + .../Crypt/EC/Curves/brainpoolP384t1.php | 30 + .../Crypt/EC/Curves/brainpoolP512r1.php | 26 + .../Crypt/EC/Curves/brainpoolP512t1.php | 30 + .../phpseclib/Crypt/EC/Curves/nistb233.php | 17 + .../phpseclib/Crypt/EC/Curves/nistb409.php | 17 + .../phpseclib/Crypt/EC/Curves/nistk163.php | 17 + .../phpseclib/Crypt/EC/Curves/nistk233.php | 17 + .../phpseclib/Crypt/EC/Curves/nistk283.php | 17 + .../phpseclib/Crypt/EC/Curves/nistk409.php | 17 + .../phpseclib/Crypt/EC/Curves/nistp192.php | 17 + .../phpseclib/Crypt/EC/Curves/nistp224.php | 17 + .../phpseclib/Crypt/EC/Curves/nistp256.php | 17 + .../phpseclib/Crypt/EC/Curves/nistp384.php | 17 + .../phpseclib/Crypt/EC/Curves/nistp521.php | 17 + .../phpseclib/Crypt/EC/Curves/nistt571.php | 17 + .../phpseclib/Crypt/EC/Curves/prime192v1.php | 17 + .../phpseclib/Crypt/EC/Curves/prime192v2.php | 26 + .../phpseclib/Crypt/EC/Curves/prime192v3.php | 26 + .../phpseclib/Crypt/EC/Curves/prime239v1.php | 26 + .../phpseclib/Crypt/EC/Curves/prime239v2.php | 26 + .../phpseclib/Crypt/EC/Curves/prime239v3.php | 26 + .../phpseclib/Crypt/EC/Curves/prime256v1.php | 17 + .../phpseclib/Crypt/EC/Curves/secp112r1.php | 26 + .../phpseclib/Crypt/EC/Curves/secp112r2.php | 27 + .../phpseclib/Crypt/EC/Curves/secp128r1.php | 26 + .../phpseclib/Crypt/EC/Curves/secp128r2.php | 27 + .../phpseclib/Crypt/EC/Curves/secp160k1.php | 31 + .../phpseclib/Crypt/EC/Curves/secp160r1.php | 26 + .../phpseclib/Crypt/EC/Curves/secp160r2.php | 27 + .../phpseclib/Crypt/EC/Curves/secp192k1.php | 30 + .../phpseclib/Crypt/EC/Curves/secp192r1.php | 68 + .../phpseclib/Crypt/EC/Curves/secp224k1.php | 30 + .../phpseclib/Crypt/EC/Curves/secp224r1.php | 26 + .../phpseclib/Crypt/EC/Curves/secp256k1.php | 34 + .../phpseclib/Crypt/EC/Curves/secp256r1.php | 26 + .../phpseclib/Crypt/EC/Curves/secp384r1.php | 26 + .../phpseclib/Crypt/EC/Curves/secp521r1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect113r1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect113r2.php | 26 + .../phpseclib/Crypt/EC/Curves/sect131r1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect131r2.php | 26 + .../phpseclib/Crypt/EC/Curves/sect163k1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect163r1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect163r2.php | 26 + .../phpseclib/Crypt/EC/Curves/sect193r1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect193r2.php | 26 + .../phpseclib/Crypt/EC/Curves/sect233k1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect233r1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect239k1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect283k1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect283r1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect409k1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect409r1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect571k1.php | 26 + .../phpseclib/Crypt/EC/Curves/sect571r1.php | 26 + .../Crypt/EC/Formats/Keys/Common.php | 489 + .../phpseclib/Crypt/EC/Formats/Keys/JWK.php | 155 + .../EC/Formats/Keys/MontgomeryPrivate.php | 93 + .../EC/Formats/Keys/MontgomeryPublic.php | 65 + .../Crypt/EC/Formats/Keys/OpenSSH.php | 163 + .../phpseclib/Crypt/EC/Formats/Keys/PKCS1.php | 154 + .../phpseclib/Crypt/EC/Formats/Keys/PKCS8.php | 185 + .../phpseclib/Crypt/EC/Formats/Keys/PuTTY.php | 115 + .../phpseclib/Crypt/EC/Formats/Keys/XML.php | 373 + .../Crypt/EC/Formats/Keys/libsodium.php | 106 + .../Crypt/EC/Formats/Signature/ASN1.php | 57 + .../Crypt/EC/Formats/Signature/IEEE.php | 62 + .../Crypt/EC/Formats/Signature/Raw.php | 23 + .../Crypt/EC/Formats/Signature/SSH2.php | 83 + .../phpseclib/Crypt/EC/Parameters.php | 33 + .../phpseclib/Crypt/EC/PrivateKey.php | 251 + .../phpseclib/Crypt/EC/PublicKey.php | 137 + .../phpseclib/phpseclib/Crypt/Hash.php | 1474 ++ .../phpseclib/Crypt/PublicKeyLoader.php | 103 + .../phpseclib/phpseclib/Crypt/RC2.php | 478 + .../phpseclib/phpseclib/Crypt/RC4.php | 258 + .../phpseclib/phpseclib/Crypt/RSA.php | 823 + .../phpseclib/Crypt/RSA/Formats/Keys/JWK.php | 116 + .../Crypt/RSA/Formats/Keys/MSBLOB.php | 203 + .../Crypt/RSA/Formats/Keys/OpenSSH.php | 101 + .../Crypt/RSA/Formats/Keys/PKCS1.php | 143 + .../Crypt/RSA/Formats/Keys/PKCS8.php | 111 + .../phpseclib/Crypt/RSA/Formats/Keys/PSS.php | 193 + .../Crypt/RSA/Formats/Keys/PuTTY.php | 110 + .../phpseclib/Crypt/RSA/Formats/Keys/Raw.php | 153 + .../phpseclib/Crypt/RSA/Formats/Keys/XML.php | 140 + .../phpseclib/Crypt/RSA/PrivateKey.php | 441 + .../phpseclib/Crypt/RSA/PublicKey.php | 439 + .../phpseclib/phpseclib/Crypt/Random.php | 202 + .../phpseclib/phpseclib/Crypt/Rijndael.php | 1055 + .../phpseclib/phpseclib/Crypt/Salsa20.php | 457 + .../phpseclib/phpseclib/Crypt/TripleDES.php | 384 + .../phpseclib/phpseclib/Crypt/Twofish.php | 506 + .../Exception/BadConfigurationException.php | 22 + .../Exception/BadDecryptionException.php | 22 + .../phpseclib/Exception/BadModeException.php | 22 + .../Exception/ConnectionClosedException.php | 22 + .../Exception/FileNotFoundException.php | 22 + .../Exception/InconsistentSetupException.php | 22 + .../Exception/InsufficientSetupException.php | 22 + .../InvalidPacketLengthException.php | 10 + .../Exception/NoKeyLoadedException.php | 22 + .../NoSupportedAlgorithmsException.php | 22 + .../phpseclib/Exception/TimeoutException.php | 10 + .../Exception/UnableToConnectException.php | 22 + .../UnsupportedAlgorithmException.php | 22 + .../Exception/UnsupportedCurveException.php | 22 + .../Exception/UnsupportedFormatException.php | 22 + .../UnsupportedOperationException.php | 22 + .../phpseclib/phpseclib/File/ANSI.php | 553 + .../phpseclib/phpseclib/File/ASN1.php | 1418 ++ .../phpseclib/phpseclib/File/ASN1/Element.php | 41 + .../File/ASN1/Maps/AccessDescription.php | 24 + .../ASN1/Maps/AdministrationDomainName.php | 31 + .../File/ASN1/Maps/AlgorithmIdentifier.php | 24 + .../phpseclib/File/ASN1/Maps/AnotherName.php | 24 + .../phpseclib/File/ASN1/Maps/Attribute.php | 24 + .../File/ASN1/Maps/AttributeType.php | 24 + .../File/ASN1/Maps/AttributeTypeAndValue.php | 24 + .../File/ASN1/Maps/AttributeValue.php | 24 + .../phpseclib/File/ASN1/Maps/Attributes.php | 24 + .../ASN1/Maps/AuthorityInfoAccessSyntax.php | 24 + .../File/ASN1/Maps/AuthorityKeyIdentifier.php | 24 + .../phpseclib/File/ASN1/Maps/BaseDistance.php | 24 + .../File/ASN1/Maps/BasicConstraints.php | 24 + .../Maps/BuiltInDomainDefinedAttribute.php | 24 + .../Maps/BuiltInDomainDefinedAttributes.php | 30 + .../ASN1/Maps/BuiltInStandardAttributes.php | 24 + .../phpseclib/File/ASN1/Maps/CPSuri.php | 24 + .../File/ASN1/Maps/CRLDistributionPoints.php | 24 + .../phpseclib/File/ASN1/Maps/CRLNumber.php | 24 + .../phpseclib/File/ASN1/Maps/CRLReason.php | 36 + .../phpseclib/File/ASN1/Maps/CertPolicyId.php | 24 + .../phpseclib/File/ASN1/Maps/Certificate.php | 24 + .../File/ASN1/Maps/CertificateIssuer.php | 23 + .../File/ASN1/Maps/CertificateList.php | 24 + .../File/ASN1/Maps/CertificatePolicies.php | 24 + .../ASN1/Maps/CertificateSerialNumber.php | 24 + .../File/ASN1/Maps/CertificationRequest.php | 24 + .../ASN1/Maps/CertificationRequestInfo.php | 24 + .../File/ASN1/Maps/Characteristic_two.php | 29 + .../phpseclib/File/ASN1/Maps/CountryName.php | 31 + .../phpseclib/File/ASN1/Maps/Curve.php | 24 + .../phpseclib/File/ASN1/Maps/DHParameter.php | 26 + .../phpseclib/File/ASN1/Maps/DSAParams.php | 24 + .../File/ASN1/Maps/DSAPrivateKey.php | 24 + .../phpseclib/File/ASN1/Maps/DSAPublicKey.php | 24 + .../phpseclib/File/ASN1/Maps/DigestInfo.php | 26 + .../File/ASN1/Maps/DirectoryString.php | 24 + .../phpseclib/File/ASN1/Maps/DisplayText.php | 24 + .../File/ASN1/Maps/DistributionPoint.php | 24 + .../File/ASN1/Maps/DistributionPointName.php | 24 + .../phpseclib/File/ASN1/Maps/DssSigValue.php | 24 + .../phpseclib/File/ASN1/Maps/ECParameters.php | 36 + .../phpseclib/File/ASN1/Maps/ECPoint.php | 24 + .../phpseclib/File/ASN1/Maps/ECPrivateKey.php | 26 + .../phpseclib/File/ASN1/Maps/EDIPartyName.php | 29 + .../File/ASN1/Maps/EcdsaSigValue.php | 24 + .../File/ASN1/Maps/EncryptedData.php | 24 + .../ASN1/Maps/EncryptedPrivateKeyInfo.php | 24 + .../File/ASN1/Maps/ExtKeyUsageSyntax.php | 24 + .../phpseclib/File/ASN1/Maps/Extension.php | 30 + .../File/ASN1/Maps/ExtensionAttribute.php | 24 + .../File/ASN1/Maps/ExtensionAttributes.php | 30 + .../phpseclib/File/ASN1/Maps/Extensions.php | 31 + .../phpseclib/File/ASN1/Maps/FieldElement.php | 24 + .../phpseclib/File/ASN1/Maps/FieldID.php | 24 + .../phpseclib/File/ASN1/Maps/GeneralName.php | 24 + .../phpseclib/File/ASN1/Maps/GeneralNames.php | 24 + .../File/ASN1/Maps/GeneralSubtree.php | 24 + .../File/ASN1/Maps/GeneralSubtrees.php | 24 + .../File/ASN1/Maps/HashAlgorithm.php | 23 + .../File/ASN1/Maps/HoldInstructionCode.php | 24 + .../File/ASN1/Maps/InvalidityDate.php | 24 + .../File/ASN1/Maps/IssuerAltName.php | 23 + .../ASN1/Maps/IssuingDistributionPoint.php | 24 + .../File/ASN1/Maps/KeyIdentifier.php | 24 + .../phpseclib/File/ASN1/Maps/KeyPurposeId.php | 24 + .../phpseclib/File/ASN1/Maps/KeyUsage.php | 24 + .../File/ASN1/Maps/MaskGenAlgorithm.php | 23 + .../phpseclib/File/ASN1/Maps/Name.php | 24 + .../File/ASN1/Maps/NameConstraints.php | 24 + .../File/ASN1/Maps/NetworkAddress.php | 24 + .../File/ASN1/Maps/NoticeReference.php | 24 + .../File/ASN1/Maps/NumericUserIdentifier.php | 24 + .../phpseclib/File/ASN1/Maps/ORAddress.php | 24 + .../File/ASN1/Maps/OneAsymmetricKey.php | 26 + .../File/ASN1/Maps/OrganizationName.php | 24 + .../ASN1/Maps/OrganizationalUnitNames.php | 30 + .../File/ASN1/Maps/OtherPrimeInfo.php | 31 + .../File/ASN1/Maps/OtherPrimeInfos.php | 25 + .../phpseclib/File/ASN1/Maps/PBEParameter.php | 26 + .../phpseclib/File/ASN1/Maps/PBES2params.php | 26 + .../phpseclib/File/ASN1/Maps/PBKDF2params.php | 33 + .../phpseclib/File/ASN1/Maps/PBMAC1params.php | 26 + .../phpseclib/File/ASN1/Maps/PKCS9String.php | 24 + .../phpseclib/File/ASN1/Maps/Pentanomial.php | 30 + .../phpseclib/File/ASN1/Maps/PersonalName.php | 24 + .../File/ASN1/Maps/PolicyInformation.php | 24 + .../File/ASN1/Maps/PolicyMappings.php | 24 + .../File/ASN1/Maps/PolicyQualifierId.php | 24 + .../File/ASN1/Maps/PolicyQualifierInfo.php | 24 + .../File/ASN1/Maps/PostalAddress.php | 24 + .../phpseclib/File/ASN1/Maps/Prime_p.php | 24 + .../File/ASN1/Maps/PrivateDomainName.php | 24 + .../phpseclib/File/ASN1/Maps/PrivateKey.php | 24 + .../File/ASN1/Maps/PrivateKeyInfo.php | 24 + .../File/ASN1/Maps/PrivateKeyUsagePeriod.php | 24 + .../phpseclib/File/ASN1/Maps/PublicKey.php | 24 + .../File/ASN1/Maps/PublicKeyAndChallenge.php | 24 + .../File/ASN1/Maps/PublicKeyInfo.php | 27 + .../File/ASN1/Maps/RC2CBCParameter.php | 26 + .../phpseclib/File/ASN1/Maps/RDNSequence.php | 36 + .../File/ASN1/Maps/RSAPrivateKey.php | 44 + .../phpseclib/File/ASN1/Maps/RSAPublicKey.php | 24 + .../File/ASN1/Maps/RSASSA_PSS_params.php | 26 + .../phpseclib/File/ASN1/Maps/ReasonFlags.php | 24 + .../ASN1/Maps/RelativeDistinguishedName.php | 30 + .../File/ASN1/Maps/RevokedCertificate.php | 24 + .../ASN1/Maps/SignedPublicKeyAndChallenge.php | 24 + .../File/ASN1/Maps/SpecifiedECDomain.php | 26 + .../File/ASN1/Maps/SubjectAltName.php | 23 + .../ASN1/Maps/SubjectDirectoryAttributes.php | 24 + .../ASN1/Maps/SubjectInfoAccessSyntax.php | 24 + .../File/ASN1/Maps/SubjectPublicKeyInfo.php | 24 + .../phpseclib/File/ASN1/Maps/TBSCertList.php | 24 + .../File/ASN1/Maps/TBSCertificate.php | 41 + .../File/ASN1/Maps/TerminalIdentifier.php | 24 + .../phpseclib/File/ASN1/Maps/Time.php | 24 + .../phpseclib/File/ASN1/Maps/Trinomial.php | 24 + .../File/ASN1/Maps/UniqueIdentifier.php | 24 + .../phpseclib/File/ASN1/Maps/UserNotice.php | 24 + .../phpseclib/File/ASN1/Maps/Validity.php | 24 + .../File/ASN1/Maps/netscape_ca_policy_url.php | 24 + .../File/ASN1/Maps/netscape_cert_type.php | 26 + .../File/ASN1/Maps/netscape_comment.php | 24 + .../phpseclib/phpseclib/File/X509.php | 3526 +++ .../phpseclib/phpseclib/Math/BigInteger.php | 834 + .../Math/BigInteger/Engines/BCMath.php | 605 + .../Math/BigInteger/Engines/BCMath/Base.php | 102 + .../BigInteger/Engines/BCMath/BuiltIn.php | 37 + .../Engines/BCMath/DefaultEngine.php | 23 + .../BigInteger/Engines/BCMath/OpenSSL.php | 23 + .../Engines/BCMath/Reductions/Barrett.php | 166 + .../Engines/BCMath/Reductions/EvalBarrett.php | 96 + .../Math/BigInteger/Engines/Engine.php | 1190 + .../phpseclib/Math/BigInteger/Engines/GMP.php | 615 + .../BigInteger/Engines/GMP/DefaultEngine.php | 37 + .../Math/BigInteger/Engines/OpenSSL.php | 58 + .../phpseclib/Math/BigInteger/Engines/PHP.php | 1113 + .../Math/BigInteger/Engines/PHP/Base.php | 133 + .../BigInteger/Engines/PHP/DefaultEngine.php | 23 + .../BigInteger/Engines/PHP/Montgomery.php | 78 + .../Math/BigInteger/Engines/PHP/OpenSSL.php | 23 + .../Engines/PHP/Reductions/Barrett.php | 255 + .../Engines/PHP/Reductions/Classic.php | 40 + .../Engines/PHP/Reductions/EvalBarrett.php | 423 + .../Engines/PHP/Reductions/Montgomery.php | 113 + .../Engines/PHP/Reductions/MontgomeryMult.php | 68 + .../Engines/PHP/Reductions/PowerOfTwo.php | 54 + .../Math/BigInteger/Engines/PHP32.php | 341 + .../Math/BigInteger/Engines/PHP64.php | 342 + .../phpseclib/phpseclib/Math/BinaryField.php | 183 + .../phpseclib/Math/BinaryField/Integer.php | 442 + .../phpseclib/Math/Common/FiniteField.php | 21 + .../Math/Common/FiniteField/Integer.php | 42 + .../phpseclib/phpseclib/Math/PrimeField.php | 106 + .../phpseclib/Math/PrimeField/Integer.php | 389 + .../phpseclib/phpseclib/phpseclib/Net/SCP.php | 271 + .../phpseclib/phpseclib/Net/SFTP.php | 3246 +++ .../phpseclib/phpseclib/Net/SFTP/Stream.php | 703 + .../phpseclib/phpseclib/Net/SSH2.php | 4811 ++++ .../phpseclib/phpseclib/System/SSH/Agent.php | 270 + .../phpseclib/System/SSH/Agent/Identity.php | 303 + .../System/SSH/Common/Traits/ReadBytes.php | 36 + .../phpseclib/phpseclib/bootstrap.php | 20 + .../phpseclib/phpseclib/phpseclib/openssl.cnf | 6 + .../vendor/prefixed/psr/cache/LICENSE.txt | 19 + .../prefixed/psr/cache/src/CacheException.php | 10 + .../psr/cache/src/CacheItemInterface.php | 100 + .../psr/cache/src/CacheItemPoolInterface.php | 129 + .../cache/src/InvalidArgumentException.php | 13 + .../vendor/prefixed/psr/http-client/LICENSE | 19 + .../src/ClientExceptionInterface.php | 10 + .../psr/http-client/src/ClientInterface.php | 19 + .../src/NetworkExceptionInterface.php | 23 + .../src/RequestExceptionInterface.php | 23 + .../vendor/prefixed/psr/http-factory/LICENSE | 21 + .../src/RequestFactoryInterface.php | 18 + .../src/ResponseFactoryInterface.php | 18 + .../src/ServerRequestFactoryInterface.php | 24 + .../src/StreamFactoryInterface.php | 43 + .../src/UploadedFileFactoryInterface.php | 28 + .../http-factory/src/UriFactoryInterface.php | 17 + .../vendor/prefixed/psr/http-message/LICENSE | 19 + .../psr/http-message/src/MessageInterface.php | 177 + .../psr/http-message/src/RequestInterface.php | 124 + .../http-message/src/ResponseInterface.php | 66 + .../src/ServerRequestInterface.php | 249 + .../psr/http-message/src/StreamInterface.php | 144 + .../src/UploadedFileInterface.php | 118 + .../psr/http-message/src/UriInterface.php | 309 + .../prefixed/ralouphie/getallheaders/LICENSE | 21 + .../getallheaders/src/getallheaders.php | 38 + .../symfony/deprecation-contracts/LICENSE | 19 + .../deprecation-contracts/function.php | 28 + .../vendor/prefixed/vendor/autoload.php | 22 + .../prefixed/vendor/composer/ClassLoader.php | 579 + .../vendor/prefixed/vendor/composer/LICENSE | 21 + .../vendor/composer/autoload_classmap.php | 585 + .../vendor/composer/autoload_files.php | 15 + .../vendor/composer/autoload_namespaces.php | 9 + .../vendor/composer/autoload_psr4.php | 9 + .../vendor/composer/autoload_real.php | 48 + .../vendor/composer/autoload_static.php | 604 + .../vendor/scoper-autoload.php | 26 + .../dist/SearchEngineKeywordsPerformance.css | 1 + .../SearchEngineKeywordsPerformance.umd.js | 2535 ++ ...SearchEngineKeywordsPerformance.umd.js.map | 1 + ...SearchEngineKeywordsPerformance.umd.min.js | 30 + ...chEngineKeywordsPerformance.umd.min.js.map | 1 + .../vue/dist/umd.metadata.json | 6 + .../vue/src/Admin/AdminPage.vue | 70 + .../vue/src/Admin/Provider.vue | 175 + .../vue/src/Bing/Configuration.vue | 561 + .../src/Configure/ConfigureConnection.less | 124 + .../vue/src/Configure/ConfigureConnection.vue | 170 + .../vue/src/Google/Configuration.vue | 809 + .../vue/src/Navigation/Navigation.vue | 145 + .../vue/src/Yandex/Configuration.vue | 660 + .../src/components/WebsitesAvailableModal.vue | 157 + .../vue/src/index.ts | 20 + .../vue/src/utilities.ts | 18 + files/plugin-UsersFlow-5.1.1/API.php | 308 + files/plugin-UsersFlow-5.1.1/Archiver.php | 25 + .../Archiver/DataSources.php | 50 + .../Archiver/LogAggregator.php | 194 + files/plugin-UsersFlow-5.1.1/CHANGELOG.md | 108 + .../Categories/TopPathsSubcategory.php | 33 + .../Categories/UsersFlowSubcategory.php | 33 + .../Columns/Interactions.php | 28 + .../Columns/Metrics/ExitRate.php | 65 + .../Columns/Metrics/Proceeded.php | 65 + .../Columns/Metrics/ProceededRate.php | 65 + .../plugin-UsersFlow-5.1.1/Configuration.php | 143 + files/plugin-UsersFlow-5.1.1/Controller.php | 53 + .../Filter/AddLabelsForMissingSteps.php | 52 + .../DataTable/Filter/BalanceOtherActions.php | 124 + .../Filter/LimitProceededToActions.php | 116 + .../DataTable/Filter/LimitStepActions.php | 110 + .../DataTable/Filter/ReplaceActionLabels.php | 56 + files/plugin-UsersFlow-5.1.1/LEGALNOTICE | 32 + files/plugin-UsersFlow-5.1.1/LICENSE | 49 + files/plugin-UsersFlow-5.1.1/Metrics.php | 27 + files/plugin-UsersFlow-5.1.1/README.md | 95 + .../RecordBuilders/GenericUsersFlow.php | 152 + .../RecordBuilders/UsersFlowPageTitle.php | 33 + .../RecordBuilders/UsersFlowPageUrl.php | 33 + files/plugin-UsersFlow-5.1.1/Reports/Base.php | 41 + .../Reports/GetInteractionActions.php | 101 + .../Reports/GetUsersFlow.php | 73 + .../Reports/GetUsersFlowPretty.php | 139 + .../plugin-UsersFlow-5.1.1/SystemSettings.php | 54 + files/plugin-UsersFlow-5.1.1/UsersFlow.php | 138 + files/plugin-UsersFlow-5.1.1/docs/index.md | 6 + files/plugin-UsersFlow-5.1.1/lang/am.json | 1 + files/plugin-UsersFlow-5.1.1/lang/ar.json | 1 + files/plugin-UsersFlow-5.1.1/lang/az.json | 1 + files/plugin-UsersFlow-5.1.1/lang/be.json | 1 + files/plugin-UsersFlow-5.1.1/lang/bg.json | 7 + files/plugin-UsersFlow-5.1.1/lang/bn.json | 1 + files/plugin-UsersFlow-5.1.1/lang/bs.json | 1 + files/plugin-UsersFlow-5.1.1/lang/ca.json | 1 + files/plugin-UsersFlow-5.1.1/lang/cs.json | 47 + files/plugin-UsersFlow-5.1.1/lang/cy.json | 1 + files/plugin-UsersFlow-5.1.1/lang/da.json | 1 + files/plugin-UsersFlow-5.1.1/lang/de.json | 46 + files/plugin-UsersFlow-5.1.1/lang/dv.json | 1 + files/plugin-UsersFlow-5.1.1/lang/el.json | 1 + files/plugin-UsersFlow-5.1.1/lang/en.json | 49 + files/plugin-UsersFlow-5.1.1/lang/eo.json | 1 + files/plugin-UsersFlow-5.1.1/lang/es-ar.json | 1 + files/plugin-UsersFlow-5.1.1/lang/es.json | 45 + files/plugin-UsersFlow-5.1.1/lang/et.json | 1 + files/plugin-UsersFlow-5.1.1/lang/eu.json | 1 + files/plugin-UsersFlow-5.1.1/lang/fa.json | 1 + files/plugin-UsersFlow-5.1.1/lang/fi.json | 1 + files/plugin-UsersFlow-5.1.1/lang/fr.json | 47 + files/plugin-UsersFlow-5.1.1/lang/ga.json | 1 + files/plugin-UsersFlow-5.1.1/lang/gl.json | 1 + files/plugin-UsersFlow-5.1.1/lang/gu.json | 1 + files/plugin-UsersFlow-5.1.1/lang/he.json | 1 + files/plugin-UsersFlow-5.1.1/lang/hi.json | 1 + files/plugin-UsersFlow-5.1.1/lang/hr.json | 1 + files/plugin-UsersFlow-5.1.1/lang/hu.json | 1 + files/plugin-UsersFlow-5.1.1/lang/hy.json | 1 + files/plugin-UsersFlow-5.1.1/lang/id.json | 1 + files/plugin-UsersFlow-5.1.1/lang/is.json | 1 + files/plugin-UsersFlow-5.1.1/lang/it.json | 47 + files/plugin-UsersFlow-5.1.1/lang/ja.json | 1 + files/plugin-UsersFlow-5.1.1/lang/ka.json | 1 + files/plugin-UsersFlow-5.1.1/lang/ko.json | 1 + files/plugin-UsersFlow-5.1.1/lang/ku.json | 1 + files/plugin-UsersFlow-5.1.1/lang/lb.json | 1 + files/plugin-UsersFlow-5.1.1/lang/lt.json | 1 + files/plugin-UsersFlow-5.1.1/lang/lv.json | 1 + files/plugin-UsersFlow-5.1.1/lang/ms.json | 1 + files/plugin-UsersFlow-5.1.1/lang/nb.json | 1 + files/plugin-UsersFlow-5.1.1/lang/nl.json | 45 + files/plugin-UsersFlow-5.1.1/lang/nn.json | 1 + files/plugin-UsersFlow-5.1.1/lang/pl.json | 45 + files/plugin-UsersFlow-5.1.1/lang/pt-br.json | 1 + files/plugin-UsersFlow-5.1.1/lang/pt.json | 45 + files/plugin-UsersFlow-5.1.1/lang/ro.json | 5 + files/plugin-UsersFlow-5.1.1/lang/ru.json | 1 + files/plugin-UsersFlow-5.1.1/lang/si.json | 1 + files/plugin-UsersFlow-5.1.1/lang/sk.json | 1 + files/plugin-UsersFlow-5.1.1/lang/sl.json | 1 + files/plugin-UsersFlow-5.1.1/lang/sq.json | 47 + files/plugin-UsersFlow-5.1.1/lang/sr.json | 1 + files/plugin-UsersFlow-5.1.1/lang/sv.json | 47 + files/plugin-UsersFlow-5.1.1/lang/ta.json | 1 + files/plugin-UsersFlow-5.1.1/lang/te.json | 1 + files/plugin-UsersFlow-5.1.1/lang/th.json | 1 + files/plugin-UsersFlow-5.1.1/lang/tl.json | 1 + files/plugin-UsersFlow-5.1.1/lang/tr.json | 47 + files/plugin-UsersFlow-5.1.1/lang/tzm.json | 1 + files/plugin-UsersFlow-5.1.1/lang/uk.json | 5 + files/plugin-UsersFlow-5.1.1/lang/ur.json | 1 + files/plugin-UsersFlow-5.1.1/lang/vi.json | 1 + files/plugin-UsersFlow-5.1.1/lang/zh-cn.json | 1 + files/plugin-UsersFlow-5.1.1/lang/zh-tw.json | 45 + .../libs/sankey/LICENSE | 26 + .../libs/sankey/sankey.js | 326 + .../plugin-UsersFlow-5.1.1/package-lock.json | 1145 + files/plugin-UsersFlow-5.1.1/package.json | 29 + files/plugin-UsersFlow-5.1.1/phpcs.xml | 36 + files/plugin-UsersFlow-5.1.1/phpstan.neon | 21 + .../phpstan/phpstan.created.neon | 5 + .../phpstan/phpstan.modified.neon | 5 + files/plugin-UsersFlow-5.1.1/plugin.json | 22 + .../pull_request_template.md | 29 + .../stylesheets/d3-tip.less | 70 + .../templates/getUsersFlow.twig | 8 + files/plugin-UsersFlow-5.1.1/tsconfig.json | 15 + .../vue/dist/UsersFlow.umd.js | 19789 ++++++++++++++++ .../vue/dist/UsersFlow.umd.min.js | 16 + .../vue/dist/umd.metadata.json | 6 + .../vue/src/GetUsersFlow/GetUsersFlow.vue | 77 + .../vue/src/Visualization/Visualization.less | 467 + .../vue/src/Visualization/Visualization.vue | 1208 + files/plugin-UsersFlow-5.1.1/vue/src/index.ts | 17 + 1314 files changed, 198610 insertions(+), 8 deletions(-) create mode 100644 files/plugin-CustomReports-5.5.0/API.php create mode 100644 files/plugin-CustomReports-5.5.0/Activity/BaseActivity.php create mode 100644 files/plugin-CustomReports-5.5.0/Activity/ReportAdded.php create mode 100644 files/plugin-CustomReports-5.5.0/Activity/ReportDeleted.php create mode 100644 files/plugin-CustomReports-5.5.0/Activity/ReportPaused.php create mode 100644 files/plugin-CustomReports-5.5.0/Activity/ReportResumed.php create mode 100644 files/plugin-CustomReports-5.5.0/Activity/ReportUpdated.php create mode 100644 files/plugin-CustomReports-5.5.0/Archiver.php create mode 100644 files/plugin-CustomReports-5.5.0/Archiver/ExecutionPlan.php create mode 100644 files/plugin-CustomReports-5.5.0/Archiver/NotJoinableException.php create mode 100644 files/plugin-CustomReports-5.5.0/Archiver/QueryBuilder.php create mode 100644 files/plugin-CustomReports-5.5.0/Archiver/ReportQuery.php create mode 100644 files/plugin-CustomReports-5.5.0/CHANGELOG.md create mode 100644 files/plugin-CustomReports-5.5.0/Categories/CustomReportsCategory.php create mode 100644 files/plugin-CustomReports-5.5.0/Categories/ManageReportsSubcategory.php create mode 100644 files/plugin-CustomReports-5.5.0/Columns/CustomMetricHelper.php create mode 100644 files/plugin-CustomReports-5.5.0/Columns/ProductCategory.php create mode 100644 files/plugin-CustomReports-5.5.0/Commands/ArchiveReports.php create mode 100644 files/plugin-CustomReports-5.5.0/Commands/GenerateReports.php create mode 100644 files/plugin-CustomReports-5.5.0/Configuration.php create mode 100644 files/plugin-CustomReports-5.5.0/Controller.php create mode 100644 files/plugin-CustomReports-5.5.0/CustomLogAggregator.php create mode 100644 files/plugin-CustomReports-5.5.0/CustomReports.php create mode 100644 files/plugin-CustomReports-5.5.0/Dao/CustomReportsDao.php create mode 100644 files/plugin-CustomReports-5.5.0/DataTable/Filter/ReportTypeTableFilter.php create mode 100644 files/plugin-CustomReports-5.5.0/GetCustomReport.php create mode 100644 files/plugin-CustomReports-5.5.0/Glossary.php create mode 100644 files/plugin-CustomReports-5.5.0/Input/Category.php create mode 100644 files/plugin-CustomReports-5.5.0/Input/Description.php create mode 100644 files/plugin-CustomReports-5.5.0/Input/Dimensions.php create mode 100644 files/plugin-CustomReports-5.5.0/Input/Metrics.php create mode 100644 files/plugin-CustomReports-5.5.0/Input/Name.php create mode 100644 files/plugin-CustomReports-5.5.0/Input/ReportType.php create mode 100644 files/plugin-CustomReports-5.5.0/Input/SegmentFilter.php create mode 100644 files/plugin-CustomReports-5.5.0/Input/Subcategory.php create mode 100644 files/plugin-CustomReports-5.5.0/Input/Validator.php create mode 100644 files/plugin-CustomReports-5.5.0/LICENSE create mode 100644 files/plugin-CustomReports-5.5.0/Menu.php create mode 100644 files/plugin-CustomReports-5.5.0/Model/CustomReportsModel.php create mode 100644 files/plugin-CustomReports-5.5.0/README.md create mode 100644 files/plugin-CustomReports-5.5.0/RecordBuilders/CustomReport.php create mode 100644 files/plugin-CustomReports-5.5.0/ReportType/Evolution.php create mode 100644 files/plugin-CustomReports-5.5.0/ReportType/KpiCard.php create mode 100644 files/plugin-CustomReports-5.5.0/ReportType/ReportType.php create mode 100644 files/plugin-CustomReports-5.5.0/ReportType/Table.php create mode 100644 files/plugin-CustomReports-5.5.0/Updates/5.0.18.php create mode 100644 files/plugin-CustomReports-5.5.0/Updates/5.1.0.php create mode 100644 files/plugin-CustomReports-5.5.0/Updates/5.2.0.php create mode 100644 files/plugin-CustomReports-5.5.0/Updates/5.4.0.php create mode 100644 files/plugin-CustomReports-5.5.0/Updates/5.4.2.php create mode 100644 files/plugin-CustomReports-5.5.0/Widgets/BaseWidget.php create mode 100644 files/plugin-CustomReports-5.5.0/Widgets/GetManageReports.php create mode 100644 files/plugin-CustomReports-5.5.0/config/config.php create mode 100644 files/plugin-CustomReports-5.5.0/docs/index.md create mode 100644 files/plugin-CustomReports-5.5.0/lang/am.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/ar.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/az.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/be.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/bg.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/bn.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/bs.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/ca.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/cs.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/cy.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/da.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/de.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/dv.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/el.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/en.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/eo.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/es-ar.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/es.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/et.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/eu.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/fa.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/fi.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/fr.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/ga.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/gl.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/gu.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/he.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/hi.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/hr.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/hu.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/hy.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/id.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/is.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/it.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/ja.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/ka.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/ko.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/ku.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/lb.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/lt.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/lv.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/ms.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/nb.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/nl.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/nn.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/pl.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/pt-br.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/pt.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/ro.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/ru.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/si.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/sk.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/sl.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/sq.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/sr.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/sv.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/ta.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/te.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/th.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/tl.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/tr.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/tzm.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/uk.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/ur.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/vi.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/zh-cn.json create mode 100644 files/plugin-CustomReports-5.5.0/lang/zh-tw.json create mode 100644 files/plugin-CustomReports-5.5.0/phpcs.xml create mode 100644 files/plugin-CustomReports-5.5.0/phpstan.neon create mode 100644 files/plugin-CustomReports-5.5.0/phpstan/phpstan.created.neon create mode 100644 files/plugin-CustomReports-5.5.0/phpstan/phpstan.modified.neon create mode 100644 files/plugin-CustomReports-5.5.0/plugin.json create mode 100644 files/plugin-CustomReports-5.5.0/pull_request_template.md create mode 100644 files/plugin-CustomReports-5.5.0/templates/manage.twig create mode 100644 files/plugin-CustomReports-5.5.0/vue/dist/CustomReports.umd.js create mode 100644 files/plugin-CustomReports-5.5.0/vue/dist/CustomReports.umd.min.js create mode 100644 files/plugin-CustomReports-5.5.0/vue/dist/umd.metadata.json create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/CustomReports.store.ts create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/KpiCardView/KpiCardView.less create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/KpiCardView/KpiCardView.vue create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/Reports/DraggableList.less create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/Reports/DraggableList.vue create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/Reports/Edit.less create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/Reports/Edit.vue create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/Reports/List.less create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/Reports/List.vue create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/Reports/Manage.vue create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/index.ts create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/truncateText2.ts create mode 100644 files/plugin-CustomReports-5.5.0/vue/src/types.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/API.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Actions/ActionHsr.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/BaseActivity.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapAdded.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapDeleted.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapEnded.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapPaused.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapResumed.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapScreenshotDeleted.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/HeatmapUpdated.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/RecordedPageviewDeleted.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/RecordedSessionDeleted.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingAdded.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingDeleted.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingEnded.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingPaused.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingResumed.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Activity/SessionRecordingUpdated.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Archiver/Aggregator.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/CHANGELOG.md create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Categories/HeatmapCategory.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Categories/ManageHeatmapSubcategory.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Categories/ManageSessionRecordingSubcategory.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Categories/SessionRecordingsCategory.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/BaseMetric.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/Browser.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/Device.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/Location.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/OperatingSystem.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/SessionTime.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/TimeOnPage.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/TimeOnSite.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Columns/Metrics/TotalEvents.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Commands/RemoveHeatmapScreenshot.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Configuration.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Controller.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsr.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsrBlob.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsrEvent.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Dao/LogHsrSite.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Dao/SiteHsrDao.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/DataTable/Filter/EnrichRecordedSessions.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Diagnostic/ConfigsPhpCheck.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Emails/FinishedEmail.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Emails/HeatmapFinishedEmail.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Emails/SessionRecordingFinishedEmail.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Fake/HeatmapDataGenerator.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Fake/HsrCssPath.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/HeatmapSessionRecording.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/ImageProxy.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/Breakpoint.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/CaptureKeystrokes.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/Description.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/ExcludedElements.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/MinSessionTime.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/Name.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/PageRule.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/PageRules.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/RequiresActivity.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/SampleLimit.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/SampleRate.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/ScreenshotUrl.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Input/Validator.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Install/HtAccess.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Install/htaccessTemplate create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/LEGALNOTICE create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/LICENSE create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Menu.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Model/RepeatName.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Model/SiteHsrModel.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/MutationManipulator.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/README.md create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Reports/GetRecordedSessions.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableHeatmapRecording.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableHeatmapRecordingNoInterfaces.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableSessionRecording.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Settings/DisableSessionRecordingNoInterfaces.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Settings/TrackingDisableDefault.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/SystemSettings.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Tasks.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Tracker/Configs.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Tracker/HsrMatcher.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Tracker/LogTable/LogHsr.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Tracker/LogTable/LogHsrBlob.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Tracker/LogTable/LogHsrEvent.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Tracker/PageRuleMatcher.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Tracker/RequestProcessor.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Unsubscribe.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Updates/3.0.10.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Updates/3.0.11.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Updates/3.0.3.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Updates/4.0.0.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.1.0.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.4.0.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.5.0.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.5.5.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Updates/5.6.0.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/UserSettings.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/VisitorDetails.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GetManageHeatmaps.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GetManageSessionRecordings.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GettingStartedHeatmap.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/Widgets/GettingStartedSessions.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/config/config.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/configs.php create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/docs/index.md create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/images/no-interactions.svg create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/javascripts/recording.js create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/javascripts/rowaction.js create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/am.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/ar.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/az.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/be.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/bg.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/bn.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/bs.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/ca.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/cs.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/cy.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/da.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/de.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/dv.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/el.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/en.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/eo.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/es-ar.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/es.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/et.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/eu.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/fa.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/fi.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/fr.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/ga.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/gl.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/gu.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/he.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/hi.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/hr.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/hu.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/hy.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/id.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/is.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/it.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/ja.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/ka.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/ko.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/ku.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/lb.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/lt.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/lv.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/ms.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/nb.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/nl.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/nn.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/pl.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/pt-br.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/pt.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/ro.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/ru.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/si.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/sk.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/sl.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/sq.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/sr.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/sv.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/ta.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/te.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/th.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/tl.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/tr.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/tzm.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/uk.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/ur.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/vi.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/zh-cn.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/lang/zh-tw.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/MutationObserver.js create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/README.md create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/dist/README.md create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/dist/mutationobserver.min.js create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/license create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/MutationObserver.js/package.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/COPYING create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/README.md create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/package.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/src/mutation-summary.js create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/src/mutation-summary.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/util/tree-mirror.js create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/mutation-summary/util/tree-mirror.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/CHANGELOG.md create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/LICENSE.txt create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/README.md create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/dist/svg.js create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/dist/svg.min.js create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/libs/svg.js/package.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/package-lock.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/package.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/patches/html-to-image+1.11.13.patch create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/phpcs.xml create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/plugin.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/pull_request_template.md create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/stylesheets/edit-entities.less create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/stylesheets/list-entities.less create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/stylesheets/recordings.less create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/templates/_detectAdBlocker.twig create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/templates/_finishedEmail.twig create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/templates/embedPage.twig create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/templates/gettingStartedHeatmaps.twig create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/templates/gettingStartedSessions.twig create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/templates/manageHeatmap.twig create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/templates/manageSessions.twig create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/templates/replayRecording.twig create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/templates/showHeatmap.twig create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/templates/unsubscribe.twig create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/tracker.min.js create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/tsconfig.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/dist/HeatmapSessionRecording.umd.js create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/dist/HeatmapSessionRecording.umd.min.js create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/dist/umd.metadata.json create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HeatmapVis/HeatmapEmptyState.spec.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HeatmapVis/HeatmapEmptyState.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HeatmapVis/HeatmapSettingsDropdown.spec.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HeatmapVis/HeatmapSettingsDropdown.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HeatmapVis/HeatmapVis.less create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HeatmapVis/HeatmapVis.spec.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HeatmapVis/HeatmapVis.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HeatmapVis/HeatmapVisPage.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HeatmapVis/heatmapGradient.spec.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HeatmapVis/heatmapGradient.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HsrStore/HsrStore.store.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HsrTargetTest/HsrTargetTest.less create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HsrTargetTest/HsrTargetTest.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HsrUrlTarget/AvailableTargetPageRules.store.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HsrUrlTarget/HsrUrlTarget.less create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HsrUrlTarget/HsrUrlTarget.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/HsrUrlTarget/simpleTargeting.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/ListOfPageviews/ListOfPageviews.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/ManageHeatmap/Edit.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/ManageHeatmap/List.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/ManageHeatmap/Manage.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/ManageSessionRecording/Edit.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/ManageSessionRecording/List.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/ManageSessionRecording/Manage.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/MatomoJsNotWritable/MatomoJsNotWritableAlert.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/SessionRecordingVis/SessionRecordingVis.less create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/SessionRecordingVis/SessionRecordingVis.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/Tooltip/Tooltip.less create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/Tooltip/Tooltip.spec.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/Tooltip/Tooltip.vue create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/getIframeWindow.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/index.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/oneAtATime.ts create mode 100644 files/plugin-HeatmapSessionRecording-5.6.0/vue/src/types.ts create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/API.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Activity/AccountAdded.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Activity/AccountRemoved.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Activity/GoogleClientConfigChanged.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Activity/YandexClientConfigChanged.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Archiver.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/CHANGELOG.md create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Categories/CrawlingOverviewSubcategory.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Categories/SearchKeywordsSubcategory.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Client/Bing.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Client/Configuration/BaseConfiguration.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Client/Configuration/Bing.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Client/Configuration/Google.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Client/Configuration/Yandex.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Client/Google.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Client/Yandex.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Columns/Keyword.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Commands/ImportBing.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Commands/ImportGoogle.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Commands/ImportYandex.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Configuration.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Controller.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Diagnostic/BingAccountDiagnostic.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Diagnostic/GoogleAccountDiagnostic.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Diagnostic/YandexAccountDiagnostic.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Encryption.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Exceptions/InvalidClientConfigException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Exceptions/InvalidCredentialsException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Exceptions/MissingClientConfigException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Exceptions/MissingOAuthConfigException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Exceptions/RateLimitApiException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Exceptions/SecretConfigurationException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Exceptions/UnknownAPIException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Importer/Bing.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Importer/Google.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Importer/Yandex.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/MeasurableSettings.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Menu.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Metrics.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Model/Bing.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Model/Google.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Model/Yandex.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Monolog/Handler/SEKPSystemLogHandler.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Provider/Bing.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Provider/Google.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Provider/Helper/MeasurableHelper.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Provider/ProviderAbstract.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Provider/Yandex.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/README.md create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/RecordBuilders/Base.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/RecordBuilders/Bing.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/RecordBuilders/Google.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/RecordBuilders/Yandex.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/Base.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/GetCrawlingErrorExamplesBing.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/GetCrawlingOverviewBing.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/GetCrawlingOverviewYandex.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/GetKeywords.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/GetKeywordsBing.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/GetKeywordsGoogleImage.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/GetKeywordsGoogleNews.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/GetKeywordsGoogleVideo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/GetKeywordsGoogleWeb.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/GetKeywordsImported.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/GetKeywordsReferrers.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Reports/GetKeywordsYandex.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/SearchEngineKeywordsPerformance.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Settings/EncryptedBingSiteSetting.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/SystemSettings.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Tasks.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Updates/3.5.0.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Updates/4.1.0.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Updates/4.2.0.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/Updates/5.1.0.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/config/config.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/docs/index.md create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/images/Bing.png create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/images/BingLogo.png create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/images/Google.png create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/images/GoogleLogo.png create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/images/Yahoo.png create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/images/Yandex.png create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/images/YandexLogo.png create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/am.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/ar.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/az.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/be.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/bg.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/bn.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/bs.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/ca.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/cs.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/cy.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/da.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/de.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/dv.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/el.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/en.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/eo.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/es-ar.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/es.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/et.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/eu.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/fa.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/fi.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/fr.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/ga.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/gl.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/gu.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/he.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/hi.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/hr.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/hu.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/hy.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/id.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/is.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/it.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/ja.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/ka.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/ko.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/ku.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/lb.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/lt.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/lv.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/ms.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/nb.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/nl.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/nn.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/pl.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/pt-br.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/pt.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/ro.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/ru.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/si.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/sk.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/sl.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/sq.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/sr.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/sv.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/ta.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/te.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/th.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/tl.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/tr.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/tzm.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/uk.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/ur.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/vi.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/zh-cn.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/lang/zh-tw.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/phpcs.xml create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/phpstan.neon create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/plugin.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/pull_request_template.md create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/scoper.inc.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/stylesheets/styles.less create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/templates/bing/configuration.twig create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/templates/google/configuration.twig create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/templates/index.twig create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/templates/messageReferrerKeywordsReport.twig create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/templates/yandex/configuration.twig create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/autoload.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/autoload_original.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/composer/ClassLoader.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/composer/InstalledVersions.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/composer/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/composer/autoload_classmap.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/composer/autoload_files.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/composer/autoload_namespaces.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/composer/autoload_psr4.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/composer/autoload_real.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/composer/autoload_static.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/composer/installed.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/composer/installed.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/firebase/php-jwt/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/firebase/php-jwt/src/BeforeValidException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/firebase/php-jwt/src/CachedKeySet.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/firebase/php-jwt/src/ExpiredException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/firebase/php-jwt/src/JWK.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/firebase/php-jwt/src/JWT.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/firebase/php-jwt/src/JWTExceptionWithPayloadInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/firebase/php-jwt/src/Key.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/firebase/php-jwt/src/SignatureInvalidException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/autoload.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/renovate.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/Oauth2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/Oauth2/Resource/Userinfo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/Oauth2/Resource/UserinfoV2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/Oauth2/Resource/UserinfoV2Me.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/Oauth2/Tokeninfo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/Oauth2/Userinfo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/ApiDataRow.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/ApiDimensionFilter.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/ApiDimensionFilterGroup.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/BlockedResource.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/Image.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/MobileFriendlyIssue.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/Resource/Searchanalytics.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/Resource/Sitemaps.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/Resource/Sites.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/Resource/UrlTestingTools.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/Resource/UrlTestingToolsMobileFriendlyTest.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/ResourceIssue.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/RunMobileFriendlyTestRequest.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/RunMobileFriendlyTestResponse.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/SearchAnalyticsQueryRequest.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/SearchAnalyticsQueryResponse.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/SitemapsListResponse.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/SitesListResponse.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/TestStatus.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/WmxSite.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/WmxSitemap.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/src/SearchConsole/WmxSitemapContent.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/synth.metadata create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient-services/synth.py create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/AccessToken/Revoke.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/AccessToken/Verify.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/AuthHandler/AuthHandlerFactory.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/AuthHandler/Guzzle6AuthHandler.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/AuthHandler/Guzzle7AuthHandler.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Client.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Collection.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Exception.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Http/Batch.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Http/MediaFileUpload.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Http/REST.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Model.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Service.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Service/Exception.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Service/Resource.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Task/Composer.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Task/Exception.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Task/Retryable.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Task/Runner.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/Utils/UriTemplate.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/apiclient/src/aliases.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/COPYING create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/VERSION create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/autoload.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/AccessToken.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/ApplicationDefaultCredentials.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Cache/InvalidArgumentException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Cache/Item.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Cache/MemoryCacheItemPool.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Cache/SysVCacheItemPool.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Cache/TypedItem.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/CacheTrait.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/CredentialSource/AwsNativeSource.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/CredentialSource/FileSource.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/CredentialSource/UrlSource.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Credentials/AppIdentityCredentials.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Credentials/ExternalAccountCredentials.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Credentials/GCECredentials.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Credentials/IAMCredentials.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Credentials/ImpersonatedServiceAccountCredentials.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Credentials/InsecureCredentials.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Credentials/ServiceAccountCredentials.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Credentials/ServiceAccountJwtAccessCredentials.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Credentials/UserRefreshCredentials.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/CredentialsLoader.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/ExternalAccountCredentialSourceInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/FetchAuthTokenCache.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/FetchAuthTokenInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/GCECache.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/GetQuotaProjectInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/GetUniverseDomainInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/HttpHandler/Guzzle6HttpHandler.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/HttpHandler/Guzzle7HttpHandler.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/HttpHandler/HttpClientCache.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/HttpHandler/HttpHandlerFactory.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Iam.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/IamSignerTrait.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Middleware/AuthTokenMiddleware.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Middleware/ProxyAuthTokenMiddleware.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Middleware/ScopedAccessTokenMiddleware.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/Middleware/SimpleMiddleware.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/OAuth2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/ProjectIdProviderInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/ServiceAccountSignerTrait.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/SignBlobInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/UpdateMetadataInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/google/auth/src/UpdateMetadataTrait.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/package-lock.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/BodySummarizer.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/BodySummarizerInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Client.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/ClientInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/ClientTrait.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Cookie/CookieJar.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Cookie/SetCookie.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Exception/BadResponseException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Exception/ClientException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Exception/ConnectException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Exception/GuzzleException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Exception/RequestException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Exception/ServerException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Exception/TransferException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Handler/CurlFactory.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Handler/CurlHandler.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Handler/EasyHandle.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Handler/MockHandler.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Handler/Proxy.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Handler/StreamHandler.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/HandlerStack.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/MessageFormatter.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/MessageFormatterInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Middleware.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Pool.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/RedirectMiddleware.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/RequestOptions.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/RetryMiddleware.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/TransferStats.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/Utils.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/functions.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/guzzle/src/functions_include.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/AggregateException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/CancellationException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/Coroutine.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/Create.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/Each.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/EachPromise.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/FulfilledPromise.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/Is.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/Promise.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/PromiseInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/PromisorInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/RejectedPromise.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/RejectionException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/TaskQueue.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/TaskQueueInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/promises/src/Utils.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/AppendStream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/BufferStream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/CachingStream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/DroppingStream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/Exception/MalformedUriException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/FnStream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/Header.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/HttpFactory.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/InflateStream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/LazyOpenStream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/LimitStream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/Message.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/MessageTrait.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/MimeType.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/MultipartStream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/NoSeekStream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/PumpStream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/Query.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/Request.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/Response.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/Rfc3986.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/Rfc7230.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/ServerRequest.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/Stream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/StreamDecoratorTrait.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/StreamWrapper.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/UploadedFile.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/Uri.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/UriComparator.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/UriNormalizer.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/UriResolver.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/guzzlehttp/psr7/src/Utils.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/constant_time_encoding/LICENSE.txt create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/constant_time_encoding/src/Base32.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/constant_time_encoding/src/Base32Hex.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/constant_time_encoding/src/Base64.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/constant_time_encoding/src/Base64DotSlash.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/constant_time_encoding/src/Base64DotSlashOrdered.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/constant_time_encoding/src/Base64UrlSafe.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/constant_time_encoding/src/Binary.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/constant_time_encoding/src/EncoderInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/constant_time_encoding/src/Encoding.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/constant_time_encoding/src/Hex.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/constant_time_encoding/src/RFC4648.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/random_compat/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/random_compat/build-phar.sh create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/random_compat/dist/random_compat.phar.pubkey create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/random_compat/dist/random_compat.phar.pubkey.asc create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/random_compat/lib/random.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/random_compat/other/build_phar.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/random_compat/psalm-autoload.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/paragonie/random_compat/psalm.xml create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/AUTHORS create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Common/Functions/Strings.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/AES.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/ChaCha20.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/AsymmetricKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/BlockCipher.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/Formats/Keys/JWK.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/Formats/Keys/OpenSSH.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/Formats/Keys/PKCS.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/Formats/Keys/PKCS1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/Formats/Keys/PKCS8.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/Formats/Keys/PuTTY.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/Formats/Signature/Raw.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/PrivateKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/PublicKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/StreamCipher.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/SymmetricKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/Traits/Fingerprint.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Common/Traits/PasswordProtected.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DES.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DH.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DH/Formats/Keys/PKCS1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DH/Formats/Keys/PKCS8.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DH/Parameters.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DH/PrivateKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DH/PublicKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA/Formats/Keys/OpenSSH.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA/Formats/Keys/PKCS1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA/Formats/Keys/PKCS8.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA/Formats/Keys/PuTTY.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA/Formats/Keys/Raw.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA/Formats/Keys/XML.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA/Formats/Signature/ASN1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA/Formats/Signature/Raw.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA/Formats/Signature/SSH2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA/Parameters.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA/PrivateKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/DSA/PublicKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/BaseCurves/Base.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/BaseCurves/Binary.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/BaseCurves/KoblitzPrime.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/BaseCurves/Montgomery.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/BaseCurves/Prime.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/BaseCurves/TwistedEdwards.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/Curve25519.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/Curve448.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/Ed25519.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/Ed448.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP160r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP160t1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP192r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP192t1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP224r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP224t1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP256r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP256t1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP320r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP320t1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP384r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP384t1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP512r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/brainpoolP512t1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/nistb233.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/nistb409.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/nistk163.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/nistk233.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/nistk283.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/nistk409.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/nistp192.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/nistp224.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/nistp256.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/nistp384.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/nistp521.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/nistt571.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/prime192v1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/prime192v2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/prime192v3.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/prime239v1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/prime239v2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/prime239v3.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/prime256v1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp112r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp112r2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp128r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp128r2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp160k1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp160r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp160r2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp192k1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp192r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp224k1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp224r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp256k1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp256r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp384r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/secp521r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect113r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect113r2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect131r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect131r2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect163k1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect163r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect163r2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect193r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect193r2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect233k1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect233r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect239k1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect283k1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect283r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect409k1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect409r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect571k1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Curves/sect571r1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Keys/Common.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Keys/JWK.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Keys/MontgomeryPrivate.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Keys/MontgomeryPublic.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Keys/OpenSSH.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Keys/PKCS1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Keys/PKCS8.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Keys/PuTTY.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Keys/XML.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Keys/libsodium.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Signature/ASN1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Signature/IEEE.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Signature/Raw.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Signature/SSH2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/Parameters.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/PrivateKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/EC/PublicKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Hash.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/PublicKeyLoader.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RC2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RC4.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RSA.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RSA/Formats/Keys/JWK.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RSA/Formats/Keys/MSBLOB.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RSA/Formats/Keys/OpenSSH.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RSA/Formats/Keys/PKCS1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RSA/Formats/Keys/PKCS8.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RSA/Formats/Keys/PSS.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RSA/Formats/Keys/PuTTY.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RSA/Formats/Keys/Raw.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RSA/Formats/Keys/XML.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RSA/PrivateKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/RSA/PublicKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Random.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Salsa20.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/TripleDES.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Crypt/Twofish.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/BadConfigurationException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/BadDecryptionException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/BadModeException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/ConnectionClosedException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/FileNotFoundException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/InconsistentSetupException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/InsufficientSetupException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/InvalidPacketLengthException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/NoKeyLoadedException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/NoSupportedAlgorithmsException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/TimeoutException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/UnableToConnectException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/UnsupportedAlgorithmException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/UnsupportedCurveException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/UnsupportedFormatException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Exception/UnsupportedOperationException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ANSI.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Element.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/AccessDescription.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/AdministrationDomainName.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/AlgorithmIdentifier.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/AnotherName.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Attribute.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/AttributeType.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/AttributeTypeAndValue.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/AttributeValue.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Attributes.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/AuthorityInfoAccessSyntax.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/AuthorityKeyIdentifier.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/BaseDistance.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/BasicConstraints.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/BuiltInDomainDefinedAttribute.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/BuiltInDomainDefinedAttributes.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/BuiltInStandardAttributes.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/CPSuri.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/CRLDistributionPoints.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/CRLNumber.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/CRLReason.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/CertPolicyId.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Certificate.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/CertificateIssuer.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/CertificateList.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/CertificatePolicies.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/CertificateSerialNumber.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/CertificationRequest.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/CertificationRequestInfo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Characteristic_two.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/CountryName.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Curve.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/DHParameter.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/DSAParams.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/DSAPrivateKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/DSAPublicKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/DigestInfo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/DirectoryString.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/DisplayText.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/DistributionPoint.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/DistributionPointName.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/DssSigValue.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/ECParameters.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/ECPoint.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/ECPrivateKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/EDIPartyName.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/EcdsaSigValue.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/EncryptedData.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/EncryptedPrivateKeyInfo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/ExtKeyUsageSyntax.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Extension.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/ExtensionAttribute.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/ExtensionAttributes.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Extensions.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/FieldElement.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/FieldID.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/GeneralName.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/GeneralNames.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/GeneralSubtree.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/GeneralSubtrees.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/HashAlgorithm.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/HoldInstructionCode.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/InvalidityDate.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/IssuerAltName.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/IssuingDistributionPoint.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/KeyIdentifier.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/KeyPurposeId.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/KeyUsage.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/MaskGenAlgorithm.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Name.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/NameConstraints.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/NetworkAddress.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/NoticeReference.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/NumericUserIdentifier.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/ORAddress.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/OneAsymmetricKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/OrganizationName.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/OrganizationalUnitNames.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/OtherPrimeInfo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/OtherPrimeInfos.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PBEParameter.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PBES2params.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PBKDF2params.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PBMAC1params.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PKCS9String.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Pentanomial.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PersonalName.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PolicyInformation.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PolicyMappings.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PolicyQualifierId.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PolicyQualifierInfo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PostalAddress.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Prime_p.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PrivateDomainName.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PrivateKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PrivateKeyInfo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PrivateKeyUsagePeriod.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PublicKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PublicKeyAndChallenge.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/PublicKeyInfo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/RC2CBCParameter.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/RDNSequence.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/RSAPrivateKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/RSAPublicKey.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/RSASSA_PSS_params.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/ReasonFlags.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/RelativeDistinguishedName.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/RevokedCertificate.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/SignedPublicKeyAndChallenge.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/SpecifiedECDomain.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/SubjectAltName.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/SubjectDirectoryAttributes.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/SubjectInfoAccessSyntax.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/SubjectPublicKeyInfo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/TBSCertList.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/TBSCertificate.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/TerminalIdentifier.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Time.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Trinomial.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/UniqueIdentifier.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/UserNotice.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/Validity.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/netscape_ca_policy_url.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/netscape_cert_type.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/ASN1/Maps/netscape_comment.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/File/X509.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Base.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/BuiltIn.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/DefaultEngine.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/OpenSSL.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/Barrett.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/Engine.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/GMP.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/GMP/DefaultEngine.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/OpenSSL.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/Base.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/DefaultEngine.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/Montgomery.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/OpenSSL.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/Reductions/Barrett.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/Reductions/Classic.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/Reductions/EvalBarrett.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/Reductions/Montgomery.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/Reductions/MontgomeryMult.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP/Reductions/PowerOfTwo.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP32.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP64.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BinaryField.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/BinaryField/Integer.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/Common/FiniteField.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/Common/FiniteField/Integer.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/PrimeField.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Math/PrimeField/Integer.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Net/SCP.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Net/SFTP.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Net/SFTP/Stream.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/Net/SSH2.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/System/SSH/Agent.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/System/SSH/Agent/Identity.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/System/SSH/Common/Traits/ReadBytes.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/bootstrap.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/phpseclib/phpseclib/phpseclib/openssl.cnf create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/cache/LICENSE.txt create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/cache/src/CacheException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/cache/src/CacheItemInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/cache/src/CacheItemPoolInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/cache/src/InvalidArgumentException.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-client/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-client/src/ClientExceptionInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-client/src/ClientInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-client/src/NetworkExceptionInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-client/src/RequestExceptionInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-factory/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-factory/src/RequestFactoryInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-factory/src/ResponseFactoryInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-factory/src/ServerRequestFactoryInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-factory/src/StreamFactoryInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-factory/src/UploadedFileFactoryInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-factory/src/UriFactoryInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-message/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-message/src/MessageInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-message/src/RequestInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-message/src/ResponseInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-message/src/ServerRequestInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-message/src/StreamInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-message/src/UploadedFileInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/psr/http-message/src/UriInterface.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/ralouphie/getallheaders/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/ralouphie/getallheaders/src/getallheaders.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/symfony/deprecation-contracts/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/symfony/deprecation-contracts/function.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/vendor/autoload.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/vendor/composer/ClassLoader.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/vendor/composer/LICENSE create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/vendor/composer/autoload_classmap.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/vendor/composer/autoload_files.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/vendor/composer/autoload_namespaces.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/vendor/composer/autoload_psr4.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/vendor/composer/autoload_real.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/prefixed/vendor/composer/autoload_static.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vendor/scoper-autoload.php create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/dist/SearchEngineKeywordsPerformance.css create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/dist/SearchEngineKeywordsPerformance.umd.js create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/dist/SearchEngineKeywordsPerformance.umd.js.map create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/dist/SearchEngineKeywordsPerformance.umd.min.js create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/dist/SearchEngineKeywordsPerformance.umd.min.js.map create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/dist/umd.metadata.json create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/src/Admin/AdminPage.vue create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/src/Admin/Provider.vue create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/src/Bing/Configuration.vue create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/src/Configure/ConfigureConnection.less create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/src/Configure/ConfigureConnection.vue create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/src/Google/Configuration.vue create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/src/Navigation/Navigation.vue create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/src/Yandex/Configuration.vue create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/src/components/WebsitesAvailableModal.vue create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/src/index.ts create mode 100644 files/plugin-SearchEngineKeywordsPerformance-5.2.1/vue/src/utilities.ts create mode 100644 files/plugin-UsersFlow-5.1.1/API.php create mode 100644 files/plugin-UsersFlow-5.1.1/Archiver.php create mode 100644 files/plugin-UsersFlow-5.1.1/Archiver/DataSources.php create mode 100644 files/plugin-UsersFlow-5.1.1/Archiver/LogAggregator.php create mode 100644 files/plugin-UsersFlow-5.1.1/CHANGELOG.md create mode 100644 files/plugin-UsersFlow-5.1.1/Categories/TopPathsSubcategory.php create mode 100644 files/plugin-UsersFlow-5.1.1/Categories/UsersFlowSubcategory.php create mode 100644 files/plugin-UsersFlow-5.1.1/Columns/Interactions.php create mode 100644 files/plugin-UsersFlow-5.1.1/Columns/Metrics/ExitRate.php create mode 100644 files/plugin-UsersFlow-5.1.1/Columns/Metrics/Proceeded.php create mode 100644 files/plugin-UsersFlow-5.1.1/Columns/Metrics/ProceededRate.php create mode 100644 files/plugin-UsersFlow-5.1.1/Configuration.php create mode 100644 files/plugin-UsersFlow-5.1.1/Controller.php create mode 100644 files/plugin-UsersFlow-5.1.1/DataTable/Filter/AddLabelsForMissingSteps.php create mode 100644 files/plugin-UsersFlow-5.1.1/DataTable/Filter/BalanceOtherActions.php create mode 100644 files/plugin-UsersFlow-5.1.1/DataTable/Filter/LimitProceededToActions.php create mode 100644 files/plugin-UsersFlow-5.1.1/DataTable/Filter/LimitStepActions.php create mode 100644 files/plugin-UsersFlow-5.1.1/DataTable/Filter/ReplaceActionLabels.php create mode 100644 files/plugin-UsersFlow-5.1.1/LEGALNOTICE create mode 100644 files/plugin-UsersFlow-5.1.1/LICENSE create mode 100644 files/plugin-UsersFlow-5.1.1/Metrics.php create mode 100644 files/plugin-UsersFlow-5.1.1/README.md create mode 100644 files/plugin-UsersFlow-5.1.1/RecordBuilders/GenericUsersFlow.php create mode 100644 files/plugin-UsersFlow-5.1.1/RecordBuilders/UsersFlowPageTitle.php create mode 100644 files/plugin-UsersFlow-5.1.1/RecordBuilders/UsersFlowPageUrl.php create mode 100644 files/plugin-UsersFlow-5.1.1/Reports/Base.php create mode 100644 files/plugin-UsersFlow-5.1.1/Reports/GetInteractionActions.php create mode 100644 files/plugin-UsersFlow-5.1.1/Reports/GetUsersFlow.php create mode 100644 files/plugin-UsersFlow-5.1.1/Reports/GetUsersFlowPretty.php create mode 100644 files/plugin-UsersFlow-5.1.1/SystemSettings.php create mode 100644 files/plugin-UsersFlow-5.1.1/UsersFlow.php create mode 100644 files/plugin-UsersFlow-5.1.1/docs/index.md create mode 100644 files/plugin-UsersFlow-5.1.1/lang/am.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/ar.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/az.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/be.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/bg.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/bn.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/bs.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/ca.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/cs.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/cy.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/da.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/de.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/dv.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/el.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/en.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/eo.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/es-ar.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/es.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/et.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/eu.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/fa.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/fi.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/fr.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/ga.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/gl.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/gu.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/he.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/hi.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/hr.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/hu.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/hy.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/id.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/is.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/it.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/ja.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/ka.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/ko.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/ku.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/lb.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/lt.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/lv.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/ms.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/nb.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/nl.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/nn.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/pl.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/pt-br.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/pt.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/ro.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/ru.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/si.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/sk.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/sl.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/sq.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/sr.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/sv.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/ta.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/te.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/th.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/tl.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/tr.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/tzm.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/uk.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/ur.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/vi.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/zh-cn.json create mode 100644 files/plugin-UsersFlow-5.1.1/lang/zh-tw.json create mode 100644 files/plugin-UsersFlow-5.1.1/libs/sankey/LICENSE create mode 100644 files/plugin-UsersFlow-5.1.1/libs/sankey/sankey.js create mode 100644 files/plugin-UsersFlow-5.1.1/package-lock.json create mode 100644 files/plugin-UsersFlow-5.1.1/package.json create mode 100644 files/plugin-UsersFlow-5.1.1/phpcs.xml create mode 100644 files/plugin-UsersFlow-5.1.1/phpstan.neon create mode 100644 files/plugin-UsersFlow-5.1.1/phpstan/phpstan.created.neon create mode 100644 files/plugin-UsersFlow-5.1.1/phpstan/phpstan.modified.neon create mode 100644 files/plugin-UsersFlow-5.1.1/plugin.json create mode 100644 files/plugin-UsersFlow-5.1.1/pull_request_template.md create mode 100644 files/plugin-UsersFlow-5.1.1/stylesheets/d3-tip.less create mode 100644 files/plugin-UsersFlow-5.1.1/templates/getUsersFlow.twig create mode 100644 files/plugin-UsersFlow-5.1.1/tsconfig.json create mode 100644 files/plugin-UsersFlow-5.1.1/vue/dist/UsersFlow.umd.js create mode 100644 files/plugin-UsersFlow-5.1.1/vue/dist/UsersFlow.umd.min.js create mode 100644 files/plugin-UsersFlow-5.1.1/vue/dist/umd.metadata.json create mode 100644 files/plugin-UsersFlow-5.1.1/vue/src/GetUsersFlow/GetUsersFlow.vue create mode 100644 files/plugin-UsersFlow-5.1.1/vue/src/Visualization/Visualization.less create mode 100644 files/plugin-UsersFlow-5.1.1/vue/src/Visualization/Visualization.vue create mode 100644 files/plugin-UsersFlow-5.1.1/vue/src/index.ts diff --git a/Dockerfile b/Dockerfile index 087e4e1..123ea44 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,23 +2,27 @@ FROM matomo:5.12.0 # checkov:skip=CKV_DOCKER_2:Skipping HEALTHCHECK configuration for now # checkov:skip=CKV_DOCKER_3:The container actually runs as www-data user +## begin Free plugins # Add the EnvironmentVariables plugin COPY ./files/plugin-EnvironmentVariables-5.0.3/ /var/www/html/plugins/EnvironmentVariables # Add the CustomVariables plugin COPY ./files/plugin-CustomVariables-5.0.6/ /var/www/html/plugins/CustomVariables +## end Free plugins -# Add the HeatmapSessionRecording plugin -COPY ./files/plugin-HeatmapSessionRecording-5.3.5/ /var/www/html/plugins/HeatmapSessionRecording +## begin Premium (e.g., paid) plugins linked to our license code +# Add the CustomReports plugin +COPY ./files/plugin-CustomReports-5.5.0/ /var/www/html/plugins/CustomReports -# Add the UsersFlow plugin -COPY ./files/plugin-UsersFlow-5.0.9/ /var/www/html/plugins/UsersFlow +# Add the HeatmapSessionRecording plugin +COPY ./files/plugin-HeatmapSessionRecording-5.6.0/ /var/www/html/plugins/HeatmapSessionRecording # Add the SearchEngineKeywordsPerformance plugin -COPY ./files/plugin-SearchEngineKeywordsPerformance-5.0.29/ /var/www/html/plugins/SearchEngineKeywordsPerformance +COPY ./files/plugin-SearchEngineKeywordsPerformance-5.2.1/ /var/www/html/plugins/SearchEngineKeywordsPerformance -# Add the CustomReports plugin -COPY ./files/plugin-CustomReports-5.4.10/ /var/www/html/plugins/CustomReports +# Add the UsersFlow plugin +COPY ./files/plugin-UsersFlow-5.1.1/ /var/www/html/plugins/UsersFlow +## end Premium plugins # Our custom configuration settings. COPY ./files/config.ini.php /var/www/html/config/config.ini.php diff --git a/docs/HowTos/HOWTO-matomo-upgrade.md b/docs/HowTos/HOWTO-matomo-upgrade.md index d513a55..3561bee 100644 --- a/docs/HowTos/HOWTO-matomo-upgrade.md +++ b/docs/HowTos/HOWTO-matomo-upgrade.md @@ -47,7 +47,7 @@ These instructions assume you are working in the **dev** environment. Change to Often, an update to the version of Matomo will require an update to a plugin version. See below for an overview of the plugin update process. 1. Ensure that an out-of-band backup of the current `config/config.ini.php` exists - * SSH (via AWSCLI + Session Manager) to the container(see the [Troubleshooting](./HOWTO-miscellaneous.md) section for the AWS CLI connection command). + * SSH (via AWSCLI + Session Manager) to the container (see the [Troubleshooting](./HOWTO-miscellaneous.md) section for the AWS CLI connection command). * Run `cp /var/www/html/config/* /mnt/efs/backup/config` 1. Visit [Matomo plugins](https://plugins.matomo.org), select the correct version of Matomo, and then search for the plugins that are currently in use in our instance of Matomo. * If there is a newer version, download it from the site, unzip it, and store the unzipped folder in the [files/](../../files/) directory, following the naming convention in place (e.g., `plugin--`) diff --git a/files/plugin-CustomReports-5.5.0/API.php b/files/plugin-CustomReports-5.5.0/API.php new file mode 100644 index 0000000..1f33235 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/API.php @@ -0,0 +1,1029 @@ +metricsList = MetricsList::get(); + $this->columnsProvider = $columnsProvider; + $this->model = $model; + $this->validator = $validator; + $this->logTablesProvider = $logTablesProvider; + $this->configuration = $configuration; + $this->archiveInvalidator = $archiveInvalidator; + } + + /** + * Duplicates a custom report to one or more websites. + * If the name already exists on a destination site, the copied report is renamed automatically. + * + * @param int $idSite The numeric ID of the website that owns the source custom report. + * @param int $idCustomReport The ID of the custom report to duplicate. + * @param int[] $idDestinationSites Website IDs to copy the custom report to. Defaults to [$idSite] when omitted. + * @return array Response indicating whether the duplication succeeded and, on success, the new report ID. + */ + public function duplicateCustomReport(int $idSite, int $idCustomReport, array $idDestinationSites = []): array + { + if (!class_exists('\Piwik\Plugins\CoreHome\EntityDuplicator\DuplicateRequestResponse')) { + throw new BadRequestException('This endpoint is not available until Matomo 5.4.0'); + } + + // Define data array before any alterations to the variables + $additionalData = [ + 'idSite' => $idSite, + 'idDestinationSites' => $idDestinationSites, + 'idCustomReport' => $idCustomReport, + ]; + + $idDestinationSites = count($idDestinationSites) > 0 ? $idDestinationSites : [$idSite]; + $idSitesToCheck = array_unique(array_merge([$idSite], $idDestinationSites)); + $this->validator->checkSitesDuplicationPermission($idSitesToCheck); + + // Initialise the common response values + $duplicateRequestResponse = new DuplicateRequestResponse(); + + $customReport = null; + try { + $customReport = $this->getConfiguredReport($idSite, $idCustomReport); + } catch (\Throwable $e) { + // Log the error, but continue for the proper response to be built later + $this->logError('Uncaught exception looking up custom report to duplicate: {exception}', $e); + } + // Name and atleast 1 dimension and 1 metric is needed to create a custom report + if (empty($customReport['name'])) { + $duplicateRequestResponse->setSuccess(false); + $duplicateRequestResponse->setMessage(Piwik::translate('CustomReports_SourceCustomReportLookupError')); + $duplicateRequestResponse->setAdditionalData($additionalData); + + return $duplicateRequestResponse->getResponseArray(); + } + + $newName = $customReport['name']; + $customReportNames = []; + foreach ($idDestinationSites as $idDestinationSite) { + $customReports = $this->model->getAllCustomReportsForSite($idDestinationSite, true, true); + // It can only be a duplicate name if some custom reports were found for the site. + if (is_array($customReports) && count($customReports) > 0) { + $customReportNames = array_merge($customReportNames, array_column($customReports, 'name')); + } + } + // It can only be a duplicate name if some custom reports were found for the site. + if (count($customReportNames) > 0) { + $newName = EntityDuplicatorHelper::getUniqueNameComparedToList($newName, $customReportNames, 50); + } + $category = ''; + $subCategory = ''; + if ($idDestinationSites[0] === $idSite) { + $category = !empty($customReport['category']['id']) ? $customReport['category']['id'] : ''; + $subCategory = !empty($customReport['subcategory']['id']) ? $customReport['subcategory']['id'] : ''; + } + try { + $response = $this->addCustomReport( + $idDestinationSites[0], + $newName, + $customReport['report_type'], + $customReport['metrics'], + $category, + $customReport['dimensions'], + $subCategory, + $customReport['description'], + $customReport['segment_filter'], + (count($idDestinationSites) > 1 ? $idDestinationSites : []) // Add only if more than 1 destination site is passed + ); + } catch (\Exception $e) { + $response = false; + $this->logError('Uncaught exception duplicating custom report: {exception}', $e); + } + + if (!is_int($response) || $response < 1) { + $duplicateRequestResponse->setSuccess(false); + $duplicateRequestResponse->setMessage(Piwik::translate('CustomReports_CustomReportDuplicationError')); + } else { + // Set the values for success response + $duplicateRequestResponse->setSuccess(true); + $duplicateRequestResponse->setMessage(Piwik::translate('CustomReports_CustomReportCopied')); + $additionalData['newIds'] = $response; + $duplicateRequestResponse->setAdditionalData($additionalData); + } + + // Make sure to record the activity for the report being copied + if (class_exists('\Piwik\Plugins\ActivityLog\ActivityParamObject\EntityDuplicatedData')) { + // TODO - Remove this if/else and always use the setRequestDataForActivity method for Matomo 6.x + if (method_exists($duplicateRequestResponse, 'setRequestDataForEvent')) { + $duplicateRequestResponse->setRequestDataForEvent( + 'CustomReports_CustomReport', + $customReport['name'], + $idCustomReport, + $idSite, + $idDestinationSites, + $additionalData + ); + } else { + ( + new \Piwik\Plugins\ActivityLog\ActivityParamObject\EntityDuplicatedData( + 'CustomReports_CustomReport', + $customReport['name'], + $idCustomReport, + $idSite, + $idDestinationSites, + $additionalData + ) + )->postActivityEvent(); + } + } + + return $duplicateRequestResponse->getResponseArray(); + } + + private function logError(string $message, \Throwable $e): void + { + StaticContainer::get(\Piwik\Log\LoggerInterface::class)->error( + $message, + [ + 'exception' => $e, + 'ignoreInScreenWriter' => true, + ] + ); + } + + /** + * Creates a new custom report definition. + * + * @param int|string $idSite Website ID that owns the report, or "all"/0 when creating a shared report for multiple websites. + * @param string $name The report name. + * @param string $reportType Report type to create, for example "table", "evolution" or "kpicard". + * @param string[] $metricIds Metric IDs to include in the report. + * @param string|false $categoryId Category ID to place the report in. Uses the default custom reports category when omitted. + * @param string[] $dimensionIds Dimension IDs to include in the report. + * @param string|false $subcategoryId Subcategory ID to place the report in. Creates a new reporting page when omitted. + * @param string $description Optional report description shown in the report help tooltip. + * @param string $segmentFilter Optional URL-encoded segment applied to the report data. + * @param int[]|string[] $multipleIdSites Optional website IDs to assign the report to when creating a shared report. + * @return int The ID of the newly created custom report. + */ + public function addCustomReport($idSite, $name, $reportType, $metricIds, $categoryId = false, $dimensionIds = array(), $subcategoryId = false, $description = '', $segmentFilter = '', $multipleIdSites = []) + { + if (!empty($multipleIdSites) && $idSite != 'all' && $idSite != '0') { + $multipleIdSites = $this->normalizeMultipleIdSites($multipleIdSites); + foreach ($multipleIdSites as $multipleIdSite) { + $this->validator->checkWritePermission($multipleIdSite); + } + if (!in_array((int) $idSite, $multipleIdSites, true)) { + throw new \Exception(Piwik::translate('CustomReports_ErrorInvalidMultipleIdSite', [$idSite])); + } + } else { + $this->validator->checkWritePermission($idSite); + // prevent creating reports for sites that do not yet exist but might in the future + $this->validator->checkSiteExists($idSite); + } + + if (empty($categoryId)) { + $categoryId = CustomReportsDao::DEFAULT_CATEGORY; + } + + $createdDate = Date::now()->getDatetime(); + if (!empty($segmentFilter)) { + $segmentFilter = Common::unsanitizeInputValue($segmentFilter); + $segmentFilter = urldecode($segmentFilter); + } + + // If there's a Product Revenue metric without a Product Quantity metric, throw an exception + if ( + (in_array('sum_product_revenue', $metricIds) || in_array('avg_product_revenue', $metricIds)) + && !in_array('sum_ecommerce_productquantity', $metricIds) + && !in_array('avg_ecommerce_productquantity', $metricIds) + ) { + throw new \Exception(Piwik::translate('CustomReports_ErrorProductRevenueMetricDependency')); + } + + $idReport = $this->model->createCustomReport($idSite, $name, $description, $reportType, $dimensionIds, $metricIds, $segmentFilter, $categoryId, $subcategoryId, $createdDate, $multipleIdSites); + $report = $this->model->getCustomReportById($idReport, $idSite); + + $config = StaticContainer::get(Configuration::class); + $startDate = null; + $subMonth = $config->getReArchiveReportsInPastLastNMonths(); + if (!empty($subMonth)) { + $startDate = Date::yesterday()->subMonth($subMonth)->setDay(1); + } + + $this->scheduleReArchiving($idSite, $multipleIdSites, $report, $startDate); + + $this->clearCache(); + return $idReport; + } + + private function clearCache() + { + // we need to delete possibly cached values. especially ReportsProvider + try { + Cache::getLazyCache()->flushAll(); + } catch (\Exception $e) { + } + // we need to delete possibly cached values. especially ReportsProvider + try { + Cache::getEagerCache()->flushAll(); + } catch (\Exception $e) { + } + // we need to delete possibly cached values. especially ReportsProvider + try { + Cache::getTransientCache()->flushAll(); + } catch (\Exception $e) { + } + } + + /** + * Updates an existing custom report definition. + * Changing metrics, dimensions, report type, or segment may require the report to be archived again. + * + * @param int|string $idSite Website ID that owns the report, or "all"/0 when updating a shared report. + * @param int $idCustomReport The ID of the custom report to update. + * @param string $name The report name. + * @param string $reportType Report type to store, for example "table", "evolution" or "kpicard". + * @param string[] $metricIds Metric IDs to include in the report. + * @param string|false $categoryId Category ID to place the report in. Uses the default custom reports category when omitted. + * @param string[] $dimensionIds Dimension IDs to include in the report. + * @param string|false $subcategoryId Subcategory ID to place the report in. Creates a new reporting page when omitted. + * @param string $description Optional report description shown in the report help tooltip. + * @param string $segmentFilter Optional URL-encoded segment applied to the report data. + * @param int[] $subCategoryReportIds Child report IDs mapped to this report. + * @param int[]|string[] $multipleIdSites Optional website IDs to assign the report to when updating a shared report. + * @return void + */ + public function updateCustomReport( + $idSite, + $idCustomReport, + $name, + $reportType, + $metricIds, + $categoryId = false, + $dimensionIds = array(), + $subcategoryId = false, + $description = '', + $segmentFilter = '', + $subCategoryReportIds = [], + $multipleIdSites = [] + ): void { + if (!empty($multipleIdSites) && $idSite != 'all' && $idSite != '0') { + $multipleIdSites = $this->normalizeMultipleIdSites($multipleIdSites); + foreach ($multipleIdSites as $multipleIdSite) { + $this->validator->checkWritePermission($multipleIdSite); + } + if (!in_array((int) $idSite, $multipleIdSites, true)) { + throw new \Exception(Piwik::translate('CustomReports_ErrorInvalidMultipleIdSite', [$idSite])); + } + } else { + $this->validator->checkWritePermission($idSite); + // prevent creating reports for sites that do not yet exist but might in the future + $this->validator->checkSiteExists($idSite); + } + + // we cannot get report by idSite, idCustomReport since the idSite may change! + $report = $this->model->getCustomReportById($idCustomReport, $idSite); + + if (empty($report)) { + throw new \Exception(Piwik::translate('CustomReports_ErrorReportDoesNotExist')); + } + + foreach ($this->getCurrentOwnerSites($report) as $currentSite) { + $this->validator->checkWritePermission($currentSite); + } + + if (empty($categoryId)) { + $categoryId = CustomReportsDao::DEFAULT_CATEGORY; + } + + if (!empty($segmentFilter)) { + $segmentFilter = Common::unsanitizeInputValue($segmentFilter); + $segmentFilter = urldecode($segmentFilter); + } + + $updatedDate = Date::now()->getDatetime(); + + $shouldReArchive = false; + if ( + ( + isset($report['report_type']) && + $report['report_type'] != $reportType + ) || + ( + isset($report['dimensions']) && + $report['dimensions'] != $dimensionIds + ) || + ( + isset($report['metrics']) && + $report['metrics'] != $metricIds + ) || + ( + isset($report['segment_filter']) && + $report['segment_filter'] != $segmentFilter + ) + ) { + $shouldReArchive = true; + } + + // If there's a Product Revenue metric without a Product Quantity metric, throw an exception + if ( + (in_array('sum_product_revenue', $metricIds) || in_array('avg_product_revenue', $metricIds)) + && !in_array('sum_ecommerce_productquantity', $metricIds) + && !in_array('avg_ecommerce_productquantity', $metricIds) + ) { + throw new \Exception(Piwik::translate('CustomReports_ErrorProductRevenueMetricDependency')); + } + + $this->model->updateCustomReport($idSite, $idCustomReport, $name, $description, $reportType, $dimensionIds, $metricIds, $segmentFilter, $categoryId, $subcategoryId, $updatedDate, $subCategoryReportIds, $multipleIdSites); + + if ($shouldReArchive) { + $updatedReport = $this->model->getCustomReportById($idCustomReport, $idSite); + $config = StaticContainer::get(Configuration::class); + $startDate = null; + $subMonth = $config->getReArchiveReportsInPastLastNMonths(); + if (!empty($subMonth)) { + $startDate = Date::yesterday()->subMonth($subMonth)->setDay(1); + } + + $this->scheduleReArchiving($idSite, $multipleIdSites, $updatedReport, $startDate); + } + + $this->clearCache(); + } + + /** + * Normalize submitted website IDs to unique positive integers, rejecting any value + * that is not an exact integer (e.g. padded, signed, decimal or exponent forms). + */ + private function normalizeMultipleIdSites(array $multipleIdSites): array + { + $normalized = []; + foreach ($multipleIdSites as $candidate) { + $id = (int) $candidate; + if ($id > 0 && (string) $id === (string) $candidate) { + $normalized[] = $id; + } else { + throw new \Exception(Piwik::translate('CustomReports_ErrorInvalidIdSite', [$candidate])); + } + } + + return array_values(array_unique($normalized, SORT_NUMERIC)); + } + + private function scheduleReArchiving($idSite, $multipleIdSites, array $report, ?Date $startDate): void + { + $idSites = $idSite === 0 || $idSite === '0' || $idSite == 'all' ? 'all' : (!empty($multipleIdSites) ? $multipleIdSites : [$idSite]); + + $this->archiveInvalidator->scheduleReArchiving( + $idSites, + 'CustomReports', + Archiver::makeRecordName($report['idcustomreport'], $report['revision'] ?? 0), + $startDate + ); + + if (ReportType::factory($report['report_type'])->usesNumericRecords()) { + foreach ($this->model->getArchivableMetricsInReport($report) as $metric) { + $this->archiveInvalidator->scheduleReArchiving( + $idSites, + 'CustomReports', + Archiver::makeEvolutionRecordName($report['idcustomreport'], $report['revision'], $metric->getName()), + $startDate + ); + } + } + } + + /** + * Returns all configured custom reports for a website. + * + * @param int|string $idSite The website ID to query, or "all" for reports shared across all websites. + * @param bool $skipCategoryMetadata Whether to omit category metadata from each returned report. + * @return array The configured custom reports for the requested website. + */ + public function getConfiguredReports($idSite, $skipCategoryMetadata = false) + { + $this->validator->checkReportViewPermission($idSite); + $this->validator->checkSiteExists($idSite); + + if ($idSite === 'all') { + $idSite = 0; + } + + $reports = $this->model->getAllCustomReportsForSite($idSite, $skipCategoryMetadata == '1'); + usort($reports, function ($a, $b) { + if ($a['idcustomreport'] > $b['idcustomreport']) { + return 1; // no need to check for === because two reports won't have same ID + } + return -1; + }); + + foreach ($reports as &$report) { + $this->addAllowedToEditStatus($report); + } + + return $reports; + } + + /** + * Returns a specific custom report configuration. + * + * @param int|string $idSite The website ID to query, or "all" for a report shared across all websites. + * @param int $idCustomReport The ID of the custom report. [@example=1] + * @return array The configured custom report details. + */ + public function getConfiguredReport($idSite, $idCustomReport) + { + $this->validator->checkReportViewPermission($idSite); + $this->validator->checkSiteExists($idSite); + + if ($idSite === 'all') { + $idSite = 0; + } + + $this->model->checkReportExists($idSite, $idCustomReport); + + $report = $this->model->getCustomReport($idSite, $idCustomReport); + $this->addAllowedToEditStatus($report); + + return $report; + } + + /** + * Deletes a custom report definition. + * Deleted reports are no longer available through the API, and their archived data may be removed later. + * + * @param int|string $idSite The website ID that owns the custom report, or "all" for a shared report. + * @param int $idCustomReport The ID of the custom report to delete. + * @return void + */ + public function deleteCustomReport($idSite, $idCustomReport): void + { + $this->validator->checkWritePermission($idSite); + + if ($idSite === 'all') { + $idSite = 0; + } + + $report = $this->getCustomReportInfo($idSite, $idCustomReport, 'Delete'); + + $multipleIDSites = $report['multiple_idsites'] ? explode(',', $report['multiple_idsites']) : []; + if ($multipleIDSites) { + foreach ($multipleIDSites as $multipleIdSite) { + $this->validator->checkWritePermission($multipleIdSite); + } + } + $this->archiveInvalidator->removeInvalidationsSafely( + $multipleIDSites ? $multipleIDSites : [$idSite], + 'CustomReports', + Archiver::makeRecordName($idCustomReport, $report['revision']) + ); + + $this->model->deactivateReport($multipleIDSites ? -1 : $idSite, $idCustomReport, $report['name']); + Piwik::postEvent('CustomReports.deleteCustomReport.end', array($idSite, $idCustomReport)); + $this->clearCache(); + } + + /** + * Pauses a custom report. + * Paused reports stop being archived until they are resumed. + * + * @param int|string $idSite The website ID that owns the custom report, or "all" for a shared report. + * @param int $idCustomReport The ID of the custom report to pause. + * @return void + */ + public function pauseCustomReport($idSite, $idCustomReport): void + { + $this->validator->checkWritePermission($idSite); + + if ($idSite === 'all') { + $idSite = 0; + } + + $report = $this->getCustomReportInfo($idSite, $idCustomReport, 'Pause'); + + $multipleIDSites = $report['multiple_idsites'] ? explode(',', $report['multiple_idsites']) : []; + if ($multipleIDSites) { + foreach ($multipleIDSites as $multipleIdSite) { + $this->validator->checkWritePermission($multipleIdSite); + } + } + $this->archiveInvalidator->removeInvalidationsSafely( + $multipleIDSites ? $multipleIDSites : [$idSite], + 'CustomReports', + Archiver::makeRecordName($idCustomReport, $report['revision']) + ); + + $this->model->pauseReport($multipleIDSites ? -1 : $idSite, $idCustomReport, $report['name']); + $this->clearCache(); + } + + /** + * Resumes a paused custom report. + * Resumed reports are archived again for future requests. + * + * @param int|string $idSite The website ID that owns the custom report, or "all" for a shared report. + * @param int $idCustomReport The ID of the custom report to resume. + * @return void + */ + public function resumeCustomReport($idSite, $idCustomReport): void + { + $this->validator->checkWritePermission($idSite); + + if ($idSite === 'all') { + $idSite = 0; + } + + $report = $this->getCustomReportInfo($idSite, $idCustomReport, 'Resume'); + + $multipleIDSites = $report['multiple_idsites'] ? explode(',', $report['multiple_idsites']) : []; + if ($multipleIDSites) { + foreach ($multipleIDSites as $multipleIdSite) { + $this->validator->checkWritePermission($multipleIdSite); + } + } + + $this->model->resumeReport($multipleIDSites ? -1 : $idSite, $idCustomReport, $report['name']); + $this->clearCache(); + } + + /** + * Returns report categories and subcategories that can contain custom reports. + * + * @param int|string $idSite The website ID used to resolve available report pages. + * @return array Available categories and subcategories for custom report placement. + */ + public function getAvailableCategories($idSite) + { + $this->validator->checkReportViewPermission($idSite); + + $reportPages = Request::processRequest('API.getReportPagesMetadata', array('idSite' => $idSite, 'filter_limit' => -1)); + + $categories = array(); + foreach ($reportPages as $reportPage) { + if (!empty($reportPage['category']['id'])) { + $categoryId = $reportPage['category']['id']; + + if ($categoryId === 'Dashboard_Dashboard') { + continue; + } + + $subcategoryId = $reportPage['subcategory']['id']; + if (strpos($subcategoryId, '_Manage') !== false) { + continue; // we do not want to be able to add reports to manage pages + } + + if (isset($categories[$categoryId])) { + $categories[$categoryId]['subcategories'][] = array( + 'uniqueId' => $reportPage['subcategory']['id'], + 'name' => $reportPage['subcategory']['name'] + ); + } else { + $categories[$categoryId] = array( + 'uniqueId' => $categoryId, + 'name' => $reportPage['category']['name'], + 'subcategories' => array( + array( + 'uniqueId' => $reportPage['subcategory']['id'], + 'name' => $reportPage['subcategory']['name'] + ) + ), + ); + } + } + } + + if (!isset($categories['CustomReports_CustomReports'])) { + $categories['CustomReports_CustomReports'] = array( + 'uniqueId' => 'CustomReports_CustomReports', + 'name' => Piwik::translate('CustomReports_CustomReports'), + 'subcategories' => array() + ); + } + + return array_values($categories); + } + + /** + * Returns report types that can be used for custom reports. + * + * @return array Available custom report types keyed by identifier and translated name. + */ + public function getAvailableReportTypes() + { + $this->validator->checkHasSomeWritePermission(); + + $rows = array(); + foreach (ReportType::getAll() as $reportType) { + $rows[] = array('key' => $reportType::ID, 'value' => $reportType->getName()); + } + + return $rows; + } + + private function isTableJoinable($tableName) + { + $logTable = $this->logTablesProvider->getLogTable($tableName); + if ($logTable && ($logTable->getColumnToJoinOnIdAction() || $logTable->getColumnToJoinOnIdVisit())) { + if ($logTable->getPrimaryKey()) { + // without primary key we would not group the data correctly + return true; + } + } elseif ($logTable && $logTable->getWaysToJoinToOtherLogTables()) { + $tables = new JoinTables($this->logTablesProvider, [$tableName]); + return $tables->isTableJoinableOnVisit($tableName) || $tables->isTableJoinableOnAction($tableName); + } + + return false; + } + + /** + * Returns dimensions that can be used in custom reports. + * + * @param int|string $idSite The website ID used to resolve available dimensions. + * @return array Available dimensions grouped by category. + */ + public function getAvailableDimensions($idSite) + { + Piwik::checkUserIsNotAnonymous(); + Piwik::checkUserHasSomeViewAccess(); + + $dimensions = $this->columnsProvider->getAllDimensions(); + + $rows = array(); + + $dimensionsToIgnore = array( + 'Actions.IdPageview', 'CoreHome.VisitId', + 'CoreHome.LinkVisitActionId', 'CoreHome.LinkVisitActionIdPages', 'UserCountry.Provider' + ); + + $dimensionsToRename = [ + 'CoreHome.IdSite' => Piwik::translate('CustomReports_WebsiteName') + ]; + + $config = StaticContainer::get(Configuration::class); + foreach ($config->getDisabledDimensions() as $dimensionDisabled) { + $dimensionsToIgnore[] = $dimensionDisabled; + } + + /** + * Adds the possibility to other plugins to ignore more dimensions + */ + Piwik::postEvent('CustomReports.addDimensionsToIgnore', array(&$dimensionsToIgnore)); + + $categoryList = CategoryList::get(); + + foreach ($dimensions as $dimension) { + $categoryId = $dimension->getCategoryId(); + $dimensionName = $dimension->getName(); + $table = $dimension->getDbTableName(); + $dimensionId = $dimension->getId(); + + if (!$table) { + // without table we cannot join it + continue; + } + + if (!$this->isTableJoinable($table)) { + // archiving this dimension would not work + continue; + } + + if (in_array($dimensionId, $dimensionsToIgnore)) { + continue; + } + + if (key_exists($dimensionId, $dimensionsToRename)) { + $dimensionName = $dimensionsToRename[$dimensionId]; + } + + if ($dimension->getColumnName() && $dimensionName) { + if (!isset($rows[$categoryId])) { + $category = $categoryList->getCategory($categoryId); + $orderId = 999; + if (!empty($category)) { + $orderId = $category->getOrder(); + } + + $categoryName = Piwik::translate($categoryId); + if (!is_null($category) && method_exists($category, 'getDisplayName')) { + $categoryName = $category->getDisplayName(); + } + + $rows[$categoryId] = array( + 'category' => $categoryName, + 'dimensions' => array(), + 'orderId' => $orderId + ); + } + $rows[$categoryId]['dimensions'][] = array( + 'uniqueId' => $dimension->getId(), + 'name' => ucwords($dimensionName), + 'sqlSegment' => $dimension->getSqlSegment(), + ); + } + } + + usort($rows, function ($rowA, $rowB) { + if ((int)$rowA['orderId'] > (int)$rowB['orderId']) { + return 1; + } + if ((int)$rowA['orderId'] === (int)$rowB['orderId']) { + return 0; + } + return -1; + }); + + foreach ($rows as $categoryId => $row) { + $dimensions = $row['dimensions']; + usort($dimensions, function ($dimA, $dimB) { + return strcmp($dimA['name'], $dimB['name']); + }); + $rows[$categoryId]['dimensions'] = $dimensions; + } + + return array_values($rows); + } + + /** + * Returns metrics that can be used in custom reports. + * + * @param int|string $idSite The website ID used to resolve available metrics. + * @return array Available metrics grouped by category. + */ + public function getAvailableMetrics($idSite) + { + Piwik::checkUserIsNotAnonymous(); + Piwik::checkUserHasSomeViewAccess(); + + $metrics = MetricsList::get(); + $categoryList = CategoryList::get(); + + $rows = array(); + $period = Common::getRequestVar('period', '', 'string'); + foreach ($metrics->getMetrics() as $metric) { + if (!$metric) { + continue; + } + if ($metric instanceof ProcessedMetric && !$this->canGenerateMetricAutomatically($metric)) { + // we do not have all the dependent metrics to generate this processed metric automatically + continue; + } + + $categoryId = $metric->getCategoryId(); + $name = $metric->getName(); + $translatedName = $metric->getTranslatedName(); + + if (($metric instanceof ProcessedMetric || $metric instanceof ArchivedMetric) && $name && $translatedName) { + if (method_exists($metric, 'getQuery') && !$metric->getQuery()) { + // archiving this metric would not work! + continue; + } + + if (method_exists($metric, 'getDbTableName') && $metric->getDbTableName() && !$this->isTableJoinable($metric->getDbTableName())) { + // archiving this metric would not work! + continue; + } + + if (method_exists($metric, 'getDimension') && $metric->getDimension()) { + $dimension = $metric->getDimension(); + $dbDiscriminator = $dimension->getDbDiscriminator(); + if ($dbDiscriminator) { + $dbDiscriminatorValue = $dbDiscriminator->getValue(); + if (!isset($dbDiscriminatorValue) || !is_numeric($dbDiscriminatorValue)) { + continue; + } + } + } + + if (!isset($rows[$categoryId])) { + $category = $categoryList->getCategory($categoryId); + $orderId = 999; + if (!empty($category)) { + $orderId = $category->getOrder(); + } + + $categoryName = Piwik::translate($categoryId); + if (!is_null($category) && method_exists($category, 'getDisplayName')) { + $categoryName = $category->getDisplayName(); + } + + $rows[$categoryId] = array( + 'category' => $categoryName, + 'metrics' => array(), + 'orderId' => $orderId + ); + } + + $description = $metric->getDocumentation(); + if (stripos($translatedName, 'unique') === 0) { + $description = Piwik::translate('CustomReports_CommonUniqueMetricDescription', array($description, ucwords($translatedName), str_replace('Unique ', '', ucwords($translatedName)))); + } + + $rows[$categoryId]['metrics'][] = array( + 'uniqueId' => $name, 'name' => ucwords($translatedName), 'description' => $description + ); + } + } + + usort($rows, function ($rowA, $rowB) { + if ((int)$rowA['orderId'] > (int)$rowB['orderId']) { + return 1; + } + if ((int)$rowA['orderId'] === (int)$rowB['orderId']) { + return 0; + } + return -1; + }); + + foreach ($rows as $category => $row) { + $dimensions = $row['metrics']; + usort($dimensions, function ($dimA, $dimB) { + return strcasecmp($dimA['name'], $dimB['name']); + }); + $rows[$category]['metrics'] = $dimensions; + } + + return array_values($rows); + } + + private function canGenerateMetricAutomatically(ProcessedMetric $metric) + { + foreach ($metric->getDependentMetrics() as $dependentMetric) { + $depMetric = $this->metricsList->getMetric($dependentMetric); + if (!$depMetric) { + // we cannot generate this metric directly + return false; + } + + if ($depMetric instanceof ProcessedMetric && !$this->canGenerateMetricAutomatically($depMetric)) { + return false; + } + } + + return true; + } + + /** + * Returns archived data for a configured custom report. + * + * @param int|string $idSite The website ID to query. + * @param 'day'|'week'|'month'|'year'|'range' $period The period to process, processes data for the period + * containing the specified date. + * @param string $date The date or date range to process. + * 'YYYY-MM-DD', magic keywords (today, yesterday, lastWeek, lastMonth, lastYear), + * or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD', lastX, previousX). + * @param int $idCustomReport The ID of the custom report to look up data for. + * @param string|null|false $segment Custom segment to filter the report. + * Example: "referrerName==example.com" + * Supports AND (;) and OR (,) operators. + * @param bool $expanded Whether to expand recursive subtables in the response. + * @param bool $flat Whether to flatten the report rows into a single level. + * @param int|false $idSubtable The subtable ID to fetch instead of the root table. + * @param string|false $columns Comma-separated list of columns to include in the response. + * @return DataTable\DataTableInterface The archived data for the requested custom report. + */ + public function getCustomReport($idSite, $period, $date, $idCustomReport, $segment = false, $expanded = false, $flat = false, $idSubtable = false, $columns = false) + { + $this->validator->checkReportViewPermission($idSite); + $this->validator->checkSiteExists($idSite); // lets not return any reports from eg deleted sites if for some reason report still exists + $this->model->checkReportExists($idSite, $idCustomReport); + + $report = $this->model->getCustomReport($idSite, $idCustomReport); + + $reportType = ReportType::factory($report['report_type']); + + $table = $reportType->fetchApi($idSite, $idCustomReport, $period, $date, $segment, $expanded, $flat, $idSubtable, $columns); + + return $table; + } + + private function addAllowedToEditStatus(&$report) + { + $idSite = $report['idsite']; + $multipleIdSites = $report['multiple_idsites'] ? explode(',', $report['multiple_idsites']) : array(); + if (Piwik::hasUserSuperUserAccess()) { + $allowedToEdit = true; + } elseif ($idSite == 'all' || $idSite == '0') { + $allowedToEdit = false; + } else { + $allowedToEdit = $multipleIdSites ? Piwik::isUserHasWriteAccess($multipleIdSites) : Piwik::isUserHasWriteAccess($idSite); + } + + $report['allowedToEdit'] = $allowedToEdit; + } + + /** + * @param array $report + * @return int[] + */ + private function getCurrentOwnerSites(array $report): array + { + $currentSites = !empty($report['multiple_idsites']) + ? explode(',', $report['multiple_idsites']) + : [$report['idsite']]; + + $currentSites = array_filter($currentSites, static function ($site) { + return $site !== '' && $site !== null && $site !== false; + }); + + return array_values(array_map('intval', $currentSites)); + } + + private function getCustomReportInfo($idSite, $idCustomReport, $action) + { + $report = $this->model->getCustomReport($idSite, $idCustomReport); + + if (empty($report)) { + throw new \Exception(Piwik::translate('CustomReports_ErrorCustomReportDoesNotExist')); + } elseif ($report['idsite'] != $idSite) { + // prevent a possible hack that someone passes a different site than the report has and then we accidentally + // still delete the report because we match with `idsite = 0 or idsite = ?`. We don't do this here right now + // and wouldn't need this code but it is to prevent any possible future security bugs. + throw new \Exception(Piwik::translate('CustomReports_' . $action . 'ExceptionMessage')); + } + + return $report; + } +} diff --git a/files/plugin-CustomReports-5.5.0/Activity/BaseActivity.php b/files/plugin-CustomReports-5.5.0/Activity/BaseActivity.php new file mode 100644 index 0000000..75a03a6 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Activity/BaseActivity.php @@ -0,0 +1,113 @@ + $this->getSiteData($idSite), + 'version' => 'v1', + 'report' => $this->getReportData($idSite, $idCustomReport), + ); + } + + private function getSiteData($idSite) + { + if ($idSite == 0) { + return array( + 'site_id' => 'all', + 'site_name' => 'all' + ); + } + + return array( + 'site_id' => $idSite, + 'site_name' => Site::getNameFor($idSite) + ); + } + + private function getReportData($idSite, $idCustomReport) + { + $report = $this->getDao()->getCustomReport($idSite, $idCustomReport); + + if (!empty($report['name'])) { + $reportName = $report['name']; + } else { + // report name might not be set when we are handling ReportDeleted activity + $reportName = 'ID: ' . (int) $idCustomReport; + } + + return array( + 'id' => $idCustomReport, + 'name' => $reportName + ); + } + + public function getPerformingUser($eventData = null) + { + $login = Piwik::getCurrentUserLogin(); + + if ($login === self::USER_ANONYMOUS || empty($login)) { + // anonymous cannot change a report, in this case the system changed it + return self::USER_SYSTEM; + } + + return $login; + } + + private function getDao() + { + return StaticContainer::get('Piwik\Plugins\CustomReports\Dao\CustomReportsDao'); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Activity/ReportAdded.php b/files/plugin-CustomReports-5.5.0/Activity/ReportAdded.php new file mode 100644 index 0000000..59db137 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Activity/ReportAdded.php @@ -0,0 +1,41 @@ +formatActivityData($idSite, $idCustomReport); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $reportName = $this->getReportNameFromActivityData($activityData); + + return Piwik::translate('CustomReports_ActivityReportAddedDescription', [$reportName, $siteName]); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Activity/ReportDeleted.php b/files/plugin-CustomReports-5.5.0/Activity/ReportDeleted.php new file mode 100644 index 0000000..3a145af --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Activity/ReportDeleted.php @@ -0,0 +1,44 @@ +formatActivityData($idSite, $idCustomReport); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $reportName = $this->getReportNameFromActivityData($activityData); + + return Piwik::translate('CustomReports_ActivityReportDeletedDescription', [$reportName, $siteName]); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Activity/ReportPaused.php b/files/plugin-CustomReports-5.5.0/Activity/ReportPaused.php new file mode 100644 index 0000000..3658592 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Activity/ReportPaused.php @@ -0,0 +1,42 @@ +formatActivityData($idSite, $idCustomReport); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $reportName = $this->getReportNameFromActivityData($activityData); + + return Piwik::translate('CustomReports_ActivityReportPausedDescription', [$reportName, $siteName]); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Activity/ReportResumed.php b/files/plugin-CustomReports-5.5.0/Activity/ReportResumed.php new file mode 100644 index 0000000..b883659 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Activity/ReportResumed.php @@ -0,0 +1,42 @@ +formatActivityData($idSite, $idCustomReport); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $reportName = $this->getReportNameFromActivityData($activityData); + + return Piwik::translate('CustomReports_ActivityReportResumedDescription', [$reportName, $siteName]); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Activity/ReportUpdated.php b/files/plugin-CustomReports-5.5.0/Activity/ReportUpdated.php new file mode 100644 index 0000000..77b6b8b --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Activity/ReportUpdated.php @@ -0,0 +1,42 @@ +formatActivityData($idSite, $idCustomReport); + } + + public function getTranslatedDescription($activityData, $performingUser) + { + $siteName = $this->getSiteNameFromActivityData($activityData); + $reportName = $this->getReportNameFromActivityData($activityData); + + return Piwik::translate('CustomReports_ActivityReportUpdatedDescription', [$reportName, $siteName]); + } +} diff --git a/files/plugin-CustomReports-5.5.0/Archiver.php b/files/plugin-CustomReports-5.5.0/Archiver.php new file mode 100644 index 0000000..1db375c --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Archiver.php @@ -0,0 +1,39 @@ +dimensions = array_values($dimensions); + $this->metrics = $metrics; + } + + /** + * @return Dimension[][][] + */ + public function getDimensionsPlan() + { + $numDimensions = count($this->dimensions); + + $plan = array(); + + for ($i = 0; $i < $numDimensions; $i++) { + $dimension = $this->dimensions[$i]; + + $currentTable = $dimension->getDbTableName(); + + $group = array('left' => array(), 'right' => array()); + + if ($i >= 1) { + for ($j = 0; $j < $i; $j++) { + $group['left'][] = $this->dimensions[$j]; + } + } + + $group['left'][] = $dimension; + + // No need for right join if there are 2 dimensions on left, as adding the right join can cause some data to be filtered out and there we be no data for second dimension, #PG-3138 + if (isset($this->dimensions[$i + 1]) && count($group['left']) !== 2) { + $group['right'][] = $this->dimensions[$i + 1]; + } + + $plan[] = $group; + } + + if (empty($plan)) { + // for evolution graph... we need to make sure to still iterate at least over one "fake group" + $plan[] = array('left' => array(), 'right' => array()); + } + + return $plan; + } + + /** + * @return ArchivedMetric[][] + */ + public function getMetricsPlanForGroup() + { + $metricsToResolve = $this->metrics; + + $plan = array(); + + foreach ($metricsToResolve as $index => $metric) { + if (!$metric->getDimension()) { + continue; + } + + $discriminator = $metric->getDimension()->getDbDiscriminator(); + // create a separate run for each metric that has a discriminator + if (!empty($discriminator)) { + $id = $metric->getDbTableName() . '_' . $discriminator->getTable() . '_' . $discriminator->getColumn() . '_' . $discriminator->getValue(); + if (!isset($plan[$id])) { + // improve performance by grouping metrics with the very same discriminator together!! + $plan[$id] = array(); + } + $plan[$id][] = $metric; + unset($metricsToResolve[$index]); + } else { + if (!isset($plan[$metric->getDbTableName()])) { + $plan[$metric->getDbTableName()] = array(); + } + + // we try to put all metrics that go on same table in one run + $plan[$metric->getDbTableName()][] = $metric; + } + } + + return $plan; + } +} diff --git a/files/plugin-CustomReports-5.5.0/Archiver/NotJoinableException.php b/files/plugin-CustomReports-5.5.0/Archiver/NotJoinableException.php new file mode 100644 index 0000000..bbe7b9f --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Archiver/NotJoinableException.php @@ -0,0 +1,21 @@ +reportQuery = StaticContainer::getContainer()->make('Piwik\Plugins\CustomReports\Archiver\ReportQuery'); + $this->configuration = $configuration; + + $this->rankingQuery = new RankingQuery(50000); + if (version_compare(Version::VERSION, '3.12.0-b2', '<')) { + $this->rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW); + } + + $this->logTablesProvider = StaticContainer::get('Piwik\Plugin\LogTablesProvider'); + + $this->logAggregator = $logAggregator; + $this->parameters = $parameters; + Piwik::postEvent('Plugin.shouldLowerCampaignCase', [$pluginName = 'CustomReports', &$this->shouldLowerCampaignCase]); + } + + public function isValid() + { + $selects = $this->reportQuery->getSelect(); + return !empty($selects) && $this->hasMetric; + } + + public function addDimension($dimension, $useRightJoin = false) + { + if (!$dimension instanceof Dimension) { + return; + } + + $join = $dimension->getDbColumnJoin(); + $dbTable = $dimension->getDbTableName(); + $dbColumn = $dimension->getColumnName(); + + $dbDiscriminator = $dimension->getDbDiscriminator(); + + // if other ways to join the table are defined (and it's joinable to visit or action) + // ensure to add log_visit/log_action first, otherwise it might fail when a custom table is added first + $logTable = $this->logTablesProvider->getLogTable($dbTable); + $tables = new JoinTables($this->logTablesProvider, [$dbTable]); + + if ( + !$logTable->getColumnToJoinOnIdVisit() && !$logTable->getColumnToJoinOnIdAction() && + !$logTable->getLinkTableToBeAbleToJoinOnVisit() && $logTable->getWaysToJoinToOtherLogTables() + ) { + if ($tables->isTableJoinableOnVisit($dbTable)) { + $this->reportQuery->addFrom('log_visit'); + } + if ($tables->isTableJoinableOnAction($dbTable)) { + $this->reportQuery->addFrom('log_action'); + } + } + + // Special handling for ActionType dimension + if ($dimension instanceof ActionType) { + if (!$this->reportQuery->hasFrom('log_link_visit_action')) { + $this->reportQuery->addFrom('log_link_visit_action'); + } + if (!$this->reportQuery->hasFrom('log_visit')) { + $this->reportQuery->addFrom('log_visit'); + } + } + + if ($useRightJoin) { + $tableArray = [ + 'table' => $dbTable, + 'join' => 'RIGHT JOIN', + ]; + $this->reportQuery->addFrom($tableArray); + } else { + $this->rankingQuery->addLabelColumn($dimension->getId()); + $this->reportQuery->addFrom($dbTable); + } + + if ($dbTable && $dbColumn) { + if (!empty($join)) { + $tableAlias = $join->getTable() . '_' . $dbColumn; + + + $this->reportQuery->addFrom([ + 'table' => $join->getTable(), + 'tableAlias' => $tableAlias, + 'joinOn' => $dbTable . '.' . $dbColumn . ' = ' . $tableAlias . '.' . $join->getColumn() . + $this->addExtraJoinConditions($join, $tableAlias) + ]); + + if (!$useRightJoin) { + $tableColumn = $tableAlias . '.' . $join->getTargetColumn(); + $this->reportQuery->addSelect($tableColumn . " AS '" . $dimension->getId() . "'"); + $this->reportQuery->addGroupBy($tableColumn); + + // prevent "XYZ not defined" + // we cannot do something like " and $tableColumn != ''" as it could break dimension like visitor type + $this->reportQuery->addWhere($tableColumn . ' is not null'); + } + + if ($dbDiscriminator && $dbDiscriminator->isValid()) { + // we make sure discriminator is valid and has only allowed values to prevent injections + + $dbDiscriminatorTable = $dbDiscriminator->getTable(); + + // table might be joined under an alias + $actualTableName = $this->reportQuery->getFromAlias($dbDiscriminatorTable); + + if ($dbDiscriminatorTable === $join->getTable()) { + $actualTableName = $tableAlias; // we need to make sure to apply the where condition on this joined table + } elseif (empty($actualTableName)) { + // not joined yet + $actualTableName = $dbDiscriminatorTable; + $this->reportQuery->addFrom($dbDiscriminatorTable); + } + + // we support for now only numeric values because we cannot use bind here as it would not be possible to position bind correctly + $this->reportQuery->addWhere(($actualTableName === $join->getTable() ? $tableAlias : $actualTableName) . '.' . $dbDiscriminator->getColumn() . ' = "' . $dbDiscriminator->getValue() . '"'); + } + } else { + if (!$useRightJoin) { + if ($dimension->getSegmentName() === 'regionCode') { + $this->reportQuery->addSelect("CONCAT(log_visit.location_region, '|', log_visit.location_country) AS '" . $dimension->getId() . "'"); + $this->reportQuery->addGroupBy($dimension->getSqlSegment()); + $this->reportQuery->addGroupBy('log_visit.location_country'); + } elseif ($dimension->getSegmentName() === 'operatingSystemVersion') { + $this->reportQuery->addSelect("CONCAT(log_visit.config_os_version, '|', log_visit.config_os) AS '" . $dimension->getId() . "'"); + $this->reportQuery->addGroupBy($dimension->getSqlSegment()); + $this->reportQuery->addGroupBy('log_visit.config_os'); + } else { + $select = $dimension->getSqlSegment(); + if ($this->shouldLowerCampaignCase && stripos($dimension->getSegmentName(), 'campaign') === 0) { + $select = 'LOWER(' . $select . ')'; + } + $this->reportQuery->addSelect($select . " AS '" . $dimension->getId() . "'"); + $this->reportQuery->addGroupBy($dimension->getSqlSegment()); + } + } + + if ($dbDiscriminator) { + $dbDiscriminatorTable = $dbDiscriminator->getTable(); + + if ($dbDiscriminator->isValid()) { + // we make sure discriminator is valid and has only allowed values to prevent injections + + // table might be joined under an alias + $actualTableName = $this->reportQuery->getFromAlias($dbDiscriminatorTable); + if (empty($actualTableName)) { + // not joined yet + $actualTableName = $dbDiscriminatorTable; + $this->reportQuery->addFrom($dbDiscriminatorTable); + } + + // we support for now only numeric values because we cannot use bind here as it would not be possible to position bind correctly + $where = $actualTableName . '.' . $dbDiscriminator->getColumn() . ' = "' . $dbDiscriminator->getValue() . '"'; + + $this->reportQuery->addWhere($where); + } + } + + if (!$useRightJoin) { + $tableColumn = $dimension->getDbTableName() . '.' . $dimension->getColumnName(); + if ($tableColumn === $dimension->getSqlSegment() && !in_array($dimension->getSegmentName(), ['regionCode', 'operatingSystemVersion'])) { + // when the segment goes on the sql segment, we do not fetch any values with NULL otherwise we often see "XYZ is not defined" + // we cannot do something like " and $tableColumn != ''" as it could break dimension like visitor type + $this->reportQuery->addWhere($tableColumn . ' is not null'); + } + } + } + } + } + + private function addExtraJoinConditions(Join $join, $tableAlias) + { + if ($join->getTable() === 'goal') { + $idSites = $this->parameters->getIdSites(); + if (!empty($idSites)) { + $idSites = array_map('intval', $idSites); + $idSites = implode(',', $idSites); + return ' AND ' . $tableAlias . '.idsite IN (' . $idSites . ')'; + } + } + } + + public function addMetric($metric) + { + if (!$metric instanceof ArchivedMetric || !$metric->getDimension() || !$metric->getQuery()) { + return; + } + + $metricName = $metric->getName(); + $dimension = $metric->getDimension(); + + $tableName = $dimension->getDbTableName(); + $dbDiscriminator = $dimension->getDbDiscriminator(); + + $this->reportQuery->addFrom($tableName); + + if ($dbDiscriminator) { + // we need to add a join for this table to make sure to calc correct results when eg a goal metric or action metric is selected (to be able to measure different values for eg clicked urls vs page urls) + $join = $dimension->getDbColumnJoin(); + $dbDiscriminatorValue = $dbDiscriminator->getValue(); + $dbDiscriminatorTable = $dbDiscriminator->getTable(); + + if (!$dbDiscriminator->isValid()) { + // we make sure discriminator is valid and has only allowed values to prevent injections + Log::debug(sprintf('Ignored metric %s because dbDiscriminator does not valid value', $metricName)); + return; + } + + if ($join && $join->getTable() === $dbDiscriminatorTable) { + // we need to use that join only when a discriminator is actually on the joined table, otherwise ignore it as not needed + + $tableAlias = $join->getTable() . '_' . $metricName; + $dbColumn = $dimension->getColumnName(); + $this->reportQuery->addFrom([ + 'table' => $join->getTable(), + 'tableAlias' => $tableAlias, + 'joinOn' => $tableName . '.' . $dbColumn . ' = ' . $tableAlias . '.' . $join->getColumn() . $this->addExtraJoinConditions($join, $tableAlias) + ]); + + // we need to make sure that the query uses the newly joined table and the correct column... + $metricQuery = str_replace($dbColumn, $join->getTargetColumn(), $metric->getQuery()); + $select = str_replace($tableName . '.', $tableAlias . '.', $metricQuery) . " AS '" . $metricName . "'"; + $this->reportQuery->addSelect($select); + $where = $tableAlias . '.' . $dbDiscriminator->getColumn() . ' = "' . $dbDiscriminatorValue . '"'; + $this->reportQuery->addWhere($where); + } elseif ($tableName === $dbDiscriminatorTable || $this->reportQuery->hasFrom($dbDiscriminatorTable)) { + $actualTableName = $this->reportQuery->getFromAlias($dbDiscriminatorTable); + + // we support for now only numeric values because we cannot use bind here as it would not be possible to position bind correctly + $where = $actualTableName . '.' . $dbDiscriminator->getColumn() . ' = "' . $dbDiscriminatorValue . '"'; + $this->reportQuery->addWhere($where); + $this->reportQuery->addSelect($metric->getQuery() . " AS '" . $metricName . "'"); + } elseif ($this->reportQuery->isTableJoinable($dbDiscriminatorTable)) { + $actualTableName = $this->reportQuery->getFromAlias($dbDiscriminatorTable); + + if (empty($actualTableName)) { + $this->reportQuery->addFrom($dbDiscriminatorTable); + $actualTableName = $dbDiscriminatorTable; + } + + // we support for now only numeric values because we cannot use bind here as it would not be possible to position bind correctly + $where = $actualTableName . '.' . $dbDiscriminator->getColumn() . ' = "' . $dbDiscriminatorValue . '"'; + $this->reportQuery->addWhere($where); + $this->reportQuery->addSelect($metric->getQuery() . " AS '" . $metricName . "'"); + } else { + Log::debug(sprintf('Cannot select metric %s because not supported discriminator table?!?', $metricName)); + return; + } + } else { + $this->reportQuery->addSelect($metric->getQuery() . " AS '" . $metricName . "'"); + } + + $this->hasMetric = true; + $this->setMetricGroupBy($tableName, $tableName); + $this->rankingQuery->addColumn($metricName); + $this->reportQuery->setSortBy($metricName); + } + + private function setMetricGroupBy($tableName, $tableAlias) + { + if (empty($this->metricGroupBy)) { + $this->metricGroupBy = str_replace($tableName, $tableAlias, $this->reportQuery->getTableColumnId($tableName)); + } + } + + public function addSegmentFilter($segmentFilter, $idSite) + { + if (empty($segmentFilter)) { + return; + } + + $from = $this->reportQuery->getFrom(); + + $segment = new Segment($segmentFilter, [$idSite]); + $segmentExpression = $segment->getSegmentExpression(); + $segmentExpression->parseSubExpressionsIntoSqlExpressions($from); + $sql = $segmentExpression->getSql(); + + $this->reportQuery->setFrom($from); + $this->reportQuery->addExtraWhere($sql['where']); + $this->reportQuery->addExtraBind($sql['bind']); + } + + public function getOrderBy() + { + return $this->reportQuery->getSortBy(); + } + + public function getReportQuery() + { + return $this->reportQuery; + } + + private function getMaxExecutionTimeMySQLHint() + { + $maxExecutionTime = $this->configuration->getMaxExecutionTime(); + if (Piwik::getAction() == 'previewReport' && Piwik::getModule() == 'CustomReports') { + $maxExecutionTime = Config::getInstance()->General['live_query_max_execution_time']; + } + $maxExecutionTimeHint = ''; + if (is_numeric($maxExecutionTime) && $maxExecutionTime > 0) { + $timeInMs = $maxExecutionTime * 1000; + $timeInMs = (int) $timeInMs; + $maxExecutionTimeHint = ' /*+ MAX_EXECUTION_TIME(' . $timeInMs . ') */ '; + } + return $maxExecutionTimeHint; + } + + public function buildQuery() + { + // needed because we generate the where condition based on this + $this->reportQuery->addFrom('log_visit'); + $condition = $this->logAggregator->getWhereStatement('log_visit', 'visit_last_action_time'); + + // If joining other log tables then if possible add extra default binds to limit the query scope + // These may be removed by LogAggregator later on if deemed unnecessary + $joinConditions = []; + $joinBinds = 0; + $logTablesProvider = StaticContainer::get(LogTablesProvider::class); + foreach ($logTablesProvider->getAllLogTables() as $logTable) { + foreach ($this->reportQuery->getFrom() as $table) { + if (!is_array($table) || !array_key_exists('join', $table) || strtolower($table['join']) != 'right join') { + continue; + } + $tableName = (array_key_exists('tableAlias', $table) ? $table['tableAlias'] : $table['table']); + if ($tableName !== 'log_visit' && $tableName === $logTable->getName()) { + $dateTimeColumn = $logTable->getDateTimeColumn(); + if ($dateTimeColumn) { + $joinConditions[$tableName] = $this->logAggregator->getWhereStatement($tableName, $dateTimeColumn); + $joinBinds++; + } + } + } + } + + $select = $this->reportQuery->getSelect(); + $groupBy = $this->reportQuery->getGroupBy(); + $where = $this->reportQuery->getWhere(); + $from = $this->reportQuery->getFrom(); + $orderBy = $this->reportQuery->getSortBy(); + + foreach ($joinConditions as $joinCondition) { + $condition .= ' AND ' . $joinCondition; + } + + if (!empty($where)) { + $condition .= ' AND (' . $where . ') '; + } + + /** @var \Piwik\DataAccess\LogQueryBuilder $segmentQueryBuilder */ + $segmentQueryBuilder = StaticContainer::getContainer()->make('Piwik\DataAccess\LogQueryBuilder'); + + if ($this->metricGroupBy && !empty($groupBy)) { + // there is no groupBy eg for evolution reports + $segmentQueryBuilder->forceInnerGroupBySubselect($groupBy . ', ' . $this->metricGroupBy); + } + + $defaultBindCount = count($this->logAggregator->getGeneralQueryBindParams()); + + try { + $query = $this->logAggregator->generateQuery($select, $from, $condition, $groupBy, $orderBy); + } catch (\Exception $e) { + $segmentQueryBuilder->forceInnerGroupBySubselect(''); + throw $e; + } + + // Add extra default bind parameters for any right join conditions + $bindCount = $defaultBindCount; + $defaultBinds = $this->logAggregator->getGeneralQueryBindParams(); + for ($i = 0; $i < $joinBinds; $i++) { + $query['bind'] = array_merge($query['bind'], $defaultBinds); + $bindCount += $defaultBindCount; + } + + $segmentQueryBuilder->forceInnerGroupBySubselect(''); + + $select = 'SELECT'; + if (is_array($query) && 0 === strpos(trim($query['sql']), $select)) { + $query['sql'] = trim($query['sql']); + $query['sql'] = 'SELECT /* CustomReports */' . substr($query['sql'], strlen($select)); + } + + $bind = $this->reportQuery->getExtraBind(); + + if (!empty($bind)) { + // we need to add bind parameters from applied "report segment filter" at correct position right after the general + // query parameters but before any Matomo segment. + $newBind = $query['bind']; + array_splice($newBind, $bindCount, 0, $bind); + $bind = $newBind; + } else { + $bind = $query['bind']; + } + + if (!empty($this->rankingQuery->getLabelColumns())) { + // we only do this when there are dimensions, not for evolution graph queries + $query['sql'] = $this->rankingQuery->generateRankingQuery($query['sql']); + } + + $maxExecutionTimeHint = $this->getMaxExecutionTimeMySQLHint(); + if ($maxExecutionTimeHint) { + $query['sql'] = trim($query['sql']); + $pos = stripos($query['sql'], 'SELECT'); + if ($pos !== false) { + $query['sql'] = substr_replace($query['sql'], 'SELECT ' . $maxExecutionTimeHint, $pos, strlen('SELECT')); + } + } + + return [ + 'sql' => $query['sql'], + 'bind' => $bind + ]; + } +} diff --git a/files/plugin-CustomReports-5.5.0/Archiver/ReportQuery.php b/files/plugin-CustomReports-5.5.0/Archiver/ReportQuery.php new file mode 100644 index 0000000..e9e48f1 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Archiver/ReportQuery.php @@ -0,0 +1,284 @@ +logTablesProvider = $logTablesProvider; + } + + public function addSelect($select) + { + $this->selects[] = $select; + } + + public function hasFrom($table) + { + $has = in_array($table, $this->from, $strict = true); + + if ($has) { + return true; + } + + foreach ($this->from as $from) { + if (is_array($from)) { + if (!isset($from['tableAlias']) && $from['table'] === $table) { + return true; + } elseif (isset($from['tableAlias']) && $from['tableAlias'] === $table) { + return true; + } + } + } + + if (is_array($table) && isset($table['table']) && !isset($table['tableAlias'])) { + return $this->hasFrom($table['table']); + } + + if (is_array($table) && isset($table['table']) && isset($table['tableAlias'])) { + return $this->hasFrom($table['tableAlias']); + } + + return false; + } + + public function getFromAlias($table) + { + if (is_array($table) && isset($table['table']) && !isset($table['tableAlias'])) { + // todo... we might only be able to re-use that table if there is no custom "joinOn"... to be tested at some point + return $this->getFromAlias($table['table']); + } + + if (is_array($table) && isset($table['table']) && isset($table['tableAlias'])) { + // todo... we might only be able to re-use that table if there is no custom "joinOn"... to be tested at some point + return $this->getFromAlias($table['tableAlias']); + } + + if (is_string($table) && in_array($table, $this->from, $strict = true)) { + return $table; + } + + foreach ($this->from as $from) { + if (is_array($from)) { + if (!isset($from['tableAlias']) && isset($from['table']) && $from['table'] === $table) { + return $table; + } elseif (isset($from['tableAlias']) && ($from['tableAlias'] === $table || ($from['table'] === $table && !isset($from['joinOn'])))) { + return $from['tableAlias']; + } + } + } + } + + public function addFrom($table) + { + if (!$this->hasFrom($table)) { + if (is_string($table) && !$this->isTableJoinable($table)) { + throw new NotJoinableException("Table $table cannot be joined"); + } + + if (is_array($table) && isset($table['table']) && !isset($table['tableAlias']) && !isset($table['joinOn']) && !$this->isTableJoinable($table['table'])) { + throw new NotJoinableException("Table " . $table['table'] . " cannot be joined"); + } + + // if this table is being *explicitly joined* (ie, is an array instead of just a string table name), core + // Matomo code will not automatically take into account dependent tables when determining join ordering. + // in this case we have to make sure that information is present ourselves. + if (is_array($table) && empty($table['joinOn'])) { + $tableName = $table['table']; + $logTable = $this->logTablesProvider->getLogTable($tableName); + + if ($logTable && !$logTable->getColumnToJoinOnIdVisit()) { + // if there is a preferred "link" table specified, use that one. otherwise we look for the + // first table that is joinable (directly or indirectly) to log_visit. + $preferTable = $logTable->getLinkTableToBeAbleToJoinOnVisit(); + + // if this is not directly joinable to log_visit, look for another way to join it to log_visit + $tables = new JoinTables($this->logTablesProvider, [$tableName]); + foreach ($logTable->getWaysToJoinToOtherLogTables() as $otherLogTable => $column) { + if ( + $preferTable == $otherLogTable + || (!$preferTable && $tables->isTableJoinableOnVisit($otherLogTable)) + ) { + $this->addFrom($otherLogTable); // make sure the other table is present in the from list + break; + } + } + } + } + + $this->from[] = $table; + } + } + + public function addWhere($where) + { + if (!in_array($where, $this->where, $strict = true)) { + // make sure we do not add it twice, happens eg if two metrics have same discriminator + $this->where[] = $where; + } + } + + public function addGroupBy($groupBy) + { + if (!in_array($groupBy, $this->groupBy)) { + $this->groupBy[] = $groupBy; + } + } + + public function setSortBy($sortBy) + { + if (empty($this->sortBy)) { + $this->sortBy = $sortBy; + } + } + + public function addExtraWhere($where) + { + if (empty($this->extraWhere)) { + $this->extraWhere = $where; + } else { + $this->extraWhere = sprintf("( %s ) AND (%s)", $this->extraWhere, $where); + } + } + + public function getExtraBind() + { + return $this->extraBind; + } + + public function addExtraBind($bind) + { + if (empty($this->extraBind)) { + $this->extraBind = $bind; + } else { + foreach ($bind as $val) { + $this->extraBind[] = $val; + } + } + } + + public function getTableColumnId($tableName) + { + $logTable = $this->logTablesProvider->getLogTable($tableName); + + $primaryKey = $logTable->getPrimaryKey(); + + if (count($primaryKey) === 1) { + return '`' . $tableName . '`.`' . array_shift($primaryKey) . '`'; + } + + $glue = "`, '_', `" . $tableName . '`.`'; + return sprintf("CONCAT(`%s`.`%s`)", $tableName, implode($glue, $primaryKey)); + } + + public function isTableJoinable($tableName) + { + try { + $logTable = $this->logTablesProvider->getLogTable($tableName); + $tables = new JoinTables($this->logTablesProvider, [$tableName]); + if ($logTable && ($tables->isTableJoinableOnAction($tableName) || $tables->isTableJoinableOnVisit($tableName))) { + if ($logTable->getPrimaryKey()) { + // without primary key we would not group the data correctly + return true; + } + } + } catch (\Exception $e) { + // intentionally left blank + } + + return false; + } + + public function getSelect() + { + return implode(', ', $this->selects); + } + + public function getFrom() + { + return $this->from; + } + + public function setFrom($from) + { + $this->from = $from; + } + + public function getGroupBy() + { + if (empty($this->groupBy)) { + return false; + } + + return implode(', ', $this->groupBy); + } + + public function getWhere() + { + $where = implode(' AND ', $this->where); + + if (!empty($this->extraWhere) && !empty($where)) { + $where = sprintf("( %s ) AND (%s)", $where, $this->extraWhere); + } elseif (!empty($this->extraWhere)) { + $where = $this->extraWhere; + } + + return $where; + } + + /** + * @return false|string + */ + public function getSortBy() + { + return $this->sortBy; + } +} diff --git a/files/plugin-CustomReports-5.5.0/CHANGELOG.md b/files/plugin-CustomReports-5.5.0/CHANGELOG.md new file mode 100644 index 0000000..86516cb --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/CHANGELOG.md @@ -0,0 +1,360 @@ +## Changelog + +5.5.0 - 2026-08-03 +- Added new "KPI card" report type showing a single metric with a sparkline and a comparison to the previous period +- Added code to allow using country and continent dimensions together + +5.4.14 - 2026-07-21 +- Updated Marketplace description +- Updated check for existing mapped idSites scope before updating +- Normalized website IDs for reports mapped to multiple sites + +5.4.13 - 2026-06-29 +- Added code to check existing mapped idSites scope before updating +- Fixed dark mode colours for metric and dimension dropdowns in the report editor + +5.4.12 - 2026-05-19 +- Updated custom report creation inline helptexts +- Improved visual consistency of creation form layout +- Fixed dark mode incompability with older Matomo versions + +5.4.11 - 2026-05-11 +- Updated custom report ordering to use a Vue draggable list +- Added code to show current site when editing and creating custom reports + +5.4.10 - 2026-04-27 +- Updated API documentation + +5.4.9 - 2026-01-05 +- Preview screenshot updated for higher quality + +5.4.8 - 2025-12-08 +- Fixed CHANGELOG.md versioning +- Preview screenshot updated to show higher dimensions + +5.4.7 - 2025-11-24 +- README.md updated + +5.4.6 - 2025-11-10 +- Added operating system version dimension + +5.4.5 - 2025-10-13 +- Added triggering of event when reports are copied + +5.4.4 - 2025-09-15 +- Added ability to copy a custom report when Matomo 5.4.0-b4 or later is installed +- Fixed bug when creating an evolution report which prevented historical archiving of weekly/monthly/yearly data + +5.4.3 - 2025-07-21 +- Stopped filtering empty values for regionCode dimension + +5.4.2 - 2025-06-09 +- Added custom_reports_max_dimensions config setting if not present in config.ini.php + +5.4.1 - 2025-05-15 +- Fixed array reference error + +5.4.0 - 2025-05-12 +- Added the ability to use more than 3 dimensions +- No longer show Insights visualization option when it's not available + +5.3.4 - 2025-04-15 +- Made preview report timeframes as a config value + +5.3.3 - 2025-03-17 +- Improved preview report performance to limit by timeframe + +5.3.2 - 2025-03-03 +- Added new `getNthLevelTableDimension` method to support new Matomo core changes +- Added query validation check before add, update or preview of report + +5.3.1 - 2025-02-17 +- Improved paused state message + +5.3.0 - 2025-02-03 +- Added code to pause/resume a custom report + +5.2.3 - 2025-01-20 +- Fixes add and update report not working when rearchive_reports_in_past_last_n_months & custom_reports_rearchive_reports_in_past_last_n_months config is set as 0 + +5.2.2 - 2025-01-15 +- Lower campaign values based on a event to honor keep campaign parameter capitalisation setting + +5.2.1 - 2025-01-06 +- Added code to allow admins to add/edit multiple websites if access to all websites in a report + +5.2.0 - 2024-12-09 +- Added option to assign multiple idSites to a single report +- Added action type dimension +- Updated region dimension query to group by country and show region name instead of region code + +5.1.1 - 2024-12-02 +- Added region and action type dimension + +5.1.0 - 2024-11-18 +- Added an option to sort subcategory reports + +5.0.19 - 2024-11-05 +- Updated README.md + +5.0.18 - 2024-10-21 +- Added config for setting custom reports historical archiving period + +5.0.17 - 2024-09-26 +- Added some new metrics specifically for this plugin: + - Average Product Quantity + - Average Product Price + - Product Revenue (Total & avg) + - Total Click Outlinks (Clicked Outlinks) + - Content Impressions + - Content Interactions + - Content Interaction Rate + - Product Category (Dimension) + +5.0.16 - 2024-08-26 +- Pricing updated + +5.0.15 +- Improved validation for dimensions being added to look for allowed dimensions + +5.0.14 +- Added cover image for marketplace + +5.0.13 +- Fixed error when changing number of rows in evolution report + +5.0.12 +- Added a fix to show 2nd dimension when 3rd dimension has no data + +5.0.11 +- Added missing translations for glossary + +5.0.10 +- Improved performance for reports that use dimensions accessed by a visit action via right join + +5.0.9 +- Updated README.md + +5.0.8 +- Fixed evolution graph refresh issue after metric selection + +5.0.7 +- Fixed regression in archiving when a new report is created + +5.0.6 +- Changes to hide the delete button when user doesn't have permission to delete report + +5.0.5 +- Fix archiving error due to labels not defined +- Added code to allow creating report with same name. + +5.0.4 +- Fixed error when no metric to sort available in getMetricToSortMultiPeriod() + +5.0.3 +- Fixed warnings during archive process + +5.0.2 +- Fixed undefined key notice during previewReport + +5.0.1 +- Compatibility with Matomo 5.0.0-b4 + +5.0.0 +- Compatibility with Matomo 5 + +4.1.7 +- Fixes regression from previous version where Insights wouldn't load + +4.1.6 +- Fixes issue where report view preferences do not persist + +4.1.5 +- Fixes for PHP 8.1 + +4.1.4 +- Fix report links not maintaining the selected date and/or segment + +4.1.3 +- Fix possible XSS if segment definition contains valid angularjs syntax + +4.1.2 +- Fixed Unsupported operand error for preview report. + +4.1.1 +- Fixed Unsupported operand error due to wrong dimension selection for subtable, #PG-1329 + +4.1.0 +- Migrate AngularJS code to Vue. + +4.0.15 +- Added check to limit live queries for previewReport action if live_query_max_execution_time is set + +4.0.14 +- Fixed sub data table warning +- Fixed code to show maximum of 3 metrics when type evolution graph for email report + +4.0.13 +- Changed dimension name to UTC time for Server Time dimensions + +4.0.12 +- Started supporting 3 dimensions in preview report + +4.0.11 +- Fixed namespace when previewing a report + +4.0.10 +- Started re-archiving only when reportType/dimensionIds/metricIds/segmentFilter are changed +- Show empty datatable for no new rows found to avoid fatal error +- Disabled segmented visitor log got download dimension + +4.0.9 +- Fixed preview report to work even if not metrics provided by other plugins. + +4.0.8 +- Updated README.md to highlight benefit of custom reports and mentioned simpler reports + +4.0.7 +- Add config to aggregate unique metrics instead of raw data for periods specified in config + +4.0.6 +- Fix archiving of unique metrics in evolution graphs for week, month and year periods + +4.0.5 +- Add category help text + +4.0.4 +- Tweak message when editing a custom report and browser archiving is disabled + +4.0.3 +- Add back the archive reports command + +4.0.2 +- Ability to rearchive reports on custom report creation/update + +4.0.1 +- Compatibility with Matomo 4.X + +4.0.0 +- Compatibility with Matomo 4.X + +3.1.27 +- Improve archive command + +3.1.26 +- List dimension IDs in glossary + +3.1.25 +- Add new config setting `custom_reports_disabled_dimensions` to disable dimensions + +3.1.24 +- Ignore new region dimension as it won't work + +3.1.23 +- Fix view link in manage custom reports may not work when report is configured for all websites +- Fix goalId archiving + +3.1.22 +- Fix archiver + +3.1.21 +- Add possibility to set max execution time + +3.1.20 +- Better segment filter check + +3.1.19 +- Apply segment filter in segmented visitor log +- Better support for Matomo 3.12 + +3.1.18 +- Sort aggregated reports before generating the report (week, month, year, range) +- Compatibility with Matomo 3.12 + +3.1.17 +- Add more options to archive command + +3.1.16 +- Support new segmentation in Matomo 3.12 + +3.1.15 +- Compatibility with Matomo 3.12 + +3.1.14 +- Show search box for entities +- Support usage of a reader DB when configured + +3.1.13 +- Enable more dimensions (visitorId, geolocation) + +3.1.12 +- Add more translations +- Make sure a report can be moved to its own page after it was assigned to another page + +3.1.11 +- Add Turkish translation +- Enable Order ID dimension + +3.1.10 +- Improve report generation for some combination of dimensions + +3.1.9 +- Fix report preview unter circumstances doesn't show column names when no report is configured yet + +3.1.8 +- Add config setting to always show unique visitors in all periods + +3.1.7 +- Improve handling of unique visitors and users + +3.1.6 +- Use correct category names +- Calculate unique visitors and users from raw data for periods != day if enabled in config in evolution graphs when only these metrics are used + +3.1.5 +- Support more languages +- Added command to archive reports in past + +3.1.4 +- Support new languages +- Use new brand colors +- Ensure segment definition is shown correctly + +3.1.3 +- Fix possible combination with event name and event value may not return a result + +3.1.2 +- Add dimensions and metrics information to glossary +- Support new "Write" role + +3.1.1 +- Make sure pie and bar graphs show available columns + +3.1.0 +- Support [Roll-Up Reporting](https://plugins.matomo.org/RollUpReporting). Create custom reports across multiple sites. + +3.0.6 +- Prevent possible fatal error when opening manage screen for all websites +- New config setting `custom_reports_validate_report_content_all_websites` which, when enabled under the `[CustomReports]` section, allows the creation of Custom Reports on "All websites", even those that contain "Custom dimensions" or other entities which may not be present on all websites. This is useful when you have many (or all) websites with the exact same dimensions Ids and/or Goals Ids across all websites. + + +3.0.5 +- Renamed Piwik to Matomo + +3.0.4 +- Prevent possible error when putting a custom report to another custom report page + +3.0.3 +- Prevent possible problems with custom dimensions in custom reports when also using roll-ups. + +3.0.2 +- Added German translation +- When generating report data and data needs to be truncated, make sure to sort the data by the first column of the report +- Make number of rows within a datatable configurable +- Make sure aggregated reports are truncated if needed + +3.0.1 +- Make sure custom reports category can be always selected when creating a new custom report + +3.0.0 +- Custom Reports for Piwik 3 diff --git a/files/plugin-CustomReports-5.5.0/Categories/CustomReportsCategory.php b/files/plugin-CustomReports-5.5.0/Categories/CustomReportsCategory.php new file mode 100644 index 0000000..434fbd7 --- /dev/null +++ b/files/plugin-CustomReports-5.5.0/Categories/CustomReportsCategory.php @@ -0,0 +1,27 @@ +' . Piwik::translate('CustomReports_ManageReportsSubcategoryHelp') . '

    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 z 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
    =np?v5K!aR%&nKToOUE*x#~DNA@OUG%+% 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

  • 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

    j1hbxe+-S2}FJpB{T#N>*6yp+-F= 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ⅇM650RQ(; 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